前言:PLC控制系统,主要由CPU、本机架I/O模块,分布式I/O模块,通信模块,或其他设备(如:伺服驱动器、交换机、第三方设备)等组成,如何判断这些设备是否工作正常?或是一旦出现故障,能在第一时间判断故障设备出在哪里?为排查故障节省时间,提高效率,降低停机时间,在大型项目中维护,尤其重要。本文,将分享一种如何判断AB PLC控制系统中的硬件设备是否在正常工作的方法。
使用方法
即通过编写GSV指令访问模块对象,硬件组态及编程注意事项:
1. 模块对象能提供有关模块的状态信息;
2. 模块必须出现在控制器项目管理器的“I/O 配置”(I/O Configuration) 组态中;
3. 模块必须具备一个设备名称
编程依据
通过GSV指令获取EntryStatus状态值,若为16#4000(转换为10进制等于16384),表明该模块正在运行、连接正常,且正在传输数据,详见通用指令集《1756-RM003S-ZH-P》.
方法步骤
1. 打开软件Studio 5000(本文版本为31.01),在项目的I/O配置中,组态硬件,依照规则,每一个模块均设置名称,比如:把1734-AENTR/B的名称设置为RIO11,其他设备模块也如此.
2. 硬件组态好以后,就可以针对这些模块进行编写判断是否连接正常的程序,不过编程之前先建立标签变量,如下图所示。本文举例,如何判断1个以太网通信模块,1个数字量输入模块,1个伺服驱动器是否工作正常。其中建立一个固定值标签变量StatusOkFlag,数据类型DINT,其他变量详见下图.
3. 变量建好以后,将变量编辑界面切换到运行监控界面,将固定值变量StatusOkFlag的值修改16384.
4. 开始编写程序,这里图方便,直接在主程序里写了,使用到GSV指令,获取模块的状态信息,如果状态等于16384,则连接运行正常,否则异常,详见下图.
测试效果
1. 下载程序,并使CPU处于运行状态,I/O OK灯常绿,I/O配置无异常图标,在程序中可以看到所有模块的状态值均为16384,说明目前所有模块设备连接正常.
2. 拔掉1734-AENTR/B上的网线,这时I/O OK灯闪烁,I/O配置出现黄色感叹号图标,在程序中可以看到,以太网通信、数字量输入模块的状态值均28672,将其转换为16进制,为16#7000,根据编程依据,表明模块正在等待连接,伺服驱动器状态值为12288,,将其转换为16进制,为16#3000,表明模块在连接,模块对象正在发起与模块的连接。只要模块状态值不为16384,就可以判断其连接错误,工作异常。
结束语:本文提供了一种判断硬件设备是否在正常工作的方法,通过编写程序,并将这些状态信息在触摸屏或上位机界面显示,这样就可以很好的运用在项目维护中。另外,在仿真软件Studio 5000 Logix Emulate中也可以模拟这种方法,即把建立的模块删除,就能测试效果。
,