s71200分布式IO诊断.docx
《s71200分布式IO诊断.docx》由会员分享,可在线阅读,更多相关《s71200分布式IO诊断.docx(10页珍藏版)》请在冰豆网上搜索。
s71200分布式IO诊断
S7-1200与分布式IO设备的诊断功能
S7-1200CPUV2.1开始支持分布式IO设备的诊断功能,可使用DeviceStates和ModuleStates指令对分布式IO设备的站状态和子模块进展诊断。
本文使用1214CV4.0CPU和ET200SP的PN通信为例进展说明〔DP通信同样适用〕。
硬件:
1.CPU1214CDC/DC/DC,V4.0,一台
2.ET200SP分布式IO站,PN接口,两套
软件:
1.TIAPortalV13SP1UPD2
使用TIAPortal创建项目
使用TIAPortal创建一个新项目,正确配置,下载后,进入网络视图,所有站点状态正常。
如图1所示。
图1网络视图
注意:
分布式IO为PN子站时,可在“网络概览〞中可以查看分布式IO的设备编号。
1使用DeviceStates指令对分布式IO子站进展诊断
1-1创建全局数据块,用于存储状态数据
在全局数据块中创建数据类型为ArrayofBOOL数组,共计1024个元素。
如图2所示。
图2创建全局数据块
1-2编程
在OB1中调用DeviceStates指令,双击LADDR引脚,选择需要诊断的IO系统。
如图3所示。
图3调用DeviceStates指令
本例中将MODE设置为2,STATE填写上述定义的全局数据块数组。
如图4所示。
图4填写相应的引脚
指令引脚说明:
参数LADDR
使用LADDR参数通过硬件标识符选择PROFINETIO或DP主站系统。
硬件标识符位于:
∙PROFINETIO或DP主站系统属性的网络视图中。
∙或数据类型为HW_IOSYSTEM的所列系统常量的PLC变量表中。
参数MODE
使用MODE参数可读取状态信息。
可读取整个PROFINETIO或DP主站系统的如下一条状态信息:
∙1:
IO设备/DP从站已组态
∙2:
IO设备/DP从站故障
∙3:
IO设备/DP从站已禁用
∙4:
IO设备/DP从站存在
∙5:
出现问题的IO设备/DP从站。
参数STATE
通过STATE参数,输出由MODE参数选择的IO设备/DP从站的状态。
如果使用MODE选择的状态适用于IO设备/DP从站,如此在STATE参数中将如下位设置为“1〞:
∙位0=1:
组显示。
至少有一个IO设备/DP从站的第n位设置为“1〞。
∙位n=1:
通过MODE选择的状态将应用到IO设备/DP从站。
o对于PROFINETIO系统,第n位对应于相应IO设备的设备编号〔请参见设备视图和网络视图中的PROFINET接口属性〕。
o对于PROFINETDP系统,第n位对应于DP从站的PROFIBUS地址〔请参见设备视图和网络视图中的DP从站属性〕。
使用“BOOL〞或“ArrayofBOOL〞作为数据类型:
∙要仅输出状态信息的组显示位,可在STATE参数中使用BOOL数据类型。
∙要输出所有IO设备/DP从站的状态信息,请使用如下长度的ArrayofBOOL:
∙对于PROFINETIO系统:
1024位
∙对于DP主站系统:
128位
1-3测试
将程序下载到PLC中。
监控全局数据块devicestate。
如图5所示。
图5IO系统正常
当IOdevice_2故障时〔掉电或网线拔除导致丢站〕,state[2]=1。
如图6所示。
图6IOdevice_2故障
当IOdevice_1和IOdevice_2故障时〔掉电或网线拔除导致丢站〕,state[1]=1和state[2]=1。
如图7所示。
图7IOdevice_1和IOdevice_2故障
2使用ModuleStates指令对分布式IO子模块进展诊断
2-1创建全局数据块,用于存储状态数据
在全局数据块中创建数据类型为ArrayofBOOL数组,共计128个元素。
如图8所示。
图8创建全局数据块
2-2编程
在OB1中调用ModuleStates指令,双击LADDR引脚,选择需要诊断的分布式IO站。
如图9所示。
图9调用ModuleStates指令
本例中将MODE设置为2,STATE填写上述定义的全局数据块数组。
如图10所示。
图10填写相应的引脚
指令引脚说明:
参数LADDR
使用LADDR参数通过站硬件标识符选择IO设备或DP从站。
硬件标识符位于:
∙IO设备站或DP从站属性的网络视图中。
∙或数据类型为HW_DEVICE〔对于IO设备〕或HW_DPSLAVE〔对于DP从站〕的所列系统常量的PLC变量表中。
参数MODE
使用MODE参数可读取状态信息。
可读取模块的如下一条状态信息:
∙1:
模块已组态
∙2:
模块故障
∙3:
模块禁用
∙4:
模块存在
∙5:
模块中存在故障。
参数STATE
STATE参数输出使用MODE参数选择的模块状态。
如果使用MODE选择的状态适用于某个模块,那么如下位将设置为“1〞:
∙位0=1:
组显示。
至少一个模块的第n位设置为“1〞。
∙位n=1:
使用MODE选择的状态将应用到插槽n-1〔例如:
位3对应插槽2〕中的模块。
使用“BOOL〞或“ArrayofBOOL〞作为数据类型:
∙要仅输出状态信息的组显示位,可在STATE参数中使用BOOL数据类型。
∙要输出所有模块的状态信息,请使用长度为128位的ArrayofBOOL。
1-3测试
将程序下载到PLC中。
监控全局数据块modulestate。
如图11所示。
图11分布式IO站所有子模块正常
当IOdevice_1站插槽编号1的子模块故障时〔损坏或被拔除〕,state[2]=1。
如图12所示。
图12插槽编号1子模块故障