一种多Modbus口的BACnet网关及其通讯方法与流程

文档序号:26275161发布日期:2021-08-13 19:30阅读:248来源:国知局
一种多Modbus口的BACnet网关及其通讯方法与流程
本发明涉及网关
技术领域
,具体为一种多modbus口的bacnet网关及其通讯方法。
背景技术
:在主流的楼宇自控系统设计中,一般主系统采用bacnetmstp总线或bacnetip网络。而末端设备如各种水、电、气表、电梯、风机盘管控制器等等很多采用较为简单的modbusrtu通讯协议,因此采用modbus转bacnet的网关将末端设备的数据转换成bacnet变量,集成到管理软件平台。目前的网关都较为简单,一个modbus主口加上一个bacnet接口(bacnetmstp或bacnetip),用于向上传递数据和向下发送设置命令,此类网关称之为基本类网关。实际工程中往往待集成的modbus设备较多,且通讯参数(波特率、校验位、停止位)的不同,因此需要多个modbus数据口。此外经常需要modbus从口,以便接入本地触摸屏或dtu(用于无线远传)。因此基本类网关难以满足应用需求。技术实现要素:本发明的目的在于提供一种多modbus口的bacnet网关及其通讯方法,以解决上述
背景技术
中提出的问题。为了解决上述技术问题,本发明提供如下技术方案:一种多modbus口的bacnet网关,该bacnet网关包括mcu、电源转换电路,所述mcu包括多个串口,每个串口均连接485接口电路,可以通过软件将每1个串口任意配置成modbus主口或从口。除上述串口之外,所述mcu还有一个bacnet数据口,所述bacnet数据口可以是一个基于rs-485物理层的bacnetmstp接口,或者是一个基于以太网物理层的bacnetip接口,每个所述485接口电路均带光电隔离。一种多modbus口的bacnet通讯方法,该通讯方法包括modbus主口的映射,将从modbus总线上读到的设备寄存器按照指定的配置映射成av/bv值。比如av/bv:0~499用于主口1,av/bv:500~999用于主口2。该通讯方法还包括modbus从口的映射,将bacnetav和bv变量映射成modbus寄存器。所有的modbus从口通常采用统一的映射规则和通讯参数,也不排除可以配置指定不同的通讯参数。该通讯方法还包括配置文件,所述配置文件的数据结构包括设备库描述和工程配置,所述设备库描述是对modbus从设备进行归类抽象,包含一系列设备类型的描述;所述工程配置是对设备库中的设备进行实例化描述,所述设备实例化即为绑定设备的modbus地址和串口id。所述设备库描述包括设备库总体描述n,设备1描述,设备2描述,……,设备n描述;设备库总体描述n表示总共有n个设备描述,分别为设备1描述,设备2描述,……,设备n描述。所述设备1描述,设备2描述,……,设备n描述中的任意一个设备描述均包括设备基本定义和映射描述总和;所述设备基本定义包括设备名称,设备说明,设备通讯参数,查询等待时间,映射个数n;映射个数n表示映射描述总和总共包括n个映射描述,如第1映射描述,第2映射描述,……,第n映射描述。所述设备通讯参数包括波特率、数据位、校验位、停止位;所述映射描述总和包括第1映射描述,第2映射描述,……,第n映射描述。所述第1映射描述,第2映射描述,……,第n映射描述中的任意一项映射描述均包括寄存器起始地址,寄存器个数,数据转换类型,第1运算符,第1运算数,第2运算符,第2运算数。数据转换类型表示modbus的inputregister/holdingregister寄存器如何解析,其中包括:a)按位拆分,即映射为16个bv;b)2字节无符号整型,即映射为0~65535区间的整数;c)2字节有符号整型,即映射为-32767~32767区间的整数;d)浮点数,即连续2个寄存器共4个字节映射为ieee标准格式的浮点数,有4中字节顺序;e)bcd码;f)4字节无符号整型;g)4字节有符号整型;……。所述映射描述还包括将modbus寄存器映射bacnetav值,如下具体步骤:1)读取modbus寄存器,所述modbus寄存器为从modbus总线上读到的设备寄存器;2)对modbus寄存器中的数据进行类型转换;3)第1运算对转换后的数据进行运算;4)第2运算对步骤3)运算后的数据进行再次运算,并得出av值;其中,第1运算包括第1运算符和第1运算数,第2运算包括第2运算符和第2运算数。所述工程配置依次对每个modbus串口进行描述,所述modbus串口描述包含主口/从口,当所述modbus串口为从口时,只需要指定通讯参数,所述通讯参数包括波特率,数据位,校验位,停止位。当所述modbus串口为主口时,则包含如下内容:串口id,modbus串口类型:主口,设备段数m,第1设备段描述,第2设备段描述,……,第m设备段描述;设备段m表示总共有m个设备段描述,分别为第1设备段描述,第2设备段描述,……,第m设备段描述。所述设备段为地址连续的同一类型的集合,设备段的描述包括3项:{起始地址,设备个数,设备id}。可以看出,可以任意配置任一modbus串口为主口或从口,可以为主口配置任意寄存器类型的设备,可以为从口指定任意通讯参数,通讯参数包括波特率、数据位、验位、停止位。所述的文件下载和参数设置在bacnet管理软件上通过bacnet接口上设置或下载,常见的bacnet软件上有丰富文件上载、下载、参数设置的功能,无需为网关单独开发,直接使用即可。与现有技术相比,本发明所达到的有益效果是:1、多modbus主口数据采集,汇集到一个数据区,克服了数据分散、孤立的缺点,提高数据处理效率;2、多modbus从口,使得该数据网关可以通过多个管道向外部设备或软件平台提供数据;3、通过配置文件灵活配置主口和从口,适用于各种应用需求,最大限度地减少产品型号,降低生产成本。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:图1是本发明的2主口+2从口转bacnetmstp的硬件结构示意图;图2是本发明的2主口+2从口转bacnetip网关的硬件结构示意图;图3是本发明的modbus主口及变量区划分;图4是本发明的bacnet变量区对modbus从口的映射示意图;图5是本发明的配置文件的整体结构示意图;图6是本发明的设备库及设备描述的数据结构示意图;图7是本发明的映射描述的数据结构示意图;图8是本发明的modbus寄存器映射bacnetav值的计算结构图;图9是本发明的工程配置结构;图10是本发明的modbus主口配置结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参阅图1-2,本发明提供技术方案:一种多modbus口的bacnet网关,该bacnet网关包括mcu、电源转换电路,所述电源转换电路与mcu电性连接,所述mcu包括多个串口,每个串口均连接485接口电路,可以通过软件将每1个串口任意配置成modbus主口或从口,除上述串口之外,所述mcu还有一个bacnet数据口,所述bacnet数据口可以是一个基于rs-485物理层的bacnetmstp接口,或者是一个基于以太网物理层的bacnetip接口,每个所述485接口电路均带光电隔离。请参阅图3-10,一种多modbus口的bacnet通讯方法,该通讯方法包括modbus主口的映射,将从modbus总线上读到的设备寄存器按照指定的配置映射成av/bv值。比如av/bv:0~499用于主口1,av/bv:500~999用于主口2。该通讯方法还包括modbus从口的映射,将bacnetav和bv变量映射成modbus寄存器。所有的modbus从口通常采用统一的映射规则和通讯参数,也不排除可以配置指定不同的通讯参数。该通讯方法还包括配置文件,所述配置文件的数据结构包括设备库描述和工程配置,所述设备库描述是对modbus从设备进行归类抽象,包含一系列设备类型的描述;所述工程配置是对设备库中的设备进行实例化描述,所述设备实例化即为绑定设备的modbus地址和串口id。所述设备库描述包括设备库总体描述n,设备1描述,设备2描述,……,设备n描述;所述设备1描述,设备2描述,……,设备n描述中的任意一个设备描述均包括设备基本定义和映射描述总和;所述设备基本定义包括设备名称,设备说明,设备通讯参数,查询等待时间,映射个数n;所述设备通讯参数包括波特率、数据位、校验位、停止位;所述映射描述总和包括第1映射描述,第2映射描述,……,第n映射描述。所述第1映射描述,第2映射描述,……,第n映射描述中的任意一项映射描述均包括寄存器起始地址,寄存器个数,数据转换类型,第1运算符,第1运算数,第2运算符,第2运算数。其中,数据转换类型表示modbus的inputregister/holdingregister寄存器如何解析,包括:a)按位拆分,即映射为16个bv;b)2字节无符号整型,即映射为0~65535区间的整数;c)2字节有符号整型,即映射为-32767~32767区间的整数;d)浮点数,即连续2个寄存器共4个字节映射为ieee标准格式的浮点数,有4中字节顺序;e)bcd码;f)4字节无符号整型;g)4字节有符号整型;……。映射描述还包括将modbus寄存器映射bacnetav值,如下具体步骤:1)读取modbus寄存器,所述modbus寄存器为从modbus总线上读到的设备寄存器;2)对modbus寄存器中的数据进行类型转换;3)第1运算对转换后的数据进行运算;4)第2运算对步骤3)运算后的数据进行再次运算,并得出av值;其中,第1运算包括第1运算符和第1运算数,第2运算包括第2运算符和第2运算数。所述工程配置依次对每个modbus串口进行描述,所述modbus串口描述包含主口/从口,当所述modbus串口为从口时,只需要指定通讯参数,所述通讯参数包括波特率,数据位,校验位,停止位。当所述modbus串口为主口时,则包含如下内容:串口id,modbus串口类型:主口,设备段数m,第1设备段描述,第2设备段描述,……,第m设备段描述;所述设备段为地址连续的同一类型的集合,设备段的描述包括3项:{起始地址,设备个数,设备id}。可以看出,可以任意配置任一modbus串口为主口或从口,可以为主口配置任意寄存器类型的设备,可以为从口指定任意通讯参数,通讯参数包括波特率、数据位、验位、停止位。所述的文件下载和参数设置在bacnet管理软件上通过bacnet接口上设置或下载,常见的bacnet软件上有丰富文件上载、下载、参数设置的功能,无需为网关单独开发,直接使用即可。实施例一某厂家的风机盘管控制器的温度值,其modbus寄存器定义如表一:表一寄存器类型holdingregister寄存器起始地址4寄存器个数1数据转换类型无符号整型第1运算符除以第1运算数100第2运算符减第2运算数100设定某风机盘管控制器的温度值定义在寄存器地址4,读到十六进制数是0x30e8,首先按无符号整型的解读转化为:3*16^3+14*16+8=12520,第2步除以第1运算数100,12520/100=125.20,第3步减去第2运算数100,125.20-100=25.20,因此该温度值=25.20。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1