西门子特殊存储器标志位一览表
SMB0:状态位
如表D--1所示,SMB0有8个状态位,在每个扫描周期的末尾,由
S7-200更新这些位。
表D--1 特殊存储器字节SMB0 (SM0.0至SM0.7) SM位描述(只读) SM0.0 该位始终为1。
SM0.1 该位在首次扫描时为1,一个用途是调用初始化子例行程序。SM0.2 若保持数据丢失,则该位在一个扫描周期中为1。该位可用作错误存储器位,或用来调用特殊启
动顺序功能。
SM0.3 开机后进入RUN模式,该位将ON一个扫描周期,该位可用作在启动操作之前给设备提供一个预
热时间。
SM0.4 该位提供了一个时钟脉冲,30秒为1,30秒为0,占空比周期为一分钟。它提供了一个简单易用
的延时或1分钟的时钟脉冲。
SM0.5 该位提供了一个时钟脉冲,0.5秒为1,0.5秒为0,占空比周期为1秒钟。它提供了一个简单易用
的延时或1秒钟的时钟脉冲。
SM0.6 该位为扫描时钟,本次扫描时置1,下次扫描时置0。可用作扫描计数器的输入。
SM0.7 该位指示CPU模式开关的位置(0为TERM位置,1为RUN位
置)。当开关在RUN位置时,用该位可
使自由端口通信方式有效,那么当切换至TERM位置时,同编程设备的正常通讯也会有效。
SMB1:状态位
如表D--2所示,SMB1包含了各种潜在的错误提示。这些位可由指令在执行时进行置位或复位。
表D--2 特殊存储器字节SMB1 (SM1.0至SM1.7) SM位描述(只读)
SM1.0 当执行某些指令,其结果为0时,将该位置1。
SM1.1 当执行某些指令,其结果溢出或查出非法数值时,将该位置1。SM1.2 当执行数学运算,其结果为负数时,将该位置1。
SM1.3 试图除以零时,将该位置1。
SM1.4 当执行ATT(添加到表格)指令时,试图超出表范围时,将该位置1。
SM1.5 当执行LIFO或FIFO指令,试图从空表中读数时,将该位置1。SM1.6 当试图把一个非BCD数转换为二进制数时,将该位置1。
SM1.7 当ASCII码不能转换为有效的十六进制数时,将该位置1。 特殊存储器(SM)标志位附录D 483
SMB2:自由端口接收字符
SMB2是自由端口接收字符缓冲区。如表D--3所示,在自由端口通信方式下,接收到的每个字符都放
在这里,便于梯形图程序存取。 提示
SMB2和SMB3在端口0和端口1之间共享。当端口0上发生的字符接收操作导致执行附加在那个事件
(中断事件8)的中断例行程序时,SMB2包含端口0上接收的字符,而SMB3包含该字符的奇偶校验状
态。当端口1接收到字符并使得与该事件(中断事件25)相连的中断程序执行时,SMB2包含端口1上
接收到的字符,而SMB3包含该字符的奇偶校验状态。 表D--3 特殊存储器字节SMB2 SM位描述(只读)
SMB2 此字节包含在自由端口通讯期间从端口0或端口1接收的
每个字符。
SMB3:自由端口奇偶校验错误
SMB3用于自由端口方式,当接收到的字符发现有校验错时,将SM3.0置1。如表D--4所示,当检测到
校验错误时,SM3.0接通。根据该位来废弃错误消息。 表D--4 特殊存储器字节SMB3 (SM3.0至SM3.7) SM位描述(只读)
SM3.0 端口0或端口1的奇偶校验错误(0 = 无错;1 = 检测到错误) SM3.1至
SM3.7 保留
SMB4:队列溢出
如表D--5所示,SMB4包含中断队列溢出位,中断是否允许标志位及发送空闲位。队列溢出表明要么
是中断发生的频率高于CPU,要么是中断已经被全局中断禁止指令所禁止。
表D--5 特殊存储器字节SMB4 (SM4.0至SM4.7) SM位描述(只读)
SM4.01 当通信中断队列溢出时,将该位置1。 SM4.11 当输入中断队列溢出时,将该位置1。 SM4.21 当定时中断队列溢出时,将该位置1。 SM4.3 在运行时刻,发现编程问题时,将该位置1。
SM4.4 该位指示全局中断允许位,当允许中断时,将该位置1。SM4.5 当(端口0)发送空闲时,将该位置1。
SM4.6 当(端口1)发送空闲时,将该位置1。 SM4.7 当发生强置时,将该位置1
1 只有在中断程序里,才使用状态位SM4.0、SM4.1和SM4.2。当队列为空时,将这些状态位复位(置0),并返
回主程序。
S7-200可编程序控制器系统手册
484
SMB5:I/O状态
如表D--6所示,SMB5包含I/O系统里发现的错误状态位。这些位提供了所发现的I/O错误的概况。
表D--6 特殊存储器字节SMB5 (SM5.0至SM5.7) SM位描述(只读)
SM5.0 当有I/O错误时,将该位置1
SM5.1 当I/O总线上连接了过多的数字量I/O点时,将该位置1。 SM5.2 当I/O总线上连接了过多的模拟量I/O点时,将该位置1。 SM5.3 当I/O总线上连接了过多的智能I/O模块时,将该位置1。 SM5.4至 SM5.7 保留。
SMB6:CPU ID寄存器
如表D--7所示,SMB6是S7-200 CPU的标识寄存器。SM6.4到SM6.7识别CPU的类型,SM6.0到
SM6.3保留,以备将来使用。 表D--7 特殊存储器字节SMB6 SM位描述(只读) 格式
CPU标识寄存器 LSB MSB 7
x x x x r r r r SM6.0至 SM6.3 保留 SM6.4至 SM6.7
xxxx = 0000 = CPU 222 0010 = CPU 224 / CPU 224XP 0110 = CPU 221 1001 = CPU 226 SMB7:保留
SMB7为将来使用而保留。 特殊存储器(SM)标志位附录D 485
SMB8至SMB21:I/O模块标识和错误寄存器
SMB8至SMB21按字节对组织,用于扩展模块0 -- 6。如表D--8所述,每对的偶数字节是模块标识寄
存器。这些字节识别模块类型、I/O类型以及输入和输出的数目。每个对的奇数字节是模块错误寄存
器。这些字节提供在I/O检测出的该模块的任何错误的指示。 表D--8 特殊存储器字节SMB8至SMB21 SM位描述(只读)
格式偶数字节:模块标识寄存器LSB 奇数字节:模块错误寄存器 c:组态错误
b:总线故障或奇偶校验错误r:超出范围错误 p:无用户电源错误 f:保险丝熔断错误 t:接线板松动错误 m:模块存在0 = 存在 1 = 不存在 tt:模块类型 00 非智能I/O模块 01 智能模块 10 保留 11 保留
a:I/O类型0 = 离散 1 = 模拟 ii:输入 00 无输入 01 2 AI或8 DI 10 4 AI或16 DI 11 8 AI或32 DI qq:输出 00 无输出 01 2 AQ或8 DQ 10 4 AQ或16 DQ 11 8 AQ或32 DQ LSB MSB 7 MSB 7
0 = 无错误 1 = 错误
m t t a i i q q c 0 0 b r p f t SMB8 SMB9
模块0标识寄存器 模块0错误寄存器 SMB10 SMB11
模块1标识寄存器模块1错误寄存器SMB12 SMB13
模块2标识寄存器模块2错误寄存器SMB14 SMB15
模块3标识寄存器模块3错误寄存器SMB16
SMB17
模块4标识寄存器模块4错误寄存器SMB18 SMB19
模块5标识寄存器模块5错误寄存器SMB20 SMB21
模块6标识寄存器 模块6错误寄存器
S7-200可编程序控制器系统手册 486
SMW22至SMW26:扫描时间
如表D--9所述,SMW22、SMW24和SMW26提供扫描时间信息:最短扫描时间、最长扫描时间和上
次扫描时间,单位为毫秒。
表D--9 特殊存储器字SMW22到SMW26 SM字描述(只读) SMW22 上次扫描时间
SMW24 进入RUN模式后,所记录的最短扫描时间 SMW26 进入RUN模式后,所记录的最长扫描时间 SMB28和SMB29:模拟调整
如表D--10所述,SMB28保持代表模拟调整0的位置的数值。SMB29保持代表模拟调整1的位置的
数值。
表D--10 特殊存储器字节SMB28和SMB29 SM位描述(只读)
SMB28 该字节存储通过模拟调整0输入的数值。在STOP/RUN模式中,每执行一次扫描就更新一次该
数值。
SMB29 该字节存储通过模拟调整1输入的数值。在STOP/RUN模式
中,每执行一次扫描就更新一次该
数值。
SMB30和SMB130:自由端口控制寄存器
SMB30控制端口0的自由端口通讯;SMB130控制端口1的自由端口通讯。您可以对SMB30和
SMB130进行写和读。如表D--11所示,这些字节设置自由端口通讯的操作方式,并提供自由端口或者
系统所支持的协议之间的选择。 表D--11 特殊存储器字节SMB30 端口0 端口1 描述 SMB30的 格式 SMB130的 格式
自由端口模式控制字节 p p d b b b m m LSB MSB 7
SM30.0和 SM30.1 SM130.1
mm:协议选择00 = 点对点接口协议 (PPI/从站模式) 01 = 自由端口协议 10 = PPI/主站模式
11 = 保留(缺省设置为PPI/从站模式)
注意:当选择代码mm = 10 (PPI主站)时,S7-200将成为网络上的主站,允许
执行NETR和NETW指令。在PPI模式下忽略2到7位。 SM30.2到
SM30.4 SM130.2到 SM130.4
bbb:自由端口波特率000 = 38,400波特100 = 2,400波特 001 = 19,200波特101 = 1,200波特 010 = 9,600波特110 = 115,200波特 011 = 4,800波特111 = 57,600波特
SM30.5 SM130.5 d:每个字符的数据位0 = 每个字符8位 1 = 每个字符7位 SM30.6和 SM30.7 SM130.7
pp:奇偶校验选择00 = 无奇偶校验10 = 无奇偶校验 01 = 偶校验11 = 奇校验 特殊存储器(SM)标志位附录D 487
SMB31和SMW32:永久存储器(EEPROM)写控制
在用户程序的控制下,您可以把V存储器中的数据存入永久存储器,亦称非易失存储器。先把被存数
据的地址存入SMW32中,然后把存入命令存入SMB31中。一旦您发出存储命令,则直到CPU完成存
储操作SM31.7被置0之前,您不可以改变V存储器的值。 在每次扫描周期末尾,CPU检查是否有向永久存储器区中存数据的命令。如果有,则将该数据存入永
久存储器中。
如表D--12所示,SMB31定义了存入永久存储器的数据大小,且提供了初始化存储操作的命令。
SMW32提供了被存数据在V存储器中的起始地址。 表D--12 特殊存储器字节SMB31和特殊存储器字SMW32 SM位描述
格式SMB31: 软件命令 V存储器地址 LSB SMW32:0 V存储器地址 MSB 15
c 0 0 0 0 0 s s LSB MSB 7
SM31.0和 SM31.1
ss:数据大小00 = 字节10 = 字 01 = 字节11 = 双字
SM31.7 c:保存至永久存储器0 = 无执行保存操作的请求 1 = 用户程序请求保存数据
每次存储操作完成后,S7--200复位该位。
SMW32 SMW32中是所存数据的V存储器地址,该值是相对于V0的偏移量。当执行存储命令时,把该数
据存到永久存储器中相应的位置。
SMB34和SMB35:用于定时中断的时间间隔寄存器
如表D--13所示,SMB34和SMB35分别定义了定时中断0和1的时间间隔,可以在1ms -- 255ms之间
以1ms为增量进行设定。如果相应的定时中断事件被连接到一个中断服务程序,S7--200就会获取该
时间间隔值。若要改变该时间间隔,您必须把定时中断事件再分配给同一或另一中断程序,也可以通
过中断分离来终止定时中断事件。
表D--13 特殊存储器字节SMB34和SMB35 SM位描述
SMB34 定义定时中断0的时间间隔(从1 ms -- 255 ms,以1 ms为增量)
SMB35 定义定时中断1的时间间隔(从1 ms -- 255 ms,以1 ms为增量)
SMB36至SMB65:HSC0、HSC1和HSC2寄存器
如表D--14所示,SMB36到SM65用于监视和控制高速计数HSC0、HSC1和HSC2的操作。
S7-200可编程序控制器系统手册 488
表D--14 特殊存储器字节SMB36 -- SMD62 SM位描述
SM36.0--SM36.4 保留
SM36.5 HSC0当前计数方向状态位:1 = 增计数 SM36.6 HSC0当前值等于预设值状态位:1 = 相等 SM36.7 HSC0当前值大于预设值状态位:1 = 大于
SM37.0 复位的有效电平控制位:0= 复位为高电平有效,1 = 复位为低电平有效
SM37.1 保留
SM37.2 正交计数器的计数速率选择:0 = 4 x 计数速率;1 = 1 x 计数速率
SM37.3 HSC0方向控制位:1 = 增计数 SM37.4 HSC0更新方向:1 = 更新方向
SM37.5 HSC0更新预设值:1 = 将新预设值写入HSC0预设值 SM37.6 HSC0更新当前值:1 = 将新当前值写入HSC0当前值 SM37.7 HSC0启用位:1 = 启用 SMD38 HSC0新的初始值 SMD42 HSC0新的预置值 SM46.0 -- SM46.4 保留
SM46.5 HSC1当前计数方向状态位:1 = 增计数 SM46.6 HSC1当前值等于预设值状态位:1 = 等于 SM46.7 HSC1当前值大于预设值状态位:1 = 大于
SM47.0 HSC1复位的有效电平控制位:0 = 高电平有效,1 = 低电平有效
SM47.1 HSC1启动的有效电平控制位:0 = 高电平有效,1 = 低电平有效
SM47.2 HSC1正交计数器速率选择:0 = 4 x 速率____________,1 = 1 x 速率
SM47.3 HSC1方向控制位:1 = 增计数 SM47.4 HSC1更新方向:1 = 更新方向
SM47.5 HSC1更新预设值:1 = 将新预设值写入HSC1预设值 SM47.6 HSC1更新当前值:1 = 将新当前值写入HSC1当前值 SM47.7 HSC1启用位:1 = 启用 SMD48 HSC1新的初始值 SMD52 HSC1新的预置值 SM56.0 -- SM56.4 保留
SM56.5 HSC2当前计数方向状态位:1 = 增计数 SM56.6 HSC2当前值等于预设值状态位:1 = 等于 SM56.7 HSC2当前值大于预设值状态位:1 = 大于
SM57.0 HSC2复位的有效电平控制位:0 = 高电平有效,1 = 低电平有效
SM57.1 HSC2启动的有效电平控制位:0 = 高电平有效,1 = 低电平有效
SM57.2 HSC2正交计数器速率选择:0 = 4 x 速率,1 = 1 x 速率SM57.3 HSC2方向控制位:1 = 增计数
SM57.4 HSC2更新方向:1 = 更新方向
SM57.5 HSC2更新预设值:1 = 将新设置值写入HSC2预设值 SM57.6 HSC2更新当前值:1 = 将新当前值写入HSC2当前值 SM57.7 HSC2启用位:1 = 启用
SMD58 HSC2新的初始值 SMD62 HSC2新的预置值 特殊存储器(SM)标志位附录D 489
SMB66至SMB85:PTO/PWM寄存器
如表D--15所示,SMB66到SMB85用于监视和控制脉冲串输出(PTO)和脉宽调制(PWM)功能。对于这
些位的完整描述见第6章的脉冲高速输出指令的信息。 表D--15 特殊存储器字节SMB66 -- SMB85 SM位描述
SM66.0--SM66.3 保留
SM66.4 PTO0包络被中止:0 = 无错,1 = 因增量计算错误而被中止
SM66.5 PTO0包络被中止:0 = 不通过用户命令中止,1 = 通过用户命令中止
SM66.6 PTO0/PWM管线溢出(在使用外部包络时由系统清除,否则必须由用户复位):
0 = 无溢出,1 = 管线溢出
SM66.7 PTO0空闲位:0 = PTO正在执行,1 = PTO空闲 SM67.0 PTO0/PWM0更新周期值:1 = 写入新周期 SM67.1 PWM0更新脉宽值:1 = 写入新脉宽
SM67.3 PTO0/PWM0时间基准:0 = 1 μs/刻度,1 = 1 ms/刻度
SM67.4 同步更新PWM0:0 = 异步更新,1 = 同步更新 SM67.5 PTO0操作:0 = 单段操作(周期和脉冲计数存储在SM存储器中),1 = 多段操作(包络表
存储在V存储器中)
SM67.6 PTO0/PWM0模式选择:0 = PTO,1 = PWM SM67.7 PTO0/PWM0启用位:1 = 启用
SMW68 PTO0/PWM0周期(2 -- 65,535个时间基准)
SMW70 PWM0脉冲宽度值(0 -- 65,535个时间基准) SMD72 PTO0脉冲计数值(1 -- 232 --1) SM76.0 -- SM76.3 保留
SM76.4 PTO1包络被中止:0 = 无错,1 = 因增量计算错误而被中止
SM76.5 PTO1包络被中止:0 = 不通过用户命令中止,1 = 通过用户命令中止
SM76.6 PTO1/PWM管线溢出(在使用外部包络时由系统清除,否则必须由用户复位):
0 = 无溢出,1 = 管线溢出
SM76.7 PTO1空闲位:0 = PTO正在执行,1 = PTO空闲 SM77.0 PTO1/PWM1更新周期值:1 = 写入新周期 SM77.1 PWM1更新脉宽值:1 = 写入新脉宽
因篇幅问题不能全部显示,请点此查看更多更全内容