【技术班长专栏】三菱PLC的无协议通讯 |
您所在的位置:网站首页 › 三菱plc的rs2指令 › 【技术班长专栏】三菱PLC的无协议通讯 |
点上方蓝字“工控维修在线”免费快速关注 概述 以三菱FX3U系列PLC,富士温控表为例,通过RS485通讯串口讲述三菱PLC与温控表之间的通讯建立,通过PLC读取温控表的当前温度及改变温控表的设定温度。 FX3U系列PLC的无协议通讯FX3U的无协议通讯指令是RS2,图1是RS2指令的数据格式,D100是发送数据的起始软元件,D0是发送的字节数(D100占2个字节),D200是接收数据的起始软元件,D1是接受的字节数,K1指的是通讯通道。 图1.RS2指令的数据格式 图2和图3是RS2指令的发送数据和接受数据的顺序,它们都是低字节在前高字节在后。注意RS2指令不支持8位设定模式,即每个字必须写满2个字节。根据要连接目标的协议不同报头、报尾、求和数据、CRLF可以不用发送。 图2. RS2指令发送数据的顺序 图3.RS2指令接受数据的顺序 FX3U系列PLC要实现通讯,还需要在PLC设置里面进行设置,选择通道、通讯协议(无协议)、数据长度、奇偶校验、停止位(无校验时停止位是2)、波特率、通讯类型。 图4.PLC的无协议通讯设置 编写PLC发送程序如下:首先写RS2指令,在X0导通的过程中,向软元件中写入数据,最后置位M8402发送请求,注意:在置位发送请求后不要改变发送数据,发送请求数据在发送完成后自动复位。 图5.PLC的程序示例 富士温控表的通讯说明富士温控表采用Modbus通讯协议,通讯帧的格式如下: 图6.温控表通讯帧的格式 首先是站号(1个字节)、第二是功能码(1个字节,控制读还是写),第三个是读写数据(2到125个字节),包括起始地址和读写的个数、最后一个是CRC校验码,都是16进制的。 图7为读取温控表当前温度帧的格式。温控表接受的帧:站号是01、功能吗是04(只读)、起始地址是03E8、读出个数是0001(一个字)、CRC校验码是B1BA。温控表响应帧的数据是:站号01、功能码04、读出的字节数02、读出的数据014F、CRC校验码3832。注意:温控表帧的格式是高字节在前低字节在后。 图7.读取当前温度帧的格式 图8为向温控表写入控制温度的帧的格式。 温控表接受的帧:站号01、功能码06、写入地址03EA、写入的数据**、CRC校验码**。 温控表响应的帧:站号01、功能码06、写入地址03EA、写入的数据**、CRC校验码**。 图8.写入控制温度贞的格式 温控表与PLC的通讯示例读温控表当前值 温控表需要接收的数据是 01 04 03 E8 00 01 CRC校验码,由于发送接受的高低位不同,PLC软元件中的数据是 H401、H0E803、H100、CRC指令计算校验码。 温控表响应的数据是:01 04 02 01 4F 38 32 PLC得到的数据是:D1050-H401、D1051-H102 、D1052-H384F、D1053-H**32。 此时读出温度的高字节在D1051的高字节中,低字节在D1052的低字节中,因此需要将这两个字进行处理。将D1151和H0FF00相与,高字节被保存到D1251中,D1152和H0FF相与,低字节被保存到D1252中,再将D1251和D1252相或,高低字节被合并到D1253中,即可现实当前温度。 写入温控表控制温度 温控表需要接收的数据是:01 06 03 EA 设定温度(例如0304) CRC校验码 PLC发出的数据是:H601、H0EA03、H0403、CRC指令计算校验码。此时需要注意,触摸屏上设定的温度不会将温度的高低字节调换,因此需要增加程序,将设定的温度高低位调换过来,用循环左移指令。 工控维修在线-工控服务行业领导者! 集聚全国的工控服务商,提供本地化维保服务! 全国布局服务团队,配件共享商城,实训培训中心! 网址:www.gkwxzx.com 完 工控维修在线推荐: 南京港拓电气,专修发那科和西门子数控系统,伺服驱动器及电机! 联系人:王工,15195813566 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |