三菱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-07-05
电工经验电路——交流接触器校验电路,建议收藏

利用PLC实现汽车涂装前处理生产线中的磷化槽液位控制

磷化是汽车涂装前处理生产线中的其中一个重要环节, 磷化是一种常用的金属表面处理技术 , 为了保证和提高汽车涂漆质量 , 在汽车白车身进行涂装前 , 应采用磷化技术对白车身内...
2024-03-18
利用PLC实现汽车涂装前处理生产线中的磷化槽液位控制

电工必备18个计算公式,一线运维直接套用——工厂变配电室运维

1. 导体电阻计算 公式:R = ρ × L / S 解析:计算导体电阻的核心公式, R 为电阻(Ω), ρ 为电阻率(铜芯取 0.018 Ω·mm²/m ,铝芯取 0.03 &Omega...
2026-06-17

基于TDA1514的40W音频放大器电路图

许多电子音频放大器电路已在这里发布。这次,我们使用飞利浦的TDA 1514高性能高保真放大器。 该 IC 具有许多有用的功能,如热保护、静音/待机设施、低谐波失真等。该放大器采用双...
2023-08-11
基于TDA1514的40W音频放大器电路图

电气设备绝缘的摇测方法,你记住了吗?

一、配电变压器绝缘电阻的摇测 配电变压器在安装或检修后投入运行前以及长期停用后,都要用电压为1000~2500V的摇表测量绕组绝缘电阻,测得的数值和测量时的油温应记入变压器档...
2024-08-16

热销商品

四氟包覆/FEP/PTFE包覆胶O型圈全氟醛FFKMO型圈耐化学腐蚀氟胶

四氟包覆(FEP/PTFE)O型圈及全氟醚(FFKM)O型圈是高性能密封解决方案,专为极端化学环境设计。FEP或PTFE包覆氟橡胶(FKM)芯材的O型圈兼具外层优异的耐化学腐蚀性、抗溶胀性...
5

领普E3S/E5配套插座面板86型暗装插座多孔五孔空调无边框家用

领普E3S/E5配套插座面板86型暗装插座多孔五孔空调无边框家用,是一款专为现代家庭设计的多功能插座。该款插座采用86型设计,易于安装和适配各种家用电器,无论是台灯、...
11.9

原装博世角磨机GWS6-100/TWS6600/6700转子定子碳刷齿轮/博士配件

原装博世角磨机GWS6-100/TWS6600/6700系列配件,包括转子、定子、碳刷及齿轮等核心部件,均采用博世原厂高品质材料制造,确保与设备完美匹配,保障运行稳定与高效性能。...
3.5

聚氨酯橡胶缓冲垫弹性套联轴器牛筋柱销减震套垫圈弹性垫缓冲胶垫

聚氨酯橡胶缓冲垫弹性套联轴器中的牛筋柱销减震套、垫圈及弹性垫,是一种高性能减震缓冲元件。采用优质聚氨酯橡胶材料制成,兼具高弹性、耐磨损、抗老化及耐油耐酸碱...
0.27

硅胶垫片/硅胶垫/硅胶垫片圆形/硅胶垫圈/橡胶垫片/氟胶垫片

硅胶垫片(又称硅胶垫、硅胶垫圈)是一种由硅橡胶制成的密封材料,具有优异的耐高低温(-60℃~230℃)、耐老化、绝缘和环保无毒特性,广泛用于食品、医疗、电子及家电等领域...
1

网站栏目