![2e31444c-591d-eb11-8da9-e4434bdf6706.gif](http://p01.5ceimg.com/content/2e31444c-591d-eb11-8da9-e4434bdf6706.gif)
即通过编写GSV指令访问模块对象,硬件组态及编程注意事项:
1. 模块对象能提供有关模块的状态信息;
2. 模块必须出现在控制器项目管理器的“I/O 配置”(I/O Configuration) 组态中;
3. 模块必须具备一个设备名称
编程依据通过GSV指令获取EntryStatus状态值,若为16#4000(转换为10进制等于16384),表明该模块正在运行、连接正常,且正在传输数据,详见通用指令集《1756-RM003S-ZH-P》.
2. 硬件组态好以后,就可以针对这些模块进行编写判断是否连接正常的程序,不过编程之前先建立标签变量,如下图所示。本文举例,如何判断1个以太网通信模块,1个数字量输入模块,1个伺服驱动器是否工作正常。其中建立一个固定值标签变量StatusOkFlag,数据类型DINT,其他变量详见下图.
3. 变量建好以后,将变量编辑界面切换到运行监控界面,将固定值变量StatusOkFlag的值修改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中也可以模拟这种方法,即把建立的模块删除,就能测试效果。若需要本文源代码,请发邮件至:abseme@126.com
【AB PLC工作室】
微信公众号ID:abseme
![a031444c-591d-eb11-8da9-e4434bdf6706.jpeg](http://p01.5ceimg.com/content/a031444c-591d-eb11-8da9-e4434bdf6706.jpeg)
坚持原创 注重实用