




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种多协议转换的异构总线网关设计
0专网协议的转换近年来,现场总线在工业通信网络中得到了广泛应用,但iec6138定义的现场总线标准有10多个。不同的总线有不同的结构,很难操作。要实现异构总线信息的交换,需要进行协议转换。现在,主要通过专用网络执行单个协议转换,或使用ole处理器技术实现信息交换。由于每两条语句之间的转换需要通过软件进行,因此使用并不灵活。单端端端端端端的统一协议将其转换为其他端端端的连接。由于任意两个协议之间的转换需要特殊的网络,其使用不灵活。此外,如果不同进程级的统一进程级连接线设备访问现场级连接线设备,则来自不同进程级连接线的命令消息可能会同时到达现场级连接线,导致严重的通信冲突。此外,由于单端端采用透明消息引擎,因此过程级通信间隔与现场级通信隔相同,因此无法充分利用过程级连接线快速通信的优势。考虑到上述问题,本文设计了一种用于转换异构总线的多段网络分布的多段网,并采用数据映射和命令缓冲机制实现过程级和现场级之间的通信序列。完成通信转换,解决异构总线信息交换中的通信冲突。1多协议网络模式1.1基于成网协议的协议常用的工业现场总线协议包括Profibus-DP、ModbusTCP/UDP和ModbusRTU/ASCII等,这些协议在OSI模型中的对应层次如表1所示.ModbusRTU/ASCII协议包括3层:物理层、数据链路层和应用层,其他层未使用.物理层可采用RS485和RS232两种电气标准;数据链路层规定Modbus串行链路的主站和从站;应用层的应用数据单元ADU(applicationdataunit)定义了3种PDU(protocoldataunit),分别为请求、响应和异常响应.Profibus-DP协议包括物理层、数据链路层和应用层,其物理层也采用RS485标准,但与ModbusRTU/ASCII协议的数据链路层和应用层协议完全不同,属于异构协议.ModbusTCP/UDP协议包括5层:物理层(10Mbps或100Mbps以太网)、数据链路层(IEEE802.3标准)、网络层(IP)、传输层(TCP/UDP)和应用层(ADU);虽然与ModbusRTU/ASCII协议同属Modbus协议族,但两种协议的结构层次和应用层ADU都不相同,两种协议不能直接转换.由上述分析可知,三类总线协议具有异构性,需按照OSI模型构建协议转换器,才能进行不同总线的互连.1.2异构总线间协议转换模式通信模型见图1,可实现过程级Profibus-DP、ModbusTCP/UDP、ModbusRTU/ASCII协议至现场级ModbusRTU/ASCII协议的转换,采用数据映射和命令缓冲机制实现.网关正常运行时,将自动轮询现场设备的数据,并存入内部读映射缓冲区ReadMap;当过程级设备对网关进行读访问时,网关并不转发读命令,而是根据相应总线协议直接将内部映射数据进行响应.事实上,网关把两类异构总线间的协议转换分成两个异步的通信事件进行处理,广义上完成了异构总线间的协议转换,从而能够有效发挥过程级总线高速通信的特点.当过程级设备对网关进行写访问时,网关把写请求中的寄存器数据与ReadMap中映射的数据进行比较,若相同,则不转发写命令,直接进行正响应,以提高通信效率;若不相同,则网关将写请求装载入命令队列,然后依次发送,避免了不同过程级总线上的设备对现场设备同时访问时所引发的通信冲突.写请求中的寄存器数据被存入写映射缓冲区WriteMap,而不装入命令队列,待向现场设备发送写命令时,将与队列中的命令信息一起,用于封装完整的写请求命令报文.2多协议网络设计2.1anybus-dp—硬件设计多协议网关硬件设计如图2所示,主要包括5部分:①微处理器模块,采用32位ARM7内核CPULPC2387,具有4个UART口,98KBRAM和512KBFlash.②Profibus-DP通信模块,可作为Profibus-DP从站,采用Anybus-IC芯片,实现Profibus-DP至ModbusRTU的双向协议转换,CPU通过UART3口与Anybus-IC的串行通信接口连接.③以太网通信模块,采用DP83848作为物理层收发器,可自适应10Mbps/100Mbps以太网;在CPU内部包括一个以太网MAC(媒体访问控制器),数据传输使用DMA方式,支持ModbusTCP/UDP协议.④RS485从站通信模块,具有2路隔离RS485通信接口,支持ModbusRTU/ASCII协议,可用作RS485从站接口.⑤RS485主站通信模块,具有1路隔离RS485通信接口,支持ModbusRTU/ASCII协议,可用作RS485主站接口,与现场从设备通信.图中②、③、④采用3种不同异构总线协议,属于过程级总线接口,而⑤属于现场级总线接口.2.2rtu/ascii协议报文多协议网关软件结构如图3所示,采用层次化设计,包括硬件驱动层、协议栈层和应用程序层.硬件驱动层主要完成各种通信接口数据的发送和接收操作,包括1个以太网驱动和4个串口驱动.其中UART3与Anybus-IC通信,经Anybus-IC转换,实现Profibus-DP总线收发操作.协议栈层主要用于封装和解析ModbusTCP/UDP和ModbusRTU/ASCII协议报文,报文格式如图4所示.ModbusTCP报文包括以太网首部、IP首部、TCP首部、应用层单元和CRC,其中以太网首部、IP首部、TCP首部按标准TCP/IP协议进行解析,应用层单元又包括MBAP首部、功能码和数据,分别与ModbusRTU协议报文中的地址域、功能码、数据相对应,将ModbusTCP转换为ModbusRTU时,需根据转换后报文重新计算CRC.ModbusUDP报文与ModbusTCP类似,只是将TCP首部替换为UDP首部;ModbusASCII报文与ModbusRTU协议类似,只是需增加起始字符和结束字符,并且将RTU中每个字节的高4位和低4位分别转换为ASCII字符进行传输,数据校验则采用累加和校验方式.应用程序层主要实现数据映射和命令队列,数据映射区包括读映射区ReadMap和写映射区WriteMap,ReadMap缓存网关采集到的现场设备数据,WriteMap缓存过程级设备写命令中的寄存器数据.命令队列为数据映射服务,包括读命令队列和写命令队列,前者存放网关自动轮询现场设备时的读命令,后者存放过程级设备写访问时,需转发的写命令信息,写命令队列优先级高于读命令队列.(1)命令任务任务网关正常运行时,将周期性装载读请求命令到读命令队列,当UART0口空闲时,程序扫描读命令队列,若不为空,则发送请求,当接收到来自协议栈层的正响应后,将把响应数据存入ReadMap,之后命令出队列;当接收到负响应时,命令直接出队列,不重发.当过程级设备通过网关读现场设备数据时,网关直接将ReadMap中的映射数据进行响应.(2)网关机接收结果当过程级设备通过网关对现场设备进行写操作时,网关处理流程如图5所示.网关解析来自不同总线的写请求报文,形成写命令首部,并将寄存器数据存入WriteMap,写命令首部定义如下:网关以寄存器起始地址muStartAddr和寄存器个数muRegNum为范围,将WriteMap与ReadMap中相应数据进行比较,若相同,则网关不转发写命令,直接向过程级设备作正响应;若不相同,则网关将写命令首部装入写命令队列,然后也向过程级设备作正响应,此时,网关虽然响应写成功,但实际还未对现场设备进行写操作.当UART0口空闲时,网关将扫描写命令队列,若队列不为空,则将写命令首部与WriteMap中的数据相结合,形成完整写命令报文发送给现场设备.若现场设备作正响应,则写命令出队列;若现场设备作负响应,则网关自动重发3次.网关扫描命令队列时,先扫描写命令队列,若不为空,则发送写命令;若为空,则继续扫描读命令队列,因此写命令优先级高于读命令,命令缓冲机制有效解决了多个设备同时访问现场设备所引起的通信冲突.3上位机系统采集周期在典型工业监控系统中,上位机通过网关对多台现场设备进行监控,上位机中实时数据的刷新速度是整个监控系统的关键指标,为衡量该刷新速度,本文引入系统采集周期的定义,分别对采用单协议网关和多协议网关两种情况下的系统采集周期进行了分析.(1)tdev的生成系统采集周期Tsys是指一台过程级设备完成一次对现场级所有设备的全部数据进行采集所需要的时间.如图6所示,Tsys由多个设备采集周期Tdev组成,设备采集周期是指一台过程级设备完成一次对现场级单台设备的全部数据进行采集所需要的时间,而采集一台现场级设备的所有数据,通常需要多条通信命令才能完成,因此Tdev又由多个命令响应周期Tcmd组成;命令响应周期是指过程级设备发送一条请求命令到接收到响应之间的时间,Tcmd随所访问的数据量的增加而变长,实际访问时,在每条命令响应之后还会插入一个帧间隔周期Tf.设所需访问的设备数量为n,采集每个设备的全部数据需要m条指令,则Tsys为Tsys=∑i=1n∑j=1m(Tij_cmd+Tf);i=1,⋯,n,j=1,⋯,m(1)Τsys=∑i=1n∑j=1m(Τij_cmd+Τf);i=1,⋯,n,j=1,⋯,m(1)其中Tij_cmd代表第i个设备第j条命令的命令响应周期.(2)udp网络响应文件上位机通过单协议网关采集现场设备数据时,以过程级以太网通信与现场级RS485通信之间的转换为例,一条命令完整的处理过程如图7所示.可以看出,Ts_cmd由9部分组成:Ts_cmd=∑k=08Ts_k(2)Τs_cmd=∑k=08Τs_k(2)其中Ts_0为计算机封装ModbusUDP请求报文延时;Ts_1为ModbusUDP请求报文以太网传输延时;Ts_2为网关转换请求命令延时;Ts_3为ModbusRTU请求命令RS485传输延时;Ts_4为现场设备处理延时;Ts_5为ModbusRTU响应报文RS485传输延时;Ts_6为网关转换响应命令延时;Ts_7为ModbusUDP响应报文以太网传输延时;Ts_8为计算机解析ModbusUDP响应报文延时.若上位机发送请求命令起始时刻为t0,接收到响应报文的结束时刻为t1,则Ts_cmd=t1-t0.当测试得到Ts_cmd后,可根据式(1)计算出单协议网关的系统采集周期Ts_sys.(3)关读取现场设备数据时所对应的命令响应周期上位机通过多协议网关采集现场设备数据时,采用数据映射机制,对两级通信进行异步处理,一条命令完整的处理过程如图8所示.多协议网关命令响应周期Tm_cmd包括两个部分:一是过程级命令响应周期Tm1_cmd,即计算机通过以太网读取网关中映射数据所对应的命令响应周期;二是现场级命令响应周期Tm2_cmd,即网关读取现场设备数据时所对应的命令响应周期.由图8可知:Tm1_cmd=Tm_0+Tm_1+Tm_2+Tm_7+Tm_8(3)其中Tm_0为计算机封装ModbusUDP请求命令延时;Tm_1为ModbusUDP请求命令以太网传输延时;Tm_2为网关处理命令延时;Tm_7为ModbusUDP响应报文以太网传输延时;Tm_8为计算机解析ModbusUDP响应报文延时.Tm2_cmd=T′m_0+Tm_3+Tm_4+Tm_5+Tm_6(4)其中T′m_0为网关封装ModbusRTU请求命令延时;Tm_3为ModbusRTU请求命令RS485传输延时;Tm_4为现场级设备处理延时;Tm_5为ModbusRTU响应报文RS485传输延时;Tm_6为网关解析ModbusRTU响应报文并处理响应数据延时.若上位机发送命令起始时刻为t0,接收到响应的结束时刻为t1,则Tm1_cmd=t1-t0;若网关向现场设备发送请求命令起始时刻为t2,接收到响应的结束时刻为t3,则Tm2_cmd=t3-t2.(4)tm1dev由于多协议网关命令响应周期包括两部分,其系统采集周期Tm_sys也包括两个部分,如图9所示,一是过程级系统采集周期Tm1_sys,二是现场级系统采集周期Tm2_sys.其中Tm1_f为过程级帧间隔周期,Tm1_dev为过程级设备采集周期;Tm2_f为现场级帧间隔周期,Tm2_dev为现场级设备采集周期.对于过程级通信,被访问的设备仅网关一台,因此Tm1_dev=Tm1_sys.对于总的系统采集周期Tm_sys,应为计算机中所有现场级设备的全部数据完整刷新一次所需要的时间,Tm1_sys仅代表计算机将网关中映射的数据全部读取一次所需要的时间,但在一个Tm1_sys内,网关可能并没有及时将全部现场设备的数据进行刷新,因此Tm_sys=[int(Tm2_sysTm1_sys)+1]×Tm1_sys(5)Τm_sys=[int(Τm2_sysΤm1_sys)+1]×Τm1_sys(5)4通信转换性能测试和系统采集周期测试为检验所提出网关设计的有效性,本文对网关进行通信转换功能测试、通信转换性能测试和系统采集周期测试.对于通信转换功能测试,其通信数据量是随着现场操作人员需要不断变化的,因此本文未对其通信数据量进行描述.对于通信转换性能测试和系统采集周期测试,本文结合下面的实际应用进行了相关实验和计算.4.1过程级设备监控将多协议网关应用于河北某钢厂电除尘监控系统中,如图10所示.西门子S7-300PLC、计算机和触摸屏3台过程级设备分别通过Profibus-DP、以太网和RS485总线访问多协议网关,实现对现场8台JHB型电除尘高压控制柜的监控.实际应用中3台过程级设备显示数据一致,如表2所示,表明多协议网关能够支持过程级多台设备通过异构总线同时对现场设备进行访问,实现正常的多协议转换.4.2统计网关与现场设备通信错误次数为验证通信可靠性,本文还对多协议网关的通信转换性能进行了测试,同时执行以下操作:(1)计算机中运行ModbusPOLL软件,通过以太网访问网关;(2)计算机中运行ModbusPOLL软件,经RS232/RS485转换,与网关进行RS485通信;(3)在网关中增加测试代码,统计网关与现场设备通信错误次数.测试中,计算机通过以太网访问网关时,每次命令访问寄存器数目为125个,通信数据量为365byte;计算机通过RS485方式访问网关时,每次命令访问寄存器数目也为125个,通信数据量为263byte;网关访问现场设备时,每次命令访问寄存器数目为64,通信数据量为141byte;测试结果如表3所示.可以看出,过程级以太网通信和RS485通信具有较高稳定性,现场级RS485通信错误率为0.02%,现场级通信未加终端匹配电阻,且通信距离较远,因此错误率相对较高,但在可接受范围之内.4.3系统采集周期测试针对过程级以太网通信与现场级RS485通信的转换,本文对采用单协议网关和多协议网关两种情况下的系统采集周期进行了测试,测试平台仍基于图10所示系统.(1)现场级测试情况根据图7,在计算机中运行测试程序,记录请求报文起始时刻为t0和响应报文结束时刻为t1,则Ts_cmd=t1-t0.测试中,以太网通信速率为100Mbps,RS485总线通信速率为9600bps,对每次命令访问寄存器数目为44和64个两种情况进行了测试,过程级总线每次通信的数据量分别为203和243byte,现场级RS485总线每次通信的数据量分别为101和133byte,取100次命令响应周期的平均值作为结果,如表4所示.JHB型电除尘高压控制柜共具有300个寄存器,每次通信最多支持64个寄存器连续访问,支持的最短帧间隔时间为10ms.因此要读取每台设备全部数据时,至少需要5条命令,即m=5,其中4条命令为读64个寄存器,1条命令为读44个寄存器;现场级设备共8台,即n=8;Tf设置为10ms,则根据式(1)有Ts_sys=[(Ts_cmd_64+Tf)×4+(Ts_cmd_44+Tf)]×8=7023.04ms(6)Τs_sys=[(Τs_cmd_64+Τf)×4+(Τs_cmd_44+Τf)]×8=7023.04ms(6)(2)现场级通信结果根据图8可知,多协议网关命令响应周期包括过程级命令响应周期Tm1_cmd和现场级命令响应周期Tm2_cmd.对Tm1_cmd进行测试时,测试方法与单协议网关测试类似,分别对每次命令访问寄存器数目为25、120和125个3种情况进行了测试,对应的过程级总线每次通信的数据量分别为165、355和365byte,测试结果如表5所示.对Tm2_cmd测试时,在多协议网关中增加测试代码,记录命令发送起始时刻t2和响应结束时刻t3,从而计算Tm2_cmd=t3-t2,分别对每次命令访问寄存器数目为44和64个两种情况进行了测试,对应的现场级总线每次通信的数据量分别为101和141byte,结果如表6所示.在图10中,对于过程级通信,从设备仅网关一台,即n=1;网关中共映射300×8=2400个寄存器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大数据在物流服务中的应用试题及答案
- 2024年预算员考试应试策略试题及答案
- 劳务分包标准合同格式
- 合同变更授权委托书范文
- 《植物妈妈有办法》
- 15 坚持才会有收获- 一起来试一试 (教学设计)2023-2024学年统编版道德与法治二年级上册
- 医院感染相关规范
- 六年级品德下册 播种绿色 播种希望教学实录 北师大版
- 第五单元《方程》(教学设计)-2024-2025学年四年级下册数学北师大版
- 1神奇的莫比乌斯圈(教学设计)辽师大版四年级下册综合实践活动
- 唐山市化工行业安全检查手册(2025版)
- 2025届河南省豫西北教研联盟(洛平许济)高三下学期3月二模生物学试卷(含答案)
- 中考科创班试题及答案
- 2025年江苏省职业院校技能大赛中职组(网络建设与运维)考试题库(含答案)
- 学校师德师风建设经验分享-校长汇报:从“尊重被看见”出发打造“四有好老师”团队
- 某垃圾焚烧余热发电厂投资建设项目节能评估报告
- 全国青少年科技辅导员专业水平认证笔试考题
- 权责体系手册
- 2024初级会计职称考试题库(附参考答案)
- 2024年汶川县欣禹林业有限责任公司工作人员招聘考试真题
- 2025年烟草行业专卖执法人员法律知识考试100题及答案
评论
0/150
提交评论