CN116915875A - 一种物联网关解析modbus设备的通用方法及modbus系统 - Google Patents

一种物联网关解析modbus设备的通用方法及modbus系统 Download PDF

Info

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
Application number
CN202311167946.2A
Other languages
English (en)
Other versions
CN116915875B (zh
Inventor
李泽润
连以泉
黎沛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tiansi Intelligent Technology Co ltd
Original Assignee
Shenzhen Tiansi Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Tiansi Intelligent Technology Co ltd filed Critical Shenzhen Tiansi Intelligent Technology Co ltd
Priority to CN202311167946.2A priority Critical patent/CN116915875B/zh
Publication of CN116915875A publication Critical patent/CN116915875A/zh
Application granted granted Critical
Publication of CN116915875B publication Critical patent/CN116915875B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total 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)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

本发明公开一种物联网关解析modbus设备的通用方法,包括:在网关中配置请求JSON和响应JSON;所述请求JSON包括功能码;一组请求JSON和响应JSON对应一种modbus协议设备的功能;所述网关根据所述配置的请求JSON生成二进制的请求指令,并将所述请求指令发送至对应的所述modbus协议设备;若所述请求JSON中的功能码为读取时,所述modbus协议设备向所述网关发送响应数据,所述网关根据所述响应JSON解析所述响应数据获得解析数据,将所述解析数据转化成JSON格式的数据,并将转化后的所述JSON格式的数据保存到所述网关或者上报给物联网平台;若所述请求JSON中的功能码为写入时,根据所述请求指令将所述对应的值写入对应的所述modbus协议设备。本发明还公开了一种modbus系统。本发明通用性好。

Description

一种物联网关解析modbus设备的通用方法及modbus系统
技术领域
本发明涉及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生成二进制的请求指令步骤之前还包括初始化所述网关的配置,所述初始化所述网关的配置包括初始化以下参数:初始波特率、物理串口位置、寄存器起始地址、网关地址、寄存器长度、字节个数。
CN202311167946.2A 2023-09-12 2023-09-12 一种物联网关解析modbus设备的通用方法及modbus系统 Active CN116915875B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117978893A (zh) * 2024-04-02 2024-05-03 成都汉度科技有限公司 一种通用Modbus协议解析方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
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 上海上实龙创智能科技股份有限公司 一种协议解析方法、装置、软网关和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
CN110769002A (zh) 基于LabVIEW的报文解析方法、系统、电子设备和介质
CN109062906B (zh) 程序语言资源的翻译方法及装置
CN111654545B (zh) 一种传感器数据的通用解析方法及系统
CN109977052B (zh) 协议转换方法及应用该方法的系统、介质、芯片与电子设备
CN112367234B (zh) 模拟数据生成方法、终端设备及计算机可读存储介质
CN108763127B (zh) 源数据与目标数据相互转换的Modbus适配器的实现方法
CN110839022A (zh) 一种基于xml语言的车载控制软件通信协议解析方法
CN114090135B (zh) 具有纠错功能且支持跨平台调用组件的方法和装置
CN114115008A (zh) 一种基于5g网络电力设备运行数据传输方法及系统
CN108429741B (zh) 一种实现ncsi协议的方法及系统
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信号延长传输方法及系统
CN117614799B (zh) 一种基于模型分层映射的传感器协议适配方法及装置
CN212649502U (zh) 一种多源数据转接设备和系统
CN116634036A (zh) 一种航电数据接口装置的协议转换配置方法及系统
JPH07271696A (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