一种工业通信多协议转换系统技术方案

技术编号:32783466 阅读:22 留言:0更新日期:2022-03-23 19:42
本发明专利技术公开了一种工业通信多协议转换系统,协议转换系统与多个被监控设备连接通信,实现可配置的多协议转换与数据传输功能,而被监控设备应用的协议各不相同,导致通信的数据格式有所不同,为了将不同的数据类型以同意中形式表现,需要将数据从一种协议形式转换为另一种协议形式来存储,这是本发明专利技术研究的重点,通过设计实现协议模板机制来完成协议转换系统与多种被监控设备之间的通信。同时,协议转换系统对被监控设备及其传输的数据进行管理,将获取到的数据通过ModbusTCP协议传送给应用软件供其使用,完成了多种总线协议与ModbusTCP协议的转换,通过协议模板来和被监控设备进行通信,实现多种总线协议与ModbusTCP协议的转换。ModbusTCP协议的转换。ModbusTCP协议的转换。

【技术实现步骤摘要】
连接通信,实现可配置的多协议转换与数据传输功能,而被监控设备应用的协议各不相同,导致通信的数据格式有所不同,为了将不同的数据类型以同一种形式表现,需要将数据从一种协议形式转换为另一种协议形式来存储,这是本专利技术研究的重点,通过设计实现协议模板机制来完成协议转换系统与多种被监控设备之间的通信。同时,协议转换系统对被监控设备及其传输的数据进行管理,将获取到的数据通过ModbusTCP协议传送给应用软件供其使用,完成了多种总线协议与ModbusTCP协议的转换。
[0006]具体来说,本
技术实现思路
包括:被监控设备管理模块、协议管理模块、协议模板配置模块、数据字典管理模块、被监控设备通信模块和应用软件通信模块。
[0007]被监控设备管理模块:用于管理与协议转换系统通信的被监控设备,对被监控设备进行增加、删除、更新、查询功能,以及启用和关闭被监控设备功能。对添加的被监控设备进行配置,配置内容包括被监控设备名称、被监控设备ID、被监控设备的通信方式(串口/网口)、数据在Modbus缓存区的存储地址、通信超时时间、通信间隔时间等信息,若是串口通信则配置串口的名称、波特率、校验、数据位、停止位等信息,若是网口通信则配置网口的IP地址和端口号信息。同时对通信中的被监控设备进行连接状态和通信状态的监控。
[0008]协议管理模块:用于管理与被监控设备通信所需的协议,包括协议的增加、删除、更新、查询功能,配置协议的公共数据,包括协议名称、起始位、结束位、协议的字符类型(HEX/ASCII) 等信息。
[0009]协议模板配置模块:用于管理协议对应的模板,包括模板的增加、删除、更新、查询功能。协议模板机制属于本专利技术的核心功能,通过解析多个协议帧格式信息,提取帧格式的共同特征,抽象实现了各种字段,组成基础字段库,通过字段配置出与协议帧格式对应的模板,通过模板来进行通信。
[0010]数据字典管理模块:用于表示请求命令及其应答命令包含的数据,通过配置的方式确定每条请求命令携带的功能码和数据,通过配置的方式确定对应应答命令的数据的类型、数据截取方式、数据转换方式、数据存储地址。
[0011]被监控设备通信模块:该模块实现了协议转换系统与被监控设备之间的通信机制。针对于多种通信接口的兼容性,本专利技术实现了串口通信和网口通信,能够兼容网口和串口以及相关参数的定制化配置。针对被监控设备应答数据的时延情况,设计了同步通信和异步通信两种通信机制。通信借助于上述的协议模板机制,协议模板确定了数据发送与接收的帧格式信息,帧格式的值来源于配置的协议数据、数据字典项数据和被监控设备数据,从而通过模板配置的字段来进行数据的发送和接收。对于通信过程中的各种异常情况,设计实现了全面的容错机制,来保证协议转换系统与被监控设备通信的稳定性,同时设计实现了通信状态监控机制。
[0012]应用软件通信模块:协议转换系统与被监控设备通信获取到数据,通过ModbusTCP协议发送给应用软件使用,针对Modbus全局缓存区分配使用不合理的情况,本专利技术设计实现了 Modbus全局缓存区分配策略,基于内存管理中的基本分段管理方式和动态分区分配算法,设计实现了地址占用表和空闲地址表,保证了数据字典项与Modbus地址映射和空闲地址的合理分配。设计实现了ModbusTCP协议通信机制,协议转换系统作为ModbusTCP协议的从站,应用软件作为ModbusTCP协议的主站,从站对主站的请求进行应答。
[0013]本系统的具体设计实现步骤如下:
[0014]步骤1:建立基础字段库
[0015]研究多种现场总线协议,比如电总协议及其变种协议、ModbusRTU协议、ModbusASCII 协议等,解析各协议的帧格式,提取帧格式的共同特征,为每一种不同格式的帧都设计对应的字段,字段表示一种独有的数据类型和计算方式,由丰富的字段组成基础字段库。本系统中基础字段包括:字节数组字段、固定长度字段、可变长度字段、长度字段、映射字段、校验字段、转义字段、枚举字段。每一种字段代表着不同的处理方式。
[0016]步骤2:配置协议模板
[0017]协议转换系统与被监控设备进行通信前,需要进行协议模板的配置。首先解析此协议的帧格式,对于每一帧都从字段库中选取相应的字段,设置字段的参数与帧匹配,由这些字段组成模板,最终协议转换系统通过模板与被监控设备进行通信。
[0018]步骤3:通信数据的配置
[0019]配置好协议的模板后,需要对通信传输的请求命令数据进行配置,同时对应答命令中所需的数据截取、转换、存储进行配置,所以需要配置被监控设备数据、协议数据、数据字典项。
[0020]被监控设备数据包含了通信的连接信息,包括通信接口(串口/网口)及其参数设计、通信方式(同步通信/异步通信)、被监控设备通信ID等。
[0021]协议数据包括协议的起始位、结束位、字符类型,需要设置对应的值。
[0022]数据字典项包括每一条请求命令包含的功能码和数据,需要设置对应的值。对于接收到的应答数据,需要配置对应数据的截取方式、数据类型、数据转换方式。
[0023]步骤4:与被监控设备通信
[0024]将上述配置的数据填充到协议模板中,以每一条数据字典项作为单位进行数据的发送与接收。
[0025]首先协议转换系统与被监控设备进行连接,分为串口和网口两种接口。如果连接失败等待重连间隔20秒进行重新连接,如果连接失败达到3次以上,会关闭此被监控设备,停止与其连接。如连接成功则进行通信。
[0026]协议转换系统与被监控设备进行通信的方式有两种:同步通信和异步通信。
[0027]同步通信是一发一收的形式,协议转换系统按上述模板中的每一个字段进行数据的发送,发送完毕后等待应答,超时时间为3秒,若在此时间内未应答则认为超时,本次通信失败,则将请求命令重新发送给被监控设备,重新发送次数达到3次以上,会跳过此条命令,执行下一条请求命令的发送与应答。若成功接收到数据,将执行后续的数据处理。
[0028]异步通信分为两个任务,一个任务专门进行请求命令的发送,一个任务专门进行应答数据的接收。发送任务将请求命令发送完成后,并将请求命令存储在队列中。接收任务根据应答命令的起始位和结束位来区分一条完整的应答数据,将接收到的应答数据与队列中的请求命令匹配,找到对应的请求命令,进行后续的数据处理工作,并将队列中的请求命令删除。
[0029]在通信的过程中,记录请求数据的发送数s,应答数据的接收数r,错误数据数e,来计算通信状态,计算公式为:通信失败率=1

r/s,误码率=e/r。同时记录发送请求命令的时间与接收应答数据的时间,来计算通信的平均响应时间。
[0030]步骤5:应答数据的处理
[0031]获取到上述通信过程中的应答数据后,根据协议模板中配置的数据字段,将数据帧解析出来,通常数据帧中包含着多个需要的数据,这些数据都用数据字典项来对应着。将数据帧中的一条数据截取出来有两种方式:1)通过设置数据起始位和数据长度本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种工业通信多协议转换系统,其特征在于:包括:被监控设备管理模块、协议管理模块、协议模板配置模块、数据字典管理模块、被监控设备通信模块和应用层通信模块;被监控设备管理模块:用于管理与协议转换系统通信的被监控设备,对被监控设备进行增加、删除、更新、查询功能,以及启用和关闭被监控设备功能;协议管理模块:用于管理与被监控设备通信所需的协议,包括协议的增加、删除、更新、查询功能,配置协议的公共数据,包括协议名称、起始位、结束位、协议的字符类型信息;协议模板配置模块:用于管理协议对应的模板,包括模板的增加、删除、更新、查询功能;协议模板机制通过解析多个协议帧格式信息,提取帧格式的共同特征,抽象实现各种字段,组成基础字段库,通过字段配置出于协议帧格式对应的模板,通过模板来进行通信;数据字典管理模块:用于表示请求命令及其应答命令包含的数据,通过配置的方式确定每条请求命令携带的功能码和数据,通过配置的方式确定对应应答命令的数据的类型、数据截取方式、数据转换方式、数据存储地址;被监控设备通信模块:该模块实现了协议转换系统与被监控设备之间的通信机制;应用层通信模块:协议转换系统与被监控设备通信获取到数据,通过ModbusTCP协议发送给应用层使用,针对Modbus全局缓存区分配使用不合理的情况,本发明设计实现了Modbus全局缓存区分配策略,基于内存管理中的基本分段管理方式和动态分区分配算法,设计实现了地址占用表和空闲地址表,保证了数据字典项与Modbus地址映射和空闲地址的合理分配;设计实现了ModbusTCP协议通信机制,协议转换系统作为ModbusTCP协议的从站,能够对应用层主站的请求进行应答。2.根据权利要求1所述的一种工业通信多协议转换系统,其特征在于:所述的被监控设备管理模块中,对添加的被监控设备进行配置,配置内容包括被监控设备名称、被监控设备ID、被监控设备的通信方式、数据在Modbus缓存区的存储地址、通信超时时间、通信间隔信息,若是串口通信则配置串口的名称、波特率、校验、数据位、停止位信息,若是网口通信则配置网口的IP地址和端口号信息;对通信中的被监控设备进行连接状态和通信状态的监控。3.根据权利要求1所述的一种工业通信多协议转换系统,其特征在于:所述的被监控设备通信模块中,针对于多种通信接口的兼容性,设计了串口通信和网口通信,能够兼容网口和串口以及相关参数的定制化配置;针对被监控设备应答数据的时延情况,设计了同步通信和异步通信两种通信机制;通信借助于上述的协议模板机制,协议模板确定了数据发送与接收的帧格式信息,帧格式的值来源于配置的协议数据、数据字典项数据和被监控设备数据,通过模板配置的字段来进行数据的发送和接收;对于通信过程中的各种异常情况,设计实现全面的容错机制,来保证协议转换系统与被监控设备通信的稳定性,同时设计实现通信状态监控机制。4.根据权利要求1所述的一种工业通信多协议转换系统,其特征在于:系统的具体设计实现步骤如下:步骤1:建立基础字段库;解析多种现场总线的各协议帧格式,提取帧格式的共同特征,为每一种不同格式的帧都设计对应的字段,建立基础字段库;步骤2:配置协议模板;
协议转换系统与被监控设备进行通信前进行协议模板的配置;首先解析协议的帧格式,对于每一帧都从字段库中选取相应的字段,设置字段的参数与帧匹配,由这些字段组成模板,最终协议转换系统通过模板与被监控设备进行通信;步骤3:通信数据的配置;配置好协议的模板后,对通信传输的请求命令数据进行配置,同时对应答命令中所需的数据截取、转换、存储进行配置,配置被监控设备数据、协议数据、数据字典项;被监控设备数据包含通信的连接信息,包括通信接口及其参数设计、通信方式、被监控设备通信ID;协议数据包括协议的起始位、结束位、字符类型,并设置对应的值;数据字典项包括每一条请求命令包含的功能码和数据,需要设置对应的值;通过对于接收到的应答数据,需要配置对应数据的截...

【专利技术属性】
技术研发人员:严赞贾曼肖创柏蔡旻
申请(专利权)人:北京工业大学
类型:发明
国别省市:

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

1