三菱PLC的另类MODBUS通讯

时间:2023-03-04作者:佚名
前两天做了一个小的改造项目,需要使三菱Q系列plc和一块LED显示屏进行数据通讯,LED显示屏经改造后支持RS232和RS485接口的MODBUS协议,PLC侧安装有一块型号为QJ71C24N-R2的通讯模块,查此模块资料可知道此模块提供两个RS232物理接口CH1的CH2,可进行基于串口的无协议通讯,唯独不能支持MODBUS协议。考虑到成本问题,不打算更换硬件,最后经过查询资料和验证后,最终实现MODBUS协议通讯。以下是大概方法,供各位朋友交流参考,不对之处请指正。
首先要了解下什么是无协议通讯和MODBUS协议通讯。根据度娘所说:
所谓无协议通讯就是说通信网络的两个或多个终端通过通信网络实现数据的传输,而不必遵循共同的规定或规则。
Modbus 协议是应用于电子控制器上的一种语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
说简单点无协议通讯就相当于画图,想表达什么就画什么,基本上全世界都能看懂。而MODBUS协议就是中文,只有中国人能看懂。要想让一个不会中文的人和一个只懂中文的人交流,就只能让这个不懂汉字的人模仿汉字的写法,尽管他不认识这个字。所以咱要做的就是教会PLC按照MODBUS协议的格式来和下位机对话,
接下来看下MODBUS协议的格式内容,以MODBUS-RTU为例。

三菱PLC的另类MODBUS通讯

站地址:MODBUS网络中设备都有一个属于自己的站地址,用来区分是哪个设备来接收这个信息。
功能代码:MODBUS设备所支持的功能代码(需要查询设备手册),比如这次使用的MODBUS协议卡支持的功能码如下:
01 读线圈、
03 读取保持寄存器、
04 读输入寄存器、
05 写单个线圈、
06 写单个寄存器、
15 写多个线圈、
16 写多个寄存器。
数据地址:MODBUS设备对应的寄存器地址,查设备手册可知道。
CRC校验码:CRC16校验码占用1个字节。
PLC侧按照手册上接好线,打开模块设置,配置好CH2通道的参数,如图:

三菱PLC的另类MODBUS通讯

然后创建一个子程序,先把CH2 的错误处理程序写上,防止通讯错误,影响其他设备通讯,然后向指定地址写入数据,确定CH2通讯数据长度单位。具体程序如图所示:

三菱PLC的另类MODBUS通讯
上图只是做演示,具体使用地址要看项目中模块的配置数据,具体查询模块手册。
例如我要往画面编号 1 输入内容 ABCD在屏幕上显示出来,

三菱PLC的另类MODBUS通讯
先配置设备MODBUS参数,必须为RTU模式,从站地址24,字节顺序为1234
字节顺序具体看目标设备指定,
/*********************************************************/
18 从站地址 24
10 功能码 16 写多个寄存器地址
00 00 寄存器起始地址 0
00 02 寄存器个数 8 位(画面编号1对应寄存器地址为0,占用8个寄存器共16字节,超过16字节数据会被丢弃)
41 42 AB 的十六进制 ACSII 码
43 44 CD 的十六进制 ACSII 码
C1 53 CRC16 校验码
要从PLC发送内容,先确定数据存储区,按照前面所示的数据结构,来定义数据存储区数据。本例子中从D200开始,因为数据全部是按16进制传送,要发送数据必须转换为16进制后再写入存储区,PLC发送数据是按照先低八位后高八位的顺序,所以在定义数据发送顺序时必须遵守这个原则,如下面图中程序所示:

三菱PLC的另类MODBUS通讯
这里重点要说一下CRC校验指令应用,

三菱PLC的另类MODBUS通讯

这里这个N是8位数据个数,一个D地址是16位,一定要注意,
CRC指令在三菱FX-2N以上系列中被支持,但在三菱Q系列中,目前只有Q03UDV以上的CPU支持,往下的CPU只能通过梯形图编写CRC校验程序,这种例程在百度上能搜索到很多。
三菱Q系列数据发送使用的是G.OUTPUT指令。
写入控制数据下图为例程:

三菱PLC的另类MODBUS通讯

三菱PLC的另类MODBUS通讯

三菱PLC的另类MODBUS通讯

Un的数值要根据模块配置时起始XY地址确定清除错误状态

三菱PLC的另类MODBUS通讯

程序编写完成后,要使用串行模块线路跟踪工具进行发送数据测试,具体路径在工具-智能功能模块用工具-串行通信模块-线路跟踪
查看此区域发送的数据是不是想要发送的数据,数据发送触发完成之后点停止点开始跟踪再选择通道先选择模块

三菱PLC的另类MODBUS通讯
在实际应用中,可能需要对数据进行整理,以下是几个常用数据处理指令
WTOB指令:字节转换为字,BTOW指令:字转换为字节。SWAP指令:高低位互换。
具体参数编程手册。

相关阅读

项目代号

  在电气图中,用一个图形符号表示的基本件、部件、功能单元设备和系统等称为项目。由此可见,小到二极管、电阻器、连接片大到配电装置、电力系统都可称为项目。   项目代...
2023-06-27
项目代号

通过LED指示灯判断三菱PLC的异常及处理方式

一.plc 的POWER灯不亮? 三菱plc 主机与扩展正面均有一个"POWER"之LED指示灯,当主机通上电源 时,LED之绿色灯亮。若主机通上电源后,此指示灯不亮,此时,请将"24+"端子之配线拔出,若指...
2023-03-21

原来画电路图如此简单!

画电路图题型大约可分为以下几种: 一、看实物画电路图 关键是在看图,图看不明白,就无法作好图,中考有个内部规定,混联作图是不要求的,那么你心里应该明白实物图实际上只...
2023-06-27
原来画电路图如此简单!

这10种方法快速有效解决电动机运行过程中出现过热甚至冒烟现象

一、故障原因: 电源电压过高,使铁芯发热大大增加; 故障排除方法: 降低电源电压(如调整供电变压器分接头),若是电机Y、Δ接法错误引起,则应改正接法; 二、故障原因: 电源电压...
2023-06-11
这10种方法快速有效解决电动机运行过程中出现过热甚至冒烟现象

直流电动机的启动、调速与反转

①直流电动机 的启动。直流电动机从接通电源 开始转动,直至升速到某一固定转数稳定运行,这一过程称为电动机的启动过程。直流电动机有全压启动、变阻器启动和降压启动三种方...
2023-03-21

热销商品

连发瓦斯枪通用瓦斯射钉钢钉枪瓦斯气体高强度瓦斯射钉枪165气罐

连发瓦斯枪是一款专为高强度瓦斯射钉设计的工具,其特点在于能够连续发射瓦斯气体,适用于多种需要快速穿透和固定材料的场景。这款瓦斯枪配备了165气罐,容量足够满足...
4.5

黄铜镀镍金属电缆防水接头EWM密封格兰头HSM电线固定填料函M20M16

黄铜镀镍金属电缆防水接头EWM密封格兰头(HSM型)是一款高性能电线固定与密封装置,适用于M16和M20螺纹规格。采用优质黄铜材质并表面镀镍处理,具备优异的防腐蚀性、机械...
1.14

消防配件二氧化碳灭火器2 3 5 7KG弯头喷管24Kg干冰CO2外喷头喷嘴

二氧化碳灭火器配件中的2357KG弯头喷管与24Kg干冰CO₂外喷头喷嘴,是专业消防设备的重要组成部分。该弯头喷管采用高强度耐腐蚀材料制造,连接灵活,适用于高压CO₂灭火...
4.5

雷士照明led筒灯孔灯客厅吊顶天花灯嵌入式过道筒灯射灯桶灯家用

雷士照明LED筒灯是一款专为现代家居设计的嵌入式照明产品,适用于客厅、吊顶、过道、卧室等空间。采用高品质LED光源,光线柔和均匀,显色指数高,有效还原真实色彩,营造舒...
5.78

雷士照明嵌入式防眩筒灯射灯窄边过道灯深杯客厅无主灯天花灯米雪

雷士照明嵌入式防眩筒灯射灯——“米雪”系列,专为现代无主灯设计打造。采用窄边深杯结构,有效控制杂散光,实现精准防眩,营造舒适柔和的光环境。适用于客厅、过道、天...
25.67

网站栏目