CN115333894A - 一种基于多主站通讯需求的modbus通讯集线器及读取方法 - Google Patents
一种基于多主站通讯需求的modbus通讯集线器及读取方法 Download PDFInfo
- Publication number
- CN115333894A CN115333894A CN202210952231.7A CN202210952231A CN115333894A CN 115333894 A CN115333894 A CN 115333894A CN 202210952231 A CN202210952231 A CN 202210952231A CN 115333894 A CN115333894 A CN 115333894A
- Authority
- CN
- China
- Prior art keywords
- slave station
- modbus
- master station
- station
- master
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40019—Details regarding a bus master
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- 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/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40228—Modbus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于多主站通讯需求的modbus通讯集线器,其技术方案要点是包括有主站模块、从站模块、控制模块,主站模块、控制模块以及从站模块依次网络连接设置;主站模块包括有多个主站接口;从站模块用于连接物理从站设备;控制模块用于识别各主站接口的modbus指令报文并解析生成统一虚拟从站设备池,根据从站设备池的类型和池大小自动生成modbus指令,并获取物理从站设备中的数据,该modbus通讯集线器能够可靠又高性价比的实现多个主站同时读取从机设备数据的功能。
Description
技术领域
本发明涉及一种通讯集线器,更具体地说,它涉及一种基于多主站通讯需求的modbus通讯集线器。
背景技术
工业设备之间的现场通讯协议中,主从通讯协议一直占有绝对的市场地位,比如MODBUS协议、645协议等尤其广泛且长期存在,并且随着物联网改造热潮的到来,传统的这些通讯协议也是无法被取代,MODBUS协议是一种应用于电子控制器上的通用语言,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。MODBUS协议已经成为一通用工业标准,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
MODBUS协议支持传统的RS-232、RS-422、RS-485和以太网设备以及许多工业设备,包括PLC、DCS、智能仪表等都在使用MODBUS协议作为他们之间的通讯标准。
但是基于物联设备的改造需求,传统的一主站多从机通讯方式已经无法满足,迫切需要采取一种既可靠又高性价比的方案来实现多个主站同时读取从机设备数据的功能。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种基于多主站通讯需求的modbus通讯集线器,该modbus通讯集线器能够可靠又高性价比的实现多个主站同时读取从机设备数据的功能。
为实现上述目的,本发明提供了如下技术方案:一种基于多主站通讯需求的modbus通讯集线器,包括有主站模块、从站模块、控制模块,所述主站模块、控制模块以及从站模块依次网络连接设置;
所述主站模块包括有多个主站接口;
所述从站模块用于连接物理从站设备;
所述控制模块用于识别各主站接口的modbus指令报文并解析生成统一虚拟从站设备池,根据从站设备池的类型和池大小自动生成modbus指令,并获取物理从站设备中的数据。
综上所述,本发明具有以下有益效果:通过控制模块自动识别各主站口的modbus指令报文并解析生成统一虚拟从站设备池,刚开始生成的虚拟从站设备池里的数据为空,再根据虚拟从站设备池的类型和池大小,自动生成新的高效率的modbus指令,并依次循环转发给每个物理从站设备,物理从站设备的数据返回后,存入对应设备ID的虚拟从站设备池里,这时只要有过通讯的虚拟从站设备池里都会放入最新返回的从站寄存器或线圈的数据,有了这些数据后,每个主站都可以从集线器里获取对应的从站数据。
多主站485通讯的方式相对原有的缓存型的方案有如下的优势:
1.多主站通讯响应效率跟单主站几乎相当。
2.有了虚拟设备映射后,对用户而已,每个主站对从站的访问都是一对一透明的,主站程序不需要任何的改动。
3.写指令优先级提权功能有效改善主站写操作的响应。
附图说明
图1为基于多主站通讯需求的modbus通讯集线器的硬件结构示意图;
图2为集线器的软件流程示意图。
附图标记:1、主站模块;2、从站模块;21、从站电路隔离电源;3、控制模块;31、主站电路隔离电源;4、外端电路连接。
具体实施方式
下面结合附图和实施例,对本发明进一步详细说明。其中相同的零部件用相同的附图标记表示。需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“底面”和“顶面”、“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。
参照图1和图2所示,为实现上述目的,本发明提供了如下技术方案:一种基于多主站通讯需求的modbus通讯集线器,包括有主站模块1、从站模块2、控制模块3,主站模块1、控制模块3以及从站模块2依次网络连接设置;
主站模块1包括有多个主站接口;
从站模块2用于连接物理从站设备;
控制模块3用于识别各主站接口的modbus指令报文并解析生成统一虚拟从站设备池,根据从站设备池的类型和池大小自动生成modbus指令,并获取物理从站设备中的数据。
该控制模块3为高性能工业级32为MCU或者其他替换芯片。
本发明的设计,通过控制模块3自动识别各主站口的modbus指令报文并解析生成统一虚拟从站设备池,刚开始生成的虚拟从站设备池里的数据为空,再根据虚拟从站设备池的类型和池大小,自动生成新的高效率的modbus指令,并依次循环转发给每个物理从站设备,物理从站设备的数据返回后,存入对应设备ID的虚拟从站设备池里,这时只要有过通讯的虚拟从站设备池里都会放入最新返回的从站寄存器或线圈的数据,有了这些数据后,每个主站都可以从集线器里获取对应的从站数据。
由于虚拟从站设备池是根据各个主站的Modbus RTU指令报文统一分析动态生成的。
mcu根据虚拟设备,生成指令从实际的从站设备获取数据,而每个主站则是通过各自的modbus指令从虚拟设备上获取数据。
另外本申请通过映射所有物理从站设备到模块里,使得模块中所有属性与物理设备一模一样,从而达到主站读取模块虚拟数据跟读取物理设备数据是一样的,所以对用户而言是透明的,一个主机通讯和多个主机通讯,不用改任何主机的代码,能够直接使用。
主站模块1包括有主站1接口、主站2接口、主站3接口以及主站4接口;
从站模块2包括有一从站接口。
主站1接口、主站2接口、主站3接口、主站4接口以及从站接口均为485接口。
各个485接口(包括4各主站口和1个从站口)独立配置串口参数,实现不同串口配置的主从站设备之间能够进行多主多从通讯。
主站模块1还包括有主站电路隔离电源31;
从站模块2还包括有从站电路隔离电源21;
主站电路隔离电源31和从站电路隔离电源21分别与外端电路连接4。
一种基于多主站通讯需求的modbus通讯集线器的读取方法,包括有:
步骤1:通过控制模块3自动识别各主站接口的modbus指令报文生成统一虚拟从站设备池;
步骤2:为空的虚拟从站设备池根据自身池的类型和池大小,自动生成新的高效率的modbus指令;
步骤3:虚拟从站设备池将新的高效率的modbus指令转发给每个物理从站设备;
步骤4:物理从站设备接收并返回数据,存入对应设备ID的虚拟从站设备池中;
步骤5:虚拟从站设备池存入返回数据,并且每个主站看从虚拟从站设备池中获取对应的从站数据。
步骤2具体包括有:正常工作模式下,控制模块3缓存每个主站口的每条modbus指令,自动识别分析指令报文内容,并根据设备ID号分别生成不同设备ID的虚拟modbus从站设备。
步骤2还包括有:进一步分析每个设备的报文内容,提取出各主站接口的寄存器和线圈的地址和数量,并添加到对应设备ID的虚拟modbus从站设备,所有新添加的寄存器和线圈值清零。
针对各个主站口的modbus指令请求,集线器直接从对应虚拟modbus从站设备的寄存器和线圈区里获取数据并返回给对应主站口的主机设备。
对于同一个设备ID的虚拟modbus从站设备,后续不断的新指令加入,新的寄存器和线圈地址也会不断地添加到该虚拟设备的寄存器区和线圈区。
由于生成的虚拟modbus从站设备的寄存器和线圈区是根据各个主站口的modbus请求指令得到的,所以寄存器和线圈的地址可能连续或断续的现象,单片机会根据每个虚拟设备的寄存器和线圈分布状况,重新自动优化生成一条或多条新的modbus指令并缓存到预先开辟好的指令区。
步骤3具体包括有:依次循环读取modbus指令区的指令条目,并通过从站接口与实际物理连接的modbus从站设备进行数据交互。并把返回报文解析出来的数据存储到对应的虚拟modbus设备的寄存器和线圈里。
虚拟modbus设备里有了寄存器和线圈数据后,每个主站口的设备就可以获取对应的物理modbus设备的数据了。
正常通讯过程中,如果某个物理modbus从站设备掉线了,则对应设备ID的虚拟modbus从站设备也会处于失效状态,各主站口也获取不了该ID的虚拟modbus从站设备的所有数据,直到物理设备恢复在线状态,对应虚拟设备也会解除失效模式。
对于各个主站口的modbus读写两种指令,单片机都会根据报文内容不断完善对应虚拟modbus从站设备的寄存器和线圈区,并优先直接透传转发modbus写指令到物理从站设备,由于使用这个优先转发功能,快速提高了物理主站设备对物理从站设备的实际控制响应速度。
多主站485通讯的方式相对原有的缓存型的方案有如下的优势:
1.多主站通讯响应效率跟单主站几乎相当。
2.有了虚拟设备映射后,对用户而已,每个主站对从站的访问都是一对一透明的,主站程序不需要任何的改动。
3.写指令优先级提权功能有效改善主站写操作的响应。
集线器工作模式分上电配置模式和正常工作模式,上电配置模式方便使用者通过上位机软件对集线器的内部参数进行读取和设置。
工作流程为:设备进行上电,随后等待配置命令,根据有无配置命令进行工作;
1、有配置命令时:进入配置模式,随后发送设备当前配置信息,获取用户最新配置信息,最终保存配置信息并等待重新上电生效。
2、无配置命令时,分别进入主站通讯模块和/或从站通讯模块。
2.1、进入主站通讯模块,读取各主站口指令并缓存,再判断虚拟设备是否有效。
2.11、虚拟设备无效,不回复主站指令,并根据缓存的指令集自动生成或更新虚拟modbus从站设备。
2.12、虚拟设备有效,从虚拟设备获取数据并返回对应主站,并根据缓存的指令集自动生成或更新虚拟modbus从站设备。
每个虚拟从站设备根据指令也自动分配寄存器和线圈区,再根据虚拟设备的信息自动生成高效的优化过的modbus指令,并存入指令区,供从站通讯模块使用,最后开始下一轮主站口指令读取。
2.2、进入从站通讯模块,指令区轮询取出一条通讯命令,然后判断当前从站口有无占用。
2.21、当前从站口被占用,等待从站口空闲,直至无占用。
2.22、当前从站口空闲,发送当前取出的指令到从站口,随后等待从站口数据返回。
2.221、从站口数据无返回时,判断是否等待超时。
2.2211、没有等待超时,返回至等到从站口数据返回。
2.2212、等待超时,把对应的虚拟从站设备置为无效状态,随后释放从站数据通道。
2.222、从站口数据有返回时,如果当前虚拟设备无效,则重新置为有效状态,随后解析报文,把获取的数据更新到对应的虚拟设备的寄存器和线圈区,随后释放从站数据通道。
最后返回取下一条指令流程。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基于多主站通讯需求的modbus通讯集线器,其特征是:包括有主站模块(1)、从站模块(2)、控制模块(3),所述主站模块(1)、控制模块(3)以及从站模块(2)依次网络连接设置;
所述主站模块(1)包括有多个主站接口;
所述从站模块(2)用于连接物理从站设备;
所述控制模块(3)用于识别各主站接口的modbus指令报文并解析生成统一虚拟从站设备池,根据从站设备池的类型和池大小自动生成modbus指令,并获取物理从站设备中的数据。
2.根据权利要求1所述的一种基于多主站通讯需求的modbus通讯集线器,其特征是:所述主站模块(1)包括有主站1接口、主站2接口、主站3接口以及主站4接口;
所述从站模块(2)包括有一从站接口。
3.根据权利要求2所述的一种基于多主站通讯需求的modbus通讯集线器,其特征是:所述主站1接口、主站2接口、主站3接口、主站4接口以及从站接口均为485接口。
4.根据权利要求1所述的一种基于多主站通讯需求的modbus通讯集线器,其特征是:所述主站模块(1)还包括有主站电路隔离电源(31);
所述从站模块(2)还包括有从站电路隔离电源(21);
所述主站电路隔离电源(31)和从站电路隔离电源(21)分别与外端电路连接(4)。
5.一种基于多主站通讯需求的modbus通讯集线器的读取方法,其特征是包括有:
步骤1:通过控制模块(3)自动识别各主站接口的modbus指令报文生成统一虚拟从站设备池;
步骤2:为空的虚拟从站设备池根据自身池的类型和池大小,自动生成新的高效率的modbus指令;
步骤3:虚拟从站设备池将新的高效率的modbus指令转发给每个物理从站设备;
步骤4:物理从站设备接收并返回数据,存入对应设备ID的虚拟从站设备池中;
步骤5:虚拟从站设备池存入返回数据,并且每个主站看从虚拟从站设备池中获取对应的从站数据。
6.根据权利要求5所述的一种基于多主站通讯需求的modbus通讯集线器的读取方法,其特征是所述步骤2具体包括有:控制模块(3)缓存每个主站口的每条modbus指令,自动识别分析指令报文内容,并根据设备ID号分别生成不同设备ID的虚拟modbus从站设备。
7.根据权利要求6所述的一种基于多主站通讯需求的modbus通讯集线器的读取方法,其特征是:所述步骤2还包括有:分析每个设备的报文内容,提取出各主站接口的寄存器和线圈的地址和数量,并添加到对应设备ID的虚拟modbus从站设备,所有新添加的寄存器和线圈值清零。
8.根据权利要求5的一种基于多主站通讯需求的modbus通讯集线器的读取方法,其特征是:所述步骤3具体包括有:依次循环读取modbus指令区的指令条目,并通过从站接口与实际物理连接的modbus从站设备进行数据交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210952231.7A CN115333894A (zh) | 2022-08-09 | 2022-08-09 | 一种基于多主站通讯需求的modbus通讯集线器及读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210952231.7A CN115333894A (zh) | 2022-08-09 | 2022-08-09 | 一种基于多主站通讯需求的modbus通讯集线器及读取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115333894A true CN115333894A (zh) | 2022-11-11 |
Family
ID=83922599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210952231.7A Pending CN115333894A (zh) | 2022-08-09 | 2022-08-09 | 一种基于多主站通讯需求的modbus通讯集线器及读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115333894A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116566762A (zh) * | 2023-07-07 | 2023-08-08 | 武汉亚为电子科技有限公司 | 一种基于Modbus-RTU协议的级联设备及其使用方法 |
-
2022
- 2022-08-09 CN CN202210952231.7A patent/CN115333894A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116566762A (zh) * | 2023-07-07 | 2023-08-08 | 武汉亚为电子科技有限公司 | 一种基于Modbus-RTU协议的级联设备及其使用方法 |
CN116566762B (zh) * | 2023-07-07 | 2023-10-20 | 武汉亚为电子科技有限公司 | 一种基于Modbus-RTU协议的级联设备及其使用方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101937406B (zh) | 一种VxWorks操作系统中实现驱动1394设备的方法和系统 | |
CN105978778A (zh) | 基于stm32的以太网与串口/can协议转换装置 | |
CN101231525A (zh) | 分布式控制系统dcs控制器实时数据库的实现方法 | |
CN105677605B (zh) | 一种高效的可配置片上互联系统及其实现方法、装置 | |
CN109308030A (zh) | 一种基于EtherCAT总线的伺服驱动控制系统 | |
CN105426260B (zh) | 一种支持分布式系统的透明进程间通信系统及方法 | |
CN101877002A (zh) | 基于统一接口的内存数据库分布式访问方法及系统 | |
CN115333894A (zh) | 一种基于多主站通讯需求的modbus通讯集线器及读取方法 | |
CN106484657A (zh) | 一种可重构的信号处理器asic架构及其重构方法 | |
CN110188059A (zh) | 数据有效位统一配置的流控式fifo缓存结构及方法 | |
CN111510363A (zh) | 基于modbus协议的从站转换装置及其控制方法 | |
CN202395811U (zh) | 用于智能楼宇管理系统的协议转换装置 | |
CN210155539U (zh) | 一种低成本的plc至数据库直传模块 | |
CN117667781A (zh) | 一种基于AM64x的EtherCAT主站设计与实时性优化方法 | |
WO2021042972A1 (zh) | 一种智能卡管理装置及方法 | |
CN204833071U (zh) | 基于通用型arm架构的服务器平台 | |
CN114077562A (zh) | 一种1553b总线控制器协议处理ip核 | |
CN111666238A (zh) | 数据传输装置及方法 | |
CN202282789U (zh) | 一种伺服驱动器的soe通信转换卡 | |
CN105893036A (zh) | 一种嵌入式系统的兼容式加速器扩展方法 | |
CN202353597U (zh) | 嵌入式家庭网关 | |
CN212486527U (zh) | 一种基于modbus协议的从站转换装置 | |
CN101753393B (zh) | 基于iec61158标准现场总线的通信芯片架构 | |
CN101320359A (zh) | 串口设备控制电路及控制方法 | |
CN2930126Y (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 |