特殊存储器的标志位提供了大量 PLC 运行状态和控制功能,特殊存储器起到 CPU 与用户程序之间交换信息的作用,其标志可按位、字节、字和双字使用。
1. SMB0 字节(系统状态位)
SM0.0——PLC 运行时该位始终为 1,是常 ON 继电器;
SM0.1——PLC 首次扫描时为 1(一个扫描周期),用途之一是调用初始化;
SM0.2——若保持数据丢失,该位为 1(一个扫描周期);
SM0.3——开机进入 RUN 方式时置 ON(一个扫描周期);
SM0.4——提供周期为 1 分钟、占空比 0.5 的时钟;
SM0.5——提供周期为 1 秒、占空比 0.5 的时钟;
SM0.6——扫描时钟,本次扫描置 1、下次扫描置 0,可作为扫描计数器的输入;
SM0.7——指示 CPU 工作方式开关位置,0 为 TERM 位置、1 为 RUN 位置。
2. SMB1 字节(系统状态位)
SM1.0——执行某些命令结果为 0 时置 1;
SM1.1——执行结果溢出或出现非法数值时置 1;
SM1.2——执行数学运算结果为负数时置 1;
SM1.3——试图除以零时置 1;
SM1.4——执行 ATT(Add To Table)指令时或超出表范围时置 1;
SM1.5——执行 LIFO 或 FIFO 指令从空表读数时置 1;
SM1.6——把一个非 BCD 数转换为二进制数时置 1;
SM1.7——ASCII 不能转换成有效十六进制数时置 1。
3. SMB2 字节(自由口接收字符):自由口通信方式下,存储从 PLC 端口 0 或端口 1 接收到的每一个字符。
4. SMB3 字节(自由口奇偶校验):SM3.0——端口 0 或端口 1 奇偶校验出错时置 1。
5. SMB4 字节(队列溢出)
SM4.0——通信中断队列溢出时置 1;
SM4.1——输入中断队列溢出时置 1;
SM4.2——定时中断队列溢出时置 1;
SM4.3——运行时刻发现编程问题时置 1;
SM4.4——全局中断允许时置 1;
SM4.5——(口 0)发送空闲时置 1;
SM4.6——(口 1)发送空闲时置 1;
SM4.7——发生强行置位时置 1。
6. SMB5 字节(I/O 状态)
SM5.0——有 I/O 错误时置 1;
SM5.1——I/O 总线上接了过多的数字量 I/O 点时置 1;
SM5.2——I/O 总线上接了过多的模拟量 I/O 点时置 1;
SM5.7——DP 标准总线出现错误时置 1。
7. SMB6 字节(CPU 识别寄存器)
SM6.7~6.4=0000 为 CPU212/CPU222;0010 为 CPU214/CPU224;0110 为 CPU221;1000 为 CPU215;1001 为 CPU216。
8. SMB8~SMB21 字节(I/O 模块识别和错误寄存器)
识别标志寄存器的各位功能见表 A-1,错误标志寄存器的各位功能见表 A-2。
表 A-1 识别标志寄存器的各位功能

表 A-2 错误标志寄存器的各位功能
