CN117041271A - 数据同步通信方法和系统 - Google Patents
数据同步通信方法和系统 Download PDFInfo
- Publication number
- CN117041271A CN117041271A CN202311055878.0A CN202311055878A CN117041271A CN 117041271 A CN117041271 A CN 117041271A CN 202311055878 A CN202311055878 A CN 202311055878A CN 117041271 A CN117041271 A CN 117041271A
- Authority
- CN
- China
- Prior art keywords
- station module
- data
- slave station
- module
- transmission data
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 62
- 238000004891 communication Methods 0.000 title claims abstract description 59
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000005540 biological transmission Effects 0.000 claims abstract description 149
- 230000003993 interaction Effects 0.000 abstract description 15
- 230000008569 process Effects 0.000 description 10
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40195—Flexible bus arrangements involving redundancy by using a plurality of nodes
-
- 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/4026—Bus for use in automation systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种数据同步通信方法和系统。所述系统包括主站模块和至少一个从站模块;主站模块和各从站模块之间通信连接;所述方法包括:通过主站模块根据各从站模块分别对应的有效数据位数,生成传输数据包,并向各从站模块同步发送传输数据包;通过从站模块接收所述传输数据包,基于自身有效数据位数,确定自身从传输数据包中接收到的包数据;通过从站模块在接收到自身的包数据时,向主站模块发送上载数据;通过主站模块在接收到各从站模块的上载数据时,存储上载数据,以供与主站模块通信连接的控制器对各上载数据进行获取。本发明实施例实现了控制器与扩展模块之间的同步通信和数据交互实时性,提高了通信过程数据传输效率。
Description
技术领域
本发明涉及自动化控制领域,尤其涉及一种数据同步通信方法和系统。
背景技术
在工业自动化应用领域,如机器人领域,机器人控制器等专用控制器系统为了增加系统感知与适应能力,通常需要拓展连接不同数量的数字IO(Input/Output,输入/输出)模块、模拟量输入输出模块和编码器模块等拓展模块。但综合考虑到标准机型成本与现场适应性,通常需要将此类模块做成选配拓展模块,根据现场需要由客户选配,实现拓展模块与控制器之间的数据通信。
然而,现有技术方案在实现模块拓展过程中,拓展模块与控制器之间的通信往往无法同时做到双工、实时同步通信,且控制器与各拓展模块之间的通信方式较为复杂,数据传输过程中的同步性和数据交互实时性效果不佳,通信过程数据传输效率不高。
发明内容
本发明提供了一种数据同步通信方法和系统,以实现控制器与扩展模块之间的同步通信和数据交互实时性,以提高通信过程数据传输效率。
根据本发明的一方面,提供了一种数据同步通信方法,应用于数据同步通信系统,所述系统包括主站模块和至少一个从站模块;所述主站模块和各所述从站模块之间通信连接,所述方法包括:
通过所述主站模块根据各所述从站模块分别对应的有效数据位数,生成传输数据包,并向各所述从站模块同步发送所述传输数据包;
通过所述从站模块接收所述传输数据包,基于自身有效数据位数,确定自身从所述传输数据包中接收到的包数据;
通过所述从站模块在接收到自身的包数据时,向所述主站模块发送上载数据;
通过所述主站模块在接收到各所述从站模块的上载数据时,存储所述上载数据,以供与所述主站模块通信连接的控制器对各所述上载数据进行获取。
根据本发明的另一方面,提供了一种数据同步通信系统,所述系统包括主站模块和至少一个从站模块;所述主站模块和各所述从站模块之间通信连接;所述系统包括:
所述主站模块,用于根据各所述从站模块分别对应的有效数据位数,生成传输数据包,并向各所述从站模块同步发送所述传输数据包;
所述从站模块,用于接收所述传输数据包,基于自身有效数据位数,确定自身从所述传输数据包中接收到的包数据;
所述从站模块,还用于在接收到自身的包数据时,向所述主站模块发送上载数据;
所述主站模块,还用于在接收到各所述从站模块的上载数据时,存储所述上载数据,以供与所述主站模块通信连接的控制器对各所述上载数据进行获取。
本发明实施例技术方案通过主站模块根据各从站模块分别对应的有效数据位数,生成传输数据包,并向各从站模块同步发送传输数据包;通过从站模块接收传输数据包,基于自身有效数据位数,确定自身从传输数据包中接收到的包数据;通过从站模块在接收到自身的包数据时,向主站模块发送上载数据;通过主站模块在接收到各从站模块的上载数据时,存储上载数据,以供与主站模块通信连接的控制器对各上载数据进行获取。上述技术方案实现了控制器与从站模块之间的数据同步通信和实时数据交互,通过在组建传输数据包的过程中考虑各从站模块的有效数据位数,保证了各从站模块在接收到主站模块发送的数据包向主站模块发送待传数据的过程中不会发生数据发送冲突,且数据传输效率更高。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是根据本发明实施例一提供的一种数据同步通信方法的流程图;
图1B是根据本发明实施例一提供的一种数据同步通信系统的结构图;
图2是根据本发明实施例二提供的一种数据同步通信方法的流程图;
图3是根据本发明实施例三提供的一种数据同步通信系统的结构图;
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1A为本发明实施例一提供的一种数据同步通信方法的流程图,本实施例可适用于控制器与外接拓展模块之间数据同步通信和实时交互的情况,该方法可以应用于数据同步通信系统。
图1B为本发明实施例一提供的一种数据同步通信系统的结构图。其中,数据同步系统10可以包括主站模块101和至少一个从站模块102;主站模块101和各从站模块102之间通信连接。可选的,主站模块与各从站模块之间通过RS422(数据传输协议)总线通信连接。各工业自动化应用领域下的控制器可以与数据同步通信系统10的主站模块101通信连接。例如机器人控制器。其中,控制器可以与数据同步通信系统10的主站模块101基于SPI(Serial Peripheral Interface,串行外设接口)总线进行通信连接。
如图1A所示,该方法包括:
S110、通过主站模块根据各从站模块分别对应的有效数据位数,生成传输数据包,并向各从站模块同步发送传输数据包。
其中,主站模块可以是实现各从站模块与控制器之间数据同步通信和实时交互的设备服务器。各从站模块可以是控制器根据自身所需控制功能进行选配的扩展功能模块。例如,从站模块可以是数字IO模块、模拟量输入输出模块或编码器模块等。从站模块数量可以根据实际需求进行调整。
需要说明的是,为确保传输数据的同步性,主站模块可以基于同步机制向从站模块发送同步信号,使得各从站模块对上载数据进行数据锁存。其中,上载数据可以待上传至主站模块,供控制器获取并访问的数据。
在一个可选实施例中,在通过主站模块根据各从站模块分别对应的有效数据位数,生成传输数据包,并向各从站模块同步发送所述传输数据包之前还包括:通过主站模块生成同步信号,并向各从站模块同步发送同步信号;相应的,在通过主站模块根据各从站模块分别对应的有效数据位数,生成传输数据包,并向各从站模块同步发送传输数据包之后还包括:通过从站模块接收同步信号,并在接收到同步信号时,确定上载数据。
示例性的,通过主站模块生成同步信号,周期性的向各从站模块同步发送同步信号,以供各从站模块同步接收同步信号,在各从站接收到主站的同步信号是,各从站分别确定上载数据,也即锁存上载数据。
其中,同步信号可以由一定数量的持续低电平加一个指定同步报文组成。其中,持续低电平的数量需能够区分正常报文字符长度;指定同步报文用于指示各从站模块进行数据同步发送前的数据锁存。
可选的,通过主站模块生成同步信号,包括:通过主站模块,生成不小于预设数量字节的字节长度的低电平报文,以及生成预设长度位数的高电平报文;根据低电平报文和高电平报文,生成同步信号。
其中,预设数量字节可以由相关技术人员进行预先设定,可以是1字节,也即8位(bit),也可以是大于1字节的字节长度,能区分正常报文的字符长度即可,本实施对此不进行限制。
其中,预设长度位数的高电平报文的报文长度也可以由相关技术人员进行预先设定,例如可以是2bit的1位符号。
示例性的,通过主站模块,生成不小于预设数量字节的字节长度的低电平报文,例如可以通过主站模块的相应寄存器置位即可生成13bit的0位符号。然后生成预设长度位数的高电平报文,例如可以是2bit的1位符号。根据低电平报文和高电平报文,生成同步信号。可以是将低电平报文和高电平报文进行组合得到同步信号。向各从站模块同步发送同步信号,以通知各从站模块同步启动报文检测接收与数据锁存。
可选的,通过从站模块接收同步信号,并在接收到同步信号时,确定上载数据,包括:通过从站模块接收同步信号,并在接收到同步信号中的高电平报文时,确定上载数据。
示例性的,各从站模块同步接收同步信号,并在接收到同步信号中的高电平报文时,以上述高电平报文为2bit的1位符号为例,从站接收到高电平报文11时,将上载数据进行锁存。
在主站模块与各从站模块之间进行同步信号发送和接收后,也即实现了主站模块与各从站模块之间的握手成功,主站模块进入数据传输状态,可以由链路层负责将主站模块的应用层已组包好的传输数据包下发至从站模块。
其中,传输数据包可以基于各从站模块的有效数据和空闲位数据进行组包所得。其中,设置空闲位数据的目的在于分割从站模块发送数据时间节点并防止某个从站模块发送异常影响其余从站模块发送数据导致主站模块数据接收异常。主站模块可以预先存储有各从站模块的有效数据位数。
示例性的,主站模块可以根据各从站模块的有效数据位数和空闲位数,确定传输数据包中各从站模块对应的有效数据所占用字节,从而根据不同从站模块占用字节,生成传输数据包,并向各从站模块同步发送传输数据包。
需要说明的是,由于各从站模块同时接收到同步信号,因此,各从站模块锁存的数据为需上传至主站的同一时刻数据。
S120、通过从站模块接收传输数据包,基于自身有效数据位数,确定自身从传输数据包中接收到的包数据。
示例性的,各从站模块同步接收传输数据包,并基于自身有效数据位数,从传输数据包中获取自身需接收到的包数据。具体可以是从站模块基于自身有效接收数据位数,确定对传输数据包的停止接收时间,从而得到与自身从站模块对应的包数据。
S130、通过从站模块在接收到自身的包数据时,向主站模块发送上载数据。
示例性的,当从站接收到自身的包数据时,则可以向主站模块发送自身的上载数据。由于各从站接收到自身包数据的时刻不同,因此,各从站模块发送自身上载数据的时间不同,不会造成数据发送冲突,并且能够实现实时数据交互。
S140、通过主站模块在接收到各从站模块的上载数据时,存储上载数据,以供与主站模块通信连接的控制器对各上载数据进行获取。
示例性的,主站模块在接收各个从站模块的上载数据后,将上载数据按照从站模块的节点序号进行排序,映射到指定内存地址空间进行存储。控制器通过SPI与主站模块进行通信,实时读写访问内存中的上载数据,即可实现拓展从站模块的实时数据交互。
在一个可选实施例中,通过主站模块在接收到各从站模块的上载数据时,存储上载数据,以供与主站模块通信连接的控制器对各上载数据进行获取,包括:通过主站模块在接收到各从站模块的上载数据时,基于各从站模块分别对应的存储地址,将各从站模块的上载数据,分别存储至相应的存储地址中,以供与主站模块通信连接的控制器,基于相应的存储地址对各上载数据进行获取。
其中,在主站模块中分配有用于存储从站模块的存储地址。且不同从站模块对应有不同的存储地址。
示例性的,主站模块在接收到各从站模块的上载数据时,可以基于从站模块对应的存储地址,将从站模块的上载数据存储至相应的存储地址下。控制器与主站模块通过SPI总线通信连接,可以基于实时的从主站模块中读写访问上载数据,实现与从站模块之间的实时数据交互。
本发明实施例技术方案通过主站模块根据各从站模块分别对应的有效数据位数,生成传输数据包,并向各从站模块同步发送传输数据包;通过从站模块接收传输数据包,基于自身有效数据位数,确定自身从传输数据包中接收到的包数据;通过从站模块在接收到自身的包数据时,向主站模块发送上载数据;通过主站模块在接收到各从站模块的上载数据时,存储上载数据,以供与主站模块通信连接的控制器对各上载数据进行获取。上述技术方案实现了控制器与从站模块之间的数据同步通信和实时数据交互,通过在组建传输数据包的过程中考虑各从站模块的有效数据位数,保证了各从站模块在接收到主站模块发送的数据包向主站模块发送待传数据的过程中不会发生数据发送冲突,且数据传输效率更高。
实施例二
图2为本发明实施例二提供的一种数据同步通信方法的流程图,本实施例在上述各技术方案的基础上,进行了优化改进。
进一步的,有效数据位数包括有效发送数据位数和有效接收数据位数,相应的,将步骤“通过主站模块根据各从站模块分别对应的有效数据位数,生成传输数据包”细化为“通过主站模块根据各从站模块分别对应的有效发送数据位数、有效接收数据位数和预设空闲位数,生成传输数据包。”以完善主站模块对传输数据包的生成方式。
进一步的,将步骤“通过从站模块接收所述传输数据包,基于自身有效数据位数,确定自身从传输数据包中接收到的包数据”细化为“通过从站模块接收到传输数据包时,基于自身有效数据位数和预设空闲位数,确定对传输数据包的停止接收时刻;将在停止接收时刻接收到的传输数据包中的传输数据作为待处理数据;根据待处理数据,基于从站模块自身有效数据位数,确定从站模块自身从传输数据包中接收到的包数据。”以完善从站模块对包数据的确定方式。需要说明的是,在本发明实施例中未详述的部分,可参见其他实施例的表述。
如图2所示,该方法包括以下具体步骤:
S210、通过主站模块根据各从站模块分别对应的有效发送数据位数、有效接收数据位数和预设空闲位数,生成传输数据包。
其中,各从站模块均对应有其自身的有效发送数据位数和有效接收数据位数,具体可以是预先根据各从站模块能接收和发送的最大数据量的字符长度进行预先设定。
其中,设定预设空闲位数的作用在于分割从站模块发送数据时间节点并防止某个从站模块发送异常影响其余从站模块发送数据导致主站模块的传输数据接收异常。
在一个可选实施例中,各从站模块基于站点序号与主站模块依次连接,相应的,通过主站模块根据各从站模块分别对应的有效发送数据位数、有效接收数据位数和预设空闲位数,生成传输数据包,包括:若站点序号位于首位的从站模块,则该从站模块的占用字节位数为自身有效接收数据位数;以及,若站点序号位于非首位的任一从站模块,则根据该从站模块的有效接收数据位数和所述站点序号位于该从站模块之前的相邻从站模块的有效发送数据位数,确定该从站模块的占用字节位数;根据各从站模块分别对应的占用字节位数和预设空闲位数,生成传输数据包。
需要说明的是,各从站模块分别对应有站点序号,主站模块基于各从站模块的站点序号依次连接。
示例性的,设定从站模块n的有效发送数据位数为Tn,有效接收数据位数为Rn。考虑存在各从站模块的有效数据位数Tn和有效接收数据位数Rn不定长的情况,在应用层初始化配置完成后更新的Tn及Rn。为保证主站模块接收各从站模块的包数据不会连帧组包,要求主站模块发送至从站模块n的数据长度为Ln。Ln根据相邻两个从站模块的有效接收数据位数和有效发送数据位数进行确定,Ln的确定方式如下:
Ln=max(Tn-1,Rn);
其中,Tn-1为站点序号n-1的从站模块的有效发送数据位数;Rn为站点序号n的从站模块的有效接收数据位数。Ln为站点序号n的从站模块在传输数据包中的占用字节位数。
示例性的,在传输数据包中,各从站模块的有效数据之间通过空闲位依次连接,例如,若预设空闲位数为4字节,相应的,传输数据包的数据包内容如表1所示。
表1
在一个具体例子中,以从站模块1为拓展IO板,从站模块2为拓展编码器板为例。拟定从站模块1的有效发送数据位数T1=8byte,有效接收数据位数R1=8byte,从站模块2的有效发送数据位数T2=14byte,有效接收数据位数R2=6byte。则L1=8byte,L1即为T1。L2=max(T1,R2)=8byte。为防止从站模块1、从站模块2发送数据相互干扰或连帧,主站发送的L2长度为本从站接收长度R2(6byte)与前一个从站的发送长度T1(8byte)值两者取其大,故L2=8byte。因此,当主站模块与从站模块握手成功后,各从站模块连接顺序固定,按照各从站模块定义的有效收发数据长度Rn与Tn,可以唯一确定Ln的长度。
S220、通过从站模块接收到传输数据包时,基于自身有效数据位数和预设空闲位数,确定对传输数据包的停止接收时刻。
示例性的,在从站模块接收主站模块发送的传输数据包时,各从站模块是同时接收传输数据包的。从站模块的应用层初始化按协议更新数据接收长度,前序站点模块的数据与当前站点模块的数据长度累和,进入传输状态有效。按实际需求更新从站模块的有效数据发送位数。自接收到传输状态帧后,进入传输状态,按链路层收发机制进行数据收发,并在逐帧从传输数据包中接收到自身从站模块的数据后,停止接收数据,并将停止时刻作为停止接收时刻。
S230、将在停止接收时刻接收到的传输数据包中的传输数据作为待处理数据。
示例性的,从站模块在停止接收时刻停止对传输数据包中数据的接收,并将已接收的数据作为待处理数据。
S240、根据待处理数据,基于从站模块自身有效数据位数,确定从站模块自身从传输数据包中接收到的包数据。
在一个具体例子中,若存在从站模块1、从站模块2和从站模块3,在主站模块构建数据包的过程中,基于从站模块1、从站模块2、从站模块3和预设空闲位进行组包。因此,在组包得到的传输数据包中传输数据包的内容为从站模块1的有效数据占用字节L1、预设空闲为位的占用字节Lp、从站模块2的有效数据占用字节L2、预设空闲为位的占用字节Lp、从站模块3的有效数据占用字节L3、预设空闲为位的占用字节Lp。从站模块1、从站模块2和从站模块3同时接收到传输数据包,则从站模块1在逐帧获取传输数据包的包数据时,基于自身接收的有效数据位数可以获取传输数据包的前L1字节的数据,在获取到前L1字节数据后停止接收,并作为从站模块1的包数据。从站模块2逐帧获取传输数据包中的数据,基于自身和前序的从站模块的有效数据位数,获取到了L1+Lp+L2字节数据后停止接收,则基于自身有效数据位数,从L1+Lp+L2字节数据中提取L2位数的数据作为自身从站模块的包数据。从站模块32逐帧获取传输数据包中的数据,基于自身和前序的从站模块的有效数据位数,获取到了L1+Lp+L2+Lp+L3字节数据后停止接收,则基于自身有效数据位数,从L1+Lp+L2+Lp+L3字节数据中提取L3位数的数据作为自身从站模块的包数据。
S250、通过从站模块在接收到自身的包数据时,向主站模块发送上载数据。
S260、通过主站模块在接收到各从站模块的上载数据时,存储上载数据,以供与主站模块通信连接的控制器对各上载数据进行获取。
本实施例的各从站模块是依次有序返回数据帧,不存在两个从站模块的数据冲突的情况。各个从站模块的接收有效长度不同,停止接收点位置不同,上一个从站模块的接收停止时刻是依据下一从站模块发送长度决定,故下一个从站模块停止接收位置,前一个从站已经发送完成,任意时间点只有一个从站模块处于发送状态,因此,各从站模块有序错开发送上载数据。此外,主站模块在发送n号从站模块上载数据时,也即n号从站模块在接收主站模块数据包中的包数据时,此时,主站模块可以接收来自n-1号从站模块的上载数据。
本实施例技术方案通过主站模块根据各从站模块分别对应的有效发送数据位数、有效接收数据位数和预设空闲位数,生成传输数据包。通过从站模块接收到传输数据包时,基于自身有效数据位数和预设空闲位数,确定对传输数据包的停止接收时刻;将在停止接收时刻接收到的上载数据包中的传输数据作为待处理数据;根据待处理数据,基于从站模块自身有效数据位数,确定从站模块自身从传输数据包中接收到的包数据。上述技术方案主站模块生成传输数据包的方式和从站模块确定包数据的方式,能够有效避免从站模块之间发送包数据的冲突。主站模块发送同步信号,各从站模块锁存需上传至主站模块的同一时刻数据,主站模块发送传输数据包,各从站模块按规定的字节数接收数据后,上传锁存的包数据。主站模块链路层单周期内按帧存放数据,等待应用层任务处理数据,实现主站模块与从站模块之间的同步交互。主站模块在接收各个从站模块周期包数据后,将数据按节点排序,映射到指定内存,控制器通过SPI通信,实时读写访问对于内存数据,即可实现拓展从站的实时数据交互。
实施例三
图3为本发明实施例提供了一种数据同步通信系统的结构图,本实施例可适用于对控制器与外接拓展模块之间数据同步通信和实时交互的情况。
如图3所示,数据同步通信系统10包括主站模块101和至少一个从站模块102;主站模块101和各从站模块102之间通信连接;数据同步通信系统10包括:主站模块101,用于根据各从站模块102分别对应的有效数据位数,生成传输数据包,并向各从站模块102同步发送传输数据包;从站模块102,用于接收传输数据包,基于自身有效数据位数,确定自身从传输数据包中接收到的包数据;从站模块102,还用于在接收到自身的包数据时,向主站模块101发送上载数据;主站模块101,还用于在接收到各从站模块102的上载数据时,存储上载数据,以供与主站模块101通信连接的控制器对各上载数据进行获取。
其中,主站模块101和各从站模块102之间通过RS422总线通信连接。主站模块101和从站模块102上分别部署有422收发器。主站模块上还部署有SPI数据访问接口,用于和外接控制器通信连接,实现与控制器之间数据实时交互。
其中,RS422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。RS-422采用了两组差分信号(TxA,TxB,RxA,RxB)进行收发,传输速率最大可提高到10Mbps,优化了其他通讯方式如RS-232的单端传输抗干扰能力弱、传输距离短、传输速率低的问题。
基于RS-422接口标准,在不加额外的同步线的情况下,通过特定协议收发实现一套经济且易于拓展的控制器与外设拓展模块的高速实时同步通信系统,该系统可实现控制器主机与拓展模块的高速同步实时通讯拓展。
本发明实施例技术方案通过主站模块根据各从站模块分别对应的有效数据位数,生成传输数据包,并向各从站模块同步发送传输数据包;通过从站模块接收传输数据包,基于自身有效数据位数,确定自身从传输数据包中接收到的包数据;通过从站模块在接收到自身的包数据时,向主站模块发送上载数据;通过主站模块在接收到各从站模块的上载数据时,存储上载数据,以供与主站模块通信连接的控制器对各上载数据进行获取。上述技术方案实现了控制器与从站模块之间的数据同步通信和实时数据交互,通过在组建传输数据包的过程中考虑各从站模块的有效数据位数,保证了各从站模块在接收到主站模块发送的数据包向主站模块发送待传数据的过程中不会发生数据发送冲突,且数据传输效率更高。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种数据同步通信方法,其特征在于,应用于数据同步通信系统,所述系统包括主站模块和至少一个从站模块;所述主站模块和各所述从站模块之间通信连接;所述方法包括:
通过所述主站模块根据各所述从站模块分别对应的有效数据位数,生成传输数据包,并向各所述从站模块同步发送所述传输数据包;
通过所述从站模块接收所述传输数据包,基于自身有效数据位数,确定自身从所述传输数据包中接收到的包数据;
通过所述从站模块在接收到自身的包数据时,向所述主站模块发送上载数据;
通过所述主站模块在接收到各所述从站模块的上载数据时,存储所述上载数据,以供与所述主站模块通信连接的控制器对各所述上载数据进行获取。
2.根据权利要求1所述的方法,其特征在于,在所述通过所述主站模块根据各所述从站模块分别对应的有效数据位数,生成传输数据包,并向各所述从站模块同步发送所述传输数据包之前,所述方法还包括:
通过所述主站模块生成同步信号,并向各所述从站模块同步发送所述同步信号;
相应的,在所述通过所述主站模块根据各所述从站模块分别对应的有效数据位数,生成传输数据包,并向各所述从站模块同步发送所述传输数据包之后,所述方法还包括:
通过所述从站模块接收所述同步信号,并在接收到所述同步信号时,确定上载数据。
3.根据权利要求2所述的方法,其特征在于,所述通过所述主站模块生成同步信号,包括:
通过所述主站模块,生成不小于预设数量字节的字节长度的低电平报文,以及生成预设长度位数的高电平报文;
根据所述低电平报文和所述高电平报文,生成所述同步信号。
4.根据权利要求3所述的方法,其特征在于,所述通过所述从站模块接收所述同步信号,并在接收到所述同步信号时,确定上载数据,包括:
通过所述从站模块接收所述同步信号,并在接收到所述同步信号中的高电平报文时,确定上载数据。
5.根据权利要求1所述的方法,其特征在于,所述有效数据位数包括有效发送数据位数和有效接收数据位数,相应的,所述通过所述主站模块根据各所述从站模块分别对应的有效数据位数,生成传输数据包,包括:
通过所述主站模块根据各所述从站模块分别对应的有效发送数据位数、有效接收数据位数和预设空闲位数,生成传输数据包。
6.根据权利要求5所述的方法,其特征在于,各所述从站模块基于站点序号与所述主站模块依次连接,相应的,所述通过所述主站模块根据各所述从站模块分别对应的有效发送数据位数、有效接收数据位数和预设空闲位数,生成传输数据包,包括:
若所述站点序号位于首位的从站模块,则该从站模块的占用字节位数为自身有效接收数据位数;以及,
若所述站点序号位于非首位的任一从站模块,则根据该从站模块的有效接收数据位数和所述站点序号位于该从站模块之前的相邻从站模块的有效发送数据位数,确定该从站模块的占用字节位数;
根据各所述从站模块分别对应的占用字节位数和预设空闲位数,生成传输数据包。
7.根据权利要求5所述的方法,其特征在于,所述通过所述从站模块接收所述传输数据包,基于自身有效数据位数,确定自身从所述传输数据包中接收到的包数据,包括:
通过所述从站模块接收到所述传输数据包时,基于自身有效数据位数和预设空闲位数,确定对所述传输数据包的停止接收时刻;
将在所述停止接收时刻接收到的传输数据包中的传输数据作为待处理数据;
根据所述待处理数据,基于从站模块自身有效数据位数,确定从站模块自身从所述传输数据包中接收到的包数据。
8.根据权利要求1所述的方法,其特征在于,所述通过所述主站模块在接收到各所述从站模块的上载数据时,存储所述上载数据,以供与所述主站模块通信连接的控制器对各所述上载数据进行获取,包括:
通过所述主站模块在接收到各所述从站模块的上载数据时,基于各所述从站模块分别对应的存储地址,将各所述从站模块的上载数据,分别存储至相应的存储地址中,以供与所述主站模块通信连接的控制器,基于相应的存储地址对各所述上载数据进行获取。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述主站模块与各所述从站模块之间通过RS422总线通信连接。
10.一种数据同步通信系统,其特征在于,所述系统包括主站模块和至少一个从站模块;所述主站模块和各所述从站模块之间通信连接;所述系统包括:
所述主站模块,用于根据各所述从站模块分别对应的有效数据位数,生成传输数据包,并向各所述从站模块同步发送所述传输数据包;
所述从站模块,用于接收所述传输数据包,基于自身有效数据位数,确定自身从所述传输数据包中接收到的包数据;
所述从站模块,还用于在接收到自身的包数据时,向所述主站模块发送上载数据;
所述主站模块,还用于在接收到各所述从站模块的上载数据时,存储所述上载数据,以供与所述主站模块通信连接的控制器对各所述上载数据进行获取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311055878.0A CN117041271A (zh) | 2023-08-21 | 2023-08-21 | 数据同步通信方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311055878.0A CN117041271A (zh) | 2023-08-21 | 2023-08-21 | 数据同步通信方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117041271A true CN117041271A (zh) | 2023-11-10 |
Family
ID=88638942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311055878.0A Pending CN117041271A (zh) | 2023-08-21 | 2023-08-21 | 数据同步通信方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117041271A (zh) |
-
2023
- 2023-08-21 CN CN202311055878.0A patent/CN117041271A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5132680A (en) | Polling communication system with priority control | |
CA1218437A (en) | Method of polling to ascertain service needs | |
US5553095A (en) | Method and apparatus for exchanging different classes of data during different time intervals | |
RU2596582C2 (ru) | Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных | |
US7508824B2 (en) | Method and system for transmitting data via switchable data networks | |
WO1987001253A1 (en) | Bandwidth efficient multipoint date communication system | |
EP0622711B1 (en) | Digital communication network data transmission method and apparatus | |
GB1596058A (en) | Data transmission system | |
CN111587560B (zh) | 主从总线系统和用于运行总线系统的方法 | |
EP0183080A2 (en) | Loop transmission system with a variable station connection order | |
US4949336A (en) | Multi-slot access system | |
US7177283B2 (en) | Transmitting and receiving circuit and transmitting and receiving method | |
EP0250951A2 (en) | Data communication system | |
CN110663227A (zh) | 总线转换器 | |
CN112367236B (zh) | Lin总线的数据调度方法及系统 | |
CN117041271A (zh) | 数据同步通信方法和系统 | |
JPS6119193B2 (zh) | ||
EP0240873B1 (en) | I/O Handler | |
US7539215B2 (en) | Subscriber device for a high-performance communication system | |
US20200084834A1 (en) | Communication system for serial communication between communication devices | |
JP2006519532A5 (zh) | ||
KR100226781B1 (ko) | 노드(node)인식(recognition)방법 | |
JP3534937B2 (ja) | データ通信方法及び制御データ通信装置 | |
JPS6165552A (ja) | 通信方式 | |
JPH06164601A (ja) | パケット通信方式 |
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 |