一种通讯网关实现方法

文档序号:9435947阅读:184来源:国知局
一种通讯网关实现方法
【技术领域】
[0001]本发明属于通信控制领域,具体涉及一种通讯网关实现方法。
【背景技术】
[0002]BACnet是美国暖通空调工程师协会(ASHARE)制定并在国际上广泛流行的协议标准,其在RS-485总线上执行的协议即BACnet/MSTP,其最高通讯波特率为76800BPS,在IP网络上执行的协议即BACnet/IP,其通讯速率在1M?IG之间。安装在现场的控制器设备通常挂接在MSTP总线上,上位机的数据接口通常为Ethernet/IP,因此,BACnet/MSTP转BACnet/IP网关是BACnet系统中地关键技术设备。
[0003]目前的各厂家网关,对于那些请求和应答变量数据的帧,只是改变底层的网络路由信息后简单转发,是“路由式”通讯网关。路由式通讯网关普遍存在通讯速度慢、数据延迟大的问题,在极端条件下,甚至出现通讯完全崩溃。
[0004]对于路由式通讯网关而言,由于MSTP的通讯波特率最高为76800,远远低于Ethernet/IP的通讯速度,因此MSTP —侧通常会成为通讯的瓶颈。当上位机经常访问BACnet设备中的变量超过一定的频度后,会造成通讯极度不畅,通讯延迟大,在软件平台上下发命令被延迟甚至丢失。

【发明内容】

[0005]发明目的:本发明针对上述现有技术存在的问题做出改进,即本发明公开了一种通讯网关实现方法。
[0006]技术方案:一种通讯网关实现方法,包括以下步骤:
[0007](I)、网关生成网关表并对所有的变量列表初始化,网关表中包含所有控制器的变量列表;
[0008](2)、当上位机向网关发出数据请求帧时,网关直接从网关表中读取该变量对应的数据并向上位机反馈该数据,同时在网关表中标记该变量;
[0009](3)、遍历网关表中的所有变量,找出所有被标记的变量;
[0010](4)、依据所有被标记的变量,网关依次向控制器发出数据请求帧,请求更新被标记的变量;
[0011](5)、控制器响应该数据请求帧,并在网关表中更新被标记的变量对应的数值,并清除该变量的标记。
[0012]进一步地,步骤(I)中的网关表是一个连续的存储区域,该存储区域对于读命令和写命令进行顺序排序。
[0013]进一步地,网关表保存于网关的数据缓存区中。
[0014]进一步地,步骤(4)中的数据请求帧依据控制器的缓冲区读取尽可能多的变量。
[0015]有益效果:本发明公开的一种通讯网关实现方法,具有以下有益效果:
[0016]1、提高了系统的效率,MSTP总线上数据请求和应答的效率大大提升;
[0017]2、数据请求的响应速度大大提高,避免了上位机软件的通讯阻塞,从现场控制器到上位机软件的数据延迟大大降低,在饱和情况下,数据延迟时间能提升10倍以上。
【附图说明】
[0018]图1为具体实施例1的包含通讯网关的系统框图。
【具体实施方式】
:
[0019]下面对本发明的【具体实施方式】详细说明。
[0020]如图1所示,网关一侧与上位机相连,网关的另一侧与多个控制器相连。
[0021]一种通讯网关实现方法,包括以下步骤:
[0022](I)、MSTP总线上的网关生成网关表并对所有的变量列表初始化,网关表中包含所有控制器的变量列表;
[0023](2)、当BACnet/IP —侧的上位机向网关发出数据请求帧时,网关直接从网关表中读取该变量对应的数据并向上位机反馈该数据,同时在网关表中标记该变量;
[0024](3)、遍历网关表中的所有变量,找出所有被标记的变量;
[0025](4)、依据所有被标记的变量,网关依次向BACnet/MSTP —侧的控制器发出数据请求帧,请求更新被标记的变量;
[0026](5)、控制器响应该数据请求帧,并在网关表中更新被标记的变量对应的数值,并清除该变量的标记。
[0027]对于来自BACnet/IP—侧的非现场控制器数据请求的帧,按照一般BACnet通讯网关的方法处理。
[0028]进一步地,步骤(I)中的网关表是一个连续的存储区域,该存储区域对于读命令和写命令进行顺序排序。
[0029]进一步地,网关表保存于网关的数据缓存区中。
[0030]步骤(4)中数据请求帧的组织规则为:
[0031 ] 1、只有网关中的被标记的变量被请求;
[0032]2、所有的变量按照在网关表中存放的顺序被遍历;
[0033]3、每一请求帧依据设备的缓冲区读取尽可能多的变量。
[0034]上面对本发明的实施方式做了详细说明。但是本发明并不限于上述实施方式,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
【主权项】
1.一种通讯网关实现方法,其特征在于,包括以下步骤: (1)、网关生成网关表并对所有的变量列表初始化,网关表中包含所有控制器的变量列表; (2)、当上位机向网关发出数据请求帧时,网关直接从网关表中读取该变量对应的数据并向上位机反馈该数据,同时在网关表中标记该变量; (3)、遍历网关表中的所有变量,找出所有被标记的变量; (4)、依据所有被标记的变量,网关依次向控制器发出数据请求帧,请求更新被标记的变量; (5)、控制器响应该数据请求帧,并在网关表中更新被标记的变量对应的数值,并清除该变量的标记。2.根据权利要求1所述的一种通讯网关实现方法,其特征在于,步骤(I)中的网关表是一个连续的存储区域,该存储区域对于读命令和写命令进行顺序排序。3.根据权利要求1所述的一种通讯网关实现方法,其特征在于,网关表保存于网关的数据缓存区中。4.根据权利要求1所述的一种通讯网关实现方法,其特征在于,步骤(4)中的数据请求帧依据控制器的缓冲区读取尽可能多的变量。
【专利摘要】本发明涉及一种通讯网关实现方法,其包括以下步骤:(1)、网关生成网关表并对所有的变量列表初始化,网关表中包含所有控制器的变量列表;(2)、当上位机向网关发出数据请求帧时,网关直接从网关表中读取该变量对应的数据并向上位机反馈该数据,同时在网关表中标记该变量;(3)、遍历网关表中的所有变量,找出所有被标记的变量;(4)、依据所有被标记的变量,网关依次向控制器发出数据请求帧,请求更新被标记的变量;(5)、控制器响应该数据请求帧,并在网关表中更新被标记的变量对应的数值,并清除该变量的标记。本发明公开的一种通讯网关实现方法具有以下有益效果:1、提高了系统的效率;2、数据请求的响应速度大大提高。
【IPC分类】H04L12/771, H04L12/66
【公开号】CN105187318
【申请号】CN201510564534
【发明人】张青
【申请人】北京和欣运达科技有限公司
【公开日】2015年12月23日
【申请日】2015年9月7日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1