1、S7-200 PLC SM 特殊功能寄存器赋值与功能 SMB0 至 SMB29( S7-200 只读特殊内存) 。 每次扫描循环后, S7-200 CPU 操作系统将新改动写入特殊内存中存储的系统数据中。如果从程序读取 SMB0 至 SMB29,此为只读地址。如果程序尝试对只读 SM 地址写入, Micro/WIN 会编译程序,不会出错。但是, CPU 程序编译程序会拒绝程序,并显示 “操作数范围错误,下载失败。 ” 程序可以读取存储在特殊内存地址中数据、评估当前系统状态、并使用有条件逻辑决定如何应答。 在运行模式中,对程序的连续扫描提供对所选系统数据的连续监管。 SMB0 系统状态位 SMB
2、1 指令执行状态位 SMB2 自由端口接收字符 SMB3 自由端口奇偶校验错误 SMB4 中断队列溢出、运行时间程序错误、中断启用、自由端口传输器被强制 SMB5 I/O 错误状态位 SMB6 CPU 代码寄存器 SMB8-SMB21 I/O 模块代码和错误寄存器 SMW22-SMW26 扫描时间 SMB28-SMB29 模拟调整 SMB30 至 SMB549( S7-200 读取写入特殊内存) 根据要求, S7-200 CPU 操作系统从特殊内存读取配置控制数据,并将新改动写入存储在特殊内存 中的系统数据。 程序可以读取和写入所有 SM 地址 30 或更大的地址,但是 SM 数据的普通用法根
3、据每个地址的功能不同而异。程序可以读取通常写入数据的 SM 地址。 程序可以在 SM 地址中读取和写入数据。 SM 地址提供一种解释系统状态数据、配置系统选项和控制 系统功能的方法。在运行模式中,对程序的连续扫描提供对特殊系统功能的连续存取能力。 SMB30 和 SMB130 自由端口控制寄存器 SMB31-SMW32 永久性内存( EEPROM)写入控制 SMB34-SMB35 用于定时中断的时间间隔寄存器 SMB36-SMB65 HSC0、 HSC1 和 HSC2 高速计数器寄存器 SMB66-SMB85 PTO / PWM 高速输出寄存器 SMB86-SMB94 和 SMB186-SMB
4、194 接收讯息控制 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 C
5、PU 更新。程序可以读取这些位的状态,然后根据位值作出决定。 S7-200 符号名 SM 位 地址 说 明 Always_On SM0.0 该位总是打开 First_Scan_On SM0.1 首次扫描循环时该位打开,一种用途是调用初始化子例行程序 Retentive_Lost SM0.2 如果保留性数据丢失,该位为一次扫描循环打开。该位可用作错误 内存位或激活 特殊启动顺序的机制 RUN_Power_Up SM0.3 从电源开启条件进入 RUN(运行)模式时,该位为一次扫描循环打开。该位可用 于在启动操作之前提供机器预热时间 Clock_60s SM0.4 该位提供 周期 60s 时钟脉冲
6、Clock_1s SM0.5 该位提供 周期 1s 时钟脉冲 Clock_Scan SM0.6 该位是扫描循环时钟,为一次扫描打开,然后为下一次扫描关闭。该位可用作扫描 计数器输入 Mode_Switch SM0.7 该位表示 “模式 ”开关的当前位置(关闭 =“终止 ”位置,打开 =“运行 ”位置)。 开关位于 RUN(运行)位置时,您可以使用该位启用自由端口模式,可使用转换至 “终止 ”位置的方法重新启用带 PC编程设备的正常通讯 SMB1 指令执行状态位 特殊内存字节 1( SM1.0 - SM1.7)为各种不同的指令提供执行状态,例如表格和数学运算。这些位在执行时由指令设置和重新设置。
7、程序可以读取位值,然后根据数值作出决定。 S7-200 符号名 SM 位 地址 说 明 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
8、 尝试将非 BCD 数值转换为二进制数值时,该位打开 Not_Hex SM1.7 当 ASCII 数值无法转换成有效的十六进制数值时,该位打开 SMB2 自由端口接收字符 特殊内存字节 2 是自由端口接收字符缓冲器。在自由端口模式中接收的每个字符均被置于该位置,易于程序存取。 S7-200 符号名 为“ Receive_Char”。 该字节包含在自由端口通讯过程中从端口 0 或端口 1 接收的每个字符。 SMB3 自由端口奇偶校验错误 SMB3 用于自由端口模式,包含在接收字符中检测到奇偶错误时设置的奇偶错误位。当检测到奇偶错误时,打开 SM3.0。在程序接受和读取存储在 SMB2 中的讯息字
9、符数值之前,使用该位测试自由端口讯息字符是否有传输错误。 SM3.0 的 S7-200 的符号名为“ Parity_Err”该位表示在端口 0 和端口 1 中出现奇偶校验错误。( 0 = 无错; 1 = 错误 ), SM3.1 -SM3.7 保留 SMB4 中断队列溢出、运行时间程序错误、中断启用、自由端口传输器闲置、数值被强制 特殊内存字节 4( SM4.0 - SM4.7)包含中断队列溢出位和一个显示中断是启用还是禁用的位( SM 4.4)。这些位表示中断发生速率比可处理速率更快,或中断被全局中断禁用指令禁用。其他位表示: 运行时间程序错误 自由端口传输器状态 任何 PLC 内存数值是否目
10、前被强制 S7-200 符号名 SM 位 地址 说 明 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 当任何内存位置
11、被强制时该位打开(仅限 22x) 注: * 仅限在中断例行程序中使用状态位 4.0、 4.1 和 4.2。队列空置且控制返回主程序时,这些状态位被重设。 SMB5 I/O 错误状态位 特殊内存字节 5( SM5.0 - SM5.7)包含表示在 I/O 系统中检测到的错误条件状态位。这些位为检测到的 I/O错误提供概述。 S7-200 符号名 SM 位 地址 说 明 IO_Err SM5.0 如果存在任何 I/O 错误,该位打开 Too_Many_D_IO SM5.1 如果过多数字 I/O 点与 I/O 总线连接,该位打开 Too_Many_A_IO SM5.2 如果过多模拟 I/O 点与 I/
12、O 总线连接,该位打开 Too_Many_IM SM5.3 如果过多智能 I/O 模块与 I/O 总线连接,该位打开 SM5.4 保留 SM5.5 保留 SM5.6 保留 DP_Err SM5.7 如果存在 DP 标准总线故障,该位打开(仅限 S7-215) SMB6 CPU 代码寄存器 特殊内存字节 6 是 CPU 标识寄存器。 SM6.4 - SM6.7 识别 PLC 的类型。 SM6.0 - SM6.3 为将来使用保留 。SM6 的 S7-200 符号名为“ CPU_ID”,其中 SM6.3 SM6.0 为保留位, SM7 SM4 为 CPU 型号: 0000=CPU212/CPU222
13、; 0010=CPU214/CPU224; 0110=CPU221; 1000=CPU215; 1001=CPU216/CPU226 SMB8-SMB21 I/O 模块代码和错误寄存器 SMB8 至 SMB21 以成对字节组织,用于扩充模块 0 至 6。每对偶数字节是模块标识寄存器。这些字节识别模块类型、 I/O 类型以 及输入和输出次数。每对奇数字节是模块错误寄存器。这些字节提供该模块 I/O 中检测到的任何错误。 S7-200 符号名 SM 字节 地址 说 明 EM0_ID SMB8 模块 0 识别( ID)寄存器 EM0_Err SMB9 模块 0 错误寄存器 EM1_ID SMB10
14、模块 1 识别( ID)寄存器 EM1_Err SMB11 模块 1 错误寄存器 EM2_ID SMB12 模块 2 识别( ID)寄存器 EM2_Err SMB13 模块 2 错误寄存器 EM3_ID SMB14 模块 3 识别( ID)寄存器 EM3_Err SMB15 模块 3 错误寄存器 EM4_ID SMB16 模块 4 识别( ID)寄存器 EM4_Err SMB17 模块 4 错误寄存器 EM5_ID SMB18 模块 5 识别( ID)寄存器 EM5_Err SMB19 模块 5 错误寄存器 EM6_ID SMB20 模块 6 识别( ID)寄存器 EM6_Err SMB21
15、模块 6 错误寄存器 SMW22-SMW26 扫描时间 SMW22、 SMW24 和 SMW26 包含有关扫描时间的信息。您可以毫秒为 单位读取最后一次扫描时间、最小扫描时间和最大扫描时间。 S7-200 符号名 SM 字 地址 说 明 Last_Scan SMW22 该字提供最后一次扫描的扫描时间 Minimum_Scan SMW24 该字提供自进入 RUN(运行)模式以来记录的最小扫描时间 Maximum_Scan SMW26 该字提供自进入 RUN(运行)模式以来记录的最大扫描时间 SMB28-SMB29 模拟调整 特殊内存字节 28 和 29 包含与模拟调整 0 和 1 轴角位置对应的
16、数字值。模拟调整电位器位于 CPU 前方存取门后方。用一把小螺丝刀调整电位器(沿顺时钟方向增加,或沿逆时钟方向减少)。此类只读数值可被程序用于各种不同的功能,例如,为计时器或计数器更新当前值,输入或改动预设值或设置限制。模拟调整有一个 0 至 255 的额定范围,以及计数的重合性。 S7-200 符号名 SM 字节 地址 说 明 Pot0_Value SMB28 该字节存储随模拟调节 0 输入的数值 Pot1_Value SMB29 该字节存储随模拟调节 1 输入的数值 SMB30 和 SMB130 自由口控制寄存器 SMB30 控制端口 0 的自由口通讯; SMB130 控制端口 1 的自由
17、口通讯。您可以从 SMB30 和 SMB130 读取或向 SMB30 和 SMB130 写入。这些字节配置各自的通讯端口,进行自由口操作,并提供自由口或系统协议支持选择。 S7-200 符号名 SM 地址 说 明 P0_Config SMB30 配置端口 0 通信:校验、每个字符的数据位数目、波特率和协议 P0_Config_0 SM30.0 为端口 0 选择自由接口或系统协议 P1_Config SMB130 配置端口 1 通信:校验、每个字符的数据位数目、波特率和协议 P1_Config_0 SM130.0 为端口 1 选择自由接口或系统协议 自由口模式控制字节 SM30 及 SM130
18、各位( .7 .0) 为: Ppdbbbmm 则有: mm 为通讯协议选择,含义如下: 00: 点到点接口协议( PPI/从站模式) 01: 自由口协议 10: PPI/主站模式 11: 保留(缺省是 PPI/从站模式) 注意:当选择 mm=10( PPI 主站), PLC 将成为网络的一个主站,可以执行 NETR 和 NETW 指令。在 PPI 模式下忽略 2 到 7 位 。 bbb 为波特率选择,含义如下: 000: 38400 001: 19200 010: 9600 011: 4800 100: 2400 101: 1200 110: 115200 111: 57600 d 为 每个字
19、符的数据位 : 0=8 位 /字符 ; 1=7 位 /字符 pp 为 校验选择 : 00=不校验 ; 10=不 校验 ; 01=偶校验 ; 11=奇校 。 SMB31 和 SMW32 永久性内存( EEPROM)写入控制 您可以将存储在 V 内存中的一个数值保存至受程序控制的永久性内存( EEPROM)中。欲执行此一功能,将需要保存的位置地址载入 SMW32。然后,将命令载入 SMB31,保存该数值。一旦您载入保存数值的命令,在 CPU 复原 SM31.7 表示保存操作已经完成之前,您不得改变 V 内存中的数值。 在每次扫描结尾处, CPU 检查是否发出将数值保存至永久内存的命令。如果发出命令
20、,指定的数值被保存在永久内存中。 SMB31 定义了存入永久存储器的数据大小,且提供了初始化存储操作的命令。 SMW32 提供了被数据在 V 存储中起始地址 SMB31( Save_to_EEPROM): 设置保存参数,用于将存储在 V 存储区中的数值保存至永久性存储区。 SM31.0 和 SM31.1 ss:被存数据类型 00字节 10字 01字节 11双字 SM31.7( Save_to_EEPROM_7): 用户请求执行永久性存储区保存操作( 0 = 无请求, 1 = 保存)在每次保存操作 后, CPU 复位该位 SMW32( Save_Address): 存储将被保存的 V 存储区单元
21、地址,该值是相对于 V0 的偏移量。当执行存储 命令时,把该数据存到永久存储器中相应的位置。 SMB34-SMB35 用于定时中断的时间间隔寄存器 特殊内存字节 34 和 35 控制中断 0 和中断 1 的时间间隔。您可以指定从 1 毫秒至 255 毫秒 *的时间间隔(以1 毫秒为增量)。相应的定时中断事件附加在中断例行程序中时, CPU 捕获时间间隔数值。欲改变时间间隔,您必须将定时中断事件重新附加在相同的或不同的中断例行程序中。用分离事件的方法终止定时中断事件。 SMB34( Time_0_Intrvl): 定时中断 0 的 时间间隔数值(以 1 毫秒为增量,从 1 毫秒至 255 毫秒
22、*)。 SMB35( Time_1_Intrvl): 定时中断 1 的 时间间隔数值(以 1 毫秒为增量,从 1 毫秒至 255 毫秒 *)。 注: *对于 21x 系列,时间间隔(以 1 毫秒为增量)从 5 毫秒至 255 毫秒。 SMB36-SMB65 HSC0、 HSC1 和 HSC2 高速计数器寄存器 HSC0 寄存器(高速计数器 0) S7-200 符号名 SM 地址 说 明 HSC0_Status SMB36 计数器状态 (仅限在执行由高速计数器事件触发的中断程序时有效。 ) HSC0_Status_5 SM36.5 HSC0 当前计数方向状态: 1 = 增计数 HSC0_Stat
23、us_6 SM36.6 HSC0 当前值等于预置值状态: 1 = 等于 HSC0_Status_7 SM36.7 HSC0 当前值大于预置值状态: 1 = 大于 HSC0_Ctrl SMB37 配置和控制 HSC0 HSC0_Reset_Level SM37.0 HSC0 计数器复位有效电平控制: 0 = 高电平有效; 1 = 低电平有效 HSC0_Start_Level SM37.1 HSC0 计数器启动有效电平控制: 0 = 高电平有效; 1 = 低电平有效 HSC0_Rate SM37.2 HSC0 计数速率选择器: 0 = 4x( 4 倍速); 1=1x HSC0_Dir SM37.3
24、 HSC0 计数方向控制: 0 = 减计数; 1 = 增计数 HSC0_Dir_Update SM37.4 HSC0 更新计数方向: 0 = 无更新; 1 = 更新方向 HSC0_PV_Update SM37.5 HSC0 更新预置值: 0 = 无更新; 1 = 更新 预置值 HSC0_CV_Update SM37.6 HSC0 更新当前值: 0 = 无更新; 1 = 更新当前值 HSC0_Enable SM37.7 HSC0 启用: 0 = 禁止; 1 = 启用 HSC0_CV SMD38 HSC0 新当前值 HSC0_PV SMD42 HSC0 新预置值 HSC1 寄存器(高速计数器 1)
25、 S7-200 符号名 SM 地址 说 明 HSC1_Status SMB46 计数器状态 (仅限在执行由高速计数器事件触发的中断程序时有效。 ) HSC1_Status_5 SM46.5 HSC1 当前计数方向状态: 1 = 增计数 HSC1_Status_6 SM46.6 HSC1 当前值等于预置值状态: 1 = 等于 HSC1_Status_7 SM46.7 HSC1 当前值大于预置值状态: 1 = 大于 HSC1_Ctrl SMB47 配置和控制 HSC0 HSC1_Reset_Level SM47.0 HSC1 计数器复位有效电平控制: 0 = 高电平有效; 1 = 低电平有效 HS
26、C1_Start_Level SM47.1 HSC1 计数器启动有效电平控制: 0 = 高电平有效; 1 = 低电平有效 HSC1_Rate SM47.2 HSC1 计数速率选择器: 0 = 4x( 4 倍速); 1=1x HSC1_Dir SM47.3 HSC1 计数方向控制: 0 = 减计数; 1 = 增计数 HSC1_Dir_Update SM47.4 HSC1 更新计数方向: 0 = 无更新; 1 = 更新方向 HSC1_PV_Update SM47.5 HSC1 更新预置值: 0 = 无更新; 1 = 更新预置值 HSC1_CV_Update SM47.6 HSC1 更新当前值: 0
27、 = 无更新; 1 = 更新当前值 HSC1_Enable SM47.7 HSC1 启用: 0 = 禁止; 1 = 启用 HSC1_CV SMD48 HSC1 新当前值 HSC1_PV SMD52 HSC1 新预置值 HSC2 寄存器(高速计数器 2) S7-200 符号名 SM 地址 说 明 HSC2_Status SMB56 计数器状态 (仅限在执行由高速计数器事件触发的中断程序时有效。 ) HSC2_Status_5 SM56.5 HSC2 当前计数方向状态: 1 = 增计数 HSC2_Status_6 SM56.6 HSC2 当前值等于预置值状态: 1 = 等于 HSC2_Status
28、_7 SM56.7 HSC2 当前值大于预置值状态: 1 = 大于 HSC2_Ctrl SMB57 配置和控制 HSC2 HSC2_Reset_Level SM57.0 HSC2 计数器复位有效电平控制: 0 = 高电平有效; 1 = 低电平有效 HSC2_Start_Level SM57.1 HSC2 计数器启动有效电平控制: 0 = 高电平有效; 1 = 低电平有效 HSC2_Rate SM57.2 HSC2 计数速率选择器: 0 = 4x( 4 倍速); 1=1x HSC2_Dir SM57.3 HSC2 计数方向控制: 0 = 减计数; 1 = 增计数 HSC2_Dir_Update
29、SM57.4 HSC2 更新计数方向: 0 = 无更新; 1 = 更新方向 HSC2_PV_Update SM57.5 HSC2 更新预置值: 0 = 无更新; 1 = 更新预置值 HSC2_CV_Update SM57.6 HSC2 更新当前值: 0 = 无更新; 1 = 更新当前值 HSC2_Enable SM57.7 HSC2 启用: 0 = 禁止; 1 = 启用 HSC2_CV SMD58 HSC2 新当前值 HSC2_PV SMD62 HSC2 新预置值 SMB66-SMB85 PTO / PWM 高速输出寄存器 SMB66 至 SMB85 被用于监控和控制 PLC(脉冲)指令的脉冲
30、链输出和脉冲宽度调制功能。 S7-200 符号名 SM 地址 说 明 PTO0_Status SMB66 PTO0 状态 PLS0_Err_Abort SM66.4 PTO0 包络终止: 0 = 无错; 1 = 由于 计算错误终止 PLS0_Cmd_Abort SM66.5 PTO0 包络终止: 0 = 未被用户命令终止; 1 = 被用户命令终止 PLS0_Ovr SM66.6 PTO0 管道溢出(使用外部包络时,由系统清除,否则必须由用户复位):0 =无溢出; 1 = 管道溢出 PLS0_Idle SM66.7 PTO0 空闲: 0 = PTO 正在执行; 1 = PTO 空闲 PLS0_C
31、trl SMB67 监控与控制 Q0.0 上的 PTO0( 脉冲串输出)和 PWM0(脉冲宽度调制) PLS0_Cycle_Update SM67.0 PTO0/PWM0 更新周期值: 1 = 写入新周期 PWM0_PW_Update SM67.1 PTO0/PWM0 更新脉冲宽度值: 1 = 写入新脉冲宽度 PTO0_PC_Update SM67.2 PTO0 更新脉冲计数值: 1 = 写入新脉冲计数 PLS0_TimeBase SM67.3 PTO0/PWM0 时间基准: 0 = 1 祍 /tick, 1 = 1ms/tick PWM0_Sync SM67.4 同步更新 PWM0: 0 =
32、 异步更新; 1 = 同步更新 PTO0_Op SM67.5 PTO0: 0 = 单段操作; 1 = 多段操作 PLS0_Select SM67.6 PTO0/PWM0 模式选择: 0 = PTO; 1 = PWM PLS0_Enable SM67.7 PTO0/PWM0 启用: 1 = 启用 PLS0_Cycle SMW68 字数据类型: PTO0/PWM0 周期值( 2 至 65,535 个时间基准单位) PWM0_PW SMW70 字数据类型: PWM0 脉冲宽度值( 0 至 65,535 个时间基准单位) PTO0_PC SMD72 双字数据类型: PTO0 脉冲计数值( 1 至 23
33、2 - 1) PTO1_Status SMB76 PTO1 状态 PLS1_Err_Abort SM76.4 PTO1 包络终止: 0 = 无错; 1 = 由于 计算错误终止 PLS1_Cmd_Abort SM76.5 PTO1 包络终止: 0 = 未被用户命令终止; 1 = 被用户命令终止 PLS1_Ovr SM76.6 PTO1 管道溢出(使用外部包络时,由系统清除,否则必须由用户复位):0 =无溢出; 1 = 管道溢出 PLS1_Idle SM76.7 PTO1 空闲: 0 = PTO 正在执行; 1 = PTO 空闲 PLS1_Ctrl SMB77 监控与控制 Q0.1 上的 PTO1
34、(脉冲串输出)和 PWM1(脉冲宽度调制) PLS1_Cycle_Update SM77.0 PTO1/PWM1 更新周期值: 1 = 写入新周期 PWM1_PW_Update SM77.1 PTO1/PWM1 更新脉冲宽度值: 1 = 写入新脉冲宽度 PTO1_PC_Update SM77.2 PTO1 更新脉冲计数值: 1 = 写入新脉冲计数 PLS1_TimeBase SM77.3 PTO1/PWM1 时间基准: 0 = 1 祍 /tick, 1 = 1ms/tick PWM1_Sync SM77.4 同步更新 PWM1: 0 = 异步更新; 1 = 同步更新 PTO1_Op SM77.
35、5 PTO1: 0 = 单段操作; 1 = 多段操作 PLS1_Select SM77.6 PTO1/PWM1 模式选择: 0 = PTO; 1 = PWM PLS1_Enable SM77.7 PTO1/PWM1 启用: 1 = 启用 PLS1_Cycle SMW78 字数据类型: PTO1/PWM1 周期值( 2 至 65,535 个时间基准单位) PWM1_PW SMW80 字数据类型: PWM1 脉冲宽度值( 0 至 65,535 个时间基准单位) PTO1_PC SMD82 双字数据类型: PTO1 脉冲计数值( 1 至 232 - 1) SMB86-SMB94(端口 0) 和 SM
36、B186-SMB194(端口 1) 接收信息控制 S7-200 符号名 SM 地址 说 明 P0_Stat_Rcv SMB86 端口 0 接收信息状态 P0_Stat_Rcv_0 SM86.0 1 = 接收信息终止:校验错误 P0_Stat_Rcv_1 SM86.1 1 = 接收信息终止:达到最大字符计数 P0_Stat_Rcv_2 SM86.2 1 = 接收信息终止:定时器超时 P0_Stat_Rcv_5 SM86.5 1 = 接收信息终止:收到结束字符 P0_Stat_Rcv_6 SM86.6 1 = 接收信息终止:输入参数错误或缺少开始或结束条件 P0_Stat_Rcv_7 SM86.7
37、 1 = 接收信息终止:用户禁止命令 P0_Ctrl_Rcv SMB87 端口 0 接收信息控制 P0_Ctrl_Rcv_1 SM87.1 0 = 忽略断点, 1 = 将断点用作信息开始检测 P0_Ctrl_Rcv_2 SM87.2 0 =忽略 SMW92, 1 = 如果超出 SMW92 中的时间间隔,终止接收 P0_Ctrl_Rcv_3 SM87.3 0 = 定时器是字符间定时器, 1 = 定时器是信息间定时器 P0_Ctrl_Rcv_4 SM87.4 0 = 忽略 SMW90, 1 = 使用 SMW90 中的数据检测空闲条件 P0_Ctrl_Rcv_5 SM87.5 0 = 忽略 SMB8
38、9, 1 = 使用 SMB89 中的数据检测信息结束 P0_Ctrl_Rcv_6 SM87.6 0 = 忽略 SMB88, 1 = 使用 SMB88 中的数据检测信息开始 P0_Ctrl_Rcv_7 SM87.7 0 = 接收信息功能被禁止 ,1 = 接收信息功能被启用,每次执行 RCV 指令检查该位 P0_Start_Char SMB88 信息字符开 始 P0_End_Char SMB89 信息字符结束 P0_Idle_Time SMW90 空闲线时间间隔以毫秒表示,在空闲行时间结束后接收的第一个字符是新信息开始 P0_Timeout SMW92 字符间信息间定时器超时数值,以毫秒表示。如果
39、超过时间,就停止接收信息 P0_Max_Char SMB94 可接收的最大字符数( 1 至 255 个字节)注意:这个区一定要设为希望的最大缓 冲区,即使不使用字符计数信息终止 SMW98 I/O 扩充总线 - 通讯错误 SMW98 提供有关扩充 I/O 总线中的错误数目的信息。 SMW98( EM_Parity_Err):每当扩充 I/O 总线中检测到校验错误时,该字均被递增。电源开启时以 及用户写入零时被清除。 SMB136-SMB165 HSC3、 HSC4 和 HSC5 高速计数器寄存器 HSC3 寄存器(高速计数器 3) S7-200 符号名 SM 地址 说 明 HSC3_Statu
40、s SMB136 计数器状态 (仅限在执行由高速计数器事件触发的中断程序时有效。 ) HSC3_Status_5 SM136.5 HSC3 当前计数方向状态: 1 = 增计数 HSC3_Status_6 SM136.6 HSC3 当前值等于预置值 状态: 1 = 等于 HSC3_Status_7 SM136.7 HSC3 当前值大于预置值状态: 1 = 大于 HSC3_Ctrl SMB137 配置和控制 HSC3 HSC3_Reset_Level SM137.0 HSC3 计数器复位有效电平控制: 0 = 高电平有效; 1 = 低电平有效 HSC3_Start_Level SM137.1 HS
41、C3 计数器启动有效电平控制: 0 = 高电平有效; 1 = 低电平有效 HSC3_Rate SM137.2 HSC3 计数速率选择器: 0 = 4x( 4 倍速); 1=1x HSC3_Dir SM137.3 HSC3 计数方向控制: 0 = 减计数; 1 = 增计数 HSC3_Dir_Update SM137.4 HSC3 更新计数方向: 0 = 无更新; 1 = 更新方向 HSC3_PV_Update SM137.5 HSC3 更新预置值: 0 = 无更新; 1 = 更新预置值 HSC3_CV_Update SM137.6 HSC3 更新当前值: 0 = 无更新; 1 = 更新当前值 H
42、SC3_Enable SM137.7 HSC3 启用: 0 = 禁止; 1 = 启用 HSC3_CV SMD138 HSC3 新当前值 HSC3_PV SMD142 HSC3 新预置值 HSC4 寄存器(高速计数器 4) S7-200 符号名 SM 地址 说 明 HSC4_Status SMB146 计数器状态 (仅限在执行由高速计数器事件触发的中断程序时有效。 ) HSC4_Status_5 SM146.5 HSC4 当前计数方向状态: 1 = 增计数 HSC4_Status_6 SM146.6 HSC4 当前值等于预置值状态: 1 = 等于 HSC4_Status_7 SM146.7 HS
43、C4 当前值大于 预置值状态: 1 = 大于 HSC4_Ctrl SMB147 配置和控制 HSC4 HSC4_Reset_Level SM147.0 HSC4 计数器复位有效电平控制: 0 = 高电平有效; 1 = 低电平有效 HSC4_Start_Level SM147.1 HSC4 计数器启动有效电平控制: 0 = 高电平有效; 1 = 低电平有效 HSC4_Rate SM147.2 HSC4 计数速率选择器: 0 = 4x( 4 倍速); 1=1x HSC4_Dir SM147.3 HSC4 计数方向控制: 0 = 减计数; 1 = 增计数 HSC4_Dir_Update SM147.
44、4 HSC4 更新计数方向: 0 = 无更新; 1 = 更新方向 HSC4_PV_Update SM147.5 HSC4 更新预置值: 0 = 无更新; 1 = 更新预置值 HSC4_CV_Update SM147.6 HSC4 更新当前值: 0 = 无更新; 1 = 更新当前值 HSC4_Enable SM147.7 HSC4 启用: 0 = 禁止; 1 = 启用 HSC4_CV SMD148 HSC4 新当前值 HSC4_PV SMD152 HSC4 新预置值 HSC5 寄存器(高速计数器 5) S7-200 符号名 SM 地址 说 明 HSC5_Status SMB156 计数器状态 (
45、仅限在执行由高速计数器事件触发的中断程序时有效。 ) HSC5_Status_5 SM156.5 HSC5 当前计数方向状态: 1 = 增计数 HSC5_Status_6 SM156.6 HSC5 当前值等于预置值状态: 1 = 等于 HSC5_Status_7 SM156.7 HSC5 当前值大于预置值状态: 1 = 大于 HSC5_Ctrl SMB157 配置和控制 HSC5 HSC5_Reset_Level SM157.0 HSC5 计数器复位有效电平控制: 0 = 高电平有效; 1 = 低电平有效 HSC5_Start_Level SM157.1 HSC5 计数器启动有效电平控制: 0
46、 = 高电平有效; 1 = 低电平有效 HSC5_Rate SM157.2 HSC5 计数速率选择器: 0 = 4x( 4 倍速); 1=1x HSC5_Dir SM157.3 HSC5 计数方向控制: 0 = 减计数; 1 = 增计数 HSC5_Dir_Update SM157.4 HSC5 更新计数方向: 0 = 无更新; 1 = 更新方向 HSC5_PV_Update SM157.5 HSC5 更新预置值: 0 = 无更新; 1 = 更新预置值 HSC5_CV_Update SM157.6 HSC5 更新当前值: 0 = 无更新; 1 = 更新当前值 HSC5_Enable SM157.
47、7 HSC5 启用: 0 = 禁止; 1 = 启用 HSC5_CV SMD158 HSC5 新当前值 HSC5_PV SMD162 HSC5 新预置值 SMB166-SMB194 PLS(脉冲)指令 PTO 包络表 S7-200 符号名 SM 地址 说 明 PTO0_Step SMB166 PTO0 的当前包络步计数值 PTO0_Profile SMW168 PTO0 包络表的 V 存储区地址(对 V0 的偏移量,字数据类型) PTO1_Step SMB176 PTO1 的当前包络步计数值 PTO1_Profile SMW178 PTO1 包络表的 V 存储区地址(对 V0 的偏移量,字数据类
48、型) 端口 1 接收信息控制 S7-200 符号名 SM 地址 说 明 P1_Stat_Rcv SMB186 端口 1 接收信息状态 P1_Stat_Rcv_0 SM186.0 1 = 接收信息终止:校验错误 P1_Stat_Rcv_1 SM186.1 1 = 接收信息终止:达到最大字符计数 P1_Stat_Rcv_2 SM186.2 1 = 接收信息终止:定时器超时 P1_Stat_Rcv_5 SM186.5 1 = 接收信息终止:收到结束字符 P1_Stat_Rcv_6 SM186.6 1 = 接 收信息终止:输入参数错误或缺少开始或结束条件 P1_Stat_Rcv_7 SM186.7 1
49、 = 接收信息终止:用户禁止命令 P1_Ctrl_Rcv SMB187 接收信息控制 P1_Ctrl_Rcv_1 SM187.1 0 = 忽略断点, 1 = 将断点用作信息开始检测 P1_Ctrl_Rcv_2 SM187.2 0 = 忽略 SMW92, 1 = 如果超出 SMW92 中的时间间隔,终止接收 P1_Ctrl_Rcv_3 SM187.3 0 = 定时器是字符间定时器, 1 = 定时器是信息间定时器 P1_Ctrl_Rcv_4 SM187.4 0 = 忽略 SMW90, 1 = 使用 SMW90 中的数据检测空闲条件 P1_Ctrl_Rcv_5 SM187.5 0 = 忽略 SMB89, 1 = 使用 SMB89 中的数据检测信息结束 P1_Ctrl_Rcv_6 SM187.6 0 = 忽略 SMB88, 1 = 使用 SMB88 中的数据检测信息开始 P1_Ctrl_Rcv_7 SM187.7 0 = 接收信息功能被禁止, 1 = 接收信息功能被启用 P1_