S7-200-PLC-SM特殊功能寄存器赋值与功能
- 格式:doc
- 大小:73.00 KB
- 文档页数:9
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 如果保留性数据丢失,该位为一次扫描循环打开。该位可用作错误内存位或激活
特殊启动顺序的机制。
RUN_Power_Up SM0.3 从电源开启条件进入RUN(运行)模式时,该位为一次扫描循环打开。该位可用
于在启动操作之前提供机器预热时间。
Clock_60s SM0.4 该位提供时钟脉冲,该脉冲在1分钟的周期时间内OFF(关闭)30秒,ON(打
开)30秒。该位提供便于使用的延迟或1分钟时钟脉冲。
Clock_1s SM0.5 该位提供时钟脉冲,该脉冲在1秒钟的周期时间内OFF(关闭)0.5秒,ON(打
开)0.5秒。该位提供便于使用的延迟或1秒钟时钟脉冲。
Clock_Scan SM0.6 该位是扫描循环时钟,为一次扫描打开,然后为下一次扫描关闭。该位可用作扫描
计数器输入。
Mode_Switch SM0.7 该位表示“模式”开关的当前位置(关闭=“终止”位置,打开=“运行”位置)。
开关位于RUN(运行)位置时,您可以使用该位启用自由端口模式,可使用转换
至“终止”位置的方法重新启用带PC/编程设备的正常通讯。
SMB1指令执行状态位
特殊内存字节1(SM1.0 - SM1.7)为各种不同的指令提供执行状态,例如表格和数学运算。这些位在执行时由指令设置和重新设置。程序可以读取位值,然后根据数值作出决定。
S7-200符号名SM地址用户程序读取SMB1状态数据
Result_0 SM1.0 当操作结果为零时,某些指令的执行打开该位。
Overflow_Illegal SM1.1 当溢出结果或检测到非法数字数值时,某些指令的执行打开该位。
Neg_Result SM1.2 数学操作产生负结果时,该位打开。
Divide_By_0 SM1.3 尝试除以零时,该位打开。
Table_Overflow SM1.4 “增加至表格”指令尝试过度填充表格时,该位打开。
Table_Empty SM1.5 LIFO或FIFO指令尝试从空表读取时,该位打开。
Not_BCD SM1.6 尝试将非BCD数值转换为二进制数值时,该位打开。
Not_Hex SM1.7 当ASCII数值无法转换成有效的十六进制数值时,该位打开。
SMB2自由端口接收字符
特殊内存字节2是自由端口接收字符缓冲器。在自由端口模式中接收的每个字符均被置于该位置,易于程序存取。
S7-200符号名SM地址用户程序读取SMB2,以便载入输入自由端口数据
Receive_Char SMB2 该字节包含在自由端口通讯过程中从端口0或端口1接收的每个字符。
SMB3自由端口奇偶校验错误
SMB3用于自由端口模式,包含在接收字符中检测到奇偶错误时设置的奇偶错误位。当检测到奇偶错误时,打开SM3.0。在程序接受和读取存储在SMB2中的讯息字符数值之前,使用该位测试自由端口讯息字符是否有传输错误。
S7-200符号名SM地址用户程序读取SMB3,确认输入自由端口数据
Parity_Err SM3.0 该位表示在端口0和端口1中出现奇偶校验错误。(0 = 无错;1 = 错误)SM3.1 -SM3.7 保留
SMB4中断队列溢出、运行时间程序错误、中断启用、自由端口传输器闲置、数值被强制
特殊内存字节4(SM4.0 - SM4.7)包含中断队列溢出位和一个显示中断是启用还是禁用的位(SM 4.4)。这些位表示中断发生速率比可处理速率更快,或中断被全局中断禁用指令禁用。其他位表示:
●运行时间程序错误
●自由端口传输器状态
●任何PLC内存数值是否目前被强制
S7-200符号名SM地址用户程序读取SMB4状态数据
Comm_Int_Ovr **SM4.0 通讯中断队列溢出时,该位打开。
Input_Int_Ovr **SM4.1 输入中断队列溢出时,该位打开。
Timed_Int_Ovr **SM4.2 定时中断队列溢出时,该位打开。
RUN_Err SM4.3 检测到运行时间编程错误时,该位打开。
Int_Enable SM4.4 该位反映全局中断启用状态。启用中断时,该位打开。
Xmit0_Idle SM4.5 传输器闲置(端口0)时,该位打开。
Xmit1_Idle SM4.6 传输器闲置(端口1)时,该位打开。
Force_On SM4.7 当任何内存位置被强制时该位打开(仅限22x)。
** 仅限在中断例行程序中使用状态位4.0、4.1和4.2。队列空置且控制返回主程序时,这些状态位被重设。