一种通讯方法技术

技术编号:39735016 阅读:17 留言:0更新日期:2023-12-17 23:37
本发明专利技术公开了一种通讯方法

【技术实现步骤摘要】
一种通讯方法、系统及存储介质


[0001]本专利技术涉及工业控制
,具体涉及一种通讯方法

系统及存储介质


技术介绍

[0002]目前,工业控制领域应用最广泛的通用通讯协议是
Modbus
,通过此协议,控制器相互之间

或控制器和其它设备之间可以进行通信
。Modbus
协议使用的是主从通讯技术,即由主控设备主动查询和操作从设备

一般将主控设备方所使用的协议称为
Modbus Master
,从设备方使用的协议称为
Modbus Slave。
典型的主设备包括工控机和工业控制器等;典型的从设备如
PLC
可编程控制器等

[0003]Modbus
已经发展到了极为成熟的阶段,在某种程度上来说,
Modbus
通信协议就是工业领域通信协议的业界标准
。Modbus
协议定义了一个控制器能够认识使用的消息结构,而不用管它们是经过何种网络进行通信

[0004]因此,底层通信方式可以使用
RS232

RS485
等串行链路,也可以使用
TCP/IP
以太网链路

当在
Modbus
网络上通信时,控制器必须要知道该网络中其他从设备的地址,才能识别按地址发来的消息

[0005]Modbusr/>协议包括
RTU、ASCII、TCP

Modbus

RTU

Modbus

ASCII
主要用于串行通信领域,而
Modbus TCP
则常用于以太网通信

[0006]Modbus

RTU
最常用,是一种紧凑的,十六进制表示数据的方式
。Modbus

RTU
协议定义了一个与下层通信层无关的简单协议数据单元(
PDU
),串行链路上的
Modbus

RTU
帧格式如图1所示

[0007]Modbus

ASCII
传输模式下,消息帧以英文冒号

:

开始,以回车和换号()符号结束,允许的传输的字符集为十六进制的
0~9

A~F
;每个8位的字节被拆分成两个
ASCII
字符进行发送,比如十六进制数
0xAF , 会被分解成
ASCII
字符“A”和“F”进行发送,发送的字符量比
RTU
增加一倍,具体帧格式如图2所示

[0008]Modbus

TCP
将传统的
Modbus

RTU
消息封装在
TCP/IP
报文中,使其能够在现代的以太网环境中进行通信
。TCP
模式去除了附加地址和校验,增加了报文头,其具体帧格式如图3所示

[0009]Modbus
协议
RTU、ASCII、TCP
,虽然帧格式不一致,但功能码和寄存器地址定义都是统一的,图4示意了
Modbus
常见的八种功能码

当进行数据通讯时都是通过对寄存器地址的访问来实现数据的读写

所以当需要修改或读取某个数据时时必须要知道数据对应的寄存器地址,但寄存器地址与数据间没有直观对应联系,一般都需要查表来确认数据所对应的寄存器地址,这种地址访问数据方式在现场调试以及需要经常修改数据的场合不是太方便


技术实现思路

[0010]本专利技术的主要目的在于提供一种通讯方法

系统及存储介质,以解决现有的主从
设备通讯协议,需要查表来确认数据所对应的寄存器地址,这种地址访问数据方式在现场调试以及需要经常修改数据的场合不太方便的技术问题

[0011]为实现上述目的,本专利技术提出一种通讯方法,所述方法应用于通讯系统,所述通讯系统包括:主机设备和至少一个从机设备,所述主机设备和从机设备通过基于字符串助记符的应用层报文传输协议进行通讯;所述方法包括以下步骤:
[0012]主机设备向至少一个从机设备发送请求帧,所述请求帧中添加操作对象的助记符;
[0013]至少一个从机设备接收所述主机设备发送的请求帧,对所述请求帧进行响应,其中,所述响应至少包括:基于所述请求帧中的助记符操作对应的操作对象

[0014]其中,所述主机设备向至少一个从机设备发送请求帧的步骤包括:
[0015]响应于通讯需求指令,主机设备按请求帧格式将从站号

助记符

功能符

数据符组合成字符串,每个字符占一个字节,以回车换行符作为结束符,生成请求帧,发送给对应的从机设备,所述助记符用于告知从机设备操作的对象,所述功能符用于告知从机设备应当执行何种操作

[0016]其中,所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行响应的步骤包括:
[0017]所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行解析;
[0018]若对所述请求帧正确解析且地址码不是广播地址,则所述从机设备向所述主机设备返回应答帧,其中,当请求帧是变量

数组读功能时应答数值;当请求帧是变量

数组写入

调用函数时应答
OK

[0019]若对所述请求帧不能正确解析,则所述从机设备向所述主机设备返回错误帧

[0020]其中,从机设备对所述请求帧进行解析的步骤包括:
[0021]从机设备对所述请求帧进行解析,提取所述请求帧中的两字节的地址码;
[0022]将所述地址码与自身的从站号进行比对;
[0023]若地址码匹配或者是广播地址则继续解析;
[0024]从第三个字节开始依次提取所述请求帧中的字符,直到字符是功能符或者换行回车符,得到提取的助记符;
[0025]在助记符全部提取后,将助记符转换成对应字符码;
[0026]在助记符转换完毕后提取功能符;
[0027]如果助记符后没有功能符,则表示是读功能或者没有形参的函数调用,根据助记符搜索到助记符表中的对象属性,根据对象属性做第一分支处理,所述第一分支处理为:如果对象属性是变量
/
数组,则读取当前值;如果对象属性是函数,则直接调用对应函数;
[0028]如果助记符后有功能符,则表示是写入本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种通讯方法,其特征在于,所述方法应用于通讯系统,所述通讯系统包括:主机设备和至少一个从机设备,所述主机设备和从机设备通过基于字符串助记符的应用层报文传输协议进行通讯;所述方法包括以下步骤:所述主机设备向至少一个从机设备发送请求帧,所述请求帧中添加操作对象的助记符;所述至少一个从机设备接收所述主机设备发送的请求帧,对所述请求帧进行响应,其中,所述响应至少包括:基于所述请求帧中的助记符操作对应的操作对象
。2.
根据权利要求1所述的通讯方法,其特征在于,所述主机设备向至少一个从机设备发送请求帧的步骤包括:响应于通讯需求指令,主机设备按请求帧格式将从站号

助记符

功能符

数据符组合成字符串,每个字符占一个字节,以回车换行符作为结束符,生成请求帧,发送给对应的从机设备,所述助记符用于告知从机设备操作的对象,所述功能符用于告知从机设备应当执行何种操作
。3.
根据权利要求2所述的通讯方法,其特征在于,所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行响应的步骤包括:所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行解析;若对所述请求帧正确解析且地址码不是广播地址,则所述从机设备向所述主机设备返回应答帧,其中,当请求帧是变量

数组读功能时应答数值;当请求帧是变量

数组写入

调用函数时应答
OK
;若对所述请求帧不能正确解析,则所述从机设备向所述主机设备返回错误帧
。4.
根据权利要求3所述的通讯方法,其特征在于,从机设备对所述请求帧进行解析的步骤包括:从机设备对所述请求帧进行解析,提取所述请求帧中的两字节的地址码;将所述地址码与自身的从站号进行比对;若地址码匹配或者是广播地址则继续解析;从第三个字节开始依次提取所述请求帧中的字符,直到字符是功能符或者换行回车符,得到提取的助记符;在助记符全部提取后,将助记符转换成对应字符码;在助记符转换完毕后提取功能符;如果助记符后没有功能符,则表示是读功能或者没有形参的函数调用,根据助记符搜索到助记符表中的对象属性,根据对象属性做第一分支处理;如果助记符后有功能符,则表示是写入功能或者是带有形参的函数调用,根据助记符搜索到助记符表中的对象属性,根据对象属性做第二分支处理,直到从机设备解析处理完成
。5.

【专利技术属性】
技术研发人员:何仁义王书华
申请(专利权)人:横川机器人深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1