CN107222458A - 一种兼容Modbus协议的BACnet协议栈的数据处理方法及系统 - Google Patents
一种兼容Modbus协议的BACnet协议栈的数据处理方法及系统 Download PDFInfo
- Publication number
- CN107222458A CN107222458A CN201710250341.8A CN201710250341A CN107222458A CN 107222458 A CN107222458 A CN 107222458A CN 201710250341 A CN201710250341 A CN 201710250341A CN 107222458 A CN107222458 A CN 107222458A
- Authority
- CN
- China
- Prior art keywords
- modbus
- data
- data frames
- udp message
- message frame
- 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.)
- Pending
Links
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/08—Protocols for interworking; Protocol conversion
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
-
- 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
Abstract
本发明提供了一种兼容Modbus协议的BACnet协议栈的数据处理方法及系统,其中,所述方法包括:上位机对BACnet协议栈进行读写属性操作时,向互联网上发送一帧UDP数据帧;所述BACnet协议栈接收所述UDP数据帧后,将所述UDP数据帧中的对象ID解析为Modbus数据帧中的设备地址和起始地址,并将所述UDP数据帧中的当前值解析为所述Modbus数据帧中的数据长度和有效数据;所述BACnet协议栈将解析后的信息发送至Modbus库;所述Modbus库以Modbus数据帧的格式将解析后的信息发送至各个机组处。本发明提供的技术方案,能够使得Modbus协议和BACnet协议进行自由转换。
Description
技术领域
本发明涉及网络通信技术领域,具体而言,涉及一种兼容Modbus协议的BACnet协议栈的数据处理方法及系统。
背景技术
Modbus是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。串行链路Modbus通常使用主从技术,即仅一设备(主设备)能初始化传输(查询或控制)。
目前,BACnetIP是开放的楼宇设备自动控制网络数据通信协议。随着Internet在通信领域的发展,控制网络与Internet的互联已是必然趋势。但现有技术中还未能将这两种协议进行相互自由转换,使得控制网络与Internet的互联存在通信障碍。
发明内容
本发明实施例提供了一种兼容Modbus协议的BACnet协议栈的数据处理方法及系统,能够使得Modbus协议和BACnet协议进行自由转换。
为实现上述目的,本发明实施例一方面提供一种兼容Modbus协议的BACnet协议栈的数据处理方法,所述方法包括:上位机对BACnet协议栈进行读写属性操作时,向互联网上发送一帧UDP数据帧;所述BACnet协议栈接收所述UDP数据帧后,将所述UDP数据帧中的对象ID解析为Modbus数据帧中的设备地址和起始地址,并将所述UDP数据帧中的当前值解析为所述Modbus数据帧中的数据长度和有效数据;所述BACnet协议栈将解析后的信息发送至Modbus库;所述Modbus库以Modbus数据帧的格式将解析后的信息发送至各个机组处。
进一步地,所述UDP数据帧中的对象ID包括参数偏移和设备偏移;相应地,将所述UDP数据帧中的对象ID解析为Modbus数据帧中的设备地址和起始地址包括:
将所述对象ID中的参数偏移赋值给所述Modbus数据帧中的起始地址,并将所述对象ID中的设备偏移赋值给所述Modbus数据帧中的设备地址。
进一步地,将所述UDP数据帧中的当前值解析为所述Modbus数据帧中的数据长度和有效数据包括:
将所述UDP数据帧中的当前值作为所述Modbus数据帧中的有效数据,并将所述UDP数据帧中的当前值所处数据的长度作为所述Modbus数据帧中的数据长度。
进一步地,所述Modbus库以Modbus数据帧的格式将解析后的信息发送至各个机组处包括:所述Modbus库以Modbus数据帧的格式将解析后的信息发送至485总线上,以使得机组通过所述485总线接收并解析Modbus数据帧中携带的信息;相应地,所述方法还包括:所述机组将所述上位机请求的信息以Modbus数据帧的格式发送到485总线;所述Modbus库通过所述485总线接收所述Modbus数据帧,基于所述Modbus数据帧中的设备地址和起始地址,解析得到UDP数据帧的对象ID,并根据所述Modbus数据帧中的数据长度和有效数据解析得到UDP数据帧中的当前值;所述Modbus库将解析得到的信息传给BACnet协议栈,以使得所述BACnet协议栈将所述解析得到的信息以UDP数据帧的格式发送到互联网上;所述上位机通过网络设备从互联网中获取所述UDP数据帧。
进一步地,基于所述Modbus数据帧中的设备地址和起始地址,解析得到UDP数据帧的对象ID包括:
将所述Modbus数据帧中的设备地址赋值给所述对象ID中的设备偏移,并将所述Modbus数据帧中的起始地址赋值给所述对象ID中的参数偏移;其中,所述对象ID中的设备类型、机型系列以及对象类型由使用Modbus协议的机组的机型预先约定。
进一步地,根据所述Modbus数据帧中的数据长度和有效数据解析得到UDP数据帧中的当前值包括:
根据所述起始地址和数据长度,确定预设参数在有效数据中的目标地址;
将所述目标地址处的数据值赋值给所述UDP数据帧中的当前值。
本申请还提供一种兼容Modbus协议的BACnet协议栈的数据处理系统,所述系统包括上位机、BACnet协议栈、Modbus库以及机组,其中:所述上位机,用于对所述BACnet协议栈进行读写属性操作时,向互联网上发送一帧UDP数据帧;所述BACnet协议栈,用于接收所述UDP数据帧后,将所述UDP数据帧中的对象ID解析为Modbus数据帧中的设备地址和起始地址,并将所述UDP数据帧中的当前值解析为所述Modbus数据帧中的数据长度和有效数据;将解析后的信息发送至所述Modbus库;所述Modbus库,用于以Modbus数据帧的格式将解析后的信息发送至各个机组处。
进一步地,所述UDP数据帧中的对象ID包括参数偏移和设备偏移;相应地,所述BACnet协议栈包括:
ID转换单元,用于将所述对象ID中的参数偏移赋值给所述Modbus数据帧中的起始地址,并将所述对象ID中的设备偏移赋值给所述Modbus数据帧中的设备地址。
进一步地,所述BACnet协议栈还包括:
数据转换单元,用于将所述UDP数据帧中的当前值作为所述Modbus数据帧中的有效数据,并将所述UDP数据帧中的当前值所处数据的长度作为所述Modbus数据帧中的数据长度。
进一步地,所述Modbus库以Modbus数据帧的格式将解析后的信息发送至485总线上,以使得机组通过所述485总线接收并解析Modbus数据帧中携带的信息;相应地,所述机组还用于将所述上位机请求的信息以Modbus数据帧的格式发送到485总线;所述Modbus库还用于通过所述485总线接收所述Modbus数据帧,基于所述Modbus数据帧中的设备地址和起始地址,解析得到UDP数据帧的对象ID,并根据所述Modbus数据帧中的数据长度和有效数据解析得到UDP数据帧中的当前值;将解析得到的信息传给BACnet协议栈,以使得所述BACnet协议栈将所述解析得到的信息以UDP数据帧的格式发送到互联网上;所述上位机还用于通过网络设备从互联网中获取所述UDP数据帧。
由上可见,本申请通过BACnet协议栈对互联网中的UDP数据帧进行解析,可以将UDP数据帧中的对象ID和当前值分别解析为Modbus数据帧中的设备地址、起始地址、数据长度和有效数据,从而能够将BACnet数据帧转换为Modbus数据帧,从而使得机组能够解析出上位机发出的信息。此外,通过Modbus库对Modbus数据帧进行解析,可以将Modbus数据帧转换为BACnet数据帧,从而可以实现这两种协议之间的自由转换,消除了控制网络与Internet的互联之间存在的通信障碍。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本申请中Mobus协议与BACnet协议之间的转换架构图;
图2为本申请中数据转换的示意图;
图3为本申请中ID转换的示意图;
图4为本申请中数据转换的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都应当属于本申请保护的范围。
本申请提供一种兼容Modbus协议的BACnet协议栈的数据处理方法,所述方法包括:
S1:上位机对BACnet协议栈进行读写属性操作时,向互联网上发送一帧UDP数据帧;
S2:所述BACnet协议栈接收所述UDP数据帧后,将所述UDP数据帧中的对象ID解析为Modbus数据帧中的设备地址和起始地址,并将所述UDP数据帧中的当前值解析为所述Modbus数据帧中的数据长度和有效数据;
S3:所述BACnet协议栈将解析后的信息发送至Modbus库;
S4:所述Modbus库以Modbus数据帧的格式将解析后的信息发送至各个机组处。
其中,所述Modbus协议是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。所述BACnet协议(楼宇自动控制网络数据通讯协议,A Data Communication Protocol for Building Automation andControl Networks)是由美国暖通、空调和制冷工程师协会组织的标准项目委员会135P历经八年半时间开发的。
在本实施方式中,所述UDP(User Datagram Protocol,用户数据报协议)数据帧中的对象ID包括参数偏移和设备偏移;相应地,将所述UDP数据帧中的对象ID解析为Modbus数据帧中的设备地址和起始地址包括:
将所述对象ID中的参数偏移赋值给所述Modbus数据帧中的起始地址,并将所述对象ID中的设备偏移赋值给所述Modbus数据帧中的设备地址。
在本实施方式中,将所述UDP数据帧中的当前值解析为所述Modbus数据帧中的数据长度和有效数据包括:
将所述UDP数据帧中的当前值作为所述Modbus数据帧中的有效数据,并将所述UDP数据帧中的当前值所处数据的长度作为所述Modbus数据帧中的数据长度。
在本实施方式中,所述Modbus库以Modbus数据帧的格式将解析后的信息发送至各个机组处包括:所述Modbus库以Modbus数据帧的格式将解析后的信息发送至485总线上,以使得机组通过所述485总线接收并解析Modbus数据帧中携带的信息;相应地,所述方法还包括:所述机组将所述上位机请求的信息以Modbus数据帧的格式发送到485总线;所述Modbus库通过所述485总线接收所述Modbus数据帧,基于所述Modbus数据帧中的设备地址和起始地址,解析得到UDP数据帧的对象ID,并根据所述Modbus数据帧中的数据长度和有效数据解析得到UDP数据帧中的当前值;所述Modbus库将解析得到的信息传给BACnet协议栈,以使得所述BACnet协议栈将所述解析得到的信息以UDP数据帧的格式发送到互联网上;所述上位机通过网络设备从互联网中获取所述UDP数据帧。
在本实施方式中,基于所述Modbus数据帧中的设备地址和起始地址,解析得到UDP数据帧的对象ID包括:
将所述Modbus数据帧中的设备地址赋值给所述对象ID中的设备偏移,并将所述Modbus数据帧中的起始地址赋值给所述对象ID中的参数偏移;其中,所述对象ID中的设备类型、机型系列以及对象类型由使用Modbus协议的机组的机型预先约定。
在本实施方式中,根据所述Modbus数据帧中的数据长度和有效数据解析得到UDP数据帧中的当前值包括:
根据所述起始地址和数据长度,确定预设参数在有效数据中的目标地址;
将所述目标地址处的数据值赋值给所述UDP数据帧中的当前值。
具体地,Modbus协议数据请求帧主要由设备地址、功能码、起始地址、数据长度和CRC校验五部分组成,其中设备地址和起始地址主要用来标示参数地址,定位参数数据位置,功能码用于识别数据功能类型,数据长度指此次所要读取的数据长度。
Modbus协议数据响应帧主要由设备地址、功能码、字节个数、有效数据和CRC校验五部分组成,其中设备地址也是用来标示参数地址,定位参数数据,功能码用于识别数据功能类型,字节个数指有效数据的字节数,有效数据就是所读取的参数数据。
BACnet对象主要由对象ID(ObjectID)、当前值(PresentValue)、对象名称(ObjectName)等内容组成,其中PresentValue包含模拟数据、开关量、多态数据等多种数据类型得数据值,ObjectName由字符串组成,对象ID由32bits组成,可以分成参数偏移、设备偏移、设备类型、机型系列、对象类型五段。
请参阅图1至图4,上位机对BACnet协议栈进行读写属性操作,向互联网上发送一帧UDP数据帧,当BACnet协议栈通过各种网络设备接收到这一帧UDP数据后进行解析,通过数据转换逻辑处理算法将相关信息传给Modbus库,Modbus库以Modbus帧格式发送到485总线上,机组接收485总线数据,解析出相应的信息。
机组将上位机想要的信息以Modbus帧格式发送到485总线,Modbus库解析机组发送上来的Modbus帧,通过数据转换逻辑处理算法将相关信息传给BACnet协议栈,BACnet协议栈又将相关信息以UDP格式发送到互联网,UDP数据通过各种网络设备传回到上位机。
在本实施方式中,在进行ID转换时,Modbus帧中的设备地址和起始地址是用来标示参数地址,定位参数数据位置的,因此就得到了有效数据的机组编号和参数编号,而BACnet对象ID的参数偏移和设备偏移两段正好也是标示参数地址,定位参数数据位置的,故而,直接将Modbus帧中的设备地址和起始地址赋给BACnet对象ID的参数偏移和设备偏移。
在本实施方式中,BACnet对象ID的其他三段设备类型、机型系列、对象类型是针对使用Modbus协议的机组机型提前约定好的,因此参数偏移、设备偏移、设备类型、机型系列、对象类型五段组成BACnet对象ID值。
在本实施方式中,在进行数据转换时,通过ID转换算法得到了有效数据的起始位置,根据数据长度和参数偏移值即可定位某个参数在有效数据中的地址。将此地址中的数据值赋给PresentValue即可。
在本实施方式中,通过BACnet协议配置Modbus参数实施方案如下:
1、初始化以太网口,为上位机提供BACnet数据写入接口;
2、上位机通过BACnet IP协议写入Modbus配置参数(包含但不限于标准帧、波特率、采样点、极性等Modbus参数);
3、程序内部收到配置信息后,初始化485硬件接口;
4、控制器初始化完毕,通过485接口接收或等待BACnet IP数据指令;
在本实施方式中,通过BACnet协议写入Modbus数据实施方案如下:
1、上位机通过BACnet IP协议写入ID的数据(PresentValue、ObjectName、其它属性);
2、程序保存对象ID的ObjectName;
3、程序得到BACnet ID,通过ID转换算法解析得到Modbus设备地址和起始地址;
4、程序得到PresentValue,通过数据转换算法解析得到Modbus有效数据;
5、程序拼接Modbus设备地址、起始地址和DATA得到需要发送的Modbus数据报文;
6、程序将Modbus报文发送到485总线上;
在本实施方式中,通过BACnet协议读取485数据实施方案如下:
1、通过上述初始化后,485接口电路接收485总线数据(设备地址、起始地址和DATA);
2、程序通过ID转换算法解析Modbus设备地址和起始地址得到Object ID;
3、程序通过数据转换算法解析Modbus DATA得到PresentValue;
4、程序建立ObjectID、PresentValue、ObjectName及其它属性关系,得到一个BACnet对象;
5、程序通过下发的BACnet IP查询数据包得到ID值;
6、程序通过得到的ID值返回需要查询的数据。如:PresentValue、ObjectName及其它属性。
本申请还提供一种兼容Modbus协议的BACnet协议栈的数据处理系统,所述系统包括上位机、BACnet协议栈、Modbus库以及机组,其中:
所述上位机,用于对所述BACnet协议栈进行读写属性操作时,向互联网上发送一帧UDP数据帧;
所述BACnet协议栈,用于接收所述UDP数据帧后,将所述UDP数据帧中的对象ID解析为Modbus数据帧中的设备地址和起始地址,并将所述UDP数据帧中的当前值解析为所述Modbus数据帧中的数据长度和有效数据;将解析后的信息发送至所述Modbus库;
所述Modbus库,用于以Modbus数据帧的格式将解析后的信息发送至各个机组处。
在本实施方式中,所述UDP数据帧中的对象ID包括参数偏移和设备偏移;相应地,所述BACnet协议栈包括:
ID转换单元,用于将所述对象ID中的参数偏移赋值给所述Modbus数据帧中的起始地址,并将所述对象ID中的设备偏移赋值给所述Modbus数据帧中的设备地址。
在本实施方式中,所述BACnet协议栈还包括:
数据转换单元,用于将所述UDP数据帧中的当前值作为所述Modbus数据帧中的有效数据,并将所述UDP数据帧中的当前值所处数据的长度作为所述Modbus数据帧中的数据长度。
在本实施方式中,所述Modbus库以Modbus数据帧的格式将解析后的信息发送至485总线上,以使得机组通过所述485总线接收并解析Modbus数据帧中携带的信息;相应地,所述机组还用于将所述上位机请求的信息以Modbus数据帧的格式发送到485总线;所述Modbus库还用于通过所述485总线接收所述Modbus数据帧,基于所述Modbus数据帧中的设备地址和起始地址,解析得到UDP数据帧的对象ID,并根据所述Modbus数据帧中的数据长度和有效数据解析得到UDP数据帧中的当前值;将解析得到的信息传给BACnet协议栈,以使得所述BACnet协议栈将所述解析得到的信息以UDP数据帧的格式发送到互联网上;所述上位机还用于通过网络设备从互联网中获取所述UDP数据帧。
由上可见,本申请通过BACnet协议栈对互联网中的UDP数据帧进行解析,可以将UDP数据帧中的对象ID和当前值分别解析为Modbus数据帧中的设备地址、起始地址、数据长度和有效数据,从而能够将BACnet数据帧转换为Modbus数据帧,从而使得机组能够解析出上位机发出的信息。此外,通过Modbus库对Modbus数据帧进行解析,可以将Modbus数据帧转换为BACnet数据帧,从而可以实现这两种协议之间的自由转换,消除了控制网络与Internet的互联之间存在的通信障碍。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种兼容Modbus协议的BACnet协议栈的数据处理方法,其特征在于,所述方法包括:
上位机对BACnet协议栈进行读写属性操作时,向互联网上发送一帧UDP数据帧;
所述BACnet协议栈接收所述UDP数据帧后,将所述UDP数据帧中的对象ID解析为Modbus数据帧中的设备地址和起始地址,并将所述UDP数据帧中的当前值解析为所述Modbus数据帧中的数据长度和有效数据;
所述BACnet协议栈将解析后的信息发送至Modbus库;
所述Modbus库以Modbus数据帧的格式将解析后的信息发送至各个机组处。
2.根据权利要求1所述的方法,其特征在于,所述UDP数据帧中的对象ID包括参数偏移和设备偏移;相应地,将所述UDP数据帧中的对象ID解析为Modbus数据帧中的设备地址和起始地址包括:
将所述对象ID中的参数偏移赋值给所述Modbus数据帧中的起始地址,并将所述对象ID中的设备偏移赋值给所述Modbus数据帧中的设备地址。
3.根据权利要求2所述的方法,其特征在于,将所述UDP数据帧中的当前值解析为所述Modbus数据帧中的数据长度和有效数据包括:
将所述UDP数据帧中的当前值作为所述Modbus数据帧中的有效数据,并将所述UDP数据帧中的当前值所处数据的长度作为所述Modbus数据帧中的数据长度。
4.根据权利要求1所述的方法,其特征在于,所述Modbus库以Modbus数据帧的格式将解析后的信息发送至各个机组处包括:
所述Modbus库以Modbus数据帧的格式将解析后的信息发送至485总线上,以使得机组通过所述485总线接收并解析Modbus数据帧中携带的信息;
相应地,所述方法还包括:
所述机组将所述上位机请求的信息以Modbus数据帧的格式发送到485总线;
所述Modbus库通过所述485总线接收所述Modbus数据帧,基于所述Modbus数据帧中的设备地址和起始地址,解析得到UDP数据帧的对象ID,并根据所述Modbus数据帧中的数据长度和有效数据解析得到UDP数据帧中的当前值;
所述Modbus库将解析得到的信息传给BACnet协议栈,以使得所述BACnet协议栈将所述解析得到的信息以UDP数据帧的格式发送到互联网上;
所述上位机通过网络设备从互联网中获取所述UDP数据帧。
5.根据权利要求4所述的方法,其特征在于,基于所述Modbus数据帧中的设备地址和起始地址,解析得到UDP数据帧的对象ID包括:
将所述Modbus数据帧中的设备地址赋值给所述对象ID中的设备偏移,并将所述Modbus数据帧中的起始地址赋值给所述对象ID中的参数偏移;其中,所述对象ID中的设备类型、机型系列以及对象类型由使用Modbus协议的机组的机型预先约定。
6.根据权利要求4所述的方法,其特征在于,根据所述Modbus数据帧中的数据长度和有效数据解析得到UDP数据帧中的当前值包括:
根据所述起始地址和数据长度,确定预设参数在有效数据中的目标地址;
将所述目标地址处的数据值赋值给所述UDP数据帧中的当前值。
7.一种兼容Modbus协议的BACnet协议栈的数据处理系统,其特征在于,所述系统包括上位机、BACnet协议栈、Modbus库以及机组,其中:
所述上位机,用于对所述BACnet协议栈进行读写属性操作时,向互联网上发送一帧UDP数据帧;
所述BACnet协议栈,用于接收所述UDP数据帧后,将所述UDP数据帧中的对象ID解析为Modbus数据帧中的设备地址和起始地址,并将所述UDP数据帧中的当前值解析为所述Modbus数据帧中的数据长度和有效数据;将解析后的信息发送至所述Modbus库;
所述Modbus库,用于以Modbus数据帧的格式将解析后的信息发送至各个机组处。
8.根据权利要求7所述的系统,其特征在于,所述UDP数据帧中的对象ID包括参数偏移和设备偏移;相应地,所述BACnet协议栈包括:
ID转换单元,用于将所述对象ID中的参数偏移赋值给所述Modbus数据帧中的起始地址,并将所述对象ID中的设备偏移赋值给所述Modbus数据帧中的设备地址。
9.根据权利要求8所述的系统,其特征在于,所述BACnet协议栈还包括:
数据转换单元,用于将所述UDP数据帧中的当前值作为所述Modbus数据帧中的有效数据,并将所述UDP数据帧中的当前值所处数据的长度作为所述Modbus数据帧中的数据长度。
10.根据权利要求7所述的系统,其特征在于,所述Modbus库以Modbus数据帧的格式将解析后的信息发送至485总线上,以使得机组通过所述485总线接收并解析Modbus数据帧中携带的信息;
相应地,所述机组还用于将所述上位机请求的信息以Modbus数据帧的格式发送到485总线;
所述Modbus库还用于通过所述485总线接收所述Modbus数据帧,基于所述Modbus数据帧中的设备地址和起始地址,解析得到UDP数据帧的对象ID,并根据所述Modbus数据帧中的数据长度和有效数据解析得到UDP数据帧中的当前值;将解析得到的信息传给BACnet协议栈,以使得所述BACnet协议栈将所述解析得到的信息以UDP数据帧的格式发送到互联网上;
所述上位机还用于通过网络设备从互联网中获取所述UDP数据帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710250341.8A CN107222458A (zh) | 2017-04-17 | 2017-04-17 | 一种兼容Modbus协议的BACnet协议栈的数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710250341.8A CN107222458A (zh) | 2017-04-17 | 2017-04-17 | 一种兼容Modbus协议的BACnet协议栈的数据处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107222458A true CN107222458A (zh) | 2017-09-29 |
Family
ID=59927897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710250341.8A Pending CN107222458A (zh) | 2017-04-17 | 2017-04-17 | 一种兼容Modbus协议的BACnet协议栈的数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107222458A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021444A (zh) * | 2017-11-06 | 2018-05-11 | 珠海格力智能装备有限公司 | 数据处理方法和装置 |
CN109474614A (zh) * | 2018-12-11 | 2019-03-15 | 广州市吉华勘测股份有限公司 | 一种多协议的解析方法及系统 |
CN110099033A (zh) * | 2018-01-30 | 2019-08-06 | 上海融聂电子科技有限公司 | 一种下位机架构及canfd总线数据库的硬件实时查询方法 |
CN111130971A (zh) * | 2019-12-31 | 2020-05-08 | 苏州数言信息技术有限公司 | 在Modbus RTU网络实现动态分组通信的方法 |
CN111800524A (zh) * | 2020-07-10 | 2020-10-20 | 河北科瑞达仪器科技股份有限公司 | Modbus报文中多路数据原地址的解析方法 |
CN112084127A (zh) * | 2020-08-24 | 2020-12-15 | 珠海格力电器股份有限公司 | 分布式控制器及分布式自控系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201689338U (zh) * | 2010-05-24 | 2010-12-29 | 北京和欣运达科技有限公司 | 具有Modbus通讯接口的BACnet现场控制器 |
CN102045334A (zh) * | 2010-09-27 | 2011-05-04 | 北京泰豪智能工程有限公司 | 协议转换方法和装置 |
CN102055767A (zh) * | 2010-12-31 | 2011-05-11 | 杭州依赛通信有限公司 | 一种用于通信设备管理系统的多属性传输协议 |
CN102438017A (zh) * | 2011-12-14 | 2012-05-02 | 北京联合大学生物化学工程学院 | 基于路由功能的Modbus和BACnet Ethernet协议转化装置及转化方法 |
US20150106447A1 (en) * | 2013-10-14 | 2015-04-16 | Edward Hague | Modular system and method for communicating information between different protocols on a control network |
CN105573300A (zh) * | 2016-01-29 | 2016-05-11 | 广州能迪能源科技股份有限公司 | 一种基于物联网的数据采集复制系统及其控制方法 |
-
2017
- 2017-04-17 CN CN201710250341.8A patent/CN107222458A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201689338U (zh) * | 2010-05-24 | 2010-12-29 | 北京和欣运达科技有限公司 | 具有Modbus通讯接口的BACnet现场控制器 |
CN102045334A (zh) * | 2010-09-27 | 2011-05-04 | 北京泰豪智能工程有限公司 | 协议转换方法和装置 |
CN102055767A (zh) * | 2010-12-31 | 2011-05-11 | 杭州依赛通信有限公司 | 一种用于通信设备管理系统的多属性传输协议 |
CN102438017A (zh) * | 2011-12-14 | 2012-05-02 | 北京联合大学生物化学工程学院 | 基于路由功能的Modbus和BACnet Ethernet协议转化装置及转化方法 |
US20150106447A1 (en) * | 2013-10-14 | 2015-04-16 | Edward Hague | Modular system and method for communicating information between different protocols on a control network |
CN105573300A (zh) * | 2016-01-29 | 2016-05-11 | 广州能迪能源科技股份有限公司 | 一种基于物联网的数据采集复制系统及其控制方法 |
Non-Patent Citations (1)
Title |
---|
李春旺等: ""基于路由功能的BACnet/Modbus协议转换器设计"", 《郑州大学学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021444A (zh) * | 2017-11-06 | 2018-05-11 | 珠海格力智能装备有限公司 | 数据处理方法和装置 |
CN108021444B (zh) * | 2017-11-06 | 2022-04-05 | 珠海格力智能装备有限公司 | 数据处理方法和装置 |
CN110099033A (zh) * | 2018-01-30 | 2019-08-06 | 上海融聂电子科技有限公司 | 一种下位机架构及canfd总线数据库的硬件实时查询方法 |
CN109474614A (zh) * | 2018-12-11 | 2019-03-15 | 广州市吉华勘测股份有限公司 | 一种多协议的解析方法及系统 |
CN109474614B (zh) * | 2018-12-11 | 2020-10-27 | 广州市吉华勘测股份有限公司 | 一种多协议的解析方法及系统 |
CN111130971A (zh) * | 2019-12-31 | 2020-05-08 | 苏州数言信息技术有限公司 | 在Modbus RTU网络实现动态分组通信的方法 |
CN111800524A (zh) * | 2020-07-10 | 2020-10-20 | 河北科瑞达仪器科技股份有限公司 | Modbus报文中多路数据原地址的解析方法 |
CN111800524B (zh) * | 2020-07-10 | 2022-10-14 | 河北科瑞达仪器科技股份有限公司 | Modbus报文中多路数据原地址的解析方法 |
CN112084127A (zh) * | 2020-08-24 | 2020-12-15 | 珠海格力电器股份有限公司 | 分布式控制器及分布式自控系统 |
CN112084127B (zh) * | 2020-08-24 | 2022-04-22 | 珠海格力电器股份有限公司 | 分布式控制器及分布式自控系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107222458A (zh) | 一种兼容Modbus协议的BACnet协议栈的数据处理方法及系统 | |
US6799220B1 (en) | Tunneling management messages over a channel architecture network | |
US8990444B2 (en) | Fieldbus gateway using virtual serial fieldbus port and data transmission method thereof | |
CN104618194B (zh) | 软件定义网络报文监控方法和sdn控制器、交换设备 | |
TWI356618B (en) | System and method with extended address space capa | |
CN105723674B (zh) | 用于在网络控制协议中动态地绑定头字段标识符的方法 | |
US20040030763A1 (en) | Method for implementing vendor-specific mangement in an inifiniband device | |
CN108847979A (zh) | 一种基于scada的自适应组态系统及方法 | |
CN107124421A (zh) | 基于多协议的通信方法、多协议网关设备及可存储介质 | |
CN100370788C (zh) | 在网络环境仿真中采用虚拟网卡实现数据通信的方法 | |
CN105162674A (zh) | 一种物理机访问虚拟网络的方法及网卡 | |
CN110177013A (zh) | 一种基于FPGA的EtherCAT主从站设计与实现方法 | |
US20150163072A1 (en) | Virtual Port Extender | |
CN101820355B (zh) | 一种获取网络拓扑的方法和网元 | |
CN104243427A (zh) | 虚拟机在线迁移方法、数据包传输方法和设备 | |
CN102438017B (zh) | 基于路由功能的Modbus和BACnet Ethernet协议转化装置及转化方法 | |
CN107168161A (zh) | 基于ROS系统的EtherCAT主从站通信系统 | |
CN104202398A (zh) | 远程控制的方法、装置及系统 | |
Knezic et al. | Increasing EtherCAT performance using frame size optimization algorithm | |
CN102255800A (zh) | Can总线上ip数据包和can消息之间数据格式相互转换的方法 | |
CN104683209B (zh) | 一种EtherCAT网络主站之间的耦合设备及EtherCAT网络耦合系统 | |
CN108512737B (zh) | 一种数据中心ip层互联的方法和sdn控制器 | |
CN106657377B (zh) | 一种wia-pa/全互联制造网络信息服务适配器及实现方法 | |
CN110213385A (zh) | 一种工业设备Modbus串行通信的方法 | |
CN105471692B (zh) | 一种网络互通的方法及设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170929 |