CN107682247B - 一种主机与多个从机的高效通讯方法 - Google Patents
一种主机与多个从机的高效通讯方法 Download PDFInfo
- Publication number
- CN107682247B CN107682247B CN201710830791.4A CN201710830791A CN107682247B CN 107682247 B CN107682247 B CN 107682247B CN 201710830791 A CN201710830791 A CN 201710830791A CN 107682247 B CN107682247 B CN 107682247B
- Authority
- CN
- China
- Prior art keywords
- slave
- communication
- zone bit
- host
- 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.)
- Active
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
-
- 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
- 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
Abstract
本发明公开了一种主机与多个从机的高效通讯方法,包括有以下步骤:分别在多个从机上设置通讯标志位,由从机将自身的通讯标志位置为真;主机依次循环询问从机的通讯标志位,若通讯标志位为真,则询问该从机的数据包,然后将该从机的通讯标志位置为零,并由主机询问下一个从机的通讯标志位;若通讯标志位为零,则直接由主机询问下一个从机的通讯标志位。本发明通过在从机设置通讯标志位对从机数据状态进行标记,主机在访问时先读取通讯标志位,只在通讯标志位为真时才进一步对从机数据包进行读取,从而在一个主机与多个从机的通讯过程中节省大量的数据读取时间,增加通讯效率。本发明作为一种主机与多个从机的高效通讯方法可广泛应用于通信领域。
Description
技术领域
本发明涉及通信领域,尤其是一种主机与多个从机的高效通讯方法。
背景技术
RS-485总线作为一种多点差分数据传输的电气规范,已成为业界应用最为广泛的标准通信接口之一。这种通信接口允许在简单的一对双绞线上进行多点双向通信,它所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的。正因为此,许多不同领域都采用RS-485
这项标准得到广泛接受的另外一个原因是它的通用性RS-485标准只对接口的电气特性做出规定,而不涉及接插件电缆或协议,在此基础上用户可以建立自己的高层通信协议,如MODBUS协议。
ModBus协议是Modicon公司于1978年发明的一种用于电子控制器进行控制和通讯的通讯协议。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以进行通信。
Modbus是一种单主站的主/从通信模式,Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,从站的地址范围为0-247,其中0为广播地址,从站的实际地址范围为1-247,即最多可带247个从机。
常规情况下,主机访问从机的数据时,会使用03指令直接访问所需要的寄存器,如图1所示,但是工程安装中一种主机会带多个从机,会出现通讯效率很慢,用户体验差的结果。
发明内容
为了解决上述技术问题,本发明的目的是:提供一种主机与多个从机的高效通讯方法。
本发明所采用的技术方案是:一种主机与多个从机的高效通讯方法,包括有以下步骤:
分别在多个从机上设置通讯标志位,由从机将自身的通讯标志位置为真;
主机依次循环询问从机的通讯标志位,若通讯标志位为真,则询问该从机的数据包,然后将该从机的通讯标志位置为零,并由主机询问下一个从机的通讯标志位;若通讯标志位为零,则直接由主机询问下一个从机的通讯标志位。
进一步,在从机上设置线控器标志位,当线控器标志位为真时,主机询问从机数据包;当从机的通讯标志位置为真时,线控器标志位同时置为真;当主机询问到从机的通讯标志位为真,询问该从机的数据包时将线控器标志位置为零。
进一步,在从机的内存变量中设置用户变量、用户变量缓冲值、通信变量以及通信变量缓冲值;通过检测用户变量、用户变量缓冲量是否相等,判断从机是否更改数据;通过检测通信变量、通信变量缓冲量是否相等,判断当前主机是否同步数据到从机。
进一步,当从机的通讯标志位为真时,该从机的数据包不接受主机的同步参数,将用户最新更改的参数同步到其他从机,其他的数据包接受主机的同步参数。
进一步,所述从机的通讯标志位对应从机的多个数据包,其中通讯标志位的每个位对应一个数据包。
进一步,所述从机设置有多个通讯标志位,每个通讯标志位对应从机的一个数据包。
进一步,将该从机的通讯标志位置为零后,先同步参数到其他从机,然后由主机询问下一个从机的通讯标志位。
进一步,所述主机与多个从机通过ModBus协议通讯。
本发明的有益效果是:通过在从机设置通讯标志位对从机数据状态进行标记,主机在访问时先读取通讯标志位,只在通讯标志位为真时才进一步对从机数据包进行读取,否则直接访问下一个从机,从而在一个主机与多个从机的通讯过程中节省大量的数据读取时间,增加通讯效率。
附图说明
图1为现有技术中主机访问从机的步骤流程图;
图2为本发明方法的步骤流程图;
图3为本发明第一具体实施例流程图;
图4为本发明第一具体实施例中主机与一个从机通讯的流程图;
图5为本发明第二具体实施例的主从机通讯流程图;
图6为本发明第三具体实施例的主从机通讯流程图;
图7为本发明第四具体实施例流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明:
参照图2,一种主机与多个从机的高效通讯方法,包括有以下步骤:
分别在多个从机上设置通讯标志位,由从机将自身的通讯标志位置为真;
主机依次循环询问从机的通讯标志位,若通讯标志位为真,则询问该从机的数据包,然后将该从机的通讯标志位置为零,并由主机询问下一个从机的通讯标志位;若通讯标志位为零,则直接由主机询问下一个从机的通讯标志位。
在通讯过程中增加一个通讯标志位,该通讯标志位由从机置为真,通讯标志位需要清零,否则主机会重复读取;同时,基于传输过程中有可能校验错误的考虑,通讯标志位由主机清零,从而降低这种风险。只有当主机发现从机参数更改,即通讯标志位为真时,主机才会进一步询问从机具体的数据包。当主机发现从机参数没有更改,即通讯标志位为零,则跳过询问其数据包里的具体数据,直接询问下一个从机参数是否改变,即询问下一个从机的通讯标志位。该解决方案,尤其在多个从机的情景下具有明显提高通讯效率的效果。
参照图3,以一个主机与三个从机的通讯为例,首先由主机询问从机1的通讯标志位,若从机的参数是否更改,即通讯标志位是否为真;若是,则进一步询问从机1的数据包,然后将从机1的通讯标志位值为零,再对从机2的通讯标志位进行询问;若否,则直接对从机2的通讯标志位进行询问。依次类推,当主机询问完从机3后,重新对从机1进行询问,完成一次循环询问的过程。
增加一个通讯标志位之后,主机与一个从机可能的通讯流程图可参照图4,以主机与从机1的通讯为例:从机更改第一次参数,将通讯标志位置为真时,从主板发送03指令请求具体的数据包,到主机清除从机的通讯标志位,假定数据包有180字节,且波特率为9600bps,传输这180个字节会有大概200ms的时间间隔,这个时间足以让用户存在第二次更改参数的可能,尤其是触摸屏类产品;若此时刚完成第二次参数的更改,通讯标志位刚好置为1,遇上主机在清除上一次的标志位,会出现第二次更改的参数时无法被主机获取。
为了解决上述第二次更改的参数时无法被主机获取的问题,作为优选的实施例,在从机上设置线控器标志位,当线控器标志位为真时,主机询问从机数据包;当从机的通讯标志位置为真时,线控器标志位同时置为真;当主机询问到从机的通讯标志位为真,询问该从机的数据包时将线控器标志位置为零。
参照图5,从机增加设置一个线控器标志位,线控器标志位和通讯标志位置为真的条件一致,即当参数有更改时,同时置为真;但清零的条件不一样,当主机发现通讯标志位置为真后开始请求具体的数据包时,线控器标志位自动清零,先于通讯标志位清零。当快速修改参数第二次时,通讯标志位刚置为真时,遇上主板清零因为第一次更改而变化的通讯标志位,这时因为主板只读取了一次从机的参数,此时线控器独有标志位仍为真,将线控器独有标志位重新赋值给通讯标志位,主机自动询问具体的数据包。
为了解决上述第二次更改的参数时无法被主机获取的问题,参照图6,作为另一优选的实施例,在从机的内存变量中为一个参数设置4个变量,分别是用户变量、用户变量缓冲值、通信变量以及通信变量缓冲值;通过检测用户变量、用户变量缓冲量是否相等,判断从机是否更改数据;通过检测通信变量、通信变量缓冲量是否相等,判断当前主机是否同步数据到从机。其中用户变量为从机当前显示的数据,例如线控器上显示的开/关机、模式或目标温度等参数,用户变量缓冲值为从机上一次显示的数据。通讯变量为从机与主机通讯的最新数据,例如更改机组状态由关机更改为开机时,开关机参数的用户变量更新为开机,然后通讯变量更新为开机,主机询问的是通讯变量时,如果已经更新为开机,则认为当前的需求为开机;如果不更新该通讯变量,主机询问时,仍然认为当前的需求为关机;通讯变量缓冲值为从机与主机上一次通讯的数据。
在上述具体实施例中,如果从机无条件接受主机同步的数据,即设置开/关机、模式或目标温度等参数为一致,会存在刚更改完一个参数,因为主机之前先收到其他从机的参数更改及后续同步的原因,参数马上变为上一次主机收到的参数。因此,进一步作为优选的实施方式,当从机的参数修改时,即通讯标志位置为真时,该从机的数据包不接受主机的同步参数,将用户最新更改的参数同步到其他从机,其他的数据包接受主机的同步参数。
进一步作为优选的实施方式,所述从机的通讯标志位对应从机的多个数据包,其中通讯标志位的每个位对应一个数据包;例如从机的通讯标志位为一个字节,一个字节的八个位最多可对应八个数据包。
进一步作为优选的实施方式,所述从机设置有多个通讯标志位,每个通讯标志位对应从机的一个数据包。
参照图7,进一步作为优选的实施方式,将该从机的通讯标志位置为零后,先同步参数到其他从机,然后由主机询问下一个从机的通讯标志位。
进一步作为优选的实施方式,所述主机与多个从机通过ModBus协议通讯。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可以作出种种的等同变换或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (8)
1.一种主机与多个从机的高效通讯方法,其特征在于,包括有以下步骤:
分别在多个从机上设置通讯标志位,当从机参数更改,由从机将自身的通讯标志位置为真;
主机依次循环询问从机的通讯标志位,若通讯标志位为真,则询问该从机的数据包,然后将该从机的通讯标志位置为零,并由主机询问下一个从机的通讯标志位;若通讯标志位为零,则直接由主机询问下一个从机的通讯标志位。
2.根据权利要求1所述的一种主机与多个从机的高效通讯方法,其特征在于:在从机上设置线控器标志位,当从机的通讯标志位置为真时,线控器标志位同时置为真;当主机询问到从机的通讯标志位为真,主机询问该从机的数据包,线控器标志位自动清零;当线控器标志位为真、从机的通讯标志被主机置为零时,将线控器标志位重新赋值给从机的通讯标志位,主机询问从机数据包。
3.根据权利要求1所述的一种主机与多个从机的高效通讯方法,其特征在于:在从机的内存变量中设置用户变量、用户变量缓冲值、通信变量以及通信变量缓冲值;通过检测用户变量、用户变量缓冲量是否相等,判断从机是否更改数据;通过检测通信变量、通信变量缓冲量是否相等,判断当前主机是否同步数据到从机。
4.根据权利要求1-3中任一权利要求所述的一种主机与多个从机的高效通讯方法,其特征在于:当从机的通讯标志位为真时,该从机的数据包不接受主机的同步参数,将用户最新更改的参数同步到其他从机,其他的数据包接受主机的同步参数。
5.根据权利要求1-3中任一权利要求所述的一种主机与多个从机的高效通讯方法,其特征在于:所述从机的通讯标志位对应从机的多个数据包,其中通讯标志位的每个位对应一个数据包。
6.根据权利要求1-3中任一权利要求所述的一种主机与多个从机的高效通讯方法,其特征在于:所述从机设置有多个通讯标志位,每个通讯标志位对应从机的一个数据包。
7.根据权利要求1-3中任一权利要求所述的一种主机与多个从机的高效通讯方法,其特征在于:将该从机的通讯标志位置为零后,先同步参数到其他从机,然后由主机询问下一个从机的通讯标志位。
8.根据权利要求1-3中任一权利要求所述的一种主机与多个从机的高效通讯方法,其特征在于:所述主机与多个从机通过ModBus协议通讯。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710830791.4A CN107682247B (zh) | 2017-09-15 | 2017-09-15 | 一种主机与多个从机的高效通讯方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710830791.4A CN107682247B (zh) | 2017-09-15 | 2017-09-15 | 一种主机与多个从机的高效通讯方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107682247A CN107682247A (zh) | 2018-02-09 |
CN107682247B true CN107682247B (zh) | 2020-10-23 |
Family
ID=61136111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710830791.4A Active CN107682247B (zh) | 2017-09-15 | 2017-09-15 | 一种主机与多个从机的高效通讯方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107682247B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505136B (zh) * | 2019-10-15 | 2021-07-27 | 正星科技股份有限公司 | 分层式modbus通讯系统及方法 |
CN110955626A (zh) * | 2019-11-26 | 2020-04-03 | 山东有人信息技术有限公司 | 一种在串行链路上实现Modbus通信的方法与系统 |
CN111736573B (zh) * | 2020-06-24 | 2022-03-29 | 清科优能(深圳)技术有限公司 | 一种适用于微电网中央控制器闭环测试的模拟系统 |
CN111817885B (zh) * | 2020-06-28 | 2022-07-26 | 南京天朗防务科技有限公司 | 基于网络的主从机判别和切换方法、装置 |
CN113676280B (zh) * | 2021-08-29 | 2023-02-03 | 上海橘盒数字科技有限公司 | 一种基于Modbus协议的多设备时钟同步方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338142A (zh) * | 2013-06-05 | 2013-10-02 | 山东大学 | 基于IEEE802.15.4g的无线自组网系统及工作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0748739B2 (ja) * | 1988-12-09 | 1995-05-24 | 富士通株式会社 | 多重アクセス制御方法および該方法を実施する多重アクセス制御システム |
ATE467288T1 (de) * | 2004-08-05 | 2010-05-15 | Bosch Gmbh Robert | Kommunikationskontrolleur für flexray-netze |
CN101232425B (zh) * | 2007-01-26 | 2010-04-21 | 京信通信系统(中国)有限公司 | 一种总线式分布控制系统主从站对端控制方法 |
CN101136828B (zh) * | 2007-09-27 | 2010-10-06 | 广州市聚晖电子科技有限公司 | 一种基于rs485多主机有线串行通讯的方法 |
CN104202227A (zh) * | 2014-09-05 | 2014-12-10 | 无锡蓝天电子有限公司 | 一种基于固定时间片的rs485快速通讯方法 |
CN106411655B (zh) * | 2016-11-04 | 2019-08-02 | 合肥工业大学 | 基于串行通讯设备状态诊断的通讯处理方法 |
-
2017
- 2017-09-15 CN CN201710830791.4A patent/CN107682247B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338142A (zh) * | 2013-06-05 | 2013-10-02 | 山东大学 | 基于IEEE802.15.4g的无线自组网系统及工作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107682247A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107682247B (zh) | 一种主机与多个从机的高效通讯方法 | |
EP2972904B1 (en) | System and method for dynamic device discovery and address assignment | |
JP6355275B2 (ja) | 工業インターネット現場におけるブロードバンドバスの設定管理の実現方法 | |
CN106100955B (zh) | 工业互联网现场层宽带总线数据深度检测实现方法 | |
JP2005278192A (ja) | データ伝送方法 | |
CN110635982B (zh) | 通讯总线上双主机通讯方法、系统、工控网关及储存介质 | |
CN102053935A (zh) | 一种基于modbus串行通讯协议的通讯方法 | |
CN104506516A (zh) | 一种Modbus RTU/ASCII和Modbus TCP通信协议转换的网关及其实现方法 | |
EP2804361B1 (en) | Integrated interface system for power-system monitoring and control system | |
CN104698962A (zh) | Plc人机通讯方法及系统 | |
EP2336896A1 (en) | Serial communication module with multiple receiver/transmitters | |
CN205377930U (zh) | 一种将modbus规约从tcp/ip链路转换到串行链路的设备 | |
CN109343460B (zh) | 用于建立与plc通信的方法 | |
CN101662369A (zh) | 万用网络适配器 | |
Caro | Industrial data communications protocols and application layers | |
CN104683209A (zh) | 一种EtherCAT网络主站之间的耦合设备及EtherCAT网络耦合系统 | |
CN203552252U (zh) | 基于物联网的数据转换装置 | |
CN102739489A (zh) | 一种同步总线快速查询设备状态方法 | |
CN107105044B (zh) | 一种玻璃切割控制系统及方法 | |
CN101159641B (zh) | Can总线扩展方法 | |
CN112202637A (zh) | 一种profibus-pa总线网段设备数量的计算方法 | |
CN111158810B (zh) | Hmi人机界面数据通信方法和hmi人机界面装置 | |
CN104133447A (zh) | 一种工程机械控制系统及工程机械 | |
Fang et al. | Research and Implementation of Collision Detection Based on Modbus Protocol. | |
CN205015457U (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 |