SM(特殊内存)赋值和功能
SMB0 至 SMB29(S7-200 只读特殊内存)
每次扫描循环后,S7-200 CPU 操作系统将新改动写入特殊内存中存储的系统数据中。如果从程序读取
SMB0 至 SMB29,此为只读地址。如果程序尝试对只读 SM 地址写入,Micro/WIN 会编译程序,不会出错。但
是,CPU 程序编译程序会拒绝程序,并显示“操作数范围错误,下载失败。”
程序可以读取存储在特殊内存地址中数据、评估当前系统状态、并使用有条件逻辑决定如何应答。
在运行模式中,对程序的连续扫描提供对所选系统数据的连续监管。
SMB0 系统状态位
SMB1 指令执行状态位
SMB2 自由端口接收字符
SMB3 自由端口奇偶校验错误
SMB4 中断队列溢出、运行时间程序错误、中断启用、自由端口传输器被强制
SMB5I/O 错误状态位
SMB6 CPU 代码寄存器
SMB8-SMB21 I/O 模块代码和错误寄存器
SMW22-SMW26 扫描时间
SMB28-SMB29 模拟调整
SMB30 至 SMB549(S7-200 读取/写入特殊内存)
根据要求,S7-200 CPU 操作系统从特殊内存读取配置/控制数据,并将新改动写入存储在特殊内存
中的系统数据。 程序可以读取和写入所有 SM 地址 30 或更大的地址,但是 SM 数据的普通用法根据每个地址的
功能不同而异。程序可以读取通常写入数据的 SM 地址。
程序可以在 SM 地址中读取和写入数据。SM 地址提供一种解释系统状态数据、配置系统选项和控制
系统功能的方法。在运行模式中,对程序的连续扫描提供对特殊系统功能的连续存取能力。
SMB30 和 SMB130 自由端口控制寄存器
SMB31-SMW32 永久性内存(EEPROM)写入控制
SMB34-SMB35 用于定时中断的时间间隔寄存器
SMB36-SMB65 HSC0、HSC1 和 HSC2 高速计数器寄存器
SMB66-SMB85 PTO / PWM 高速输出寄存器
SMB86-SMB94 和 SMB186-SMB194 接收讯息控制
SMW98 I/O 扩充总线—通讯错误
SMB136-SMB165 HSC3、HSC4 和 HSC5 高速计数器寄存器
SMB166-SMB194 用于 PLC(脉冲)指令的 PTO 包络表
SMB200-SMB549 为智能扩充模块提供的状态信息保留,例如 EM 277
PROFIBUS-DP 模块。SMB200 至 SMB249 为系统中的第一个智能扩充模块(离 CPU 最近的模块)保留;
SMB250 至 SMB299 为第二个智能模块保留。
SMB0 系统状态位
特殊内存字节 0(SM0.0 - SM0.7)提供八个位,在每次扫描循环结尾处由 S7-200 CPU 更新。程序可以读取
这些位的状态,然后根据位值作出决定。
S7-200 符号名 SM 地址 用户程序读取 SMB0 状态数据
Always_On SM0.0 该位总是打开。
First_Scan_On SM0.1 首次扫描循环时该位打开,一种用途是调用初始化子例行程序。
Retentive_Lost SM0.2 如果保留性数据丢失,该位为一次扫描循环打开。该位可用作错误内存位或激活