一种基于多Modbus总线协议的OpenAPI转换系统及方法技术方案

技术编号:21691343 阅读:85 留言:0更新日期:2019-07-24 16:09
本发明专利技术公开了一种基于多Modbus总线协议的OpenAPI转换系统及方法,采用各个模块独立处理机制,通过串口通信、TCP通信和数据接入模块在多种总线类型Modbus协议下与厂商设备建立连接状态;通过数据转换模块实现厂商数据和上层应用系统数据的转换,使得第三方系统对接时无需再次开发进行数据转化;通过自定义数据类型编码适配厂商不同端存储模式;通过Modbus协议解析模块实时监测与厂商设备的连接状态,出现连接故障时能自动重新建立连接;本发明专利技术通过配置实现适配Modbus标准协议作统一化部署,能同时支持多个Modbus TCP/IP总线设备和多个Modbus串行总线设备,最大化减少甚至避免二次开发;而且数据采集统一上报,保持数据一致性;通过有效过滤上报数据,减少上层应用系统数据处理的压力。

OpenAPI Conversion System and Method Based on Multi-Modbus Bus Protocol

【技术实现步骤摘要】
一种基于多Modbus总线协议的OpenAPI转换系统及方法
本专利技术属于智能建筑
,更具体地,涉及一种基于多Modbus总线协议的OpenAPI转换系统及方法。
技术介绍
建筑智能化及工业控制现场存在着大量的设备控制及数据采集装置,比如照明控制器、门禁控制器、消防控制器、智能电表采集器、智能水表采集器、环境监测数据采集器,这类设备一般都支持Modbus协议。Modbus作为智能建筑及工业控制领域最主流的通信协议之一,具有标准、开放,应用广泛,支持多种类型电气接口的显著优点。针对Modbus设备管理、控制和数据采集,现有技术的做法是各应用系统独立开发适配对接。由于各个系统独立控制及轮询Modbus设备,增大了Modbus协议设备运行负荷,设备采集效率低下,设备数据在不同应用系统中一致性极差;同时又由于Modbus未定义数据存储模式,有的厂家采用大端存储,有的厂家采用小端存储,增加了适配的难度。而在智能建筑领域互联网应用方面,由于设备数量较多、总线类型种类多、配置管理繁琐、设备管理复杂,因此Modbus协议适配开发周期长,将大大降低上层应用的开发效率,增加开发成本。
技术实现思路
针对现有技术的以上缺陷或改进需求中的至少一点,本专利技术提供了一种基于多Modbus总线协议的OpenAPI转换系统及方法,目的在于减少设备运行负荷、提高设备采集效率、保证各系统应用数据一致性,并以OpenAPI形式对第三方提供接口,降低第三方系统与底层Modbus协议设备对接的成本。为实现上述目的,按照本专利技术的一个方面,提供了一种基于多Modbus总线协议的OpenAPI转换系统,包括Modbus协议解析模块、数据类型处理模块、数据接入模块、数据转换模块、OpenAPI服务模块、配置解析模块以及配置预制模块;其中,Modbus协议解析模块的第一端用作串口通信端,第二端用作TCP通信端,第三端连接数据类型处理模块,第四端连接数据接入模块的第一端;数据接入模块的第二端连接OpenAPI服务模块的第一端,第三端连接数据转换模块;OpenAPI服务模块的第二端连接配置解析模块的第二端,配置解析模块的第一端与配置预制模块的一端连接;OpenAPI服务模块的第三端用于连接一个或多个上层应用系统;配置预制模块用于根据厂商Modbus服务器配置、厂商Modbus数据类型配置、厂商Modbus服务器数据点配置、厂商数值与应用系统数值转换配置、Modbus采样频率配置、Modbus数据上报精度配置生成相应配置文件;配置解析模块用于加载并解析配置文件,将解析所得的配置信息实例化到对象结构变量中;OpenAPI服务模块用于缓存配置解析模块从配置文件中获取的配置信息,并将配置信息下发给数据接入模块;还用于接收上层应用系统的数据订阅,将数据接入模块推送的订阅消息反馈给上层应用系统;还用于接收上层应用系统的设备控制命令,并将控制命令下发给数据接入模块;在优选实施例中,OpenAPI服务模块与上层应用系统基于HTTP协议、JSON数据格式或UTF8编码方式通信;数据接入模块用于接收OpenAPI服务模块下发的配置信息,并在Modbus协议解析模块的控制下与外部厂商设备建立串口通信连接和TCP通信连接;接收OpenAPI服务模块下发的控制命令,通过数据转换模块将设备属性设置值转换为厂商数据格式的设备属性值,并下发给Modbus协议解析模块;数据接入模块还用于接收Modbus协议解析模块反馈的厂商数据发送到数据转换模块转换成应用系统数据,并将应用系统数据反馈给OpenAPI服务模块;Modbus协议解析模块用于控制数据接入模块与厂商设备建立或断开连接;并用于从数据接入模块传输的厂商设备数据中提取出设备属性的Modbus地址码、寄存器类型、寄存器起始地址、数据类型编码并进行解析;得到设备反馈数据进行解析,将解析后的数据反馈给数据接入模块;数据类型处理模块用于对Modbus协议解析模块接收的设备数据的Modbus数据点进行配置,包括对Modbus识别码、寄存器类型、寄存器起始地址、数据类型进行配置;在进一步的优选方案中,对数据类型的配置包括数据类型编码、类型名称、大小端模式、数据类型描述;数据转换模块用于实现上层应用系统数据与设备厂商数据之间的格式转换;将通过数据接入模块获取的厂商设备数据转换为上层应用系统数据并通过数据接入模块和OpenAPI服务模块上报给上层应用系统。优选的,上述的OpenAPI转换系统,其厂商Modbus服务器配置包括ModBus服务器名称,服务器连接配置;服务器连接配置包括ModbusTCP/IP服务器IP地址、端口地址或ModBusRTU/ASCII服务器串口号、波特率、奇偶校验、数据位、停止位;厂商Modbus服务器数据点配置包括数据点名称、所属ModBus服务器名称、寄存器类型、寄存器起始地址、数据类型编码、转换公式编码、采集频率编码、上报精度编码;厂商Modbus数据类型配置码表、厂商数值与应用系统数值转换配置码表、Modbus数据采集频率码表、Modbus数据上报精度码表、厂商Modbus服务器数据点配置表;当Modbus服务器为ModbusTCP/IP服务器时,Modbus识别码表示为MBAP报文头单元标识符,当Modbus服务器为ModbusRTU/ASCII服务器时,Modbus识别码表示为子节点地址;数据类型编码用于实现不同数据类型之间的转换;转换公式编码包括多个数据转换编码,不同的数据转换编码代表不同的转换公式;根据转换公式实现厂商设备数值与上层应用系统数据格式的转换。优选的,上述的OpenAPI转换系统,还包括与OpenAPI服务模块第四端连接的订阅管理模块;订阅管理模块用于实现对上层应用系统订阅变量及订阅URL进行管理;OpenAPI服务模块接收数据接入模块的数据推送后,将数据推送给订阅管理模块,订阅管理模块反馈需要发送的上层应用系统订阅URL信息给OpenAPI服务模块。优选的,上述的OpenAPI转换系统,还包括与数据接入模块的第四端连接的分时数据采集模块;分时数据采集模块用于实现对Modbus设备数据点属性进行分时轮询采集,按照配置的采集频率,在定时器的控制逻辑下,传递采集命令给数据接入模块。优选的,上述的OpenAPI转换系统,还包括TCP通信模块、串口通信模块;其中,TCP通信模块的第一端用于连接外部厂商设备的ModbusTCP/IP服务器,第二端与Modbus协议解析模块的串口通信接口端相连;串口通信模块的第一端用于连接外部厂商的ModbusRTU服务器,第二端与Modbus协议解析模块的TCP通信接口相连;TCP通信模块用于与多厂商ModbusTCP/IP服务器建立TCP客户端连接;接收Modbus协议解析模块下发的指令数据,并找到已建立的TCP客户端连接将指令数据转发给相应的ModbusTCP/IP服务器;接收厂商服务器发送的数据并转发给Modbus协议解析模块;支持TCP连接异常中断后的自动重连;串口通信模块用于与多厂商ModbusRTU/ASCII服务器建立串口通信连接;接收Modbus协议解析模块下发的指令数据,并找到已建立的串口通信连接将指令数据转发给相应的串口服务器;接收厂商服务器本文档来自技高网...

【技术保护点】
1.一种基于多Modbus总线协议的OpenAPI转换系统,其特征在于,包括Modbus协议解析模块、数据类型处理模块、数据接入模块、数据转换模块、OpenAPI服务模块、配置解析模块以及配置预制模块;所述Modbus协议解析模块的第一端用作串口通信端,第二端用作TCP通信端,第三端连接数据类型处理模块,第四端连接数据接入模块的第一端;数据接入模块的第二端连接OpenAPI服务模块的第一端,第三端连接数据转换模块;OpenAPI服务模块的第二端连接配置解析模块的第二端,配置解析模块的第一端与配置预制模块的一端连接;OpenAPI服务模块的第三端用于连接一个或多个上层应用系统;所述配置预制模块用于根据厂商Modbus服务器配置、厂商Modbus数据类型配置、厂商Modbus服务器数据点配置、厂商数值与应用系统数值转换配置、Modbus采样频率配置、Modbus数据上报精度配置生成配置文件;所述配置解析模块用于加载并解析配置文件,将解析所得的配置信息实例化到对象结构变量中;所述OpenAPI服务模块用于缓存配置解析模块从配置文件中获取的配置信息,并将配置信息下发给数据接入模块;还用于接收上层应用系统的数据订阅,将数据接入模块推送的订阅消息反馈给上层应用系统;还用于接收上层应用系统的设备控制命令,并将控制命令下发给数据接入模块;所述数据接入模块用于接收OpenAPI服务模块下发的配置信息,并在Modbus协议解析模块的控制下与外部厂商设备建立串口通信连接和TCP通信连接;接收OpenAPI服务模块下发的控制命令,通过数据转换模块将设备属性设置值转换为厂商数据格式的设备属性值,并下发给Modbus协议解析模块;数据接入模块还用于接收Modbus协议解析模块反馈的厂商数据发送到数据转换模块转换成应用系统数据,并将应用系统数据反馈给OpenAPI服务模块;所述Modbus协议解析模块用于控制数据接入模块与厂商设备建立或断开连接;并用于从数据接入模块传输的厂商设备数据中提取出设备属性的Modbus地址码、寄存器类型、寄存器起始地址、数据类型编码并进行解析;得到设备反馈数据进行解析,将解析后的数据反馈给数据接入模块;所述数据类型处理模块用于对Modbus协议解析模块接收的设备数据的Modbus数据点进行配置,包括对Modbus识别码、寄存器类型、寄存器起始地址、数据类型进行配置;所述数据转换模块用于实现上层应用系统数据与设备厂商数据之间的格式转换;将通过数据接入模块获取的厂商设备数据转换为上层应用系统数据并通过数据接入模块和OpenAPI服务模块上报给上层应用系统;所述数据类型处理模块用于对Modbus协议解析模块接收的设备数据的Modbus数据点进行配置。...

【技术特征摘要】
1.一种基于多Modbus总线协议的OpenAPI转换系统,其特征在于,包括Modbus协议解析模块、数据类型处理模块、数据接入模块、数据转换模块、OpenAPI服务模块、配置解析模块以及配置预制模块;所述Modbus协议解析模块的第一端用作串口通信端,第二端用作TCP通信端,第三端连接数据类型处理模块,第四端连接数据接入模块的第一端;数据接入模块的第二端连接OpenAPI服务模块的第一端,第三端连接数据转换模块;OpenAPI服务模块的第二端连接配置解析模块的第二端,配置解析模块的第一端与配置预制模块的一端连接;OpenAPI服务模块的第三端用于连接一个或多个上层应用系统;所述配置预制模块用于根据厂商Modbus服务器配置、厂商Modbus数据类型配置、厂商Modbus服务器数据点配置、厂商数值与应用系统数值转换配置、Modbus采样频率配置、Modbus数据上报精度配置生成配置文件;所述配置解析模块用于加载并解析配置文件,将解析所得的配置信息实例化到对象结构变量中;所述OpenAPI服务模块用于缓存配置解析模块从配置文件中获取的配置信息,并将配置信息下发给数据接入模块;还用于接收上层应用系统的数据订阅,将数据接入模块推送的订阅消息反馈给上层应用系统;还用于接收上层应用系统的设备控制命令,并将控制命令下发给数据接入模块;所述数据接入模块用于接收OpenAPI服务模块下发的配置信息,并在Modbus协议解析模块的控制下与外部厂商设备建立串口通信连接和TCP通信连接;接收OpenAPI服务模块下发的控制命令,通过数据转换模块将设备属性设置值转换为厂商数据格式的设备属性值,并下发给Modbus协议解析模块;数据接入模块还用于接收Modbus协议解析模块反馈的厂商数据发送到数据转换模块转换成应用系统数据,并将应用系统数据反馈给OpenAPI服务模块;所述Modbus协议解析模块用于控制数据接入模块与厂商设备建立或断开连接;并用于从数据接入模块传输的厂商设备数据中提取出设备属性的Modbus地址码、寄存器类型、寄存器起始地址、数据类型编码并进行解析;得到设备反馈数据进行解析,将解析后的数据反馈给数据接入模块;所述数据类型处理模块用于对Modbus协议解析模块接收的设备数据的Modbus数据点进行配置,包括对Modbus识别码、寄存器类型、寄存器起始地址、数据类型进行配置;所述数据转换模块用于实现上层应用系统数据与设备厂商数据之间的格式转换;将通过数据接入模块获取的厂商设备数据转换为上层应用系统数据并通过数据接入模块和OpenAPI服务模块上报给上层应用系统;所述数据类型处理模块用于对Modbus协议解析模块接收的设备数据的Modbus数据点进行配置。2.如权利要求1所述的OpenAPI转换系统,其特征在于,还包括与OpenAPI服务模块第四端连接的订阅管理模块;所述订阅管理模块用于对上层应用系统订阅变量及订阅URL进行管理;OpenAPI服务模块接收数据接入模块的数据推送后,将数据推送给订阅管理模块,订阅管理模块反馈需要发送的上层应用系统订阅URL信息给OpenAPI服务模块。3.如权利要求1或2所述的OpenAPI转换系统,其特征在于,还包括与数据接入模块的第四端连接的分时数据采集模块;所述分时数据采集模块用于实现对Modbus设备数据点属性进行分时轮询采集,按照配置的采集频率,在定时器的控制逻辑下,传递采集命令给数据接入模块。4.如权利要求1或2所述的OpenAPI转换系统,其特征在于,还包括TCP通信模块和/或串口通信模块;所述TCP通信模块的第一端用于连接外部厂商设备的ModbusTCP/IP服务器,第二端与Modbus协议解析模块的串口通信接口端相连;串口通信模块的第一端用于连接外部厂商的ModbusRTU服务器,第二端与Modbus协议解析模块的TCP通信接口相连;TCP通信模块用于与多厂商ModbusTCP/IP服务器建立TCP客户端连接;接收Modbus协议解析模块下发的指令数据,并找到已建立的TCP客户端连接将指令数据转发给相应的ModbusTCP/IP服务器;接收厂商服务器发送的数据并转发给Modbus协议解析模块;支持TCP连接异常中断后的自动重连;串口通信模块用于与多厂商ModbusRTU/ASCII服务器建立串口通信连接;接收Modbus协议解析模块下发的指令数据,并...

【专利技术属性】
技术研发人员:赵桥郑晓龙黄晓艳李志刚陈雪萍
申请(专利权)人:武汉虹信技术服务有限责任公司
类型:发明
国别省市:湖北,42

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

1