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状态