一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种MODBUS和CC-Link协议转换装置及方法与流程

2022-11-12 11:07:17 来源:中国专利 TAG:

一种modbus和cc-link协议转换装置及方法
技术领域
1.本发明属于工业生产技术领域,尤其是一种modbus和cc-link协议转换装置及方法。


背景技术:

2.目前现场总线协议转换装置大多只对协议数据做重新封装,将协议数据放入目的协议帧中进行转发,部分编制了统一的地址,定义了统一的报文格式。但绝大多数都没有对协议的错误处理错误响应机制进行转换,协议的错误处理错误响应机制在协议组成中是至关重要的一部分,它能保证总线网络的正常运行以及总线突发情况的正确及时处理,能够极大地保障网络的稳定性。其次绝大多数的研究工作采用的是嵌入式的处理方式,即由总线控制模块和通用处理器组成,采用嵌入式软件或基于linux操作系统的软件平台进行协议转换,受限于通用处理器的通用架构和中断处理等机制,以及操作系统的调度机制,总线协议帧接收以及转换时间较长且不确定,协议转换实时性较差,不能满足工业4.0对于通信实时性和确定性的要求。


技术实现要素:

3.本发明的目的在于克服现有技术的不足,提出一种modbus和cc-link协议转换装置及方法,能够支持modbus总线网络、cc-link总线网络两种网络拓扑结构,可实现modbus和cc-link总线协议的相互转换,转换时间短且具有确定性。
4.本发明解决其技术问题是采取以下技术方案实现的:
5.一种modbus和cc-link协议转换装置,作用于modbus总线网络和cc-link总线网络之间,其包括总线控制器、协议接收模块、协议发送模块、协议处理模块、地址转换模块、错误处理模块和总线配置模块;所述总线控制器的输出端连接协议接收模块的输入端,协议接收模块的输出端分别连接协议处理模块、地址转换模块和错误处理模块的输入端,协议处理模块包括数据分配器,根据选择信号确认转换电路模块,进行相应的协议转换;协议处理模块、地址转换模块和错误处理模块的输出端分别连接总线配置模块和协议发送模块,协议发送模块的输出端连接总线控制器的输入端,总线配置模块进行modbus总线网络和cc-link总线参数配置。
6.而且,所述modbus总线网络包括1个modbus主设备、modbus从设备以及cc-link从站,协议转换装置和modbus从设备通过modbus控制器和物理层电路接入modbus总线网络;cc-link总线网络包括1个cc-link主站,cc-link从站和modbus从设备,协议转换装置通过cc-link总线的控制器和收发器与cc-link总线网络连接。
7.而且,所述总线控制器包括modbus和cc-link 2种总线协议控制器,用于接收来自总线物理层的协议串行数据,当总线控制器接收到总线物理层上的数据,将物理层的串行数据转化为字节数据,并将字节数据存入到协议接收模块中;
8.所述协议接收模块和协议发送模块均采用异步fifo,用于总线协议帧的缓存工
作,其中协议接收模块缓存接收到的上游总线控制器原始协议帧数据,协议发送模块缓存协议转换后的协议帧数据;
9.所述协议地址转换模块包括地址映射表,地址映射表中包含原协议网络地址和目标协议网络地址的映射关系,用于协议转换中的协议地址转换;
10.所述协议处理模块包括数据分配器、modbus转cc-link转换电路模块和cc-link转modbus转换电路模块,根据数据分配器的选择信号,判断原协议帧将进入modbus转cc-link转换电路模块或cc-link转modbus转换电路模块;
11.所述错误处理模块用于原协议帧无错误的被转发至目标协议设备后,目标协议设备回复的协议帧出现错误时的转换工作。
12.而且,所述映射表中的每一项的前半部分是原协议帧的地址,后半部分是目标协议地址,映射表通过外部总线进行维护。
13.一种modbus和cc-link协议转换装置的转换方法,包括modbus总线协议向cc-link总线协议转换方法、cc-link总线协议向modbus总线协议转换方法和链路层错误修正方法。
14.而且,所述modbus总线协议向cc-link总线协议转换方法,包括以下步骤:
15.步骤1.1、modbus主设备向modbus总线网络发送协议帧寻址cc-link从站,协议转换装置通过modbus物理层接口接收modbus总线协议帧;
16.步骤1.2、总线控制器中的modbus控制器将接收到的串行数据转换为字节数据,并将字节数据存入到协议接收模块中;
17.步骤1.3、地址转换模块按照地址对照表识别协议接收模块中的数据地址转换查找;
18.步骤1.4、数据分配器识别源数据总线类型和目标总线类型将modbus总线协议帧中的命令字段和数据字段需转换到cc-link总线协议帧的数据字段;
19.步骤1.5、协议处理模块将转换后的数据存入到协议发送模块,总线控制器中的cc-link总线控制器将字节数据转换为相应的数据格式;
20.步骤1.6、将转换后的协议帧按照总线配置模块设定的cc-link从站的站号地址和波特率通过cc-link收发器发送至cc-link总线网络中并回复给总线控制器中的modbus控制器;
21.步骤1.7、cc-link从站在相应的总线网络中接收转换后的协议帧,完成modbus协议到cc-link总线协议的转换。
22.而且,所述cc-link总线协议向modbus总线协议转换方法,包括以下步骤:
23.步骤2.1、cc-link主站向cc-link总线网络发送协议帧寻址modbus从设备,协议转换装置通过cc-link物理层接口接收cc-link总线协议帧;
24.步骤2.2、总线控制器中的cc-link控制器将接收到的串行数据转换为字节数据,并将字节数据存入到协议接收模块中;
25.步骤2.3、地址转换模块按照地址对照表识别协议接收模块中的数据地址转换查找;
26.步骤2.4、数据分配器识别源数据总线类型和目标总线类型将cc-link总线协议帧中的命令字段和数据字段需转换到modbus总线协议帧的数据字段;
27.步骤2.5、协议处理模块将转换后的数据存入到协议发送模块,总线控制器中的
modbus总线控制器将字节数据转换为相应的数据格式;
28.步骤2.6、将转换后的协议帧按照总线配置模块设定的modbus从设备的地址通过modbus收发器发送至modbus总线网络中并回复给总线控制器中的cc-link控制器;
29.步骤2.7、modbus从设备在相应的总线网络中接收转换后的协议帧,完成cc-link协议到modbus总线协议的转换。
30.而且,所述modbus总线网络链路层错误修正方法,包括以下步骤:
31.步骤3.1、cc-link从站将响应帧发送至协议转换装置的过程中产生的应用层错误时,错误处理模块将cc-link总线协议定义的错误码转换为modbus总线协议规定的异常响应码;
32.步骤3.2、错误处理模块将错误帧发送给总线控制器中的modbus总线控制器,完成将错误帧发送给总线控制器1中的modbus总线控制器。
33.而且,所述cc-link总线网络链路层错误修正方法,包括以下步骤:
34.步骤4.1、modbus总线从设备将响应帧发送至转换模块的过程中产生应用层错误时,错误处理模块需要将modbus总线协议定义的一场响应码转换为cc-link总线协议规定的错误码;
35.步骤4.2、错误处理模块将此错误码发送给总线控制器中的cc-link总线控制器,完成cc-link总线网络链路层错误修正方法。
36.本发明的优点和积极效果是:
37.1、本发明通过在modbus总线网络以及cc-link总线网络的拓扑结构中构建协议转换装置,通过协议转换装置中的总线控制器、协议接收模块、协议发送模块、协议处理模块、地址转换模块、错误处理模块和总线配置模块,实现了modbus和cc-link总线协议的相互转换,转换时间短且具有确定性。本发明协议处理模块采用并行处理总线数据,使两种总线协议能够并行进行独立的读写操作,通过数据分配器避免数据读写冲突,达到数据高速读写。
38.2、本发明的构建的协议转换装置中增加了错误处理模块,同时构建了链路层错误修正方法,错误处理模块将数据传输过程中可能出现的数据出错,超时丢包等异常响应及时反馈可以保证及时发现数据丢失,确保数据传输效率。
附图说明
39.图1是本发明的modbus总线网络拓扑图;
40.图2是本发明的cc-link总线网络拓扑图;
41.图3是本发明的总线协议转换架构图;
42.图4是本发明的协议处理模块原理图;
43.图5是本发明的fpga原型验证原理图。
具体实施方式
44.以下结合附图对本发明做进一步详述。
45.一种modbus和cc-link协议转换装置,如图3所示,作用于modbus总线网络和cc-link总线网络之间,其包括总线控制器、协议接收模块、协议发送模块、协议处理模块、地址转换模块、错误处理模块和总线配置模块;所述总线控制器的输出端连接协议接收模块的
输入端,协议接收模块的输出端分别连接协议处理模块、地址转换模块和错误处理模块的输入端,协议处理模块包括数据分配器,根据选择信号确认转换电路模块,进行相应的协议转换;协议处理模块、地址转换模块和错误处理模块的输出端分别连接总线配置模块和协议发送模块,协议发送模块的输出端连接总线控制器的输入端,总线配置模块进行modbus总线网络或cc-link总线网络参数配置。
46.如图1所示,modbus总线网络包括1个modbus主设备、modbus从设备以及cc-link从站,其中modbus从设备以及cc-link从站,均是modbus总线网络的从设备,modbus从设备以及cc-link从站,均是modbus总线网络的从设备,协议转换装置和modbus从设备通过modbus控制器和物理层电路接入modbus总线网络,协议转换器通过cc-link总线的控制器和收发器与cc-link总线网络连接。如图2所示,cc-link总线网络包括1个cc-link主站,cc-link从站和modbus从设备,协议转换装置通过cc-link总线的控制器和收发器与cc-link总线网络连接。
47.modbus主设备可寻址网络中的modbus从设备以及cc-link从站设备。网络中的cc-link从站设备转接到modbus总线网络时,只作为modbus主设备的从站,可将modbus主站请求的数据通过转换器传输到modbus总线网络中。其中cc-link从站设备转接到modbus总线网络时,不可向其他cc-link从站和modbus从设备发送命令帧请求数据。
48.在cc-link网络中协议转换器和其他cc-link从站相同,通过cc-link收发器电路接入cc-link总线网络中。协议转换器通过modbus控制器和物理层电路与modbus总线网络连接。
49.cc-link主站可寻址网络中的cc-link从站以及modbus从设备。网络中的modbus从设备转接到cc-link总线网络时,只作为cc-link网络的从站,可将cc-link主站请求的数据通过转换器传输到cc-link总线网络中。其中modbus从设备转接到cc-link总线网络时,不可向其他cc-link从站和modbus从设备发送命令帧请求数据。
50.总线控制器包括modbus和cc-link 2种总线协议控制器,用于接收来自总线物理层的协议串行数据,当总线控制器接收到总线物理层上的数据,将物理层的串行数据转化为字节数据,并将字节数据存入到协议接收模块中。
51.协议接收模块和协议发送模块均采用异步fifo,用于总线协议帧的缓存工作,其中协议接收模块缓存接收到的上游总线控制器原始协议帧数据,协议发送模块缓存协议转换后的协议帧数据。
52.协议地址转换模块包括地址映射表,地址映射表中包含原协议网络地址和目标协议网络地址的映射关系,用于协议转换中的协议地址转换;映射表中的每一项的前半部分是原协议帧的地址,后半部分是目标协议地址,映射表通过外部总线进行维护。
53.如图4所示,协议处理模块包括数据分配器、modbus转cc-link转换电路模块和cc-link转modbus转换电路模块,根据数据分配器的选择信号,判断原协议帧将进入modbus转cc-link转换电路模块或cc-link转modbus转换电路模块。
54.错误处理模块用于原协议帧无错误的被转发至目标协议设备后,目标协议设备回复的协议帧出现错误时的转换工作。
55.一种modbus和cc-link协议转换装置的转换方法,包括modbus总线协议向cc-link总线协议转换方法、cc-link总线协议向modbus总线协议转换方法和链路层错误修正方法。
56.如图5所示,协议转换装置连接在modbus总线网络中,modbus物理层采用的是rs232芯片,协议转换装置13通过rs 232接口11接入到modbus总线网络中,协议转换装置连接arm cpu,组成fpga。
57.modbus总线协议向cc-link总线协议转换方法,包括以下步骤:
58.步骤1.1、modbus主设备向modbus总线网络发送协议帧寻址cc-link从站,协议转换装置通过modbus物理层接口接收modbus总线协议帧;
59.步骤1.2、总线控制器中的modbus控制器将接收到的串行数据转换为字节数据,并将字节数据存入到协议接收模块中;
60.步骤1.3、地址转换模块按照地址对照表识别协议接收模块中的数据地址转换查找;
61.步骤1.4、数据分配器识别源数据总线类型和目标总线类型将modbus总线协议帧中的命令字段和数据字段需转换到cc-link总线协议帧的数据字段;
62.步骤1.5、协议处理模块将转换后的数据存入到协议发送模块,总线控制器中的cc-link总线控制器将字节数据转换为相应的数据格式;
63.步骤1.6、将转换后的协议帧按照总线配置模块设定的cc-link从站的站号地址和波特率通过cc-link收发器发送至cc-link总线网络中并回复给总线控制器中的modbus控制器;
64.步骤1.7、cc-link从站在相应的总线网络中接收转换后的协议帧,完成modbus协议到cc-link总线协议的转换。
65.而且,所述cc-link总线协议向modbus总线协议转换方法,包括以下步骤:
66.步骤2.1、cc-link主站向cc-link总线网络发送协议帧寻址modbus从设备,协议转换装置通过cc-link物理层接口接收cc-link总线协议帧;
67.步骤2.2、总线控制器中的cc-link控制器将接收到的串行数据转换为字节数据,并将字节数据存入到协议接收模块中;
68.步骤2.3、地址转换模块按照地址对照表识别协议接收模块中的数据地址转换查找;
69.步骤2.4、数据分配器识别源数据总线类型和目标总线类型将cc-link总线协议帧中的命令字段和数据字段需转换到modbus总线协议帧的数据字段;
70.步骤2.5、协议处理模块将转换后的数据存入到协议发送模块,总线控制器中的modbus总线控制器将字节数据转换为相应的数据格式;
71.步骤2.6、将转换后的协议帧按照总线配置模块设定的modbus从设备的地址通过modbus收发器发送至modbus总线网络中并回复给总线控制器中的cc-link控制器;
72.步骤2.7、modbus从设备在相应的总线网络中接收转换后的协议帧,完成cc-link协议到modbus总线协议的转换。
73.modbus总线网络链路层错误修正方法,包括以下步骤:
74.步骤3.1、cc-link从站将响应帧发送至协议转换装置的过程中产生的应用层错误时,错误处理模块将cc-link总线协议定义的错误码转换为modbus总线协议规定的异常响应码;
75.步骤3.2、错误处理模块将错误帧发送给总线控制器中的modbus总线控制器,完成
将错误帧发送给总线控制器1中的modbus总线控制器。
76.所述cc-link总线网络链路层错误修正方法,包括以下步骤:
77.步骤4.1、modbus总线从设备将响应帧发送至转换模块的过程中产生的应用层错误时,错误处理模块需要将modbus总线协议定义的异常响应码转换为cc-link总线协议规定的错误码;
78.步骤4.2、错误处理模块将此错误码发送给总线控制器中的cc-link总线控制器,完成cc-link总线网络链路层错误修正方法。
79.需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献