【技术达人】欧姆龙CP1H通过modbus连接故障显示仪表
最近在一个项目中用的故障显示仪表,需要把设备的故障状态通过这个仪表显示出来。查找了一下相关的仪表资料,需要用modbus通讯,于是选用了欧姆龙CP1H。这个PLC可以通过简易的modbus来与仪表进行通讯。
首先来看一下这个仪表的主要参数和技术规范:
主要参数:
技术规范内容:
对于写显示数据而言:
a.第一位传输数据: CMD4A2 数码显示表所在 RS -485 网络中的地址 首先被传输 ,我们可以理解为从站地址,例如 01H ,表示该从站 ( CMD4A2 )所在 RS - 485 网络的地址是 01 号;
b. 第二位传输数据: MODBUS 规定为: 06H 写寄存器, 03H 为读寄存器;
c. 第三~四位传输数据:
0000H :表示 4 0001 :为 选择传送显示数据 寄存器 ;
0001H :表示 4 0002 : 选择传送小数点、特殊符号数据 寄存器;
d.第五~六位传输数据:对应传输数据内容;
e.第七~八位传输数据: CRC 校验码。
关于通讯协议和 CRC 校验计算,可参见相应 MODBUS 通讯协议。因为设备中只需要把运行的故障代码或状态显示在仪表上,所以我们只要用到第一条和第二条写参数协议就可以。
CMD4A2 出厂参数设置为地址 01H ,波特率为 1 9 .2K bps 、 8 位数据位 、偶校验 、小数点为程序控制。
接下来我们再看CP1H中关于简易modbus的介绍。
在 CP1H CPU 单元上安装・RS-422A/485 选件板(或 RS-232C选件板),通过软件开关操作,作为 Modbus-RTU 主站,来发送 Modbus-RTU 命令。
1、进行硬件设置:
a.CPU单元拨动开关
本案例CP1H使用串口1,SW4拨到OFF。
b.CP1W-CIF11拨动开关及接线
DIP拨码的2 3 5 6拨到ON。
2、进行软件操作:
根据这个DM固定分配区域,我们要结合仪表的通讯格式,对DM区域写入相应的参数。然后置位相应的启动位就行。
当A64100从0变为1后,执行一遍modbus指令。因为仪表的数据需要分2次发送出去,所以第二次发送的时候,更改地址为01H,然后再发送一次。通过2次发送,就可以实现故障代码或状态代码的显示。
下面列出调试过程中的几个照片,配盘内部比较乱啊。
做成后,看上去还不错啊。显示的代码也符合要求。有同行知道这是在哪种设备上的应用吗?
最后附上做的功能块。
应用中,只需要W10.00置位,就可以把text1和text2中的数据分2次发送出去。让显示仪表显示相应的数值了。
功能块具体程序内容如下:
注意:两次发送的过程中要注意时序的问题,不然容易出现通讯的错误代码。
提交
每日论文———污水处理PLC控制系统的设计与实现
每日论文———基于S7--1200PLC的电子直线加速器控制系统设计
每日论文———基于S7-300PLC的复杂过程控制实验项目的设计研究
每日论文———电网工程移动安全管控系统的设计与实现
每日论文————电动汽车无人充电桩设计与实现