CN117201229A - 一种通讯方法、系统及存储介质 - Google Patents
一种通讯方法、系统及存储介质 Download PDFInfo
- Publication number
- CN117201229A CN117201229A CN202311464925.7A CN202311464925A CN117201229A CN 117201229 A CN117201229 A CN 117201229A CN 202311464925 A CN202311464925 A CN 202311464925A CN 117201229 A CN117201229 A CN 117201229A
- Authority
- CN
- China
- Prior art keywords
- mnemonic
- request frame
- slave
- function
- slave device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000001343 mnemonic effect Effects 0.000 claims abstract description 150
- 230000004044 response Effects 0.000 claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 87
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 2
- 210000001072 colon Anatomy 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种通讯方法、系统及存储介质。基于字符串助记符的应用层报文传输协议,使用时在从机先建立助记符表,将所有助记符与对应操作对象(变量/数组/函数)对应起来,通讯时通过在主机端请求帧中添加操作对象的助记符就能实现对从机相应对象的访问,这种助记符访问数据方式无需查询操作对象对应的地址,只需提供助记符,直观明了,方便快捷。且Mnemonic总线协议仅定义了一种消息结构,对经过何种网络进行通信没有限制,底层通信方式可以使用RS232、RS485、TCP等。该协议在数据通讯上采用主从应答的方式进行。由主机发起请求,从机设备根据主机请求进行响应,即半双工通讯。因此从机不会主动占用通讯线路造成数据冲突。
Description
技术领域
本发明涉及工业控制技术领域,具体涉及一种通讯方法、系统及存储介质。
背景技术
目前,工业控制领域应用最广泛的通用通讯协议是Modbus,通过此协议,控制器相互之间、或控制器和其它设备之间可以进行通信。Modbus协议使用的是主从通讯技术,即由主控设备主动查询和操作从设备。一般将主控设备方所使用的协议称为Modbus Master,从设备方使用的协议称为Modbus Slave。典型的主设备包括工控机和工业控制器等;典型的从设备如PLC可编程控制器等。
Modbus已经发展到了极为成熟的阶段,在某种程度上来说,Modbus通信协议就是工业领域通信协议的业界标准。Modbus协议定义了一个控制器能够认识使用的消息结构,而不用管它们是经过何种网络进行通信。
因此,底层通信方式可以使用RS232,RS485等串行链路,也可以使用TCP/IP以太网链路。当在Modbus网络上通信时,控制器必须要知道该网络中其他从设备的地址,才能识别按地址发来的消息。
Modbus协议包括RTU、ASCII、TCP,Modbus-RTU和Modbus-ASCII主要用于串行通信领域,而Modbus TCP则常用于以太网通信。
Modbus-RTU最常用,是一种紧凑的,十六进制表示数据的方式。Modbus-RTU协议定义了一个与下层通信层无关的简单协议数据单元(PDU),串行链路上的Modbus-RTU帧格式如图1所示。
Modbus-ASCII传输模式下,消息帧以英文冒号‘:’开始,以回车和换号()符号结束,允许的传输的字符集为十六进制的0~9和A~F;每个8位的字节被拆分成两个ASCII字符进行发送,比如十六进制数0xAF , 会被分解成ASCII字符“A”和“F”进行发送,发送的字符量比RTU增加一倍,具体帧格式如图2所示。
Modbus-TCP将传统的Modbus-RTU消息封装在TCP/IP报文中,使其能够在现代的以太网环境中进行通信。TCP模式去除了附加地址和校验,增加了报文头,其具体帧格式如图3所示。
Modbus协议RTU、ASCII、TCP,虽然帧格式不一致,但功能码和寄存器地址定义都是统一的,图4示意了Modbus常见的八种功能码。当进行数据通讯时都是通过对寄存器地址的访问来实现数据的读写。所以当需要修改或读取某个数据时时必须要知道数据对应的寄存器地址,但寄存器地址与数据间没有直观对应联系,一般都需要查表来确认数据所对应的寄存器地址,这种地址访问数据方式在现场调试以及需要经常修改数据的场合不是太方便。
发明内容
本发明的主要目的在于提供一种通讯方法、系统及存储介质,以解决现有的主从设备通讯协议,需要查表来确认数据所对应的寄存器地址,这种地址访问数据方式在现场调试以及需要经常修改数据的场合不太方便的技术问题。
为实现上述目的,本发明提出一种通讯方法,所述方法应用于通讯系统,所述通讯系统包括:主机设备和至少一个从机设备,所述主机设备和从机设备通过基于字符串助记符的应用层报文传输协议进行通讯;所述方法包括以下步骤:
主机设备向至少一个从机设备发送请求帧,所述请求帧中添加操作对象的助记符;
至少一个从机设备接收所述主机设备发送的请求帧,对所述请求帧进行响应,其中,所述响应至少包括:基于所述请求帧中的助记符操作对应的操作对象。
其中,所述主机设备向至少一个从机设备发送请求帧的步骤包括:
响应于通讯需求指令,主机设备按请求帧格式将从站号、助记符、功能符、数据符组合成字符串,每个字符占一个字节,以回车换行符作为结束符,生成请求帧,发送给对应的从机设备,所述助记符用于告知从机设备操作的对象,所述功能符用于告知从机设备应当执行何种操作。
其中,所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行响应的步骤包括:
所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行解析;
若对所述请求帧正确解析且地址码不是广播地址,则所述从机设备向所述主机设备返回应答帧,其中,当请求帧是变量、数组读功能时应答数值;当请求帧是变量、数组写入、调用函数时应答OK;
若对所述请求帧不能正确解析,则所述从机设备向所述主机设备返回错误帧。
其中,从机设备对所述请求帧进行解析的步骤包括:
从机设备对所述请求帧进行解析,提取所述请求帧中的两字节的地址码;
将所述地址码与自身的从站号进行比对;
若地址码匹配或者是广播地址则继续解析;
从第三个字节开始依次提取所述请求帧中的字符,直到字符是功能符或者换行回车符,得到提取的助记符;
在助记符全部提取后,将助记符转换成对应字符码;
在助记符转换完毕后提取功能符;
如果助记符后没有功能符,则表示是读功能或者没有形参的函数调用,根据助记符搜索到助记符表中的对象属性,根据对象属性做第一分支处理,所述第一分支处理为:如果对象属性是变量/数组,则读取当前值;如果对象属性是函数,则直接调用对应函数;
如果助记符后有功能符,则表示是写入功能或者是带有形参的函数调用,根据助记符搜索到助记符表中的对象属性,根据对象属性做第二分支处理,直到从机设备解析处理完成,所述第二分支处理:如果对象属性是变量/数组,则提取数据符的数值赋给当前对象;如果对象属性是函数,则提取数据符的数值作形参并调用对应函数。
其中,所述主机设备和从机设备通过基于字符串助记符的应用层报文传输协议进行半双工通讯;所述基于字符串助记符的应用层报文传输协议为Mnemonic总线协议;所述Mnemonic总线协议的底层通信方式使用RS232、RS485、TCP中的至少一种;所述Mnemonic总线协议的报文包括:请求帧、应答帧、错误帧。
进一步地,所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行响应的步骤之前,还包括:
所述从机设备建立助记符表,将所有助记符与对应操作对象对应;
在从站设备初始化时,将助记符表中的每个助记符转换成对应的字符码,不同的助记符对应唯一的一个字符码。
其中,所述助记符表的元素包括:序号、助记符、对应操作对象、对象属性、读写属性、数据范围、数组索引范围中的一个或多个;所述对象属性包括:变量/数组/函数。
本发明方案提出的通讯方法,基于字符串助记符的应用层报文传输协议,Mnemonic总线协议使用时需要在从机先建立助记符表,将所有助记符与对应操作对象(变量/数组/函数)对应起来,通讯时通过在主机端请求帧中添加操作对象的助记符就能实现对从机相应对象的访问,这种助记符访问数据方式无需查询操作对象对应的地址,只需提供助记符,直观明了,方便快捷。而且Mnemonic总线协议仅定义了一种消息结构,对经过何种网络进行通信没有限制。因此,底层通信方式可以使用RS232、RS485、TCP等。Mnemonic协议在数据通讯上采用主从应答的方式进行。由主机发起请求,从机(终端设备)根据主机请求进行响应,即半双工通讯。该协议只允许主机发起请求,从机进行被动响应,因此从机不会主动占用通讯线路造成数据冲突。
附图说明
图1为现有的Modbus协议中RTU帧格式示意图;
图2为现有的Modbus协议中ASCII帧格式示意图;
图3为现有的Modbus协议中TCP帧格式示意图;
图4为现有的Modbus协议常见的八种功能码示意图;
图5为本发明通讯方法的流程示意图;
图6为本发明方案中从机设备解析请求帧的流程示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明方案涉及的技术术语包括:
字符串:是计算机中常用的数据类型,由1个或多个字符组成的完整的字符序列,字符串数据类型在内存上为每个字符分配一个字节。
通讯协议:可以理解为是一种通讯的约定,当设备之间、设备和上位机之间互相通信时,需要规定传输数据的内容规范,这个规范是通信的双方都需要遵守的,这样就才能实现两者间数据的传输。
本发明提出一种基于字符串助记符的应用层报文传输协议,将其命名为Mnemonic总线协议。 Mnemonic总线协议使用时需要在从机先建立助记符表,将所有助记符与对应操作对象(变量/数组/函数)对应起来,通讯时通过在主机端请求帧中添加操作对象的助记符就能实现对从机相应对象的访问,这种助记符访问数据方式无需查询操作对象对应的地址,只需提供助记符,直观明了,方便快捷。Mnemonic总线协议仅定义了一种消息结构,对经过何种网络进行通信没有限制。因此,底层通信方式可以使用RS232、RS485、TCP等。Mnemonic协议在数据通讯上采用主从应答的方式进行。由主机发起请求,从机(终端设备)根据主机请求进行响应,即半双工通讯。该协议只允许主机发起请求,从机进行被动响应,因此从机不会主动占用通讯线路造成数据冲突。任何使用Mnemonic协议的应用程序都将有一个主站和至少一个从站。主站可以是PC,HMI等,它将与一个或多个从站设备进行通信。
具体地,参照图5所示,本发明实施例提出一种通讯方法,所述方法应用于通讯系统,所述通讯系统包括:主机设备和至少一个从机设备,所述主机设备和从机设备通过基于字符串助记符的应用层报文传输协议进行通讯;所述方法包括以下步骤:
S10,主机设备向至少一个从机设备发送请求帧,所述请求帧中添加操作对象的助记符;
S20,至少一个从机设备接收所述主机设备发送的请求帧,对所述请求帧进行响应,其中,所述响应至少包括:基于所述请求帧中的助记符操作对应的操作对象。
其中,所述主机设备向至少一个从机设备发送请求帧的步骤包括:
响应于通讯需求指令,主机设备按请求帧格式将从站号、助记符、功能符、数据符组合成字符串,每个字符占一个字节,以回车换行符作为结束符,生成请求帧,发送给对应的从机设备,所述助记符用于告知从机设备操作的对象,所述功能符用于告知从机设备应当执行何种操作。
其中,所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行响应的步骤包括:
所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行解析;
若对所述请求帧正确解析且地址码不是广播地址,则所述从机设备向所述主机设备返回应答帧,其中,当请求帧是变量、数组读功能时应答数值;当请求帧是变量、数组写入、调用函数时应答OK;
若对所述请求帧不能正确解析,则所述从机设备向所述主机设备返回错误帧。
其中,从机设备对所述请求帧进行解析的步骤包括:
从机设备对所述请求帧进行解析,提取所述请求帧中的两字节的地址码;
将所述地址码与自身的从站号进行比对;
若地址码匹配或者是广播地址则继续解析;
从第三个字节开始依次提取所述请求帧中的字符,直到字符是功能符或者换行回车符,得到提取的助记符;
在助记符全部提取后,将助记符转换成对应字符码;
在助记符转换完毕后提取功能符;
如果助记符后没有功能符,则表示是读功能或者没有形参的函数调用,根据助记符搜索到助记符表中的对象属性,根据对象属性做第一分支处理,所述第一分支处理为:如果对象属性是变量/数组,则读取当前值;如果对象属性是函数,则直接调用对应函数;
如果助记符后有功能符,则表示是写入功能或者是带有形参的函数调用,根据助记符搜索到助记符表中的对象属性,根据对象属性做第二分支处理,直到从机设备解析处理完成,所述第二分支处理:如果对象属性是变量/数组,则提取数据符的数值赋给当前对象;如果对象属性是函数,则提取数据符的数值作形参并调用对应函数。
其中,所述主机设备和从机设备通过基于字符串助记符的应用层报文传输协议进行半双工通讯;所述基于字符串助记符的应用层报文传输协议为Mnemonic总线协议;所述Mnemonic总线协议的底层通信方式使用RS232、RS485、TCP中的至少一种;所述Mnemonic总线协议的报文包括:请求帧、应答帧、错误帧。
进一步地,所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行响应的步骤之前,还包括:
所述从机设备建立助记符表,将所有助记符与对应操作对象对应;
在从站设备初始化时,将助记符表中的每个助记符转换成对应的字符码,不同的助记符对应唯一的一个字符码。
其中,所述助记符表的元素包括:序号、助记符、对应操作对象、对象属性、读写属性、数据范围、数组索引范围中的一个或多个;所述对象属性包括:变量/数组/函数。
以下对本发明方案进行详细阐述:
一、Mnemonic总线协议格式
Mnemonic总线报文包含三种:请求帧、应答帧、错误帧。
1.1 请求帧
请求帧以地址码开始,以回车换行符””(ASCII表示为0x0D和0x0A)结束;助记符字段允许的字符为大小写字母,不区分大小写;功能符为逗号或等号;数据字段传输的数据符限制为字符0-9、以及负号‘-’。所有字符以ASCII码格式传输。
请求帧格式如下:
地址码
地址码是每个通讯请求帧的前2个字符,从机地址支持1到99,地址0,用于主机发送广播数据,每个从机在总线上地址必须唯一,只有与主机发送的地址码相符的从机才能响应返回数据。广播数据从机不反馈应答帧。
当有多个从站设备时,由主机通过唯一从机地址发起请求(一对多);当只有一个从站设备时,主机请求帧可以使用简易模式:请求帧不含地址码直接发起请求(一对一)。
助记符
助记符是每个请求帧的第二部分内容。通过助记符告知从机设备应该操作的对象(变量/数组/函数),每个操作对象都要定义有不同的助记符。助记符全部由大小写字母构成,助记符长度应大于3,小于50个。
助记符一般应定义为具有实际意义的英文字符或者拼音,与实际的操作对象应该有强相关性、联想性,举例说明如下表:
助记符 | 操作对象 |
SpeedRef | 速度指令 |
Speed | 速度反馈 |
PosRef | 位置指令 |
Pos | 位置反馈 |
功能符
功能符是请求帧的第三部分内容。通过功能符告知从机设备应当执行何种操作。如下表,功能符只有两种功能(写入/读取),当功能符是‘,’‘=’号时,写入数据。当请求帧不包含功能符时,默认功能是读取数据。
符号 | 定义 | 操作 |
‘,’‘=’ | 写入 | 写入数据 |
没有 | 读取 | 读取数据 |
当助记符对应的操作对象是函数时,对于没有形参的函数,读取功能直接调用函数执行;对有形参(一个)的函数,写入功能对应赋值形参并调用函数。
数据符
数据符是跟随功能符的第四部分内容,当功能符是‘,’‘=’,定义是写入功能时,才需要数据符,数据符传输的字符为0-9、以及负号‘-’,数据符长度小于33字节。
结束符
用回车换行’’作为请求帧的结束符。
1.2Mnemonic总线协议请求、应答帧详解:
Mnemonic总线协议请求帧包含变量读/写、数组读/写、调用函数这几类,从机接收到请求帧后,如果能正确解析请求帧,将会反馈一个应答帧给主机(广播地址不应答)。不同请求帧,有对应的应答帧,当请求帧是变量、数组读功能时应答数值;当请求帧是变量、数组写入、调用函数时应答OK。
变量读
以读取速度反馈为例,假设速度反馈助记符为“speed”,从站地址为1,从站的实际速度值是500。
主机发送字符串:“01speed”;
从机返回字符串:“500”。
请求帧如下:
变量写
以写入速度指令为例,假设速度指令助记符为“speedref”,从站地址为1,写入值是500。
主机发送字符串:“01speedref=500” ;
从机返回字符串:“OK” 。
请求帧如下:
数组读
数组读功能分为两种:整体读,读取全部元素值;单个读,读取单个元素值。数组读功能以读取速度增益为例,假设速度增益数组助记符为“VelGain”,数组有两个元素,元素值分别是80,100,从站地址为1。
数组整体读指令如下:
主机发送字符串:“01VelGain”
从机返回字符串:“80 100”
请求帧如下:
数组单个读指令如下
主机发送字符串:“01VelGain[2]”;
从机返回字符串:“100” 。
请求帧如下:
数组写
数组写功能以写入第二速度增益为例,假设速度增益数组助记符为“VelGain”,第2个元素写入80,从站地址为1。
主机发送字符串:“01VelGain[2]=80” ;
从机返回字符串:“OK”。
请求帧如下:
调用函数
调用函数分为调用有形参函数和调用没有形参函数两类。调用有形参函数时,协议支持的形参个数为1 个。以函数助记符“FunDemo”为例,调用有形参函数,形参设置为1;
主机发送字符串:“01FunDemo=1”;
从机返回字符串:“OK” 。
请求帧如下:
调用没有形参函数;
主机发送字符串:“01FunDemo”
从机返回字符串:“OK”
请求帧如下:
1.3 错误帧
当发送的请求帧无法被从机正确解析时,从机将向主机返回错误帧,定义错误码1-99为协议固定错误码,100及以上为用户自定义错误码。
错误帧格式如下:
常见错误码如下:
二、Mnemonic总线协议实现
Mnemonic总线协议作为一种应用层报文传输协议,仅定义了一种消息结构,对底层通信方式没有要求。Mnemonic协议在数据通讯上类似Modbus,采用主从应答,半双工通讯的方式进行。由主机发起请求,从机(终端设备)根据主机请求进行响应。该协议只允许主机发起请求,从机进行被动响应。任何使用Mnemonic协议的应用程序都要有一个主站和至少一个从站。
现以一个主站一个从站点对点通信为例,说明Mnemonic协议的具体实现过程。
对主站来说,有通讯需求时主站需发送请求帧,主站发送请求帧时直接按请求帧格式将从站号、助记符、功能符、数据符组合成字符串,每个字符占一个字节,以回车换行符作为结束符,连续发出。主站发送完请求帧后等待应答帧,根据不同类型请求帧有相应的应答帧,主站接收解析处理应答帧并判断 正确性与超时。
对从站来说,从站需要先在从站代码中建立助记符表,助记符表的元素应该包括且不限于序号、助记符、对应操作对象、对象属性(变量/数组/函数)、读写属性(R/W)、数据范围、数组索引范围等。
助记符不区分大小写字母,处理时统一转换成小写字母。从站初始化时需要将助记符表中的每个助记符转换成对应的字符码,不同的助记符对应唯一的一个字符码,字符码转换关系如下:
字符码 =(第1个字符-‘a’)*26^0 +(第2个字符-‘a’)*26^1 +(第3个字符-‘a’)*26^2 + ……。
从站从接收到请求帧后开始解析,先提取前两个字节数据,对比自身从站号,若地址码匹配或者是 广播地址则继续解析,如果不匹配就结束解析流程。提取地址码后,开始提取助记符,从第三个字节开 始依次提取字符,直到字符是功能符或者换行回车符,助记符全部提取后将助记符转换成对应字符码。
助记符转换完毕后提取功能符,如果助记符后没有功能符,那就是读功能或者没有形参的函数调用,此 时根据助记码搜索到助记符表中的对象属性,根据对象属性做分支处理:如果是对象属性变量/数组,读 取当前值;如果对象属性是函数,直接调用对应函数。如果助记符后有功能符,那么就是写入功能或者 是带有形参的函数调用,此时同样根据助记码搜索到助记符表中的对象属性,根据对象属性做分支处理: 如果对象属性是变量/数组,提取数据符的数值赋给当前对象;如果对象属性是函数,提取数据符的数值作形参并直接调用对应函数。从站解析处理完成后,返回应答帧给主机(广播地址不反馈),流程结束。
从站处理流程图如图6所示。
本发明方案解决了现有的主从设备通讯协议,需要查表来确认数据所对应的寄存器地址,这种地址访问数据方式在现场调试以及需要经常修改数据的场合不太方便的技术问题。
此外,本发明还提出一种通讯系统,所述通讯系统包括:主机设备和至少一个从机设备,所述主机设备和从机设备通过基于字符串助记符的应用层报文传输协议进行通讯;所述系统还包括:存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
此外,本发明还提出一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种通讯方法,其特征在于,所述方法应用于通讯系统,所述通讯系统包括:主机设备和至少一个从机设备,所述主机设备和从机设备通过基于字符串助记符的应用层报文传输协议进行通讯;所述方法包括以下步骤:
所述主机设备向至少一个从机设备发送请求帧,所述请求帧中添加操作对象的助记符;
所述至少一个从机设备接收所述主机设备发送的请求帧,对所述请求帧进行响应,其中,所述响应至少包括:基于所述请求帧中的助记符操作对应的操作对象。
2.根据权利要求1所述的通讯方法,其特征在于,所述主机设备向至少一个从机设备发送请求帧的步骤包括:
响应于通讯需求指令,主机设备按请求帧格式将从站号、助记符、功能符、数据符组合成字符串,每个字符占一个字节,以回车换行符作为结束符,生成请求帧,发送给对应的从机设备,所述助记符用于告知从机设备操作的对象,所述功能符用于告知从机设备应当执行何种操作。
3.根据权利要求2所述的通讯方法,其特征在于,所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行响应的步骤包括:
所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行解析;
若对所述请求帧正确解析且地址码不是广播地址,则所述从机设备向所述主机设备返回应答帧,其中,当请求帧是变量、数组读功能时应答数值;当请求帧是变量、数组写入、调用函数时应答OK;
若对所述请求帧不能正确解析,则所述从机设备向所述主机设备返回错误帧。
4.根据权利要求3所述的通讯方法,其特征在于,从机设备对所述请求帧进行解析的步骤包括:
从机设备对所述请求帧进行解析,提取所述请求帧中的两字节的地址码;
将所述地址码与自身的从站号进行比对;
若地址码匹配或者是广播地址则继续解析;
从第三个字节开始依次提取所述请求帧中的字符,直到字符是功能符或者换行回车符,得到提取的助记符;
在助记符全部提取后,将助记符转换成对应字符码;
在助记符转换完毕后提取功能符;
如果助记符后没有功能符,则表示是读功能或者没有形参的函数调用,根据助记符搜索到助记符表中的对象属性,根据对象属性做第一分支处理;
如果助记符后有功能符,则表示是写入功能或者是带有形参的函数调用,根据助记符搜索到助记符表中的对象属性,根据对象属性做第二分支处理,直到从机设备解析处理完成。
5.根据权利要求4所述的通讯方法,其特征在于,
所述第一分支处理为:如果对象属性是变量/数组,则读取当前值;如果对象属性是函数,则直接调用对应函数;
所述第二分支处理:如果对象属性是变量/数组,则提取数据符的数值赋给当前对象;如果对象属性是函数,则提取数据符的数值作形参并调用对应函数。
6.根据权利要求1-5中任一项所述的通讯方法,其特征在于,
所述主机设备和从机设备通过基于字符串助记符的应用层报文传输协议进行半双工通讯;所述基于字符串助记符的应用层报文传输协议为Mnemonic总线协议;所述Mnemonic总线协议的底层通信方式使用RS232、RS485、TCP中的至少一种;所述Mnemonic总线协议的报文包括:请求帧、应答帧、错误帧。
7.根据权利要求1-5中任一项所述的通讯方法,其特征在于,所述至少一个从机设备接收所述主机设备发的请求帧,对所述请求帧进行响应的步骤之前,还包括:
所述从机设备建立助记符表,将所有助记符与对应操作对象对应;
在从站设备初始化时,将助记符表中的每个助记符转换成对应的字符码,不同的助记符对应唯一的一个字符码。
8.根据权利要求7所述的通讯方法,其特征在于,所述助记符表的元素包括:序号、助记符、对应操作对象、对象属性、读写属性、数据范围、数组索引范围中的一个或多个;所述对象属性包括:变量/数组/函数。
9.一种通讯系统,其特征在于,所述通讯系统包括:主机设备和至少一个从机设备,所述主机设备和从机设备通过基于字符串助记符的应用层报文传输协议进行通讯;所述系统还包括:存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311464925.7A CN117201229B (zh) | 2023-11-07 | 2023-11-07 | 一种通讯方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311464925.7A CN117201229B (zh) | 2023-11-07 | 2023-11-07 | 一种通讯方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117201229A true CN117201229A (zh) | 2023-12-08 |
CN117201229B CN117201229B (zh) | 2024-02-20 |
Family
ID=88987280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311464925.7A Active CN117201229B (zh) | 2023-11-07 | 2023-11-07 | 一种通讯方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117201229B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030040897A1 (en) * | 1996-04-03 | 2003-02-27 | Murphy Thomas Andrew | Man machine interface for power management control systems |
KR20070009777A (ko) * | 2005-07-14 | 2007-01-19 | 에스케이 텔레콤주식회사 | 객체 관리 시스템 및 방법 |
US8448083B1 (en) * | 2004-04-16 | 2013-05-21 | Apple Inc. | Gesture control of multimedia editing applications |
US20180103073A1 (en) * | 2016-10-06 | 2018-04-12 | Cisco Technology, Inc. | Managing access to communication sessions with communication identifiers of users and using chat applications |
CN109743301A (zh) * | 2018-12-24 | 2019-05-10 | 武汉工程大学 | 一种基于Modbus协议的数据收发系统及方法 |
CN111083026A (zh) * | 2018-10-18 | 2020-04-28 | 本德尔有限两合公司 | 用于使用Modbus RTU标准协议进行主机从机通信的方法 |
CN111367766A (zh) * | 2020-03-18 | 2020-07-03 | 深圳市英威腾电源有限公司 | 监控主机与设备间连接关系确定方法、装置及设备 |
US20230098963A1 (en) * | 2021-05-19 | 2023-03-30 | Tencent Technology (Shenzhen) Company Limited | Object processing method and apparatus, computer device, and storage medium |
-
2023
- 2023-11-07 CN CN202311464925.7A patent/CN117201229B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030040897A1 (en) * | 1996-04-03 | 2003-02-27 | Murphy Thomas Andrew | Man machine interface for power management control systems |
US8448083B1 (en) * | 2004-04-16 | 2013-05-21 | Apple Inc. | Gesture control of multimedia editing applications |
KR20070009777A (ko) * | 2005-07-14 | 2007-01-19 | 에스케이 텔레콤주식회사 | 객체 관리 시스템 및 방법 |
US20180103073A1 (en) * | 2016-10-06 | 2018-04-12 | Cisco Technology, Inc. | Managing access to communication sessions with communication identifiers of users and using chat applications |
CN111083026A (zh) * | 2018-10-18 | 2020-04-28 | 本德尔有限两合公司 | 用于使用Modbus RTU标准协议进行主机从机通信的方法 |
CN109743301A (zh) * | 2018-12-24 | 2019-05-10 | 武汉工程大学 | 一种基于Modbus协议的数据收发系统及方法 |
CN111367766A (zh) * | 2020-03-18 | 2020-07-03 | 深圳市英威腾电源有限公司 | 监控主机与设备间连接关系确定方法、装置及设备 |
US20230098963A1 (en) * | 2021-05-19 | 2023-03-30 | Tencent Technology (Shenzhen) Company Limited | Object processing method and apparatus, computer device, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN117201229B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933146B (zh) | 一种数据转换方法、装置和服务器 | |
CN109561104A (zh) | 一种通信协议转换方法及装置 | |
CN105739317A (zh) | 一种智能家居控制方法、装置和系统 | |
EP2899956A1 (en) | Terminal pairing method, terminal and system | |
CN113438211A (zh) | Dbc格式解析和报文解析方法、装置、电子设备及介质 | |
CN108388372B (zh) | 一种自适应触摸数据的方法、装置、设备及存储介质 | |
CN113726762A (zh) | 基于配置文件的物联网设备协议解析方法 | |
CN104836636B (zh) | 基于新型can帧进行通信的方法、装置及系统 | |
CN117201229B (zh) | 一种通讯方法、系统及存储介质 | |
CN111405059A (zh) | 云端设备的数据传输方法、电子设备及物联网系统 | |
CN113596017B (zh) | 一种协议解析方法、装置、软网关和存储介质 | |
CN110662096A (zh) | 融合终端的数据烧录方法和装置 | |
CN108540516B (zh) | 一种运行状态信息获取方法、控制终端、网络设备及系统 | |
CN101159641B (zh) | Can总线扩展方法 | |
CN112559080A (zh) | 基于can总线的tbox设备适配方法 | |
CN109120731B (zh) | 一种通用型通讯方法、系统及装置 | |
CN107453844A (zh) | 一种智能设备自动组网的方法及装置 | |
CN107040523B (zh) | 交易数据传输方法、装置和电子设备 | |
CN113377363B (zh) | 对多种电控端私有协议自动生成源代码的云端实现方法 | |
CN107318128A (zh) | 无线通信优化方法、装置、存储介质及其计算机设备 | |
CN111526075A (zh) | 智能设备控制方法、存储介质以及电子设备 | |
CN112054955A (zh) | 基于网关的设备通信方法 | |
CN106412657B (zh) | 一种机顶盒烧写序列码的方法及系统 | |
CN110661692A (zh) | 一种网络互联系统及方法 | |
JP2811770B2 (ja) | ホストコンピュータ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |