三菱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指令:高低位互换。
具体参数编程手册。

相关阅读

1P+N的空开/漏保,N线到底断不断?小型断路器选型分析

什么叫P?什么叫N?P指的是极,英文是POLE;N指的是中性线。特别注意,N线不是零线。零线在入户前接地,然后分开为N线和PE线。N线作为电源线的一支,而PE线则用于接地,保护人身安全。N线可...
2024-08-21
1P+N的空开/漏保,N线到底断不断?小型断路器选型分析

电气原理图与接线图的识图方法

本文介绍了电气原理图与接线图的识图方法,电气图纸一般分为A、B两类,电力电气图分一次回路图、二次回路图,教大家掌握电气原理图与接线图的识图方法与技巧,下面具体来看下...
2023-06-26

一文了解MLCC内电极用超细镍粉的制备

一文了解MLCC内电极用超细镍粉的制备 MLCC是由Ni和Pt等金属内电极与介质材料交替叠层而成,然后经高温烧结,最后在两端封上金属端电极的具有独居石结构的器件。 MLCC内部结构及电路...
2023-03-31
一文了解MLCC内电极用超细镍粉的制备

「水电小知识」如果您对阀门不是很了解,这篇文章可以帮到您!

由于篇幅过长,就不在这里一一展示了,想继续观看的朋友可以阅读原文http://sina.lt/fdm5(长按复制浏览器打开链接)...
2023-06-11

交流电路中的电感与电容

电感与电容作为储能元件和动态元件,在工程技术中的应用非常广泛,如在电子电路中的滤波、谐振,在电力系统中的补偿、功率传输等。 (更多电工课程免费试看) 电感和电容在直...
2024-03-18
交流电路中的电感与电容

热销商品

广东珠江电线电缆阻燃国标定制BYJBV BVR YJV YJY RVV RVS RV KVV

广东珠江电线电缆,专注于阻燃国标定制,产品涵盖BYJBVBVRYJVYJYRVVRVSRVKVV等多种规格。我们采用先进生产技术,严格遵循国家标准,确保产品质量可靠、性能稳定。产品适...
¥ 1

可换头防静电塑胶镊子ESD-7A/242/249/259防划伤夹IC硅晶片陶瓷头

ESD-7A/242/249/259是一款专为半导体行业设计的防静电塑胶镊子,有效防止静电对敏感电子元件的损害。其独特之处在于可更换的镊子头,包括专为夹持IC硅晶片和陶瓷元件...
¥ 2

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

L型套筒扳手铣口烟斗双头弯头7字穿孔机修六角汽修轮胎工具6-19mm

L型套筒扳手是一款常用于工业领域的多功能工具,具备双头设计,可高效完成铣口、烟斗等多种工件孔位加工,适用六角汽修、轮胎等场景。其套筒尺寸为6-19mm,精准适配各类...
¥ 3.5

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店,作为西门子品牌的专卖店,提供了一系列高品质、设计新颖的家居电气产品。这里销售的开关插座采用无框...
¥ 8.77

网站栏目