S7200 PLC SM特殊功能寄存器赋值与功能.docx
- 文档编号:23756168
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:23
- 大小:39.15KB
S7200 PLC SM特殊功能寄存器赋值与功能.docx
《S7200 PLC SM特殊功能寄存器赋值与功能.docx》由会员分享,可在线阅读,更多相关《S7200 PLC SM特殊功能寄存器赋值与功能.docx(23页珍藏版)》请在冰豆网上搜索。
S7200PLCSM特殊功能寄存器赋值与功能
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-200CPU操作系统从特殊内存读取配置/控制数据,并将新改动写入存储在特殊内存ﻭ中的系统数据。
程序可以读取和写入所有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 接收讯息控制
SMW98I/O 扩充总线—通讯错误
SMB136-SMB165 HSC3、HSC4和HSC5高速计数器寄存器
SMB166-SMB194 用于PLC(脉冲)指令的PTO包络表
SMB200-SMB549 为智能扩充模块提供的状态信息保留,例如EM 277PROFIBUS-DP模块。
SMB200至SMB249为系统中的第一个智能扩充模块(离CPU最近的模块)保留;SMB250至SMB299为第二个智能模块保留。
SMB0系统状态位
特殊内存字节0(SM0.0-SM0.7)提供八个位,在每次扫描循环结尾处由S7-200CPU更新。
程序可以读取这些位的状态,然后根据位值作出决定。
S7-200符号名SM地址 用户程序读取SMB0状态数据
Always_Onﻩ SM0.0ﻩ 该位总是打开。
First_Scan_OnﻩSM0.1 首次扫描循环时该位打开,一种用途是调用初始化子例行程序。
Retentive_Lost SM0.2如果保留性数据丢失,该位为一次扫描循环打开。
该位可用作错误内存位或激活特殊启动顺序的机制。
RUN_Power_UpSM0.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_IllegalSM1.1ﻩ当溢出结果或检测到非法数字数值时,某些指令的执行打开该位。
Neg_ResultSM1.2数学操作产生负结果时,该位打开。
Divide_By_0ﻩSM1.3尝试除以零时,该位打开。
Table_OverflowSM1.4“增加至表格”指令尝试过度填充表格时,该位打开。
Table_EmptyﻩSM1.5ﻩLIFO或FIFO指令尝试从空表读取时,该位打开。
Not_BCDSM1.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。
队列空置且控制返回主程序时,这些状态位被重设。
SMB5I/O错误状态位
特殊内存字节5(SM5.0 -SM5.7)包含表示在I/O系统中检测到的错误条件状态位。
这些位为检测到的I/O错误提供概述。
S7-200符号名ﻩSM地址用户程序读取SMB5错误状态数据
IO_Errﻩ SM5.0如果存在任何I/O错误,该位打开。
Too_Many_D_IOSM5.1ﻩ 如果过多数字I/O点与I/O总线连接,该位打开。
Too_Many_A_IO ﻩSM5.2ﻩ 如果过多模拟I/O点与I/O总线连接,该位打开。
Too_Many_IMSM5.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为将来使用保留
SMB8-SMB21I/O模块代码和错误寄存器
SMB8至SMB21以成对字节组织,用于扩充模块0至6。
每对偶数字节是模块标识寄存器。
这些字节识别模块类型、I/O类型以及输入和输出次数。
每对奇数字节是模块错误寄存器。
这些字节提供该模块I/O中检测到的任何错误。
I/O 模块代码和错误寄存器
EM0_IDSMB8ﻩ模块0识别(ID)寄存器
EM0_Err SMB9模块 0错误寄存器
EM1_ID SMB10模块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_ErrSMB21ﻩ模块 6错误寄存器
SMW22-SMW26扫描时间
SMW22、SMW24和SMW26包含有关扫描时间的信息。
您可以毫秒为单位读取最后一次扫描时间、最小扫描时间和最大扫描时间。
S7-200符号名ﻩSM地址用户程序读取SMW22-SMW26扫描时间数据
Last_ScanSMW22 该字提供最后一次扫描的扫描时间。
Minimum_Scan SMW24ﻩ该字提供自进入RUN(运行)模式以来记录的最小扫描时间。
Maximum_ScanﻩSMW26ﻩ该字提供自进入RUN(运行)模式以来记录的最大扫描时间。
SMB28-SMB29模拟调整
特殊内存字节28和29包含与模拟调整0和1轴角位置对应的数字值。
模拟调整电位器位于CPU前方存取门后方。
用一把小螺丝刀调整电位器(沿顺时钟方向增加,或沿逆时钟方向减少)。
此类只读数值可被程序用于各种不同的功能,例如,为计时器或计数器更新当前值,输入或改动预设值或设置限制。
模拟调整有一个0至255的额定范围,以及?
2计数的重合性。
S7-200符号名SM地址用户程序读取SMB28-SMB29,获取电位器位置数据
Pot0_Valueﻩ SMB28 该字节存储随模拟调节0输入的数值。
Pot1_ValueSMB29 该字节存储随模拟调节1输入的数值。
SMB30和SMB130 自由口控制寄存器
SMB30控制端口0的自由口通讯;SMB130控制端口1的自由口通讯。
您可以从SMB30和SMB130读取或向SMB30和SMB130写入。
这些字节配置各自的通讯端口,进行自由口操作,并提供自由口或系统协议支持选择。
S7-200符号名地址ﻩ为程序指令和S7-200CPU读取/写入地址 >= SMB30ﻭ0=关断=低 1=接通=高
P0_Configﻩ SMB30ﻩ 配置端口0通信:
校验、每个字符的数据位数目、波特率和协议
P0_Config_0 SM30.0ﻩ 为端口0选择自由接口或系统协议
P1_Config SMB130 配置端口1 通信:
校验、每个字符的数据位数目、波特率和协议
P1_Config_0ﻩ SM130.0ﻩ 为端口1 选择自由接口或系统协议
口1
口2
描述
SMB30的格式
SMB130的格式
自由口模式控制字节
MSB LSB
p
p
d
b
b
b
m
m
7 0
SM30.0和SM30.1
SM130.0和SM130.1
mm:
协议选择 00=点到点接口协议(PPI/从站模式)
01=自由口协议10=PPI/主站模式11=保留(缺省是PPI/从站模式)
注意:
当选择mm=10(PPI主站),PLC将成为网络的一个主站,可以执行NETR和NETW指令。
在PPI模式下忽略2到7位
SM30.2到SM30.4
SM130.2到SM130.4
bbb:
自由口波特率000=38,400波特 100=2,400波特
001=19,200波特 101=1,200波特
010=9,600波特 110=115,200波特
011=4,800波特 111=57,600波特
SM30.5
SM130.5
d:
每个字符的数据位 0=8位/字符 1=7位/字符
SM30.6和SM30.7
SM130.6和SM130.7
pp:
校验选择 00=不校验10=不校验
01=偶校验11=奇校验
SMB31和SMW32永久性内存(EEPROM)写入控制
您可以将存储在V内存中的一个数值保存至受程序控制的永久性内存(EEPROM)中。
欲执行此一功能,将需要保存的位置地址载入SMW32。
然后,将命令载入SMB31,保存该数值。
一旦您载入保存数值的命令,在CPU复原SM31.7表示保存操作已经完成之前,您不得改变V内存中的数值。
在每次扫描结尾处,CPU检查是否发出将数值保存至永久内存的命令。
如果发出命令,指定的数值被保存在永久内存中。
SMB31定义了存入永久存储器的数据大小,且提供了初始化存储操作的命令。
SMW32提供了被数据在V存储中起始地址
Save_to_EEPROMﻩSMB31 设置保存参数,用于将存储在V存储区中的数值保存至永久性存储区。
SM31.0和SM31.1ss:
被存数据类型00=字节10=字 01=字节11=双字
Save_to_EEPROM_7SM31.7ﻩ用户请求执行永久性存储区保存操作(0=无请求,1=保存)在每次保存操作后,CPU 复位该位
Save_Address SMW32 存储将被保存的V存储区单元地址,该值是相对于V0的偏移量。
当执行存储命令时,把该数据存到永久存储器中相应的位置。
SMB34-SMB35用于定时中断的时间间隔寄存器
特殊内存字节34和35控制中断0和中断1的时间间隔。
您可以指定从1毫秒至255毫秒**的时间间隔(以1毫秒为增量)。
相应的定时中断事件附加在中断例行程序中时,CPU捕获时间间隔数值。
欲改变时间间隔,您必须将定时中断事件重新附加在相同的或不同的中断例行程序中。
用分离事件的方法终止定时中断事件。
S7-200符号名ﻩSM地址ﻩ 以毫秒为单位的定时中断间隔
Time_0_IntrvlSMB34定时中断0:
时间间隔数值(以1毫秒为增量,从1毫秒至255毫秒**)。
Time_1_IntrvlSMB35ﻩ定时中断1:
时间间隔数值(以1毫秒为增量,从1毫秒至255毫秒**)。
**对于21x系列,时间间隔(以1毫秒为增量)从5毫秒至255毫秒。
SMB36-SMB65HSC0、HSC1 和HSC2高速计数器寄存器
HSC0寄存器(高速计数器0)
HSC0_Status SMB36ﻩ HSC0 计数器状态(仅限在执行由高速计数器事件触发的中断程序时有效。
)
HSC0_Status_5 SM36.5ﻩHSC0当前计数方向状态:
1=增计数
HSC0_Status_6ﻩ SM36.6HSC0当前值等于预置值状态:
1=等于
HSC0_Status_7ﻩ SM36.7 HSC0当前值大于预置值状态:
1=大于
HSC0_Ctrlﻩ SMB37ﻩ配置和控制HSC0
HSC0_Reset_LevelSM37.0 HSC0计数器复位有效电平控制:
0=高电平有效;1= 低电平有效
HSC0_RateSM37.2ﻩ HSC0计数速率选择器:
0 =4x(4倍速);1=1x
HSC0_Dirﻩ SM37.3ﻩ HSC0计数方向控制:
0=减计数;1 = 增计数
HSC0_Dir_Updateﻩ SM37.4 HSC0更新计数方向:
0=无更新;1=更新方向
HSC0_PV_Update SM37.5HSC0更新预置值:
0=无更新;1=更新预置值
HSC0_CV_Update SM37.6 HSC0更新当前值:
0= 无更新;1 =更新当前值
HSC0_Enableﻩ SM37.7HSC0启用:
0= 禁止;1=启用
HSC0_CVﻩ SMD38 HSC0新当前值
HSC0_PV SMD42ﻩHSC0 新预置值
HSC1寄存器(高速计数器1)
HSC1_Statusﻩ SMB46 HSC1计数器状态(仅限在执行由高速计数器事件触发的中断程序时有效。
)
HSC1_Status_5SM46.5ﻩHSC1当前计数方向状态:
1 = 增计数
HSC1_Status_6 SM46.6ﻩ HSC1当前值等于预置值状态:
1= 等于
HSC1_Status_7 SM46.7 HSC1当前值大于预置值状态:
1=大于
HSC1_Ctrl SMB47ﻩ配置和控制HSC1
HSC1_Reset_LevelﻩSM47.0HSC1计数器复位有效电平控制:
0 = 高电平有效;1= 低电平有效
HSC1_Start_Levelﻩ SM47.1HSC1计数器启动有效电平控制:
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 =无更新;1= 更新当前值
HSC1_Enable SM47.7ﻩ HSC1启用:
0=禁止;1=启用
HSC1_CVﻩ SMD48 HSC1 新当前值
HSC1_PVﻩ SMD52 HSC1 新预置值
HSC2寄存器(高速计数器2)
HSC2_Statusﻩ SMB56ﻩHSC2计数器状态(仅限在执行由高速计数器事件触发的中断程序时有效。
)
HSC2_Status_5 SM56.5HSC2 当前计数方向状态:
1=增计数
HSC2_Status_6ﻩ SM56.6 HSC2 当前值等于预置值状态:
1=等于
HSC2_Status_7SM56.7HSC2当前值大于预置值状态:
1=大于
HSC2_Ctrlﻩ SMB57ﻩ配置和控制HSC2
HSC2_Reset_LevelSM57.0 HSC2计数器复位有效电平控制:
0=高电平有效;1=低电平有效
HSC2_Start_Levelﻩ SM57.1ﻩ HSC2计数器启动有效电平控制:
0 =高电平有效;1= 低电平有效
HSC2_Rateﻩ SM57.2HSC2 计数速率选择器:
0 =4x(4倍速);1=1x
HSC2_Dir SM57.3 HSC2计数方向控制:
0=减计数;1= 增计数
HSC2_Dir_Updateﻩ SM57.4ﻩ HSC2更新计数方向:
0=无更新;1=更新方向
HSC2_PV_UpdateSM57.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(脉冲)指令的脉冲链输出和脉冲宽度调制功能。
PTO0_Status SMB66PTO0状态
PLS0_Err_AbortﻩSM66.4 PTO0包络终止:
0= 无错;1= 由于δ计算错误终止
PLS0_Cmd_Abortﻩ SM66.5PTO0包络终止:
0=未被用户命令终止;1 =被用户命令终止
PLS0_Ovr SM66.6ﻩPTO0管道溢出(使用外部包络时,由系统清除,否则必须由用户复位):
0=无溢出;1=管道溢出
PLS0_Idleﻩ SM66.7PTO0空闲:
0=PTO正在执行;1=PTO 空闲
PLS0_Ctrl SMB67监控与控制Q0.0上的 PTO0(脉冲串输出)和PWM0(脉冲宽度调制)
PLS0_Cycle_UpdateﻩSM67.0ﻩ PTO0/PWM0 更新周期值:
1=写入新周期
PWM0_PW_UpdateﻩSM67.1PTO0/PWM0更新脉冲宽度值:
1=写入新脉冲宽度
PTO0_PC_Update SM67.2ﻩ PTO0更新脉冲计数值:
1= 写入新脉冲计数
PLS0_TimeBaseﻩ SM67.3PTO0/PWM0时间基准:
0 = 1祍/tick,1=1ms/tick
PWM0_Sync SM67.4ﻩ 同步更新 PWM0:
0=异步更新;1 =同步更新
PTO0_Op SM67.5PTO0:
0=单段操作;1=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S7200 PLC SM特殊功能寄存器赋值与功能 SM 特殊 功能 寄存器 赋值