串行通信网关的制作方法

文档序号:7740958阅读:230来源:国知局
专利名称:串行通信网关的制作方法
技术领域
本发明涉及一种通信网关,尤其涉及一种串行通信网关。
背景技术
以太网和现场串行总线是工业自动化领域常用的通信方式,实际上,无论是场总 线还是工业以太网,都已经形成了多标准并存的局面,目前世界上存在着大约四十余种现 场总线,如法国的FIP,英国的ERA,德国西门子公司Siemens的ProfiBus,挪威的FINT, Echelon 公司的 LONWorks, PhenixContact 公司的 InterBus, RoberBosch 公司的 CAN, Rosemounr 公司的 HART, CarloGarazzi 公司的 Dupline,丹麦 ProcessData 公司的 P-net, PeterHans 公司的 F_Mux,以及 ASI (ActraturSensorlnterface), MODBus, SDS, Arcnet, 国际标准组织-基金会现场总线FF :FieldBusFoundat ion, WorldFIP, BitBus,美国的 DeviceNet与ControlNet等等。这些现场总线大都用于过程自动化、医药领域、加工制造、 交通运输、国防、航天、农业和楼宇等领域,在协议转换、异构网络接入过程中,网关起着重 要作用。目前常用的串行通信网关包括连接上位机的以太网通信端口和连接下位机的串 行通信端口,串行通信网关一般都是根据目的站地址转发数据包,由于常用的工控协议繁 多,采用数据透明转发,串行通信网关只需要对以太网和现场串行总线作简单的数据端口 转换,不需要具体解析数据,因此可以连接各种现有的现场设备,保证网关具有良好的扩展 功能。上述的串行通信网关,由于以太网和现场串行总线的传输速率一般不匹配,整个 通信网关的速率受限于传输速率最慢的的通信端口,为了保证数据不丢包,串行通信网关 一般都要使用消息队列做缓冲。随着通信要求的不断提高,在保证网关具有良好的扩展功 能的同时,有必要提供常用通信数据的快速交换。

发明内容
本发明所要解决的技术问题是提供一种串行通信网关,既能扩展支持多种协议, 又能保证常用数据的快速交换。本发明为解决上述技术问题而采用的技术方案是提供一种串行通信网关,包括连 接上位机的以太网通信端口和连接下位机的串行通信端口,其中,所述网关和所述下位机 统一编号,所述网关包括配置模块,提供网关地址、本地数据区和目的站/串行端口路径配 置;数据收发模块,收发以太网通信端口和串行通信端口的数据包,所述数据包包括目的站 地址、数据地址和数据值;预解析模块,提取数据包中的目的站地址;数据透明转发模块, 若数据包中的目的站地址不是网关地址,根据数据包中的目的站地址和端口路径配置转发 数据包至相应端口 ;数据解析模块,若数据包中的目的站地址是网关地址,根据数据包中的 数据地址和本地数据区处理该数据包中的数据值。上述的串行通信网关,其中,所述本地数据区为所述配置模块提供的静态配置数据区。上述的串行通信网关,其中,所述本地数据区为所述配置模块提供的动态配置数 据区,所述预解析模块提取数据包中的数据地址,若所述数据地址不属于本地数据区,暂存 该数据包,在一定阈值内,若收齐不同端口对该数据地址的读写请求,则动态分配该数据地 址至本地数据区。上述的串行通信网关,其中,若数据包中的目的站地址同时指定所述串行通信网 关和下位机,所述数据透明转发模块转发该数据包至消息队列,当消息队列长度超过阈值 时,所述数据解析模块依次采用本地数据区处理消息队列中的数据包直至消息队列长度小 于阈值。上述的串行通信网关,其中,所述本地数据区为内存数据区,所述网关定时备份本 地数据区至固定存储设备,重启后从固定存储设备恢复本地数据区。本发明对比现有技术有如下的有益效果本发明提供的串行通信网关,通过数据 透明转发模块扩展支持多种协议,通过本地数据区又能保证常用数据的快速交换,兼顾了 协议扩展和快速数据交换。此外,本发明的串行通信网关还可以同时使用数据转发模块和 本地数据交换功能并根据网络通信速率自动调整数据交换方式。


图1是本发明串行通信网关连接示意图;图2是本发明串行通信网关结构框图;图3是本发明串行通信网关主流程图;图4是本发明串行通信网关动态分配本地数据区流程图;图5是本发明利用本地数据区快速交换数据示意图;图6是本发明利用数据透明转发模块交换数据示意图。图中11上位机12串行通信网关13下位机21配置模块22数据收发模块23预解析模块24数据透明转发模块 25数据解析模块
具体实施例方式下面结合附图和实施例对本发明作进一步的描述。图1是本发明串行通信网关连接示意图;图2是本发明串行通信网关结构框图。请参见图1和图2,本发明提供的串行通信网关12,包括连接上位机11的以太网 通信端口和连接下位机13串行通信端口,其中,所述网关12和所述下位机13统一编号,所 述网关包括配置模块21,提供网关地址、本地数据区和目的站/串行端口路径配置;数据收 发模块22,收发以太网通信端口和串行通信端口的数据包,所述数据包包括目的站地址、数 据地址和数据值;预解析模块23,提取数据包中的目的站地址;数据透明转发模块24,若数 据包中的目的站地址不是网关地址,根据数据包中的目的站地址和端口路径配置转发数据 包至相应端口 ;数据解析模块25,若数据包中的目的站地址是网关地址,根据数据包中的数据地址和本地数据区处理该数据包中的数据值。上述的串行通信网关12,通过数据透明转发模块24扩展支持多种协议,通过本地 数据区又能保证常用数据的快速交换,兼顾了协议扩展和快速数据交换。图1给出了两个 串行通信网关12,其中一个作备份,组成冗余系统,实际使用时,当然也可单个使用。图3是本发明串行通信网关主流程图。请参见图3,本发明串行通信网关主流程如下步骤S301 串行通信网关系统初始化,配置模块21提供网关地址、本地数据区和 端口路径配置,其中,端口路径配置包括串行通信网关站号以及各串行通信端口所连下位 机的站号,然后进入步骤S302;步骤S302 数据收发模块22收发以太网口和串行通信端口的数据包,串行通信端 口可以是常用的现场总线,收到数据包后进入步骤S303 ;步骤S303 预解析模块23,提取数据包中的目的站地址,然后进入步骤S304 ;步骤S304 判断数据包中的目的站地址是否为本网关地址,若是进入步骤S306, 否则进入步骤S305 ;步骤S305 数据透明转发模块24,根据数据包中的目的站地址和端口路径配置转 发数据包至相应端口,并进行以太网口和串行通信端口之间简单的格式转换,对具体的数 据包不作解析和处理;步骤S306 数据解析模块25负责解析数据包,对读请求包,根据数据包中的数据 地址,在本地数据区查找相应的值并构建响应包;对写请求包,根据数据包中的数据地址及 数据值,在本地数据区查找相应的地址变量,更新相应的变量值并构建响应包;重复上述步骤S302 步骤S306即完成本发明串行通信网关主流程处理。上述的串行通信网关,所述本地数据区是由所述配置模块21提供的静态配置数 据区,串行通信网关工作中收到的数据包中,若请求访问的数据地址不属于本地数据区则 无法提供数据交换。图4是本发明串行通信网关动态分配本地数据区流程图。请参见图4,本发明串行通信网关动态分配本地数据区流程如下步骤S401 数据收发模块22收发以太网口和串行通信端口的数据包,串行通信端 口可以是常用的现场总线,收到数据包后进入步骤S402 ;步骤S402 预解析模块23,提取数据包中的目的站地址,若目的站地址是网关地 址,继续提取数据包中的数据地址,然后进入步骤S403 ;步骤S403 判断数据地址是否位于本地数据区,若是则交给主流程中的数据解析 模块,否则进入步骤S404;步骤S404:继续判断网关有无收全来自不同端口的读写请求,若是进入步骤 S405,否则进入步骤S406 ;步骤S405 动态分配该数据地址至本地数据区,然后交给主流程中的数据解析模 块;步骤S406 只收到读或写请求,暂存数据包,重复步骤S401 步骤S406,若收全某 一数据地址的读或写则动态分配该数据地址至本地数据区,否则超过某一时间阈值,丢弃 数据包。
此外,本发明的串行通信网关还可以同时使用数据转发模块和本地数据交换功 能,来自上位机11的请求包可以同时指定目的站地址为所述串行通信网关和某一下位机, 所述数据透明转发模块24转发该数据包至消息队列,即当串行网络端口通信顺畅时,尽量 采用转发功能获取原始数据。但是当消息队列长度超过阈值时,所述数据解析模块25依次 采用本地数据区处理消息队列中的数据包直至消息队列长度小于阈值,即当串行网络端口 通信拥堵时,利用网关上的本地数据区提供快速数据交换。上述的串行通信网关,所述本地数据区常采用内存数据区,所述网关定时备份本 地数据区至固定存储设备,如硬盘或U盘,重启后自动从固定存储设备恢复本地数据区。为了更进一步描述本发明网关的数据交换流程,下面以常用的Modbus协议为例 子,详细说明本发明网关利用本地数据区交换Modbus数据的过程。图5是本发明利用本地数据区快速交换数据示意图。请参见图5,控制器Controller作为上位机11通过以太网口和串行通信网关12 相连,Modbus串行设备作为下位机13通过RS485串行通信端口和串行通信网关12相连, 其中,控制器Controller和Modbus串行设备作为主站Master,串行通信网关12作为从站 Slave,利用本地数据区ModbusData提供快速数据交换。Modbus通信方式包括广播式和应
答式,其中,请求包格式如下 响应包格式如下 标准Modbus协议的目的站地址为一个字节,为了同时指定目的站地址为所述串 行通信网关和某一下位机,本发明可以将其中的低四位指定为下位机站号,高四位指定网 关地址。如果下位机设备超过16个,则也可以扩展地址字节为2个byte。ModbusData的数据变量,即寄存器数,包括线圈状态变量(Coil status),输入 开关量(Input status),输入寄存器变量(Input register),内部寄存器变量(Holding register)和扩展寄存器变量(Extended register),具体数据地址分配如下Coil status 1-9999Input status 10001-19999Input register 30001-39999Holding register=40001-49999Extended register 600001-665535本地数据区ModbusData根据可以根据使用需要,或静态或动态配置上述数据区。控制器Controller 上通信模块 ModnetM 发出 Modbus/TCP 请求包,Modbus/TCP 是
Modbus按照Modbus格式要求组成TCP信息帧,如步骤①,请求包中包括目的站地址、数据地
址和请求命令,其中,目的站地址为串行通信网关12的站号,串行通信网关12收到请求包,利用ModbusData构建响应包,如步骤②。同理,Modbus串行设备发出Modbus请求包,如步 骤③,请求包中包括目的站地址、数据地址和请求命令,其中,目的站地址为串行通信网关 12的站号,串行通信网关12收到请求包,利用ModbusData构建响应包,如步骤④。控制器 Controller和Modbus串行设备,一个周期性读串行通信网关12上的ModbusData,另一个 周期性写串行通信网关12上的ModbusData,即完成控制器Controller和Modbus串行设备 间的快速数据交换。图6是本发明利用数据透明转发模块交换数据示意图。请参见图6,串行通信网关12收到上位机11上的请求包后,如步骤①,进行简单的 端口格式转化,即将基于以太网的Modbus/TCP转换成基于串口的Modbus,然后串行通信网 关12上的预解析模块23提取请求包的目的站地址,并根据本网关上各串行端口和目的站 号的绑定关系,从相应端口转发请求包给对应的下位机13,即Modbus Serial Device,如步 骤②;Modbus串行设备,即下位机13收到转发过来的Modbus请求包后,应答响应包,如步 骤③,串行通信网关12转发响应包给上位机11,如步骤④。通过上述步骤① ④,上位机 11和下位机13完成一次数据交换。虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技 术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范 围当以权利要求书所界定的为准。
权利要求
一种串行通信网关,包括连接上位机的以太网通信端口和连接下位机的串行通信端口,其特征在于,所述网关和所述下位机统一编号,所述网关包括配置模块,提供网关地址、本地数据区和目的站/串行端口路径配置;数据收发模块,收发以太网通信端口和串行通信端口的数据包,所述数据包包括目的站地址、数据地址和数据值;预解析模块,提取数据包中的目的站地址;数据透明转发模块,若数据包中的目的站地址不是网关地址,根据数据包中的目的站地址和端口路径配置转发数据包至相应端口;数据解析模块,若数据包中的目的站地址是网关地址,根据数据包中的数据地址和本地数据区处理该数据包中的数据值。
2.根据权利要求1所述的串行通信网关,其特征在于,所述本地数据区为所述配置模 块提供的静态配置数据区。
3.根据权利要求1所述的串行通信网关,其特征在于,所述本地数据区为所述配置模 块提供的动态配置数据区,所述预解析模块提取数据包中的数据地址,若所述数据地址不 属于本地数据区,暂存该数据包,在一定阈值内,若收齐不同端口对该数据地址的读写请 求,则动态分配该数据地址至本地数据区。
4.根据权利要求1所述的串行通信网关,其特征在于,若数据包中的目的站地址同时 指定所述串行通信网关和下位机,所述数据透明转发模块转发该数据包至消息队列,当消 息队列长度超过阈值时,所述数据解析模块依次采用本地数据区处理消息队列中的数据包 直至消息队列长度小于阈值。
5.根据权利要求1至4所述的任一串行通信网关,其特征在于,所述本地数据区为内存 数据区,所述网关定时备份本地数据区至固定存储设备,重启后从固定存储设备恢复本地 数据区。
全文摘要
本发明公开了一种串行通信网关,包括连接上位机的以太网通信端口和连接下位机的串行通信端口,其中,所述网关和所述下位机统一编号,所述网关包括配置模块,提供网关地址、本地数据区和目的站/串行端口路径配置;数据收发模块,收发以太网通信端口和串行通信端口的数据包,所述数据包包括目的站地址、数据地址和数据值;预解析模块,提取数据包中的目的站地址;数据透明转发模块,转发数据包至相应端口;数据解析模块,根据数据包中的数据地址和本地数据区处理该数据包中的数据值。本发明提供的串行通信网关,通过结合本地数据区和数据透明转发模块,既能扩展支持多种协议,又能保证常用数据的快速交换。
文档编号H04L29/12GK101895462SQ20101010205
公开日2010年11月24日 申请日期2010年1月28日 优先权日2010年1月28日
发明者袁亚军 申请人:袁亚军
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1