前言: 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 中也可以模拟这种方法, 即把建立的模块删除, 就能测试效果.
--abseMe: 坚持原创 注重实用
来源: http://www.bubuko.com/infodetail-3012725.html