S7200 PLC SM特殊功能寄存器赋值与功能.docx
- 文档编号:16864102
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:20
- 大小:23.38KB
S7200 PLC SM特殊功能寄存器赋值与功能.docx
《S7200 PLC SM特殊功能寄存器赋值与功能.docx》由会员分享,可在线阅读,更多相关《S7200 PLC SM特殊功能寄存器赋值与功能.docx(20页珍藏版)》请在冰点文库上搜索。
S7200PLCSM特殊功能寄存器赋值与功能
SMB0至SMB29(S7-200只读特殊内存)
每次扫描循环后,S7-200CPU操作系统将新改动写入特殊内存中存储的系统数据中。
如果从程序读取SMB0至SMB29,此为只读地址。
如果程序尝试对只读SM地址写入,Micro/WIN会编译程序,不会出错。
但是,CPU程序编译程序会拒绝程序,并显示“操作数范围错误,下载失败。
”
程序可以读取存储在特殊内存地址中数据、评估当前系统状态、并使用有条件逻辑决定如何应答。
在运行模式中,对程序的连续扫描提供对所选系统数据的连续监管。
SMB0系统状态位
SMB1指令执行状态位
SMB2自由端口接收字符
SMB3自由端口奇偶校验错误
SMB4中断队列溢出、运行时间程序错误、中断启用、自由端口传输器被强制
SMB5I/O错误状态位
SMB6CPU代码寄存器
SMB8-SMB21I/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-SMB65HSC0、HSC1和HSC2高速计数器寄存器
SMB66-SMB85PTO/PWM高速输出寄存器
SMB86-SMB94和SMB186-SMB194接收讯息控制
SMW98I/O 扩充总线—通讯错误
SMB136-SMB165HSC3、HSC4和HSC5高速计数器寄存器
SMB166-SMB194用于PLC(脉冲)指令的PTO包络表
SMB200-SMB549为智能扩充模块提供的状态信息保留,例如EM277
PROFIBUS-DP模块。
SMB200至SMB249为系统中的第一个智能扩充模块(离CPU最近的模块)保留;SMB250至SMB299为第二个智能模块保留。
SMB0系统状态位
特殊内存字节0(-)提供八个位,在每次扫描循环结尾处由S7-200CPU更新。
程序可以读取这些位的状态,然后根据位值作出决定。
S7-200符号名SM地址用户程序读取SMB0状态数据
Always_On该位总是打开。
First_Scan_On首次扫描循环时该位打开,一种用途是调用初始化子例行程序。
Retentive_Lost如果保留性数据丢失,该位为一次扫描循环打开。
该位可用作错误内存位或激活特殊启动顺序的机制。
RUN_Power_Up从电源开启条件进入RUN(运行)模式时,该位为一次扫描循环打开。
该位可用于在启动操作之前提供机器预热时间。
Clock_60s该位提供时钟脉冲,该脉冲在1分钟的周期时间内OFF(关闭)30秒,ON(打开)30秒。
该位提供便于使用的延迟或1分钟时钟脉冲。
Clock_1s该位提供时钟脉冲,该脉冲在1秒钟的周期时间内OFF(关闭)秒,ON(打开)秒。
该位提供便于使用的延迟或1秒钟时钟脉冲。
Clock_Scan该位是扫描循环时钟,为一次扫描打开,然后为下一次扫描关闭。
该位可用作扫描计数器输入。
Mode_Switch该位表示“模式”开关的当前位置(关闭=“终止”位置,打开=“运行”位置)。
开关位于RUN(运行)位置时,您可以使用该位启用自由端口模式,可使用转换至“终止”位置的方法重新启用带PC/编程设备的正常通讯。
SMB1指令执行状态位
特殊内存字节1(-)为各种不同的指令提供执行状态,例如表格和数学运算。
这些位在执行时由指令设置和重新设置。
程序可以读取位值,然后根据数值作出决定。
S7-200符号名SM地址用户程序读取SMB1状态数据
Result_0当操作结果为零时,某些指令的执行打开该位。
Overflow_Illegal当溢出结果或检测到非法数字数值时,某些指令的执行打开该位。
Neg_Result数学操作产生负结果时,该位打开。
Divide_By_0尝试除以零时,该位打开。
Table_Overflow“增加至表格”指令尝试过度填充表格时,该位打开。
Table_EmptyLIFO或FIFO指令尝试从空表读取时,该位打开。
Not_BCD尝试将非BCD数值转换为二进制数值时,该位打开。
Not_Hex当ASCII数值无法转换成有效的十六进制数值时,该位打开。
SMB2自由端口接收字符
特殊内存字节2是自由端口接收字符缓冲器。
在自由端口模式中接收的每个字符均被置于该位置,易于程序存取。
S7-200符号名SM地址用户程序读取SMB2,以便载入输入自由端口数据
Receive_CharSMB2该字节包含在自由端口通讯过程中从端口0或端口1接收的每个字符。
SMB3自由端口奇偶校验错误
SMB3用于自由端口模式,包含在接收字符中检测到奇偶错误时设置的奇偶错误位。
当检测到奇偶错误时,打开。
在程序接受和读取存储在SMB2中的讯息字符数值之前,使用该位测试自由端口讯息字符是否有传输错误。
S7-200符号名SM地址用户程序读取SMB3,确认输入自由端口数据
Parity_Err该位表示在端口0和端口1中出现奇偶校验错误。
(0=无错;1=错误)
保留
SMB4中断队列溢出、运行时间程序错误、中断启用、自由端口传输器闲置、数值被强制
特殊内存字节4(-)包含中断队列溢出位和一个显示中断是启用还是禁用的位(SM)。
这些位表示中断发生速率比可处理速率更快,或中断被全局中断禁用指令禁用。
其他位表示:
●运行时间程序错误
●自由端口传输器状态
●任何PLC内存数值是否目前被强制
S7-200符号名SM地址用户程序读取SMB4状态数据
Comm_Int_Ovr**通讯中断队列溢出时,该位打开。
Input_Int_Ovr**输入中断队列溢出时,该位打开。
Timed_Int_Ovr**定时中断队列溢出时,该位打开。
RUN_Err检测到运行时间编程错误时,该位打开。
Int_Enable该位反映全局中断启用状态。
启用中断时,该位打开。
Xmit0_Idle传输器闲置(端口0)时,该位打开。
Xmit1_Idle传输器闲置(端口1)时,该位打开。
Force_On当任何内存位置被强制时该位打开(仅限22x)。
**仅限在中断例行程序中使用状态位、和。
队列空置且控制返回主程序时,这些状态位被重设。
SMB5I/O错误状态位
特殊内存字节5(-)包含表示在I/O系统中检测到的错误条件状态位。
这些位为检测到的I/O错误提供概述。
S7-200符号名SM地址用户程序读取SMB5错误状态数据
IO_Err如果存在任何I/O错误,该位打开。
Too_Many_D_IO如果过多数字I/O点与I/O总线连接,该位打开。
Too_Many_A_IO如果过多模拟I/O点与I/O总线连接,该位打开。
Too_Many_IM如果过多智能I/O模块与I/O总线连接,该位打开。
保留
保留
保留
DP_Err如果存在DP标准总线故障,该位打开(仅限S7-215)。
SMB6CPU代码寄存器
特殊内存字节6是CPU标识寄存器。
-识别PLC的类型。
-为将来使用保留
SMB8-SMB21I/O模块代码和错误寄存器
SMB8至SMB21以成对字节组织,用于扩充模块0至6。
每对偶数字节是模块标识寄存器。
这些字节识别模块类型、I/O类型以及输入和输出次数。
每对奇数字节是模块错误寄存器。
这些字节提供该模块I/O中检测到的任何错误。
I/O模块代码和错误寄存器
EM0_IDSMB8模块0识别(ID)寄存器
EM0_ErrSMB9模块0错误寄存器
EM1_IDSMB10模块1识别(ID)寄存器
EM1_ErrSMB11模块1错误寄存器
EM2_IDSMB12模块2识别(ID)寄存器
EM2_ErrSMB13模块2错误寄存器
EM3_IDSMB14模块3识别(ID)寄存器
EM3_ErrSMB15模块3错误寄存器
EM4_IDSMB16模块4识别(ID)寄存器
EM4_ErrSMB17模块4错误寄存器
EM5_IDSMB18模块5识别(ID)寄存器
EM5_ErrSMB19模块5错误寄存器
EM6_IDSMB20模块6识别(ID)寄存器
EM6_ErrSMB21模块6错误寄存器
SMW22-SMW26扫描时间
SMW22、SMW24和SMW26包含有关扫描时间的信息。
您可以毫秒为单位读取最后一次扫描时间、最小扫描时间和最大扫描时间。
S7-200符号名SM地址用户程序读取SMW22-SMW26扫描时间数据
Last_ScanSMW22该字提供最后一次扫描的扫描时间。
Minimum_ScanSMW24该字提供自进入RUN(运行)模式以来记录的最小扫描时间。
Maximum_ScanSMW26该字提供自进入RUN(运行)模式以来记录的最大扫描时间。
SMB28-SMB29模拟调整
特殊内存字节28和29包含与模拟调整0和1轴角位置对应的数字值。
模拟调整电位器位于CPU前方存取门后方。
用一把小螺丝刀调整电位器(沿顺时钟方向增加,或沿逆时钟方向减少)。
此类只读数值可被程序用于各种不同的功能,例如,为计时器或计数器更新当前值,输入或改动预设值或设置限制。
模拟调整有一个0至255的额定范围,以及?
2计数的重合性。
S7-200符号名SM地址用户程序读取SMB28-SMB29,获取电位器位置数据
Pot0_ValueSMB28该字节存储随模拟调节0输入的数值。
Pot1_ValueSMB29该字节存储随模拟调节1输入的数值。
SMB30和SMB130自由口控制寄存器
SMB30控制端口0的自由口通讯;SMB130控制端口1的自由口通讯。
您可以从SMB30和SMB130读取或向SMB30和SMB130写入。
这些字节配置各自的通讯端口,进行自由口操作,并提供自由口或系统协议支持选择。
S7-200符号名地址为程序指令和S7-200CPU读取/写入地址>=SMB30
0=关断=低1=接通=高
P0_ConfigSMB30配置端口0通信:
校验、每个字符的数据位数目、波特率和协议
P0_Config_0为端口0选择自由接口或系统协议
P1_ConfigSMB130配置端口1通信:
校验、每个字符的数据位数目、波特率和协议
P1_Config_0为端口1选择自由接口或系统协议
口1
口2
描述
SMB30的格式
SMB130的格式
自由口模式控制字节
MSBLSB
p
p
d
b
b
b
m
m
70
和
和
mm:
协议选择00=点到点接口协议(PPI/从站模式)
01=自由口协议10=PPI/主站模式11=保留(缺省是PPI/从站模式)
注意:
当选择mm=10(PPI主站),PLC将成为网络的一个主站,可以执行NETR和NETW指令。
在PPI模式下忽略2到7位
到
到
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波特
d:
每个字符的数据位0=8位/字符1=7位/字符
和
和
pp:
校验选择00=不校验10=不校验
01=偶校验11=奇校验
SMB31和SMW32永久性内存(EEPROM)写入控制
您可以将存储在V内存中的一个数值保存至受程序控制的永久性内存(EEPROM)中。
欲执行此一功能,将需要保存的位置地址载入SMW32。
然后,将命令载入SMB31,保存该数值。
一旦您载入保存数值的命令,在CPU复原表示保存操作已经完成之前,您不得改变V内存中的数值。
在每次扫描结尾处,CPU检查是否发出将数值保存至永久内存的命令。
如果发出命令,指定的数值被保存在永久内存中。
SMB31定义了存入永久存储器的数据大小,且提供了初始化存储操作的命令。
SMW32提供了被数据在V存储中起始地址
Save_to_EEPROMSMB31设置保存参数,用于将存储在V存储区中的数值保存至永久性存储区。
和ss:
被存数据类型00=字节10=字01=字节11=双字
Save_to_EEPROM_7用户请求执行永久性存储区保存操作(0=无请求,1=保存)在每次保存操作后,CPU复位该位
Save_AddressSMW32存储将被保存的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_StatusSMB36HSC0计数器状态(仅限在执行由高速计数器事件触发的中断程序时有效。
)
HSC0_Status_5HSC0当前计数方向状态:
1=增计数
HSC0_Status_6HSC0当前值等于预置值状态:
1=等于
HSC0_Status_7HSC0当前值大于预置值状态:
1=大于
HSC0_CtrlSMB37配置和控制HSC0
HSC0_Reset_LevelHSC0计数器复位有效电平控制:
0=高电平有效;1=低电平有效
HSC0_RateHSC0计数速率选择器:
0=4x(4倍速);1=1x
HSC0_DirHSC0计数方向控制:
0=减计数;1=增计数
HSC0_Dir_UpdateHSC0更新计数方向:
0=无更新;1=更新方向
HSC0_PV_UpdateHSC0更新预置值:
0=无更新;1=更新预置值
HSC0_CV_UpdateHSC0更新当前值:
0=无更新;1=更新当前值
HSC0_EnableHSC0启用:
0=禁止;1=启用
HSC0_CVSMD38HSC0新当前值
HSC0_PVSMD42HSC0新预置值
HSC1寄存器(高速计数器1)
HSC1_StatusSMB46HSC1计数器状态(仅限在执行由高速计数器事件触发的中断程序时有效。
)
HSC1_Status_5HSC1当前计数方向状态:
1=增计数
HSC1_Status_6HSC1当前值等于预置值状态:
1=等于
HSC1_Status_7HSC1当前值大于预置值状态:
1=大于
HSC1_CtrlSMB47配置和控制HSC1
HSC1_Reset_LevelHSC1计数器复位有效电平控制:
0=高电平有效;1=低电平有效
HSC1_Start_LevelHSC1计数器启动有效电平控制:
0=高电平有效;1=低电平有效
HSC1_RateHSC1计数速率选择器:
0=4x(4倍速);1=1x
HSC1_DirHSC1计数方向控制:
0=减计数;1=增计数
HSC1_Dir_UpdateHSC1更新计数方向:
0=无更新;1=更新方向
HSC1_PV_UpdateHSC1更新预置值:
0=无更新;1=更新预置
HSC1_CV_UpdateHSC1更新当前值:
0=无更新;1=更新当前值
HSC1_EnableHSC1启用:
0=禁止;1=启用
HSC1_CVSMD48HSC1新当前值
HSC1_PVSMD52HSC1新预置值
HSC2寄存器(高速计数器2)
HSC2_StatusSMB56HSC2计数器状态(仅限在执行由高速计数器事件触发的中断程序时有效。
)
HSC2_Status_5HSC2当前计数方向状态:
1=增计数
HSC2_Status_6HSC2当前值等于预置值状态:
1=等于
HSC2_Status_7HSC2当前值大于预置值状态:
1=大于
HSC2_CtrlSMB57配置和控制HSC2
HSC2_Reset_LevelHSC2计数器复位有效电平控制:
0=高电平有效;1=低电平有效
HSC2_Start_LevelHSC2计数器启动有效电平控制:
0=高电平有效;1=低电平有效
HSC2_RateHSC2计数速率选择器:
0=4x(4倍速);1=1x
HSC2_DirHSC2计数方向控制:
0=减计数;1=增计数
HSC2_Dir_UpdateHSC2更新计数方向:
0=无更新;1=更新方向
HSC2_PV_UpdateHSC2更新预置值:
0=无更新;1=更新预置值
HSC2_CV_UpdateHSC2更新当前值:
0=无更新;1=更新当前值
HSC2_EnableHSC2启用:
0=禁止;1=启用
HSC2_CVSMD58HSC2新当前值
HSC2_PVSMD62HSC2新预置值
SMB66-SMB85PTO/PWM高速输出寄存器
SMB66至SMB85被用于监控和控制PLC(脉冲)指令的脉冲链输出和脉冲宽度调制功能。
PTO0_StatusSMB66PTO0状态
PLS0_Err_AbortPTO0包络终止:
0=无错;1=由于δ计算错误终止
PLS0_Cmd_AbortPTO0包络终止:
0=未被用户命令终止;1=被用户命令终止
PLS0_OvrPTO0管道溢出(使用外部包络时,由系统清除,否则必须由用户复位):
0=无溢出;1=管道溢出
PLS0_IdlePTO0空闲:
0=PTO正在执行;1=PTO空闲
PLS0_CtrlSMB67监控与控制上的PTO0(脉冲串输出)和PWM0(脉冲宽度调制)
PLS0_Cycle_UpdatePTO0/PWM0更新周期值:
1=写入新周期
PWM0_PW_UpdatePTO0/PWM0更新脉冲宽度值:
1=写入新脉冲宽度
PTO0_PC_UpdatePTO0更新脉冲计数值:
1=写入新脉冲计数
PLS0_TimeBasePTO0/PWM0时间基准:
0=1祍/tick,1=1ms/tick
PWM0_Sync同步更新PWM0:
0=异步更新;1=同步更新
PTO0_OpPTO0:
0=单段操作;1=多段操作
PLS0_SelectPTO0/PWM0模式选择:
0=PTO;1=PWM.
PLS0_EnablePTO0/PWM0启用:
1=启用
PLS0_CycleSMW68字数据类型:
PTO0/PWM0周期值(2至65,535个时间基准单位)
PWM0_PWSMW70字数据类型:
PWM0脉冲宽度值(0至65,535个时间基准单位)
PTO0_PCSMD72双字数据类型:
PTO0脉冲计数值(1至2^32-1)
PTO1_StatusSMB76PTO1状态
PLS1_Err_AbortPTO1包络终止:
0=无错;1=由于δ计算错误终止
PLS1_Cmd_AbortPTO1包络终止:
0=未被用户命令终止;1=被用户命令终止
PLS1_OvrPTO1管道溢出(使用外部包络时,由系统清除,否则必须由用户复位):
0=无溢出;1=管道溢出
PLS1_IdlePTO1空闲:
0=PTO正在执行;1=PTO空闲
PLS1_CtrlSMB77监控与控制上的PTO1(脉冲串输出)和PWM1(脉冲宽度调制)
PLS1_Cycle_UpdatePTO1/PWM1更新周期值:
1=写入新周期
PWM1_PW_UpdatePTO1/PWM1更新脉冲宽度值:
1=写入新脉冲宽度
PTO1_PC_UpdatePTO1更新脉冲计数值:
1=写入新脉冲计数
PLS1_TimeBasePTO1/PWM1时间基准:
0=1祍/tick,1=1ms/tick
PWM1_Sync同步更新PWM1:
0=异步更新;1=同步更新
PTO1_OpPTO1:
0=单段操作;1=多段操作
PLS1_SelectPTO1/PWM1模式选择:
0=PTO;1=PWM.
PLS1_EnablePTO1/PWM1启用:
1=启用
PLS1_CycleSMW78字数据类型:
PTO1/PWM1周期值(2至65,535个时间基准单位)
PWM1_PWSMW80字数据类型:
PWM1脉冲宽度值(0至65,535个时间基准单位)
PTO1_PCSMD82双字数据类型:
PTO1脉冲计数值(1至2^32-1)
SMB86-SMB94(端口0)和SMB186-SMB194(端口1)接收信息控制
P0_Stat_RcvSMB86端口0接收信息状态
P0_Stat_Rcv_01=接收信息终止:
校验错误
P0_Stat_Rcv_11=接收信息终止:
达到最大字符计数
P0_Stat_Rcv_21=接收信息终止:
定时器超时
P0_Stat_Rcv_51=接收信息终止:
收到结束字符
P0_Stat_Rcv_61=接收信息终止:
输入参数错误或缺少开始或结束条件
P0_Stat_Rcv
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S7200 PLC SM特殊功能寄存器赋值与功能 SM 特殊 功能 寄存器 赋值