CN102843380A - 一种解决基于modbus的串口通信瓶颈的方法 - Google Patents

一种解决基于modbus的串口通信瓶颈的方法 Download PDF

Info

Publication number
CN102843380A
CN102843380A CN2012103385558A CN201210338555A CN102843380A CN 102843380 A CN102843380 A CN 102843380A CN 2012103385558 A CN2012103385558 A CN 2012103385558A CN 201210338555 A CN201210338555 A CN 201210338555A CN 102843380 A CN102843380 A CN 102843380A
Authority
CN
China
Prior art keywords
rtu
address
conversion system
data
interface conversion
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.)
Granted
Application number
CN2012103385558A
Other languages
English (en)
Other versions
CN102843380B (zh
Inventor
郭家楼
陈超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN ARTEL TECHNOLOGY CO LTD
Original Assignee
SHENZHEN ARTEL TECHNOLOGY CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN ARTEL TECHNOLOGY CO LTD filed Critical SHENZHEN ARTEL TECHNOLOGY CO LTD
Priority to CN201210338555.8A priority Critical patent/CN102843380B/zh
Publication of CN102843380A publication Critical patent/CN102843380A/zh
Application granted granted Critical
Publication of CN102843380B publication Critical patent/CN102843380B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

本发明公开了一种解决基于MODBUS的串口通信瓶颈的方法,在远程测控终端与组态***之间设置一接口转换***,通过接口转换***采集远程测控终端的测量数据来模拟远程测控终端,上位机的组态***从接口转换***中读取所述测量数据,以实现将采用串口通信的远程测控终端虚拟成为采用以太网通信的远程测控终端。通过本发明的技术方案无需改变通信协议即可解决通信瓶颈,所以不存在应用过程中的兼容性问题。

Description

一种解决基于MODBUS的串口通信瓶颈的方法
技术领域
本发明涉及工业通信领域,更为具体地,涉及一种解决基于MODBUS的串口通信瓶颈的方法。
背景技术
MODBUS通信协议为分布式工业控制***(DCS)常用的协议,该协议为纯软件协议,应用时通常采用RS485连接,而在工业应用中为保证可靠性,采用RS485连接时的波特率通常设置的比较低,因此限制了通信的带宽和速度,这样,一旦连接的远程测控终端(RTU)较多时,通信的瓶颈立刻就能显露出来,进而影响通信的实时性和可靠性,致使工业生产受到严重影响。
发明内容
本发明的目的在于解决上述问题,提供一种可以解决基于MODBUS的串口通信瓶颈的方法,进而改进大负荷低带宽时的通信瓶颈问题。
本发明采用的技术方案为:一种解决基于MODBUS的串口通信瓶颈的方法为:在远程测控终端与建立组态***的上位机之间设置一接口转换***,通过所述接口转换***采集远程测控终端的测量数据来模拟远程测控终端,上位机的组态***从接口转换***中读取所述测量数据,以实现将采用串口通信的远程测控终端虚拟成为采用以太网通信的远程测控终端,其中,所述远程测控终端支持MODBUS通信协议,并采用RS485硬件接口;所述接口转换***具有一与上位机进行通信连接的网口,以及至少一个串口,每个串口通过RS485总线挂接最多256个远程测控终端;利用接口转换***解决基于MODBUS的串口通信瓶颈的方法为:
接口转换***在完成各串口的初始化动作后,通过各串口读取所有远程测控终端的配置文件,之后为所有远程测控终端建立与各自一一对应的内存映射区,以将各串口设备仿真为网口设备;接口转换***在读取配置文件后针对网口执行以下的网口处理方法,针对每个串口执行以下的串口处理方法;
所述串口处理方法为:接口转换***通过寻址读取挂在同一串口上的所有远程测控终端中的数据,并将读取到的来自每个远程测控终端的数据存放至所建立的与各自相对应的内存映射区中;
所述网口处理方法为:接口转换***在通过网口接收到上位机的组态***发出的数据请求后,对所述数据请求进行解析,以确定所述数据请求针对的远程测控终端,之后,接口转换***将与确定的远程测控终端相对应的设备映射区中存储的数据反馈给上位机的组态***。
其中,所述串口处理方法中接口转换***在读取一地址的远程测控终端的数据时,若连续读取预设的最大反复读取次数后仍无响应,则判定相应地址上不存在远程测控终端。
其中,所述串口处理方法中接口转换***读取挂在一串口上的地址为D的远程测控终端中的数据的步骤为:
S101:接口转换***读取地址为D的远程测控终端中的数据,之后执行S102;
S102:判断地址为D的远程测控终端是否有响应,如有则执行S103,如没有则执行步骤S107;
S103:将读取的数据放入与地址为D的远程测控终端对应的内存映射区中;
S107:计数值i=i+1,之后执行S108;其中,计数值i的初值等于0;
S108:判断计数值i是否小于最大反复读取次数N,若是则执行S101,若否则执行S109;
S109:判定地址为D的远程测控终端不存在。
其中,所述串口处理方法中接口转换***在一次轮询中读取挂在同一串口上的所有远程测控终端中的数据的步骤为:
S101:接口转换***读取地址为D的远程测控终端中的数据,之后执行S102,其中,地址D的初值等于D0,D0为挂在串口上的远程测控终端的最小地址值;
S102:判断地址为D的远程测控终端是否有响应,如有则执行S103,如没有则执行步骤S107;
S103:将读取的数据放入与地址为D的远程测控终端对应的内存映射区中,之后执行S1041;
S104:地址D=D+△d,计数值i=0,之后执行S105;
S105:判断地址D是否小于D1,如是则执行步骤S101,如否则结束一次轮询;其中D1为挂在串口上的远程测控终端的最大地址值;
S107:计数值i=i+1,之后执行S108;其中,计数值i的初值等于0;
S108:判断计数值i是否小于最大反复读取次数N,若是则执行S101,若否则执行S109;
S109:判定地址为D的远程测控终端不存在,地址D=D+△d,计数值i=0,之后执行S110;其中,△d为相邻远程测控终端的地址差值;
S110:判断D是否小于D1,如是则执行步骤S101,如否则结束一次轮询。
其中,所述接口转换***在读取到远程测控终端中的数据后,先根据所述远程测控终端的设备协议将读取到的数据转换为实际测量值,再将获得的实际测量值存储至与各远程测控终端相对应的内存映射区中。
本发明的有益效果为:通过本发明的技术方案无需改变通信协议即可解决通信瓶颈,所以不存在应用过程中的兼容性问题。
附图说明
图1示出了远程测控终端与、上位机与接口转换***之间的连接关系;
图2示出了本发明的解决基于MODBUS的串口通信瓶颈的方法的执行步骤;
图3示出了图2中接口转换***读取挂在一串口上的地址为D的远程测控终端中的数据的一种实施方式;
图4示出了接口转换***在一次轮询中读取挂在同一串口上的所有远程测控终端中的数据的一种实施方式。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施方式对本发明做进一步详细的说明:
应用本发明的解决基于MODBUS的串口通信瓶颈的方法的硬件基础为:如图1所示,在远程测控终端与建立组态***的上位机之间设置一接口转换***,通过接口转换***采集远程测控终端的测量数据来模拟远程测控终端,上位机的组态***从接口转换***中读取测量数据,以实现将采用串口通信的远程测控终端虚拟成为采用以太网通信的远程测控终端,其中,远程测控终端支持MODBUS通信协议,并采用RS485硬件接口;接口转换***具有一与上位机进行通信连接的网口,以及至少一个串口,每个串口通过RS485总线挂接最多256个远程测控终端。
参见图2,利用接口转换***解决基于MODBUS的串口通信瓶颈的方法为:接口转换***在完成各串口的初始化动作后,通过各串口读取所有远程测控终端的配置文件,之后为所有远程测控终端建立与各自一一对应的内存映射区,以将各串口设备模拟为网口设备;接口转换***在读取配置文件后针对网口执行以下的网口处理方法,针对每个串口执行以下的串口处理方法,其中,建立内存映射区的步骤、网口处理方法和针对各串口的串口处理方法可并列执行。
该串口处理方法为:接口转换***通过寻址读取挂在同一串口上的所有远程测控终端中的数据,进而完成挂在所有串口上的所有远程测控终端,并将读取到的来自每个远程测控终端的数据存放至所建立的与各自相对应的内存映射区中,将数据存储至内存映射区中相当于在接口转换***中模拟了各个远程测控终端。所述串口处理方法中接口转换***在读取一地址的远程测控终端的数据时,若连续读取预设的最大反复读取次数(该次数可以根据实际工况确定)后仍无响应,则可判定相应地址上不存在远程测控终端。
该网口处理方法为:接口转换***在通过网口接收到上位机的组态***发出的数据请求后,对所述数据请求进行解析,以确定所述数据请求针对的远程测控终端,之后,接口转换***将与确定的远程测控终端相对应的设备映射区中存储的数据反馈给上位机的组态***。
以上的上位机可以采用PC或者小型工作站,利用组态软件制定好组态***,包括需要查询的数据和良好的人机界面,组态***的建立不属于本发明的改进点,本领域技术人员明确如何根据现有手段建立组态***。
该接口转换***可在读取到远程测控终端中的数据后,先根据所述远程测控终端的设备协议(即远程测控终端输出的数据与实际测量值之间的关系)将读取到的数据转换为实际测量值(即图2和3中指出的数据处理),再将获得的实际测量值存储至与各远程测控终端相对应的内存映射区中,这样,可以减轻上位机的组态***的计算负荷。
如图,3所示,以上的串口处理方法中接口转换***读取挂在一串口上的地址为D的远程测控终端中的数据的步骤可以为:
S101:接口转换***读取地址为D的远程测控终端中的数据,之后执行S102;
S102:判断地址为D的远程测控终端是否有响应,如有则执行S103,如没有则执行步骤S107;
S103:将读取的数据放入与地址为D的远程测控终端对应的内存映射区中;
S107:计数值i=i+1,之后执行S108;其中,计数值i的初值等于0;
S108:判断计数值i是否小于最大反复读取次数N,若是则执行S101,若否则执行S109;
S109:判定地址为D的远程测控终端不存在。
如图4所示,以上的串口处理方法中接口转换***在一次轮询中读取挂在同一串口上的所有远程测控终端中的数据的步骤可以为:
S101:接口转换***读取地址为D的远程测控终端中的数据,之后执行S102,其中,地址D的初值等于D0,D0为挂在串口上的远程测控终端的最小地址值,最小地址值通常为0。
S102:判断地址为D的远程测控终端是否有响应,如有则执行S103,如没有则执行步骤S107;
S103:将读取的数据放入与地址为D的远程测控终端对应的内存映射区中,之后执行S1041;
S104:地址D=D+△d,计数值i=0,之后执行S105;
S105:判断地址D是否小于D1,如是则执行步骤S101,如否则结束一次轮询;其中D1为挂在串口上的远程测控终端的最大地址值,如果串口满负载,则最大地址值为255。
S107:计数值i=i+1,之后执行S108;其中,计数值i的初值等于0;
S108:判断计数值i是否小于最大反复读取次数N,若是则执行S101,若否则执行S109;
S109:判定地址为D的远程测控终端不存在,地址D=D+△d,计数值i=0,之后执行S110;其中,△d为相邻(指地址相邻)远程测控终端的地址差值,在此,为了简化程序,通常设置挂在同一串口上的各远程测控终端的地址为差值是1或者其他常数的等差数列,因此,△d通常为1或其他常数,否则将增加空查询的次数或者增加将△d设置为变量的复杂性;
S110:判断D是否小于D1,如是则执行步骤S101,如否则结束一次轮询。
对于增加数据处理的方案,即在以上的步骤S103中执行。
在实际运行时,接口转换***要不断地轮询挂接在一串口上的所有远程测控终端,因此,在完成以上的一次轮询后,可将地址D和计数值i复位,执行下一次轮询,直至***停止运行。
综上所述仅为本发明较佳的实施例,并非用来限定本发明的实施范围。即凡依本发明申请专利范围的内容所作的等效变化及修饰,皆应属于本发明的技术范畴。

Claims (5)

1.一种解决基于MODBUS的串口通信瓶颈的方法,其特征在于:在远程测控终端与建立组态***的上位机之间设置一接口转换***,通过所述接口转换***采集远程测控终端的测量数据来模拟远程测控终端,上位机的组态***从接口转换***中读取所述测量数据,以实现将采用串口通信的远程测控终端虚拟成为采用以太网通信的远程测控终端,其中,所述远程测控终端支持MODBUS通信协议,并采用RS485硬件接口;所述接口转换***具有一与上位机进行通信连接的网口,以及至少一个串口,每个串口通过RS485总线挂接最多256个远程测控终端;利用接口转换***解决基于MODBUS的串口通信瓶颈的方法为:
接口转换***在完成各串口的初始化动作后,通过各串口读取所有远程测控终端的配置文件,之后为所有远程测控终端建立与各自一一对应的内存映射区,以将各串口设备仿真为网口设备;接口转换***在读取配置文件后针对网口执行以下的网口处理方法,针对每个串口执行以下的串口处理方法;
所述串口处理方法为:接口转换***通过寻址读取挂在同一串口上的所有远程测控终端中的数据,并将读取到的来自每个远程测控终端的数据存放至所建立的与各自相对应的内存映射区中;
所述网口处理方法为:接口转换***在通过网口接收到上位机的组态***发出的数据请求后,对所述数据请求进行解析,以确定所述数据请求针对的远程测控终端,之后,接口转换***将与确定的远程测控终端相对应的设备映射区中存储的数据反馈给上位机的组态***。
2.根据权利要求1所述的解决基于MODBUS的串口通信瓶颈的方法,其特征在于:所述串口处理方法中接口转换***在读取一地址的远程测控终端的数据时,若连续读取预设的最大反复读取次数后仍无响应,则判定相应地址上不存在远程测控终端。
3.根据权利要求2所述的解决基于MODBUS的串口通信瓶颈的方法,其特征在于:所述串口处理方法中接口转换***读取挂在一串口上的地址为D的远程测控终端中的数据的步骤为:
S101:接口转换***读取地址为D的远程测控终端中的数据,之后执行S102;
S102:判断地址为D的远程测控终端是否有响应,如有则执行S103,如没有则执行步骤S107;
S103:将读取的数据放入与地址为D的远程测控终端对应的内存映射区中;
S107:计数值i=i+1,之后执行S108;其中,计数值i的初值等于0;
S108:判断计数值i是否小于最大反复读取次数N,若是则执行S101,若否则执行S109;
S109:判定地址为D的远程测控终端不存在。
4.根据权利要求2所述的解决基于MODBUS的串口通信瓶颈的方法,其特征在于:所述串口处理方法中接口转换***在一次轮询中读取挂在同一串口上的所有远程测控终端中的数据的步骤为:
S101:接口转换***读取地址为D的远程测控终端中的数据,之后执行S102,其中,地址D的初值等于D0,D0为挂在串口上的远程测控终端的最小地址值;
S102:判断地址为D的远程测控终端是否有响应,如有则执行S103,如没有则执行步骤S107;
S103:将读取的数据放入与地址为D的远程测控终端对应的内存映射区中,之后执行S1041;
S104:地址D=D+△d,计数值i=0,之后执行S105;
S105:判断地址D是否小于D1,如是则执行步骤S101,如否则结束一次轮询;其中D1为挂在串口上的远程测控终端的最大地址值;
S107:计数值i=i+1,之后执行S108;其中,计数值i的初值等于0;
S108:判断计数值i是否小于最大反复读取次数N,若是则执行S101,若否则执行S109;
S109:判定地址为D的远程测控终端不存在,地址D=D+△d,计数值i=0,之后执行S110;其中,△d为地址上相邻的远程测控终端的地址差值;
S110:判断D是否小于D1,如是则执行步骤S101,如否则结束一次轮询。
5.根据权利要求1至4中任一项所述的解决基于MODBUS的串口通信瓶颈的方法,其特征在于:所述接口转换***在读取到远程测控终端中的数据后,先根据所述远程测控终端的设备协议将读取到的数据转换为实际测量值,再将获得的实际测量值存储至与各远程测控终端相对应的内存映射区中。
CN201210338555.8A 2012-09-13 2012-09-13 一种解决基于modbus的串口通信瓶颈的方法 Active CN102843380B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210338555.8A CN102843380B (zh) 2012-09-13 2012-09-13 一种解决基于modbus的串口通信瓶颈的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210338555.8A CN102843380B (zh) 2012-09-13 2012-09-13 一种解决基于modbus的串口通信瓶颈的方法

Publications (2)

Publication Number Publication Date
CN102843380A true CN102843380A (zh) 2012-12-26
CN102843380B CN102843380B (zh) 2015-12-16

Family

ID=47370440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210338555.8A Active CN102843380B (zh) 2012-09-13 2012-09-13 一种解决基于modbus的串口通信瓶颈的方法

Country Status (1)

Country Link
CN (1) CN102843380B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533099A (zh) * 2013-10-14 2014-01-22 威海麦科电气技术有限公司 变频器及其在modbus通讯协议下的地址映射方法
CN104135476A (zh) * 2014-07-18 2014-11-05 清华大学 一种通信协议转换方法、装置及***
CN107347075A (zh) * 2017-08-22 2017-11-14 深圳市计通智能技术有限公司 一种串口协议到snmp协议的转换方法及snmp协议转换器
CN113645274A (zh) * 2021-07-16 2021-11-12 深圳拓邦股份有限公司 串行通信协议设备交互的方法、设备、***及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420435A (zh) * 2008-11-18 2009-04-29 上海电力学院 基于嵌入式多mcu的通信协议转换装置及方法
CN101741770A (zh) * 2009-12-23 2010-06-16 上海电器科学研究所(集团)有限公司 一种Ethernet/IP通信网关及其实现方法
CN201557131U (zh) * 2009-12-18 2010-08-18 上海电器科学研究所(集团)有限公司 Modbus/TCP-MODBUS通信网关

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420435A (zh) * 2008-11-18 2009-04-29 上海电力学院 基于嵌入式多mcu的通信协议转换装置及方法
CN201557131U (zh) * 2009-12-18 2010-08-18 上海电器科学研究所(集团)有限公司 Modbus/TCP-MODBUS通信网关
CN101741770A (zh) * 2009-12-23 2010-06-16 上海电器科学研究所(集团)有限公司 一种Ethernet/IP通信网关及其实现方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533099A (zh) * 2013-10-14 2014-01-22 威海麦科电气技术有限公司 变频器及其在modbus通讯协议下的地址映射方法
CN103533099B (zh) * 2013-10-14 2018-09-25 威海麦科电气技术有限公司 变频器及其在modbus通讯协议下的地址映射方法
CN104135476A (zh) * 2014-07-18 2014-11-05 清华大学 一种通信协议转换方法、装置及***
CN104135476B (zh) * 2014-07-18 2017-06-13 清华大学 一种通信协议转换方法、装置及***
CN107347075A (zh) * 2017-08-22 2017-11-14 深圳市计通智能技术有限公司 一种串口协议到snmp协议的转换方法及snmp协议转换器
CN113645274A (zh) * 2021-07-16 2021-11-12 深圳拓邦股份有限公司 串行通信协议设备交互的方法、设备、***及存储介质
CN113645274B (zh) * 2021-07-16 2024-05-03 深圳拓邦股份有限公司 串行通信协议设备交互的方法、设备、***及存储介质

Also Published As

Publication number Publication date
CN102843380B (zh) 2015-12-16

Similar Documents

Publication Publication Date Title
CN102685134B (zh) 一种基于可扩展标记语言与动态库综合实现的通信管理机
CN205485380U (zh) 工业数据采集***
CN102231718B (zh) 一种EtherCAT与CAN通信的网关及其通信方法
CN106489132B (zh) 读写数据的方法、装置、存储设备和计算机***
CN103546467A (zh) 在TCP/IP网络上传输Modbus RTU协议的方法
CN102843380A (zh) 一种解决基于modbus的串口通信瓶颈的方法
CN114138700B (zh) 一种串口数据传输的流控方法、装置、设备及存储介质
US9686131B2 (en) System, gateway, and method for automatic setting configuration by learning commands
CN109165781A (zh) 计算电力***单线图连接线路径的方法、装置及终端设备
CN102811152B (zh) 一种多主总线网络通讯实时交易数据交换实现方法
CN102291337B (zh) EtherCAT协议与Profibus-DP协议通信转换的网关及其通信方法
CN109246210A (zh) 物联网通信方法与装置
CN106292518A (zh) 远程plc监控和调试***及方法
CN102521960B (zh) 一种基于智能园区的抄表方法、通信管理机和通信***
CN109917742A (zh) 可编程逻辑控制器plc***、数据上传方法
CN202230362U (zh) 一种工业控制***
CN202282789U (zh) 一种伺服驱动器的soe通信转换卡
CN104113454A (zh) 一种加油站智能控制器及基于本控制器的通讯***
CN102710025B (zh) 一种电力***通信装置及方法
CN106850368A (zh) 一种中继器及其数据传输的控制方法
CN103346943A (zh) 数据传输方法及***
CN202856759U (zh) 一种基于可扩展标记语言与动态库综合实现的通信管理机
CN102938728B (zh) 一种Modbus TCP/IP转Modbus串行的网关的实现方法
CN208768087U (zh) 一种串口数据通信链路分路协调控制装置
CN203608221U (zh) 一种EtherCAT网络主站之间的耦合设备及EtherCAT网络耦合***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant