CN116915875A - 一种物联网关解析modbus设备的通用方法及modbus*** - Google Patents
一种物联网关解析modbus设备的通用方法及modbus*** Download PDFInfo
- Publication number
- CN116915875A CN116915875A CN202311167946.2A CN202311167946A CN116915875A CN 116915875 A CN116915875 A CN 116915875A CN 202311167946 A CN202311167946 A CN 202311167946A CN 116915875 A CN116915875 A CN 116915875A
- Authority
- CN
- China
- Prior art keywords
- json
- gateway
- request
- data
- modbus
- 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
- 238000007429 general method Methods 0.000 title claims abstract description 14
- 230000004044 response Effects 0.000 claims abstract description 80
- 238000004458 analytical method Methods 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 52
- 238000000034 method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40228—Modbus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种物联网关解析modbus设备的通用方法,包括:在网关中配置请求JSON和响应JSON;所述请求JSON包括功能码;一组请求JSON和响应JSON对应一种modbus协议设备的功能;所述网关根据所述配置的请求JSON生成二进制的请求指令,并将所述请求指令发送至对应的所述modbus协议设备;若所述请求JSON中的功能码为读取时,所述modbus协议设备向所述网关发送响应数据,所述网关根据所述响应JSON解析所述响应数据获得解析数据,将所述解析数据转化成JSON格式的数据,并将转化后的所述JSON格式的数据保存到所述网关或者上报给物联网平台;若所述请求JSON中的功能码为写入时,根据所述请求指令将所述对应的值写入对应的所述modbus协议设备。本发明还公开了一种modbus***。本发明通用性好。
Description
技术领域
本发明涉及modbus设备,更确切地说是一种物联网关解析modbus设备的通用方法及modbus***。
背景技术
Modbus是一种工业领域常用的通信协议,目前主要用于PLC、远程输入/输出设备、传感器等工业自动化设备的通信。但是,现有的Modbus解析方法大多限制于独立于其他通信协议的小规模工业设备网络,难以解决运营设备分散、不应用标准协议的问题。因此,急需开发一种通用的方法,能够在大规模、不同种类设备和多种通信协议的混合网络中实现Modbus设备的解析。
发明内容
本发明为了解决现有技术Modbus解析方法难以解决运营设备分散、不应用标准协议的的技术问题,提供了一种物联网关解析modbus设备的通用方法及modbus***。
为解决上述技术问题,本发明采用的技术方案为设计一种物联网关解析modbus设备的通用方法,包括:
在网关的自管***页面中配置基于modbus协议的请求JSON和响应JSON;所述请求JSON包括功能码;一组请求JSON和响应JSON对应一种modbus协议设备的功能;
所述网关根据所述配置的请求JSON生成二进制的请求指令,并将所述请求指令发送至对应的所述modbus协议设备;
若所述请求JSON中的功能码为读取时,所述请求指令包括modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码,对应的所述modbus协议设备根据所述modbus协议设备地址、寄存器起始地址和读取寄存器的长度向所述网关发送相应的响应数据,所述网关根据所述请求JSON对应的所述响应JSON解析所述响应数据获得解析数据,将所述解析数据转化成JSON格式的数据,并将转化后的所述JSON格式的数据保存到所述网关或者上报给物联网平台;
若所述请求JSON中的功能码为写入时,所述请求指令包括modbus协议设备的寄存器地址和对应的值,根据所述请求指令将所述对应的值写入对应的所述modbus协议设备的所述modbus协议设备寄存器地址。
所述请求JSON还包括所述modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码;
所述响应JSON包括CRC16校验码、modbus协议设备地址、功能码、数据字节个数以及modbus协议设备寄存器信息。
所述解析数据包括各个属性键值、数据种类、最终字符类型、相关返回参数的运算操作、运算符、操作对象、操作对象的数据类型、读取起始位、读取结束位和种类。
所述将所述解析数据转化成JSON格式的数据包括:
根据所述解析数据和所述响应数据进行运算处理,再根据所述最终字符类型进行换算获取实际有意义的数据,再根据键值生成所述JSON格式的数据;
所述上报给物联网平台为通过MQTT上报给物联网平台。
所述网关根据所述配置的请求JSON生成二进制的请求指令步骤之前还包括初始化所述网关的配置,所述初始化所述网关的配置包括初始化以下参数:初始波特率、物理串口位置、寄存器起始地址、网关地址、寄存器长度、字节个数。
本发明还提供了一种modbus***,包括网关和与所述网关连接的modbus协议设备,在所述网关的自管***页面中配置基于modbus协议的请求JSON和响应JSON;所述请求JSON包括功能码;一组请求JSON和响应JSON对应一种modbus协议设备的功能;
所述网关根据所述配置的请求JSON生成二进制的请求指令,并将所述请求指令发送至对应的所述modbus协议设备;
若所述请求JSON中的功能码为读取时,所述请求指令包括modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码,对应的所述modbus协议设备根据所述modbus协议设备地址、寄存器起始地址和读取寄存器的长度向所述网关发送相应的响应数据,所述网关根据所述请求JSON对应的所述响应JSON解析所述响应数据获得解析数据,将所述解析数据转化成JSON格式的数据,并将转化后的所述JSON格式的数据保存到所述网关或者上报给物联网平台;
若所述请求JSON中的功能码为写入时,所述请求指令包括modbus协议设备的寄存器地址和对应的值,根据所述请求指令将所述对应的值写入对应的所述modbus协议设备的所述modbus协议设备寄存器地址。
所述请求JSON还包括所述modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码;
所述响应JSON包括CRC16校验码、modbus协议设备地址、功能码、数据字节个数以及modbus协议设备寄存器信息。
所述解析数据包括各个属性键值、数据种类、最终字符类型、相关返回参数的运算操作、运算符、操作对象、操作对象的数据类型、读取起始位、读取结束位和种类。
所述将所述解析数据转化成JSON格式的数据包括:
根据所述解析数据和所述响应数据进行运算处理,再根据所述最终字符类型进行换算获取实际有意义的数据,再根据键值生成所述JSON格式的数据;
所述上报给物联网平台为通过MQTT上报给物联网平台。
所述网关根据所述配置的请求JSON生成二进制的请求指令步骤之前还包括初始化所述网关的配置,所述初始化所述网关的配置包括初始化以下参数:初始波特率、物理串口位置、寄存器起始地址、网关地址、寄存器长度、字节个数。
本发明通过在网关的自管***页面中配置基于modbus协议的请求JSON和响应JSON,并使一组请求JSON和响应JSON对应一种modbus协议设备的功能;所述请求JSON包括功能码;所述网关根据所述配置的请求JSON生成二进制的请求指令,并将所述请求指令发送至对应的所述modbus协议设备;若所述请求JSON中的功能码为读取时,所述请求指令包括modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码,对应的所述modbus协议设备根据所述modbus协议设备地址、寄存器起始地址和读取寄存器的长度向所述网关发送相应的响应数据,所述网关根据所述请求JSON对应的所述响应JSON解析所述响应数据获得解析数据,将所述解析数据转化成JSON格式的数据,并将转化后的所述JSON格式的数据保存到所述网关或者上报给物联网平台;若所述请求JSON中的功能码为写入时,所述请求指令包括modbus协议设备的寄存器地址和对应的值,根据所述请求指令将所述对应的值写入对应的所述modbus协议设备的所述modbus协议设备寄存器地址。相比现有的modbus解析方法,由于定义了两个通用的json格式,描述modbus协议请求和响应的帧结构,具有通用性和可扩展性,而且更加简单,此外,在功能码为读取时,利用响应JSON解析响应数据获得解析数据,并将所述解析数据转化成JSON格式的数据保存到网关或者上报给物联网平台,利于后续数据的处理。
附图说明
下面结合实施例和附图对本发明进行详细说明,其中:
图1是本发明物联网关解析modbus设备的通用方法的流程图;
图2是本发明modbus***的原理图。
具体实施方式
下面结合附图进一步阐述本发明的具体实施方式:
请一并参见图1。本发明物联网关解析modbus设备的通用方法包括:
第一步:在网关的自管***页面中配置基于modbus协议的请求JSON和响应JSON;所述请求JSON包括功能码;一组请求JSON和响应JSON对应一种modbus协议设备的功能。
用户通过网关提供的自管***页面,可以方便地配置要连接的Modbus协议设备的请求JSON和响应JSON,以满足不同modbus协议设备的接入需求。配置时,需要根据modbus协议设备及该modbus协议设备要实现的功能来进行配置。
所述请求JSON还包括所述modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码;所述响应JSON包括CRC16校验码、modbus协议设备地址、功能码、数据字节个数以及modbus协议设备寄存器信息。
通过请求JSON和响应JSON的设置,从而可以根据现实情况,将配置好的Modbus功能和modbus协议设备进行绑定,以实现对不同modbus协议设备的维护和扩展,并提高modbus协议设备的可扩展性和维护性。
以下举例说明请求JSON和响应JSON。
请求JSON的内容和字段解释(protocol_req_describe):
{
device_address:'01', #设备地址
function_code:'03', #modbus功能码
crc16_code: "98 35",
register_start_address:'0', #功能码为读时指定读取寄存器开始地址
register_length:'2', #功能码为读时指定读取寄存器的长度
# 功能码为写时 传入寄存器地址与对应的值
register_write:[
{
address:0, # 存器地址
value:1 # 存器地值
}
]
}
响应JSON的响应和字段解释(protocol_resp_describe):
{
crc16_code: "98 35",
device_address:'01', #设备地址
function_code:'03', #功能码
data_byte_num:'08', #数据字节个数
register_values:[
# 网关返参描述 参数有可能有多个
{
key:'temperature', # 参数名称
start_byte_location:'0', #从第几个字节开始读
end_byte_location:'4', #到第几个字节结束
data_type:'hexadecimal', #十六进制
hexadecimal: 0,
result_data_type:'decimal', #十进制
expression:[
{
operator:'*', #运算符
operand:'100', # 操作对象
operand_type:'num', # 数字 , 其它
sort:'1'
}
]
},
{
key:'humidity', # 参数名称
start_byte_location:'0', #从第几个字节开始读
end_byte_location:'4', #到第几个字节结束
data_type:'hexadecimal', #十六进制
hexadecimal: 0,
result_data_type:'decimal', #十进制
expression:[
{
operator:'*', #运算符
operand:'100', # 操作对象
operand_type:'num', # 数字 , 其它
sort:'1'
}
]
}
....
]
}
第二步:所述网关根据所述配置的请求JSON生成二进制的请求指令,并将所述请求指令发送至对应的所述modbus协议设备。
所述网关根据所述配置的请求JSON生成二进制的请求指令步骤之前还包括初始化所述网关的配置,所述初始化所述网关的配置包括初始化以下参数:初始波特率、物理串口位置、寄存器起始地址、网关地址、寄存器长度、字节个数。
在初始化网关时,可以自动获取网关的功能,并且自动获取到对应请求JSON和响应JSON的内容。
第三步:若所述请求JSON中的功能码为读取时,所述请求指令包括modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码,对应的所述modbus协议设备根据所述modbus协议设备地址、寄存器起始地址和读取寄存器的长度向所述网关发送相应的响应数据,所述网关根据所述请求JSON对应的所述响应JSON解析所述响应数据获得解析数据,将所述解析数据转化成JSON格式的数据,并将转化后的所述JSON格式的数据保存到所述网关或者上报给物联网平台。
若所述请求JSON中的功能码为写入时,所述请求指令包括modbus协议设备的寄存器地址和对应的值,根据所述请求指令将所述对应的值写入对应的所述modbus协议设备的所述modbus协议设备寄存器地址。
在本具体实施例中,所述解析数据包括各个属性键值、数据种类、最终字符类型、相关返回参数的运算操作、运算符、操作对象、操作对象的数据类型、读取起始位、读取结束位和种类。
所述将所述解析数据转化成JSON格式的数据包括:
根据所述解析数据和所述响应数据进行运算处理,再根据所述最终字符类型进行换算获取实际有意义的数据,再根据键值生成所述JSON格式的数据;
所述上报给物联网平台为通过MQTT上报给物联网平台。
根据用户配置的请求JSON和设备信息,我们可以动态生成基于Modbus协议的请求指令,并下发到指定的modbus协议设备。当功能为读取时,请求指令会包含modbus协议设备地址、功能码、寄存器起始地址、读取寄存器的长度以及CRC16校验码等信息;当功能为写入时,请求指令还需要包含modbus协议寄存器地址和对应的值等信息。
例如:当功能为读取时:
请求指令为: 01 03 00 00 00 04 98 35
[device_address=01][function_code=03][register_start_address=00 00][register_length=00 04][crc16_code=98 35]。
当功能为写时:
请求指令为: 01 06 00 00 00 04 98 35
[device_address=01][function_code=06][register_write.address=00 00][register_write.value=00 04][crc16_code=98 35]。
当获取到modbus协议设备的响应数据时,网关可以根据用户配置的响应JSON来进行解析。若功能为“读取”,则网关会解析modbus协议设备返回的值,并将其组装成JSON格式的数据,以便后续上传、存储和使用。此处,用户可以根据具体业务需求来设置解析方式,例如可以指定字节范围、数据类型、数据转换规则等详细信息。若功能为“写入”时,则不需要进行解析操作。
所述解析数据包括各个属性键值key、数据种类data_type、最终字符类型result_data_type、相关返回参数的运算操作、运算符operator、操作对象operand、操作对象的数据类型operand_type、读取起始位start_byte_Location、读取结束位end_byte_Location和种类sort。
下面举例说明解析数据:
响应数据为:01 03 08 00 00 41 A0 00 00 41 20 98 35
01 device_address=01
03 function_code=03
08(00 00 41 A0 00 00 41 20)ata_byte_num=08 有8个字节的数据
register_values 描述如何解析字段数据
register_values.start_byte_location=0 register_values.end_byte_location=4 表示 00 00 41 A0 为一个参数
register_values.key=electricity 表示参数的key为electricity
register_values.data_type 字节中保存的数据为十六进制
register_values.result_data_type 数据需要转换成十进制
最后结果为{
temperature:20
humidity:10
}。
本发明通过在网关的自管***页面中配置基于modbus协议的请求JSON和响应JSON,并使一组请求JSON和响应JSON对应一种modbus协议设备的功能;所述请求JSON包括功能码;所述网关根据所述配置的请求JSON生成二进制的请求指令,并将所述请求指令发送至对应的所述modbus协议设备;若所述请求JSON中的功能码为读取时,所述请求指令包括modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码,对应的所述modbus协议设备根据所述modbus协议设备地址、寄存器起始地址和读取寄存器的长度向所述网关发送相应的响应数据,所述网关根据所述请求JSON对应的所述响应JSON解析所述响应数据获得解析数据,将所述解析数据转化成JSON格式的数据,并将转化后的所述JSON格式的数据保存到所述网关或者上报给物联网平台;若所述请求JSON中的功能码为写入时,所述请求指令包括modbus协议设备的寄存器地址和对应的值,根据所述请求指令将所述对应的值写入对应的所述modbus协议设备的所述modbus协议设备寄存器地址。相比现有的modbus解析方法,由于定义了两个通用的json格式,描述modbus协议请求和响应的帧结构,具有通用性和可扩展性,而且更加简单,此外,在功能码为读取时,利用响应JSON解析响应数据获得解析数据,并将所述解析数据转化成JSON格式的数据保存到网关或者上报给物联网平台,利于后续数据的处理。
请一并参见图2,本发明modbus***包括网关11和与所述网关连接的modbus协议设备12。其中:
在所述网关11的自管***页面中配置基于modbus协议的请求JSON和响应JSON;所述请求JSON包括功能码;一组请求JSON和响应JSON对应一种modbus协议设备的功能。所述网关11根据所述配置的请求JSON生成二进制的请求指令,并将所述请求指令发送至对应的所述modbus协议设备。
若所述请求JSON中的功能码为读取时,所述请求指令包括modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码,对应的所述modbus协议设备根据所述modbus协议设备地址、寄存器起始地址和读取寄存器的长度向所述网关发送相应的响应数据,所述网关根据所述请求JSON对应的所述响应JSON解析所述响应数据获得解析数据,将所述解析数据转化成JSON格式的数据,并将转化后的所述JSON格式的数据保存到所述网关或者上报给物联网平台。
若所述请求JSON中的功能码为写入时,所述请求指令包括modbus协议设备的寄存器地址和对应的值,根据所述请求指令将所述对应的值写入对应的所述modbus协议设备的所述modbus协议设备寄存器地址。
用户通过网关提供的自管***页面,可以方便地配置要连接的Modbus协议设备的请求JSON和响应JSON,以满足不同modbus协议设备的接入需求。配置时,需要根据modbus协议设备及该modbus协议设备要实现的功能来进行配置。
所述请求JSON还包括所述modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码;所述响应JSON包括CRC16校验码、modbus协议设备地址、功能码、数据字节个数以及modbus协议设备寄存器信息。
通过请求JSON和响应JSON的设置,从而可以根据现实情况,将配置好的Modbus功能和modbus协议设备进行绑定,以实现对不同modbus协议设备的维护和扩展,并提高modbus协议设备的可扩展性和维护性。
所述网关根据所述配置的请求JSON生成二进制的请求指令步骤之前还包括初始化所述网关的配置,所述初始化所述网关的配置包括初始化以下参数:初始波特率、物理串口位置、寄存器起始地址、网关地址、寄存器长度、字节个数。
在初始化网关时,可以自动获取网关的功能,并且自动获取到对应请求JSON和响应JSON的内容。
若所述请求JSON中的功能码为写入时,所述请求指令包括modbus协议设备的寄存器地址和对应的值,根据所述请求指令将所述对应的值写入对应的所述modbus协议设备的所述modbus协议设备寄存器地址。
在本具体实施例中,所述解析数据包括各个属性键值、数据种类、最终字符类型、相关返回参数的运算操作、运算符、操作对象、操作对象的数据类型、读取起始位、读取结束位和种类。
所述将所述解析数据转化成JSON格式的数据包括:
根据所述解析数据和所述响应数据进行运算处理,再根据所述最终字符类型进行换算获取实际有意义的数据,再根据键值生成所述JSON格式的数据;
所述上报给物联网平台为通过MQTT上报给物联网平台。
根据用户配置的请求JSON和设备信息,我们可以动态生成基于Modbus协议的请求指令,并下发到指定的modbus协议设备。当功能为读取时,请求指令会包含modbus协议设备地址、功能码、寄存器起始地址、读取寄存器的长度以及CRC16校验码等信息;当功能为写入时,请求指令还需要包含modbus协议寄存器地址和对应的值等信息。
当获取到modbus协议设备的响应数据时,网关可以根据用户配置的响应JSON来进行解析。若功能为“读取”,则网关会解析modbus协议设备返回的值,并将其组装成JSON格式的数据,以便后续上传、存储和使用。此处,用户可以根据具体业务需求来设置解析方式,例如可以指定字节范围、数据类型、数据转换规则等详细信息。若功能为“写入”时,则不需要进行解析操作。
所述解析数据包括各个属性键值key、数据种类data_type、最终字符类型result_data_type、相关返回参数的运算操作、运算符operator、操作对象operand、操作对象的数据类型operand_type、读取起始位start_byte_Location、读取结束位end_byte_Location和种类sort。
本发明具有以下特点:
1、定义了两个通用的JSON格式,描述modbus协议请求和响应的帧结构,具有通用性和可扩展性。
2. 基于定义的JSON格式,实现了动态生成modbus协议请求内容和响应内容的程序,通过解析通用JSON格式,生成对应的modbus帧,并向modbus协议设备发送请求或解析modbus协议设备的响应。
3. 通过将通用JSON格式与modbus协议设备之间的实际通信结合,实现了多种modbus协议设备之间的通信和数据共享,提高了***的灵活性和可用性。
4. 该方法可以应用于各种modbus协议设备,不依赖于特定的设备和软件环境,提高了应用的灵活性和便捷性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种物联网关解析modbus设备的通用方法,其特征在于包括:
在网关的自管***页面中配置基于modbus协议的请求JSON和响应JSON;所述请求JSON包括功能码;一组请求JSON和响应JSON对应一种modbus协议设备的功能;
所述网关根据所述配置的请求JSON生成二进制的请求指令,并将所述请求指令发送至对应的所述modbus协议设备;
若所述请求JSON中的功能码为读取时,所述请求指令包括modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码,对应的所述modbus协议设备根据所述modbus协议设备地址、寄存器起始地址和读取寄存器的长度向所述网关发送相应的响应数据,所述网关根据所述请求JSON对应的所述响应JSON解析所述响应数据获得解析数据,将所述解析数据转化成JSON格式的数据,并将转化后的所述JSON格式的数据保存到所述网关或者上报给物联网平台;
若所述请求JSON中的功能码为写入时,所述请求指令包括modbus协议设备的寄存器地址和对应的值,根据所述请求指令将所述对应的值写入对应的所述modbus协议设备的所述modbus协议设备寄存器地址。
2.根据权利要求1所述的物联网关解析modbus设备的通用方法,其特征在于:所述请求JSON还包括所述modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码;
所述响应JSON包括CRC16校验码、modbus协议设备地址、功能码、数据字节个数以及modbus协议设备寄存器信息。
3.根据权利要求2所述的物联网关解析modbus设备的通用方法,其特征在于:所述解析数据包括各个属性键值、数据种类、最终字符类型、相关返回参数的运算操作、运算符、操作对象、操作对象的数据类型、读取起始位、读取结束位和种类。
4.根据权利要求3所述的物联网关解析modbus设备的通用方法,其特征在于:所述将所述解析数据转化成JSON格式的数据包括:
根据所述解析数据和所述响应数据进行运算处理,再根据所述最终字符类型进行换算获取实际有意义的数据,再根据键值生成所述JSON格式的数据;
所述上报给物联网平台为通过MQTT上报给物联网平台。
5.根据权利要求1所述的物联网关解析modbus设备的通用方法,其特征在于:所述网关根据所述配置的请求JSON生成二进制的请求指令步骤之前还包括初始化所述网关的配置,所述初始化所述网关的配置包括初始化以下参数:初始波特率、物理串口位置、寄存器起始地址、网关地址、寄存器长度、字节个数。
6.一种modbus***,包括网关和与所述网关连接的modbus协议设备,其特征在于:
在所述网关的自管***页面中配置基于modbus协议的请求JSON和响应JSON;所述请求JSON包括功能码;一组请求JSON和响应JSON对应一种modbus协议设备的功能;
所述网关根据所述配置的请求JSON生成二进制的请求指令,并将所述请求指令发送至对应的所述modbus协议设备;
若所述请求JSON中的功能码为读取时,所述请求指令包括modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码,对应的所述modbus协议设备根据所述modbus协议设备地址、寄存器起始地址和读取寄存器的长度向所述网关发送相应的响应数据,所述网关根据所述请求JSON对应的所述响应JSON解析所述响应数据获得解析数据,将所述解析数据转化成JSON格式的数据,并将转化后的所述JSON格式的数据保存到所述网关或者上报给物联网平台;
若所述请求JSON中的功能码为写入时,所述请求指令包括modbus协议设备的寄存器地址和对应的值,根据所述请求指令将所述对应的值写入对应的所述modbus协议设备的所述modbus协议设备寄存器地址。
7.根据权利要求6所述的modbus***,其特征在于:所述请求JSON还包括所述modbus协议设备地址、寄存器起始地址、读取寄存器的长度以及CRC16校验码;
所述响应JSON包括CRC16校验码、modbus协议设备地址、功能码、数据字节个数以及modbus协议设备寄存器信息。
8.根据权利要求7所述的modbus***,其特征在于:所述解析数据包括各个属性键值、数据种类、最终字符类型、相关返回参数的运算操作、运算符、操作对象、操作对象的数据类型、读取起始位、读取结束位和种类。
9.根据权利要求8所述的modbus***,其特征在于:所述将所述解析数据转化成JSON格式的数据包括:
根据所述解析数据和所述响应数据进行运算处理,再根据所述最终字符类型进行换算获取实际有意义的数据,再根据键值生成所述JSON格式的数据;
所述上报给物联网平台为通过MQTT上报给物联网平台。
10.根据权利要求6所述的modbus***,其特征在于:所述网关根据所述配置的请求JSON生成二进制的请求指令步骤之前还包括初始化所述网关的配置,所述初始化所述网关的配置包括初始化以下参数:初始波特率、物理串口位置、寄存器起始地址、网关地址、寄存器长度、字节个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311167946.2A CN116915875B (zh) | 2023-09-12 | 2023-09-12 | 一种物联网关解析modbus设备的通用方法及modbus*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311167946.2A CN116915875B (zh) | 2023-09-12 | 2023-09-12 | 一种物联网关解析modbus设备的通用方法及modbus*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116915875A true CN116915875A (zh) | 2023-10-20 |
CN116915875B CN116915875B (zh) | 2023-12-05 |
Family
ID=88360581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311167946.2A Active CN116915875B (zh) | 2023-09-12 | 2023-09-12 | 一种物联网关解析modbus设备的通用方法及modbus*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116915875B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117978893A (zh) * | 2024-04-02 | 2024-05-03 | 成都汉度科技有限公司 | 一种通用Modbus协议解析方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040054829A1 (en) * | 2001-06-25 | 2004-03-18 | White William A. | Method, system and program for the transmission of modbus messages between networks |
CN112261061A (zh) * | 2020-11-03 | 2021-01-22 | 合沃物联技术(南京)有限公司 | 一种基于工业物联网关的设备多协议解析方法 |
CN113037875A (zh) * | 2021-05-24 | 2021-06-25 | 武汉众邦银行股份有限公司 | 一种分布式实时业务***中的异步网关的实现方法 |
CN113206836A (zh) * | 2021-04-12 | 2021-08-03 | 河海大学 | 一种工业互联网中api网关实现协议转换的方法 |
CN113315681A (zh) * | 2021-05-28 | 2021-08-27 | 深圳市吉祥腾达科技有限公司 | 一种基于智能家庭网关插件的自动化测试方法及*** |
CN113596017A (zh) * | 2021-07-27 | 2021-11-02 | 上海上实龙创智能科技股份有限公司 | 一种协议解析方法、装置、软网关和存储介质 |
-
2023
- 2023-09-12 CN CN202311167946.2A patent/CN116915875B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040054829A1 (en) * | 2001-06-25 | 2004-03-18 | White William A. | Method, system and program for the transmission of modbus messages between networks |
CN112261061A (zh) * | 2020-11-03 | 2021-01-22 | 合沃物联技术(南京)有限公司 | 一种基于工业物联网关的设备多协议解析方法 |
CN113206836A (zh) * | 2021-04-12 | 2021-08-03 | 河海大学 | 一种工业互联网中api网关实现协议转换的方法 |
CN113037875A (zh) * | 2021-05-24 | 2021-06-25 | 武汉众邦银行股份有限公司 | 一种分布式实时业务***中的异步网关的实现方法 |
CN113315681A (zh) * | 2021-05-28 | 2021-08-27 | 深圳市吉祥腾达科技有限公司 | 一种基于智能家庭网关插件的自动化测试方法及*** |
CN113596017A (zh) * | 2021-07-27 | 2021-11-02 | 上海上实龙创智能科技股份有限公司 | 一种协议解析方法、装置、软网关和存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117978893A (zh) * | 2024-04-02 | 2024-05-03 | 成都汉度科技有限公司 | 一种通用Modbus协议解析方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116915875B (zh) | 2023-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116915875B (zh) | 一种物联网关解析modbus设备的通用方法及modbus*** | |
CN108881251B (zh) | 一种任意二进制设备接入解析与标准化的***及方法 | |
CN110912782B (zh) | 一种数据采集方法、装置及存储介质 | |
US20020161827A1 (en) | Communication system between a programmable logic controller server and a client machine | |
CN105612466A (zh) | 用于对可编程逻辑控制器进行虚拟化的***和方法 | |
CN112367234B (zh) | 模拟数据生成方法、终端设备及计算机可读存储介质 | |
CN109062906B (zh) | 程序语言资源的翻译方法及装置 | |
CN111654545B (zh) | 一种传感器数据的通用解析方法及*** | |
CN109977052B (zh) | 协议转换方法及应用该方法的***、介质、芯片与电子设备 | |
CN108429741B (zh) | 一种实现ncsi协议的方法及*** | |
CN108763127B (zh) | 源数据与目标数据相互转换的Modbus适配器的实现方法 | |
CN110839022A (zh) | 一种基于xml语言的车载控制软件通信协议解析方法 | |
CN116450692B (zh) | 一种数据库故障排查方法,装置、设备及存储介质 | |
CN111158661A (zh) | ***接口对接方法、装置、介质及电子设备 | |
CN116074412B (zh) | 一种数据高速读写方法、***、设备和可读存储介质 | |
JP2778472B2 (ja) | データ処理装置 | |
CN113904849B (zh) | 访问网络方法、装置、计算机设备和存储介质 | |
Santos et al. | Development of an Industrial Communication Driver for Profinet Devices | |
CN114253892B (zh) | 一种usb hid信号延长传输方法及*** | |
CN212649502U (zh) | 一种多源数据转接设备和*** | |
KR20110052271A (ko) | 텍스트 파일을 이용한 프로토콜 인터페이스 장치와 시스템 그리고 그 방법 | |
CN116634036A (zh) | 一种航电数据接口装置的协议转换配置方法及*** | |
JPH07271696A (ja) | プロトコルデータの解析表示方法 | |
CN113407812A (zh) | 一种跨数据源的数据推送方法及装置 | |
JP2004355506A (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 |