CN108173817B - 一种基于Modbus-TCP协议的自转换方法 - Google Patents
一种基于Modbus-TCP协议的自转换方法 Download PDFInfo
- Publication number
- CN108173817B CN108173817B CN201711326046.2A CN201711326046A CN108173817B CN 108173817 B CN108173817 B CN 108173817B CN 201711326046 A CN201711326046 A CN 201711326046A CN 108173817 B CN108173817 B CN 108173817B
- Authority
- CN
- China
- Prior art keywords
- modbus
- data
- protocol
- tcp
- data type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及工业级控制***数据通信领域,特别是在异构网络之间数据实时通讯领域,具体涉及一种基于Modbus‑TCP协议的自转换方法。针对目前核电控制***中异构***之间数据传输存在协议不匹配、传输数据量大、传输距离远的问题,本发明设计了一种基于Modbus‑TCP协议自转换方法。该方法实现了Modbus‑TCP协议与本地总线协议转换,解决了异构***之间的数据传输;采用Modbus‑TCP网络解决两个异构***之间要求数据传输量大,传输距离远、传输速率快等问题;采用自定义的RS485总线协议可以快速、定时、准确的实现控制器与网关模块的数据交互,实现将第三方设备/***接入到核电控制***,实现自身***的可用性和扩展性。
Description
技术领域
本发明涉及工业级控制***数据通信领域,特别是在异构网络之间数据实时通讯领域,具体涉及一种基于Modbus-TCP协议的自转换方法。
背景技术
随着DCS控制***在核电控制中应用越来越广泛,现场总线技术的发展改变了控制***的结构,但是随着越来越多的现场总线协议的出现,异构***之间数据传输变得越来越难,导致无法直接进行数据互访与交互。
同时为避免***中采用低速、短距离传输的RS232接口,异构***中需要实现高速、大数据量的快速传输。
Modbus-TCP协议通过目前使用最广泛的以太网协议标准(IEEE802.3)将Modbus协议帧封装到TCP/IP下层协议中,并将该报文在物理层上进行数据传输,该协议有效的解决了串口总线数据传输距离短、传输速率慢、传输数据量少的问题。
自定义的RS485总线协议包括物理层、链路层和自定义应用层。RS485总线物理层采用差分线,在传输距离为100m内,传输速率可以达到Mbps的级别。自定义的RS485总线协议简称本地协议。
因此,针对控制***中现场总线协议的不足,此处介绍一种基于Modbus-TCP协议与本地协议相互转换,解决异构***中传输距离、传输速率和传输数据量的不足的问题。
发明内容
本发明的目的在于提供一种基于Modbus-TCP协议的自转换方法。
实现本发明目的的技术方案:
一种基于Modbus-TCP协议的自转换方法,该方法应用于核电控制***,网关模块实现将第三方***接入本***,实现本***的可用性和扩展性;
该方法的具体步骤如下:
第一步:协议解析
网关模块收到Modbus-TCP响应报文后,根据Modbus-TCP协议解析得到数据段DU1;
第二步:协议转换
网关模块将数据段DU1按照本地协议实现数据段映射得到相应的数据段DU2;
第三步:协议组包
网关模块将数据段DU2按照本地协议组包得到相应的报文,并发送到本地协议;
同理,从本地协议发送到Modbus-TCP网络的过程也是如此。
进一步的,如上所述的一种基于Modbus-TCP协议的自转换方法,第二步中实现两种协议的数据段映射,包括地址映射和数据格式转换:
(1)地址映射
地址映射指某一数据从Modbus-TCP缓冲区的某一地址搬移到本地协议缓冲区的某一地址下;
(2)数据格式转换
在Modbus-TCP协议中数据格式如下:
数据类型ModBus_BIT,该数据占用的Modbus寄存器数量为1,字节数1bit;
数据类型ModBus_WORD 1,该数据占用的Modbus寄存器数量为1,字节数2byte;
数据类型ModBus_DWORD,该数据占用的Modbus寄存器数量为2,字节数4byte;
数据类型ModBus_FLOAT 2,该数据占用的Modbus寄存器数量为2,字节数4byte;
在本地协议中数据格式如下:
数据类型LocalBus_BIT,表示数字量输入/输出的数据类型,字节数1bit;
数据类型LocalBus_WORD,表示模拟量输出的数据类型,字节数2byte;
数据类型LocalBus_FLOAT,表示模拟量输入的数据类型,字节数4byte;
从Modbus-TCP总线接收到的ModBus_WORD、ModBus_DWORD、ModBus_FLOAT的模拟量输入,映射到LocalBus_FLOAT的数据类型上再发送到***的控制器模块;
***的控制器模块发送的LocalBus_WORD型模拟量输出数据,转为ModBus_WORD、ModBus_DWORD或ModBus_FLOAT的数据类型再发送到Modbus-TCP网络。
本发明的效果在于:
针对目前核电控制***中异构***之间数据传输存在协议不匹配、传输数据量大、传输距离远的问题,设计了一种基于Modbus-TCP协议的自转换方法。该方法实现了Modbus-TCP协议与本地协议转换,解决了异构***之间的数据传输;采用Modbus-TCP网络解决两个异构***之间要求数据传输量大,传输距离远、传输速率快等问题;采用自定义的RS485总线协议可以快速、定时、准确的实现控制器与网关模块的数据交互,实现将第三方设备/***接入到核电控制***,实现自身***的可用性和扩展性。
附图说明
图1为本发明所述的异构***的框图。
图中:1网关模块,2控制器模块,3控制***,4第三方***。
具体实施方式
下面结合附图和具体实施例对本发明所述的一种基于Modbus-TCP协议的自转换方法作进一步描述。
实施例1
一种基于Modbus-TCP协议的自转换方法,该方法应用于核电控制***,网关模块实现将第三方***接入本***,实现本***的可用性和扩展性;
该方法的具体步骤如下:
第一步:协议解析
网关模块收到Modbus-TCP响应报文后,根据Modbus-TCP协议解析得到数据段DU1;
第二步:协议转换
网关模块将数据段DU1按照本地协议实现数据段映射得到相应的数据段DU2;
第三步:协议组包
网关模块将数据段DU2按照本地协议组包得到相应的报文,并发送到本地协议;
同理,从本地协议发送到Modbus-TCP网络的过程也是如此。
第二步中实现两种协议的数据段映射,包括地址映射和数据格式转换:
(1)地址映射
地址映射指某一数据从Modbus-TCP缓冲区的某一地址搬移到本地协议缓冲区的某一地址下;
(2)数据格式转换
在Modbus-TCP协议中数据格式如下:
数据类型ModBus_BIT,该数据占用的Modbus寄存器数量为1,字节数1bit;
数据类型ModBus_WORD 1,该数据占用的Modbus寄存器数量为1,字节数2byte;
数据类型ModBus_DWORD,该数据占用的Modbus寄存器数量为2,字节数4byte;
数据类型ModBus_FLOAT 2,该数据占用的Modbus寄存器数量为2,字节数4byte;
在本地协议中数据格式如下:
数据类型LocalBus_BIT,表示数字量输入/输出的数据类型,字节数1bit;
数据类型LocalBus_WORD,表示模拟量输出的数据类型,字节数2byte;
数据类型LocalBus_FLOAT,表示模拟量输入的数据类型,字节数4byte;
从Modbus-TCP总线接收到的ModBus_WORD、ModBus_DWORD、ModBus_FLOAT的模拟量输入,映射到LocalBus_FLOAT的数据类型上再发送到***的控制器模块;
***的控制器模块发送的LocalBus_WORD型模拟量输出数据,转为ModBus_WORD、ModBus_DWORD或ModBus_FLOAT的数据类型再发送到Modbus-TCP网络。
实施例2
根据上述描述,通过一个实例进一步描述该专利发明。假设从第三方***中传输一个模拟量点POINT1,该数据类型为FLOAT。在Modbus-TCP侧需要2个寄存器传输,并且寄存器起始地址定为0x0001;在本地协议侧需要4个字节存放该数据,并且定为通道1,也即通道1数据类型被初始化为FLOAT型。
第一步:网关模块接收到Modbus-TCP报文,解析后得到数据类型为FLOAT的数据,并且bit[24-31]的寄存器地址为0x0001。
第二步:将上述数据从DU1段协议转换到DU2,该FLOAT数据放到DU2的通道1。
第三步:将DU2的数据按照本地协议组包,并发送到本地协议。
Claims (1)
1.一种基于Modbus-TCP协议的自转换方法,该方法应用于核电控制***,网关模块实现将第三方***接入本***;其特征在于:
该方法的具体步骤如下:
第一步:协议解析
网关模块收到Modbus-TCP响应报文后,根据Modbus-TCP协议解析得到数据段DU1;
第二步:协议转换
网关模块将数据段DU1按照本地协议实现数据段映射得到相应的数据段DU2;
第三步:协议组包
网关模块将数据段DU2按照本地协议组包得到相应的报文,并发送到本地协议;
第二步中实现两种协议的数据段映射,包括地址映射和数据格式转换:
(1)地址映射
地址映射指某一数据从Modbus-TCP缓冲区的某一地址搬移到本地协议缓冲区的某一地址下;
(2)数据格式转换
在Modbus-TCP协议中数据格式如下:
数据类型ModBus_BIT,该数据占用的Modbus寄存器数量为1,字节数1bit;
数据类型ModBus_WORD 1,该数据占用的Modbus寄存器数量为1,字节数2byte;
数据类型ModBus_DWORD,该数据占用的Modbus寄存器数量为2,字节数4byte;
数据类型ModBus_FLOAT 2,该数据占用的Modbus寄存器数量为2,字节数4byte;
在本地协议中数据格式如下:
数据类型LocalBus_BIT,表示数字量输入/输出的数据类型,字节数1bit;
数据类型LocalBus_WORD,表示模拟量输出的数据类型,字节数2byte;
数据类型LocalBus_FLOAT,表示模拟量输入的数据类型,字节数4byte;
从Modbus-TCP总线接收到的ModBus_WORD、ModBus_DWORD、ModBus_FLOAT的模拟量输入,映射到LocalBus_FLOAT的数据类型上再发送到***的控制器模块;
***的控制器模块发送的LocalBus_WORD型模拟量输出数据,转为ModBus_WORD、ModBus_DWORD或ModBus_FLOAT的数据类型再发送到Modbus-TCP网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711326046.2A CN108173817B (zh) | 2017-12-13 | 2017-12-13 | 一种基于Modbus-TCP协议的自转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711326046.2A CN108173817B (zh) | 2017-12-13 | 2017-12-13 | 一种基于Modbus-TCP协议的自转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108173817A CN108173817A (zh) | 2018-06-15 |
CN108173817B true CN108173817B (zh) | 2020-11-20 |
Family
ID=62525749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711326046.2A Active CN108173817B (zh) | 2017-12-13 | 2017-12-13 | 一种基于Modbus-TCP协议的自转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108173817B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112104664B (zh) * | 2020-11-02 | 2021-02-02 | 长沙树根互联技术有限公司 | 物联网数据的协议转换方法、装置及设备 |
CN113381974A (zh) * | 2021-05-06 | 2021-09-10 | 北京工业大学 | 一种应用于专用通信的现场总线与Modbus-TCP之间的协议转换方法 |
CN116156012B (zh) * | 2023-04-21 | 2023-07-04 | 中国电子科技集团公司第二十八研究所 | 通用的异构物联网设备标准化接入和数据解析***与方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977167A (zh) * | 2010-10-25 | 2011-02-16 | 深圳市兆讯达科技实业有限公司 | 无线传感器网络接入Modbus总线的网关通信协议转换方法 |
CN106131056A (zh) * | 2016-08-17 | 2016-11-16 | 广州中国科学院沈阳自动化研究所分所 | 一种工业无线适配器及其工作方法 |
CN106302338A (zh) * | 2015-05-26 | 2017-01-04 | 机械工业仪器仪表综合技术经济研究所 | 一种基于Cortex-M处理器的KNX-Modbus TCP协议转换网关 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152236B (zh) * | 2012-12-31 | 2017-03-08 | 人民电器集团有限公司 | Modbus与TCP的协议转换模块和智能断路器 |
CN103825883A (zh) * | 2014-01-16 | 2014-05-28 | 燕山大学 | 基于无线ZigBee、CAN总线和MODBUS/TCP的多协议转换设备及其实现方法 |
CN103792928B (zh) * | 2014-02-24 | 2016-08-03 | 东南大学 | 一种基于Modbus的工业现场数据采集分析*** |
CN104506516A (zh) * | 2014-12-19 | 2015-04-08 | 平顶山中选自控***有限公司 | 一种Modbus RTU/ASCII和Modbus TCP通信协议转换的网关及其实现方法 |
CN205545362U (zh) * | 2016-03-25 | 2016-08-31 | 四川零点自动化***有限公司 | 一种Modbus RTU转Modbus TCP的协议转换器 |
-
2017
- 2017-12-13 CN CN201711326046.2A patent/CN108173817B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977167A (zh) * | 2010-10-25 | 2011-02-16 | 深圳市兆讯达科技实业有限公司 | 无线传感器网络接入Modbus总线的网关通信协议转换方法 |
CN106302338A (zh) * | 2015-05-26 | 2017-01-04 | 机械工业仪器仪表综合技术经济研究所 | 一种基于Cortex-M处理器的KNX-Modbus TCP协议转换网关 |
CN106131056A (zh) * | 2016-08-17 | 2016-11-16 | 广州中国科学院沈阳自动化研究所分所 | 一种工业无线适配器及其工作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108173817A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108173817B (zh) | 一种基于Modbus-TCP协议的自转换方法 | |
CN111670567B (zh) | 在尤其是工业网络中进行数据通信的方法、控制方法、装置、计算机程序和计算机可读介质 | |
CN111339003B (zh) | 一种基于fpga的通用多通道数据发送***及方法 | |
CN109450759B (zh) | 一种fc-ae-1553总线控制节点设备的*** | |
US9575920B2 (en) | Method for transmitting a process map via a gateway device | |
CN109194679B (zh) | 一种基于SpaceFibre接口的多协议接口数据采集装置和采集方法 | |
CN110177013A (zh) | 一种基于FPGA的EtherCAT主从站设计与实现方法 | |
CN102594627A (zh) | 一种基于fpga的千兆以太网现场总线通信装置 | |
WO2016191990A1 (zh) | 一种报文转换方法及装置 | |
CN210804041U (zh) | 多总线协议转换及数据采集*** | |
US9313050B2 (en) | Method and gateway for extending EtherCAT network | |
US9066162B2 (en) | Industrial controller apparatus capable of low error, ultra high-speed serial communication and method for driving same | |
CN108011797B (zh) | 一种基于1553b协议的以太网通信*** | |
CN107579894B (zh) | 一种基于fpga的ebr1553总线协议实现装置 | |
CN113031496B (zh) | 一种基于fpga的工业协议映射结构和方法 | |
CN101425960B (zh) | 实现负载均分的方法和设备 | |
CN110958590B (zh) | 一种基于多协议边缘计算网关的异构设备集成*** | |
CN201178481Y (zh) | 工业光纤以太网交换机 | |
CN108614792B (zh) | 1394事务层数据包存储管理方法及电路 | |
CN207625600U (zh) | 基于交换机芯片的以太网扩展电路 | |
WO2023161839A1 (en) | Direct encapsulation of sensor data over ethernet | |
CN202551082U (zh) | 一种基于fpga的千兆以太网现场总线通信装置 | |
CN213693739U (zh) | 一种支持SIO功能的IO-Link中继器长线收发器 | |
CN111124980B (zh) | 一种基于分布式大气传感器异步串行通讯*** | |
CN214236813U (zh) | 一种焊接控制器与机器人通讯*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |