CN102843380B - 一种解决基于modbus的串口通信瓶颈的方法 - Google Patents
一种解决基于modbus的串口通信瓶颈的方法 Download PDFInfo
- Publication number
- CN102843380B CN102843380B CN201210338555.8A CN201210338555A CN102843380B CN 102843380 B CN102843380 B CN 102843380B CN 201210338555 A CN201210338555 A CN 201210338555A CN 102843380 B CN102843380 B CN 102843380B
- 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.)
- Active
Links
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种解决基于MODBUS的串口通信瓶颈的方法,在远程测控终端与组态系统之间设置一接口转换系统,通过接口转换系统采集远程测控终端的测量数据来模拟远程测控终端,上位机的组态系统从接口转换系统中读取所述测量数据,以实现将采用串口通信的远程测控终端虚拟成为采用以太网通信的远程测控终端。通过本发明的技术方案无需改变通信协议即可解决通信瓶颈,所以不存在应用过程中的兼容性问题。
Description
技术领域
本发明涉及工业通信领域,更为具体地,涉及一种解决基于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的远程测控终端对应的内存映射区中,之后执行S104;
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的远程测控终端对应的内存映射区中,之后执行S104;
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的远程测控终端对应的内存映射区中,之后执行S104;
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的串口通信瓶颈的方法,其特征在于:所述接口转换系统在读取到远程测控终端中的数据后,先根据所述远程测控终端的设备协议将读取到的数据转换为实际测量值,再将获得的实际测量值存储至与各远程测控终端相对应的内存映射区中。
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 CN102843380A (zh) | 2012-12-26 |
CN102843380B true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533099B (zh) * | 2013-10-14 | 2018-09-25 | 威海麦科电气技术有限公司 | 变频器及其在modbus通讯协议下的地址映射方法 |
CN104135476B (zh) * | 2014-07-18 | 2017-06-13 | 清华大学 | 一种通信协议转换方法、装置及系统 |
CN107347075B (zh) * | 2017-08-22 | 2021-01-15 | 深圳市计通智能技术有限公司 | 一种串口协议到snmp协议的转换方法及snmp协议转换器 |
CN113645274B (zh) * | 2021-07-16 | 2024-05-03 | 深圳拓邦股份有限公司 | 串行通信协议设备交互的方法、设备、系统及存储介质 |
Citations (3)
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通信网关 |
-
2012
- 2012-09-13 CN CN201210338555.8A patent/CN102843380B/zh active Active
Patent Citations (3)
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通信网关及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102843380A (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102843380B (zh) | 一种解决基于modbus的串口通信瓶颈的方法 | |
CN106131056B (zh) | 一种工业无线适配器及其工作方法 | |
CN103546467A (zh) | 在TCP/IP网络上传输Modbus RTU协议的方法 | |
CN102811152B (zh) | 一种多主总线网络通讯实时交易数据交换实现方法 | |
CN104965808A (zh) | 用于实现串口复用的装置以及串口复用的方法 | |
CN108345558B (zh) | 一种支持多协议的rs485集配单元 | |
CN104636301A (zh) | 一种基于pci-e接口的大规模plc高速背板总线系统 | |
CN111884915A (zh) | 一种提高网关采集modbus设备效率的方法 | |
CN204498117U (zh) | 新型电力线宽带载波通信模块组网测试系统 | |
CN103728957B (zh) | 一种基于实时数据库的hart现场设备管理方法及系统 | |
CN203858629U (zh) | 一种协议转换器 | |
CN202395811U (zh) | 用于智能楼宇管理系统的协议转换装置 | |
CN102881146A (zh) | 一种多工业总线的工业现场设备数据采集器 | |
CN2879548Y (zh) | 一种面向智能楼宇的arm嵌入式串口网关 | |
CN102710025B (zh) | 一种电力系统通信装置及方法 | |
CN106850368A (zh) | 一种中继器及其数据传输的控制方法 | |
CN202282789U (zh) | 一种伺服驱动器的soe通信转换卡 | |
CN104656604B (zh) | 一种利用modbus通信协议实现人机交互的电网安全稳定控制装置及其方法 | |
CN207625600U (zh) | 基于交换机芯片的以太网扩展电路 | |
CN206370845U (zh) | 一种基于以太网虚拟串口技术和lte无线网的通信装置 | |
CN204013587U (zh) | 可集成的Modbus网关模块 | |
CN201830280U (zh) | 模拟profibus-dp主站通信的测试装置 | |
CN205015457U (zh) | 一种伺服电机驱动测试装置 | |
CN203747846U (zh) | 一种无线通讯主板结构 | |
CN203301512U (zh) | 嵌入式现场总线通信网关 |
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 |