CN117349201A - 一种基于串口通信的多从机控制方法、系统和存储介质 - Google Patents
一种基于串口通信的多从机控制方法、系统和存储介质 Download PDFInfo
- Publication number
- CN117349201A CN117349201A CN202311325545.5A CN202311325545A CN117349201A CN 117349201 A CN117349201 A CN 117349201A CN 202311325545 A CN202311325545 A CN 202311325545A CN 117349201 A CN117349201 A CN 117349201A
- Authority
- CN
- China
- Prior art keywords
- information
- slave
- time
- clock
- instruction
- 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
Links
- 230000006854 communication Effects 0.000 title claims abstract description 167
- 238000004891 communication Methods 0.000 title claims abstract description 159
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004590 computer program Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 37
- 230000002159 abnormal effect Effects 0.000 description 24
- 230000000903 blocking effect Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明提供了一种基于串口通信的多从机控制方法、系统和存储介质,获取第一反馈指令信息,根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息;根据所述第二时间信息和预设从机间隔时间信息,得到第三时间信息;获取任务编码信息,根据所述第三时间信息和所述任务编码信息,得到第二指令信息;根据所述第二指令信息和所述第二时钟信息,第一从机执行第二指令任务。本发明通过获取主机与各个从机串口通信过程的传输时间,用于计算从机工作任务的开启时间,从而确保各个从机可以再同一时刻执行工作任务,实现同步。
Description
技术领域
本发明涉及通信控制领域,更具体地,涉及一种基于串口通信的多从机控制方法、系统和存储介质。
背景技术
主从通信一般是有一台主机和多台从机,主机发送的信息可传送到各个从机或指定的从机,而从机的信息只能传送至主机的通信方式。目前,在工业应用中,通常一个上位机作为主机通过串口与多个作为从机的下位机通信。但是由于串口通信无法实现主机同时与多个从机进行通信,而且工业应用中的下位机到上位机的距离各不相同,以至于信息传输时间不同,因此,下位机在执行上位机下达的任务指令时存在一定的时间差。
但是,对于时间要求较高的下位机工作任务而言,是需要确保各个下位机在同一时刻开始执行公祖偶任务。因此,亟需一种能够确保从机执行工作任务时刻的基于串口通信的多从机控制技术。
发明内容
鉴于上述问题,本发明的目的在于提供一种基于串口通信的多从机控制方法、系统和存储介质,获取主机与各个从机串口通信过程的传输时间,用于计算从机工作任务的开启时间,从而确保各个从机可以再同一时刻执行工作任务,实现同步。
本发明第一方面提供了种基于串口通信的多从机控制方法,所述方法包括:
获取第一反馈指令信息,根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息;
根据所述第二时间信息和预设从机间隔时间信息,得到第三时间信息;
获取任务编码信息,根据所述第三时间信息和所述任务编码信息,得到第二指令信息;
根据所述第二指令信息和第二时钟信息,第一从机执行第二指令任务。
本方案中,还包括:
根据所述第一时钟信息,生成并发送第三指令信息;
所述第一从机根据第三指令信息,将第二时钟信息设置为所述第一时钟信息。
本方案中,所述根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息,具体为:
获得接收第一反馈指令信息时的第三时钟信息;
根据所述第三时钟信息与所述第一时钟信息的时钟差值,得到所述第一时间信息;
根据所述第一时间信息和预设的通信间隔时间信息,得到所述第二时间信息。
本方案中,所述根据第二时间信息和预设的从机间隔时间信息,得到第三时间信息,具体为:
获取所述第一从机的数量信息;
根据所述数量信息和预设的从机间隔时间信息,得到从机间隔总时间信息;
根据所有第一从机的所述第二时间信息和所述从机间隔总时间信息的时间总和,得到所述第三时间信息。
本方案中,所述根据所述第三时间信息和所述任务编码信息,得到第二指令信息,具体为:
根据所述第三时间信息和所述第一时钟信息,得到第四时钟信息;
获取第一从机的任务编码信息;
根据所述任务编码信息、所述第四时钟信息和所述第一时间信息,生成第二指令信息。
本方案中,所述根据所述第二指令信息和第二时钟信息,第一从机执行第二指令任务,具体为:
根据所述第二指令信息的任务编码信息,得到第二指令任务;
根据所述第二指令信息的第四时钟信息和所述第一时间信息,得到第五时钟信息;
判断第二时钟信息是否与第四时钟信息相等;
若是,则第一从机执行第二指令任务。
本发明第二方面提供了一种基于串口通信的多从机控制系统,包括基于串口通信的多从机控制方法程序,所述基于串口通信的多从机控制方法程序被所述处理器执行时实现如下步骤:
获取第一反馈指令信息,根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息;
根据所述第二时间信息和预设从机间隔时间信息,得到第三时间信息;
获取任务编码信息,根据所述第三时间信息和所述任务编码信息,得到第二指令信息;
根据所述第二指令信息和第二时钟信息,第一从机执行第二指令任务。
本方案中,还包括:
根据所述第一时钟信息,生成并发送第三指令信息;
所述第一从机根据第三指令信息,将第二时钟信息设置为所述第一时钟信息。
本方案中,所述根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息,具体为:
获得接收第一反馈指令信息时的第三时钟信息;
根据所述第三时钟信息与所述第一时钟信息的时钟差值,得到所述第一时间信息;
根据所述第一时间信息和预设的通信间隔时间信息,得到所述第二时间信息。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种基于串口通信的多从机控制方法程序,所述基于串口通信的多从机控制方法程序被处理器执行时,实现如上述任一项所述的基于串口通信的多从机控制方法的步骤。
本发明提供了一种基于串口通信的多从机控制方法、系统和存储介质,获取第一反馈指令信息,根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息;根据所述第二时间信息和预设从机间隔时间信息,得到第三时间信息;获取任务编码信息,根据所述第三时间信息和所述任务编码信息,得到第二指令信息;根据所述第二指令信息和所述第二时钟信息,第一从机执行第二指令任务。本发明通过获取主机与各个从机串口通信过程的传输时间,用于计算从机工作任务的开启时间,从而确保各个从机可以再同一时刻执行工作任务,实现同步。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定。
图1示出了本发明一种基于串口通信的多从机控制方法的流程图;
图2示出了本发明实施例提供的一种设置第二时钟信息的流程图;
图3示出了本发明实施例提供的一种得到第一时间信息和第二时间信息的流程图;
图4示出了本发明一种基于串口通信的多从机控制系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本发明实施例使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非本发明实施例明确地这样定义。
本发明实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。本发明实施例的方法前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
图1示出了本发明一种基于串口通信的多从机控制方法的流程图。
如图1所示,本发明公开了一种基于串口通信的多从机控制方法,所述方法包括:
S102,获取第一反馈指令信息,根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息;
S104,根据所述第二时间信息和预设从机间隔时间信息,得到第三时间信息;
S106,获取任务编码信息,根据所述第三时间信息和所述任务编码信息,得到第二指令信息;
S108,根据所述第二指令信息和第二时钟信息,第一从机执行第二指令任务。
需要说明的是,所述第一时钟信息是主机的时钟信息,用于记录指令发送与接收时间点;所述第一反馈指令是主机与从机完成时钟同步的情况下,主机向从机发送第一指令后,从机向主机返回的反馈指令,是用于计算获取第一时间信息和第二时间信息;其中,第一时间信息是主机与从机进行指令传输时的传输时间,第二时间信息是主机与从机完成一轮通信,即主机完成通信指令的发送与接收的总时间。在主机与第一从机完成时钟同步的情况下,主机记录向第一从机发送第一指令信息的时间Tmt1,和记录接收到第一从机返回的第一反馈指令信息的时间Tmr1。根据第一指令的发送时间Tmt1与第一反馈指令的接收时间Tmr1的差值,记为指令传输的传输时间T1,也就是第一时间信息T1。为了不造成通信过程中的消息阻塞,主机在发送通信指令时设置了通信间隔时间,也就是主机连续进行指令通信之间的时间间隔,然后根据第一时间信息T1和通信间隔时间,得到完成一轮主从通信的通信时间,记为第二时间信息T2。使用串口为通信接口的主从通信,主机是依次与每一台从机进行通信,从机的切换过程所需要的时间,被定义为从机间隔时间,是主机控制电路系统切换通信对象所需的时间;其中,从机间隔时间是主机根据电路系统所预设的时间。根据从机间隔时间和每一台从机与主机完成一轮主从通信的通信时间T2,可计算得到主机与所有从机完成一轮通信的通信总时长,记为第三时间信息T3。
然后,第二指令信息是根据任务编码信息和第三时间信息T3生成,用于主机向从机下达在设定的时钟节点执行设定的工作任务的指令;其中,所述任务编码信息是用于记录和区分工作任务的编号信息,例如编号0x01表示工作任务A,0x02表示工作任务B。所述第二时钟信息是从机的时钟信息,用于计算和判断工作任务执行的时间点;从机根据第二时钟信息和第二指令信息中的工作任务的执行时钟节点,判断为当前时刻是执行工作任务的时间点时,再根据第二指令信息中的任务编码信息,执行对应的工作任务。使所有从机能够在设定的时间节点执行工作任务,从而确保各个从机可以再同一时刻执行工作任务,实现同步。
图2示出了本发明实施例提供的一种设置第二时钟信息的流程图。
根据本发明实施例,如图2所示,还包括:
S202,根据所述第一时钟信息,生成并发送第三指令信息;
S204,所述第一从机根据第三指令信息,设置第二时钟信息为所述第一时钟信息。
需要说明的是,所述第一时钟信息是主机的时钟信息,用于记录指令发送与接收的时间点;所述第二时钟信息是从机的时钟信息,用于计算和判断工作任务执行的时间点。在本实施例中,主机发送第三指令的时间节点,即为第一时钟信息,而第三指令信息中包含了主机发送第三指令时的第一时钟信息。第一从机接收到第三指令信息后,将从机的时钟信息,即第二时钟信息设置为第三指令信息中所包含的第一时钟信息。在主机的时钟系统中发送通信指令的时刻,是与从机的时钟系统中接收到通信指令的时刻相同,也就是说,主机的时钟系统与从机的时钟系统,相差了一个通信指令从主机传输到从机的时间。例如,假设一个通信指令从主机传送到从机需要1秒的时间,如果主机的时钟系统中发送通信指令的时刻是01时01分01秒,则在主机的时钟系统中从机接收到通信指令的时刻应是01时01分02秒,而在从机的时钟系统中接收到通信指令的时刻是01时01分01秒。通过设定从机时钟系统的方式,去除因各从机之间物理因素带来的传输时间不一致的影响。
图3示出了本发明实施例提供的一种得到第一时间信息和第二时间信息的流程图。
根据本发明实施例,如图3所示,所述根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息,具体为:
S302,获得接收第一反馈指令信息时的第三时钟信息;
S304,根据所述第三时钟信息与所述第一时钟信息的时钟差值,得到所述第一时间信息;
S306,根据所述第一时间信息和预设的通信间隔时间信息,得到所述第二时间信息。
需要说明的是,所述第一时钟信息是主机的时钟信息,用于记录指令发送与接收的时间点,在本实施例中,主机发送第一指令信息的时间点,即为第一时钟信息。在主机与第一从机完成时钟同步的情况下,主机向第一从机发送第一指令信息的时间Tmt1;主机接收到第一从机返回的第一反馈指令信息的时间Tmr1,即为第三时钟信息。根据第一指令的发送时间Tmt1与第一反馈指令的接收时间Tmr1的差值,记为指令传输的传输时间T1,也就是第一时间信息T1。为了不造成通信过程中的消息阻塞,主机在发送通信指令时设置了通信间隔时间,也就是主机连续进行指令通信之间的时间间隔,然后根据第一时间信息T1和通信间隔时间,得到完成一轮主从通信的通信时间,记为第二时间信息T2。
根据本发明实施例,所述根据第二时间信息和预设的从机间隔时间信息,得到第三时间信息,具体为:
获取所述第一从机的数量信息;
根据所述数量信息和预设的从机间隔时间信息,得到从机间隔总时间信息;
根据所有第一从机的所述第二时间信息和所述从机间隔总时间信息的时间总和,得到所述第三时间信息。
需要说明的是,首先,获取第一从机的数量信息,也就是需要同时执行制定工作任务的从机的数量。所述从机间隔时间信息是主机根据电路系统所预设的时间信息,是主机是依次与每一台从机进行通信时,从机切换过程所需要的时间。根据从机的数量,即可得到从机间隔总时间信息,即完成所有从机切换所需要的从机间隔总时间。然后,再计算每台从机完成一轮主从通信的通信时间,即第二时间信息T2,与从机间隔总时间信息的总和,即可得到主机与各个从机完成通信所需要的时间T3,记为第三时间信息T3。
根据本发明实施例,所述根据所述第三时间信息和所述任务编码信息,得到第二指令信息,具体为:
根据所述第三时间信息和所述第一时钟信息,得到第四时钟信息;
获取第一从机的任务编码信息;
根据所述任务编码信息、所述第四时钟信息和所述第一时间信息,生成第二指令信息。
需要说明的是,所述第一时钟信息是主机的时钟信息,用于记录指令发送与接收的时间点,在本实施例中,主机发送第二指令信息的时间点,即为第一时钟信息;所述第三时间信息T3是主机与各个从机完成通信所需要的时间。本发明设定为当主机与所有从机完成指令发送后,才执行设定的工作任务,因此,根据第一时钟信息和第三时间信息T3,即可得到第四时钟信息,用于表示工作任务执行时在主机时钟系统下的时间点。所述第一时间信息是主机与从机进行指令传输时的传输时间。根据工作任务的任务编码信息、发送第二指令的第四时钟信息和第一时间信息,生成第二指令信息,用于发送至从机。
根据本发明实施例,所述根据所述第二指令信息和第二时钟信息,第一从机执行第二指令任务,具体为:
根据所述第二指令信息的任务编码信息,得到第二指令任务;
根据所述第二指令信息的第四时钟信息和所述第一时间信息,得到第五时钟信息;
判断第二时钟信息是否与第五时钟信息;
若是,则第一从机执行第二指令任务。
需要说明的是,通过解析第二指令信息,得到等待执行的工作任务,即第二指令任务;得到工作任务执行时在主机时钟系统下的时间点,即第四时钟信息;得到主机与从机进行指令传输时的传输时间,即第一时间信息。其中,第一时间信息包括了主机发送信息至从机的传输时间,记为发送传输时间,和从机返回信息给主机的传输时间,记为接收传输时间。由于主从通信时发送与接收的过程经过同一条物理线路,所以发送传输时间与接收传输时间可认定为是相同的,即为第一时间信息的一半。在主机与从机完成时钟同步后,主机时钟系统与从机时钟系统是相差了一个发送传输时间。综上所述,根据第四时钟信息和第一时间信息,即可得到工作任务执行时在从机时钟系统下的时间点,即为第五时钟信息。例如,第四时钟信息为01时01分30秒、第一时间信息为2秒,则发送传输时间为1秒,可得到第五时钟信息为01时01分29秒。各个从机根据对应的第一时间信息,可得出从机时钟系统下的工作任务的执行时间点。通过判断从机时钟系统的时间点是否为第五时钟信息,若是,则表示应在当前时间点执行第二指令任务,进而实现多从机同时执行工作任务的效果。
值得一提的是,还包括:
发送通信指令后,开启第一定时器,初始化第一定时信息;
判断是否接收到第一从机的反馈指令;
若是,则关闭第一定时器;
若否,则判断第一定时信息是否超过预设的定时阈值信息;
若是,则关闭第一定时器,重新发送通信指令,第一从机标记为异常从机,并更新第一异常次数信息。
需要说明的是,主机发送通信指令给从机后,即开启第一定时器,执行计时操作,并初始化计时结果,即第一定时信息。若主机能接收到从机的反馈指令,则关闭第一定时器。若主机未接收到从机的反馈指令,则判断第一定时信息是否超过预设的定时阈值;若超过,则表示通信异常,需要重新发送指令,同时,将通信的从机标记为异常从机,并更新记录当前从机通信异常次数的第一异常次数信息。异常次数越多,则表示当前从机的通信越不稳定。
值得一提的是,还包括:
获取第一从机的第一异常次数信息;
根据第一异常次数信息按降序排列,得到第一从机的通信顺序;
根据第一从机的通信顺序,依次与从机进行通信。
需要说明的是,获取从机的第一异常次数信息,根据异常次数信息将各个从机按降序的顺序进行排列,得到通信顺序。也就是说,异常次数越多的从机,即通信越不稳定的从机,与主机通信的顺序就越靠前。对于为了同时执行设定工作任务的多从机通信的过程中,当一个从机通信出现异常,则需要重新计算工作任务开始的时间点,也就意味着所有从机都需要重新通信。将不稳定的从机放置于通信顺序靠前的位置,可达到减少时间耗费的目的。
值得一提的是,还包括:
获取第一从机的第一异常次数信息;
判断第一异常次数信息是否超过预设的次数阈值;
若是,则标记第一从机,并关闭第一从机的通信通道。
需要说明的是,获取从机的第一异常次数信息,异常次数越多,则表示当前从机的通信越不稳定。当第一异常次数超过预设的次数阈值时,表示当前从机的通信稳定性不满足通信要求,则对该从机进行标记,并关闭该从机的通信通道。
图4示出了本发明一种基于串口通信的多从机控制系统的框图。
如图4所示,本发明公开了一种基于串口通信的多从机控制系统4,包括存储器41和处理器42,所述存储器中包括基于串口通信的多从机控制方法程序,所述基于串口通信的多从机控制方法程序被所述处理器执行时实现如下步骤:
获取第一反馈指令信息,根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息;
根据所述第二时间信息和预设从机间隔时间信息,得到第三时间信息;
获取任务编码信息,根据所述第三时间信息和所述任务编码信息,得到第二指令信息;
根据所述第二指令信息和第二时钟信息,第一从机执行第二指令任务。
需要说明的是,所述第一时钟信息是主机的时钟信息,用于记录指令发送与接收的时间点;所述第一反馈指令是主机与从机完成时钟同步的情况下,主机向从机发送第一指令后,从机向主机返回的反馈指令,是用于计算获取第一时间信息和第二时间信息;其中,第一时间信息是主机与从机进行指令传输时的传输时间,第二时间信息是主机与从机完成一轮通信,即主机完成通信指令的发送与接收的总时间。在主机与第一从机完成时钟同步的情况下,主机记录向第一从机发送第一指令信息的时间Tmt1,和记录接收到第一从机返回的第一反馈指令信息的时间Tmr1。根据第一指令的发送时间Tmt1与第一反馈指令的接收时间Tmr1的差值,记为指令传输的传输时间T1,也就是第一时间信息T1。为了不造成通信过程中的消息阻塞,主机在发送通信指令时设置了通信间隔时间,也就是主机连续进行指令通信之间的时间间隔,然后根据第一时间信息T1和通信间隔时间,得到完成一轮主从通信的通信时间,记为第二时间信息T2。使用串口为通信接口的主从通信,主机是依次与每一台从机进行通信,从机的切换过程所需要的时间,被定义为从机间隔时间,是主机控制电路系统切换通信对象所需的时间;其中,从机间隔时间是主机根据电路系统所预设的时间。根据从机间隔时间和每一台从机与主机完成一轮主从通信的通信时间T2,可计算得到主机与所有从机完成一轮通信的通信总时长,记为第三时间信息T3。
然后,第二指令信息是根据任务编码信息和第三时间信息T3生成,用于主机向从机下达在设定的时钟节点执行设定的工作任务的指令;其中,所述任务编码信息是用于记录和区分工作任务的编号信息,例如编号0x01表示工作任务A,0x02表示工作任务B。所述第二时钟信息是从机的时钟信息,用于计算和判断工作任务执行的时间点;从机根据第二时钟信息和第二指令信息中的工作任务的执行时钟节点,判断为当前时刻是执行工作任务的时间点时,再根据第二指令信息中的任务编码信息,执行对应的工作任务。使所有从机能够在设定的时间节点执行工作任务,从而确保各个从机可以再同一时刻执行工作任务,实现同步。
根据本发明实施例,还包括:
根据所述第一时钟信息,生成并发送第三指令信息;
所述第一从机根据第三指令信息,设置第二时钟信息为所述第一时钟信息。
需要说明的是,所述第一时钟信息是主机的时钟信息,用于记录指令发送与接收的时间点;所述第二时钟信息是从机的时钟信息,用于计算和判断工作任务执行的时间点。在本实施例中,主机发送第三指令的时间节点,即为第一时钟信息,而第三指令信息中包含了主机发送第三指令时的第一时钟信息。第一从机接收到第三指令信息后,将从机的时钟信息,即第二时钟信息设置为第三指令信息中所包含的第一时钟信息。在主机的时钟系统中发送通信指令的时刻,是与从机的时钟系统中接收到通信指令的时刻相同,也就是说,主机的时钟系统与从机的时钟系统,相差了一个通信指令从主机传输到从机的时间。例如,假设一个通信指令从主机传送到从机需要1秒的时间,如果主机的时钟系统中发送通信指令的时刻是01时01分01秒,则在主机的时钟系统中从机接收到通信指令的时刻应是01时01分02秒,而在从机的时钟系统中接收到通信指令的时刻是01时01分01秒。通过设定从机时钟系统的方式,去除因各从机之间物理因素带来的传输时间不一致的影响。
根据本发明实施例,所述根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息,具体为:
获得接收第一反馈指令信息时的第三时钟信息;
根据所述第三时钟信息与所述第一时钟信息的时钟差值,得到所述第一时间信息;
根据所述第一时间信息和预设的通信间隔时间信息,得到所述第二时间信息。
需要说明的是,所述第一时钟信息是主机的时钟信息,用于记录指令发送与接收的时间点,在本实施例中,主机发送第一指令信息的时间点,即为第一时钟信息。在主机与第一从机完成时钟同步的情况下,主机向第一从机发送第一指令信息的时间Tmt1;主机接收到第一从机返回的第一反馈指令信息的时间Tmr1,即为第三时钟信息。根据第一指令的发送时间Tmt1与第一反馈指令的接收时间Tmr1的差值,记为指令传输的传输时间T1,也就是第一时间信息T1。为了不造成通信过程中的消息阻塞,主机在发送通信指令时设置了通信间隔时间,也就是主机连续进行指令通信之间的时间间隔,然后根据第一时间信息T1和通信间隔时间,得到完成一轮主从通信的通信时间,记为第二时间信息T2。
根据本发明实施例,所述根据第二时间信息和预设的从机间隔时间信息,得到第三时间信息,具体为:
获取所述第一从机的数量信息;
根据所述数量信息和预设的从机间隔时间信息,得到从机间隔总时间信息;
根据所有第一从机的所述第二时间信息和所述从机间隔总时间信息的时间总和,得到所述第三时间信息。
需要说明的是,首先,获取第一从机的数量信息,也就是需要同时执行制定工作任务的从机的数量。所述从机间隔时间信息是主机根据电路系统所预设的时间信息,是主机是依次与每一台从机进行通信时,从机切换过程所需要的时间。根据从机的数量,即可得到从机间隔总时间信息,即完成所有从机切换所需要的从机间隔总时间。然后,再计算每台从机完成一轮主从通信的通信时间,即第二时间信息T2,与从机间隔总时间信息的总和,即可得到主机与各个从机完成通信所需要的时间T3,记为第三时间信息T3。
根据本发明实施例,所述根据所述第三时间信息和所述任务编码信息,得到第二指令信息,具体为:
根据所述第三时间信息和所述第一时钟信息,得到第四时钟信息;
获取第一从机的任务编码信息;
根据所述任务编码信息、所述第四时钟信息和所述第一时间信息,生成第二指令信息。
需要说明的是,所述第一时钟信息是主机的时钟信息,用于记录指令发送与接收的时间点,在本实施例中,主机发送第二指令信息的时间点,即为第一时钟信息;所述第三时间信息T3是主机与各个从机完成通信所需要的时间。本发明设定为当主机与所有从机完成指令发送后,才执行设定的工作任务,因此,根据第一时钟信息和第三时间信息T3,即可得到第四时钟信息,用于表示工作任务执行时在主机时钟系统下的时间点。所述第一时间信息是主机与从机进行指令传输时的传输时间。根据工作任务的任务编码信息、发送第二指令的第四时钟信息和第一时间信息,生成第二指令信息,用于发送至从机。
根据本发明实施例,所述根据所述第二指令信息和第二时钟信息,第一从机执行第二指令任务,具体为:
根据所述第二指令信息的任务编码信息,得到第二指令任务;
根据所述第二指令信息的第四时钟信息和所述第一时间信息,得到第五时钟信息;
判断第二时钟信息是否与第五时钟信息;
若是,则第一从机执行第二指令任务。
需要说明的是,通过解析第二指令信息,得到等待执行的工作任务,即第二指令任务;得到工作任务执行时在主机时钟系统下的时间点,即第四时钟信息;得到主机与从机进行指令传输时的传输时间,即第一时间信息。其中,第一时间信息包括了主机发送信息至从机的传输时间,记为发送传输时间,和从机返回信息给主机的传输时间,记为接收传输时间。由于主从通信时发送与接收的过程经过同一条物理线路,所以发送传输时间与接收传输时间可认定为是相同的,即为第一时间信息的一半。在主机与从机完成时钟同步后,主机时钟系统与从机时钟系统是相差了一个发送传输时间。综上所述,根据第四时钟信息和第一时间信息,即可得到工作任务执行时在从机时钟系统下的时间点,即为第五时钟信息。例如,第四时钟信息为01时01分30秒、第一时间信息为2秒,则发送传输时间为1秒,可得到第五时钟信息为01时01分29秒。各个从机根据对应的第一时间信息,可得出从机时钟系统下的工作任务的执行时间点。通过判断从机时钟系统的时间点是否为第五时钟信息,若是,则表示应在当前时间点执行第二指令任务,进而实现多从机同时执行工作任务的效果。
值得一提的是,还包括:
发送通信指令后,开启第一定时器,初始化第一定时信息;
判断是否接收到第一从机的反馈指令;
若是,则关闭第一定时器;
若否,则判断第一定时信息是否超过预设的定时阈值信息;
若是,则关闭第一定时器,重新发送通信指令,第一从机标记为异常从机,并更新第一异常次数信息。
需要说明的是,主机发送通信指令给从机后,即开启第一定时器,执行计时操作,并初始化计时结果,即第一定时信息。若主机能接收到从机的反馈指令,则关闭第一定时器。若主机未接收到从机的反馈指令,则判断第一定时信息是否超过预设的定时阈值;若超过,则表示通信异常,需要重新发送指令,同时,将通信的从机标记为异常从机,并更新记录当前从机通信异常次数的第一异常次数信息。异常次数越多,则表示当前从机的通信越不稳定。
值得一提的是,还包括:
获取第一从机的第一异常次数信息;
根据第一异常次数信息按降序排列,得到第一从机的通信顺序;
根据第一从机的通信顺序,依次与从机进行通信。
需要说明的是,获取从机的第一异常次数信息,根据异常次数信息将各个从机按降序的顺序进行排列,得到通信顺序。也就是说,异常次数越多的从机,即通信越不稳定的从机,与主机通信的顺序就越靠前。对于为了同时执行设定工作任务的多从机通信的过程中,当一个从机通信出现异常,则需要重新计算工作任务开始的时间点,也就意味着所有从机都需要重新通信。将不稳定的从机放置于通信顺序靠前的位置,可达到减少时间耗费的目的。
值得一提的是,还包括:
获取第一从机的第一异常次数信息;
判断第一异常次数信息是否超过预设的次数阈值;
若是,则标记第一从机,并关闭第一从机的通信通道。
需要说明的是,获取从机的第一异常次数信息,异常次数越多,则表示当前从机的通信越不稳定。当第一异常次数超过预设的次数阈值时,表示当前从机的通信稳定性不满足通信要求,则对该从机进行标记,并关闭该从机的通信通道。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种基于串口通信的多从机控制方法程序,所述基于串口通信的多从机控制方法程序被处理器执行时,实现如上述任一项所述的基于串口通信的多从机控制方法的步骤。
本发明提供了一种基于串口通信的多从机控制方法、系统和存储介质,获取第一反馈指令信息,根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息;根据所述第二时间信息和预设从机间隔时间信息,得到第三时间信息;获取任务编码信息,根据所述第三时间信息和所述任务编码信息,得到第二指令信息;根据所述第二指令信息和所述第二时钟信息,第一从机执行第二指令任务。本发明通过获取主机与各个从机串口通信过程的传输时间,用于计算从机工作任务的开启时间,从而确保各个从机可以再同一时刻执行工作任务,实现同步。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于串口通信的多从机控制方法,其特征在于,所述方法包括:
获取第一反馈指令信息,根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息;
根据所述第二时间信息和预设从机间隔时间信息,得到第三时间信息;
获取任务编码信息,根据所述第三时间信息和所述任务编码信息,得到第二指令信息;
根据所述第二指令信息和第二时钟信息,第一从机执行第二指令任务。
2.根据权利要求1所述的一种基于串口通信的多从机控制方法,其特征在于,还包括:
根据所述第一时钟信息,生成并发送第三指令信息;
所述第一从机根据第三指令信息,将第二时钟信息设置为所述第一时钟信息。
3.根据权利要求1所述的一种基于串口通信的多从机控制方法,其特征在于,所述根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息,具体为:
获得接收第一反馈指令信息时的第三时钟信息;
根据所述第三时钟信息与所述第一时钟信息的时钟差值,得到所述第一时间信息;
根据所述第一时间信息和预设的通信间隔时间信息,得到所述第二时间信息。
4.根据权利要求1所述的一种基于串口通信的多从机控制方法,其特征在于,所述根据第二时间信息和预设的从机间隔时间信息,得到第三时间信息,具体为:
获取所述第一从机的数量信息;
根据所述数量信息和预设的从机间隔时间信息,得到从机间隔总时间信息;
根据所有第一从机的所述第二时间信息和所述从机间隔总时间信息的时间总和,得到所述第三时间信息。
5.根据权利要求1所述的一种基于串口通信的多从机控制方法,其特征在于,所述根据所述第三时间信息和所述任务编码信息,得到第二指令信息,具体为:
根据所述第三时间信息和所述第一时钟信息,得到第四时钟信息;
获取第一从机的任务编码信息;
根据所述任务编码信息、所述第四时钟信息和所述第一时间信息,生成第二指令信息。
6.根据权利要求1所述的一种基于串口通信的多从机控制方法,其特征在于,所述根据所述第二指令信息和第二时钟信息,第一从机执行第二指令任务,具体为:
根据所述第二指令信息的任务编码信息,得到第二指令任务;
根据所述第二指令信息的第四时钟信息和所述第一时间信息,得到第五时钟信息;
判断第二时钟信息是否与第四时钟信息相等;
若是,则第一从机执行第二指令任务。
7.一种基于串口通信的多从机控制系统,其特征在于,所述系统包括存储器和处理器,所述存储器中包括基于串口通信的多从机控制方法程序,所述基于串口通信的多从机控制方法程序被所述处理器执行时实现如下步骤:
获取第一反馈指令信息,根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息;
根据所述第二时间信息和预设从机间隔时间信息,得到第三时间信息;
获取任务编码信息,根据所述第三时间信息和所述任务编码信息,得到第二指令信息;
根据所述第二指令信息和第二时钟信息,第一从机执行第二指令任务。
8.根据权利要求7所述的一种基于串口通信的多从机控制系统,其特征在于,还包括:
根据所述第一时钟信息,生成并发送第三指令信息;
所述第一从机根据第三指令信息,将第二时钟信息设置为所述第一时钟信息。
9.根据权利要求7所述的一种基于串口通信的多从机控制系统,其特征在于,所述根据第一反馈指令信息和第一时钟信息,得到第一时间信息和第二时间信息,具体为:
获得接收第一反馈指令信息时的第三时钟信息;
根据所述第三时钟信息与所述第一时钟信息的时钟差值,得到所述第一时间信息;
根据所述第一时间信息和预设的通信间隔时间信息,得到所述第二时间信息。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机可读存储介质中包括一种基于串口通信的多从机控制方法程序,所述基于串口通信的多从机控制方法程序被处理器执行时,实现如权利要求1至6中任一项所述的基于串口通信的多从机控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311325545.5A CN117349201B (zh) | 2023-10-13 | 2023-10-13 | 一种基于串口通信的多从机控制方法、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311325545.5A CN117349201B (zh) | 2023-10-13 | 2023-10-13 | 一种基于串口通信的多从机控制方法、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117349201A true CN117349201A (zh) | 2024-01-05 |
CN117349201B CN117349201B (zh) | 2024-03-05 |
Family
ID=89366295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311325545.5A Active CN117349201B (zh) | 2023-10-13 | 2023-10-13 | 一种基于串口通信的多从机控制方法、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117349201B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183687A (zh) * | 2015-07-31 | 2015-12-23 | 深圳市振邦智能科技有限公司 | 一种分时串口通信方法及系统 |
CN110971328A (zh) * | 2018-09-28 | 2020-04-07 | 利士文时计工业股份有限公司 | 时钟和信息传输系统 |
DE102018131174A1 (de) * | 2018-12-06 | 2020-06-10 | Infineon Technologies Ag | Seriellschnittstellen-schaltungsanordnung und verfahren zum betrieb einer seriellschnittstellen-schaltungsanordnung |
CN111475432A (zh) * | 2020-04-08 | 2020-07-31 | 北京中科银河芯科技有限公司 | 一种从机启动控制装置、单总线系统及其控制方法 |
CN112084134A (zh) * | 2020-09-14 | 2020-12-15 | 成都天锐星通科技有限公司 | 一种多级级联系统控制方法及多级级联系统 |
WO2021093540A1 (zh) * | 2019-11-13 | 2021-05-20 | 深圳竹芒科技股份有限公司 | 主从通信系统、从机位置识别方法和移动电源的租借装置 |
CN115913437A (zh) * | 2022-12-02 | 2023-04-04 | 北京旋极信息技术股份有限公司 | 一种时间同步方法、系统、故障注入设备和存储介质 |
CN116599589A (zh) * | 2023-07-18 | 2023-08-15 | 通达电磁能股份有限公司 | 一种信号同步的方法、装置、设备及介质 |
-
2023
- 2023-10-13 CN CN202311325545.5A patent/CN117349201B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183687A (zh) * | 2015-07-31 | 2015-12-23 | 深圳市振邦智能科技有限公司 | 一种分时串口通信方法及系统 |
CN110971328A (zh) * | 2018-09-28 | 2020-04-07 | 利士文时计工业股份有限公司 | 时钟和信息传输系统 |
DE102018131174A1 (de) * | 2018-12-06 | 2020-06-10 | Infineon Technologies Ag | Seriellschnittstellen-schaltungsanordnung und verfahren zum betrieb einer seriellschnittstellen-schaltungsanordnung |
WO2021093540A1 (zh) * | 2019-11-13 | 2021-05-20 | 深圳竹芒科技股份有限公司 | 主从通信系统、从机位置识别方法和移动电源的租借装置 |
CN111475432A (zh) * | 2020-04-08 | 2020-07-31 | 北京中科银河芯科技有限公司 | 一种从机启动控制装置、单总线系统及其控制方法 |
CN112084134A (zh) * | 2020-09-14 | 2020-12-15 | 成都天锐星通科技有限公司 | 一种多级级联系统控制方法及多级级联系统 |
CN115913437A (zh) * | 2022-12-02 | 2023-04-04 | 北京旋极信息技术股份有限公司 | 一种时间同步方法、系统、故障注入设备和存储介质 |
CN116599589A (zh) * | 2023-07-18 | 2023-08-15 | 通达电磁能股份有限公司 | 一种信号同步的方法、装置、设备及介质 |
Non-Patent Citations (3)
Title |
---|
杨根兴,张江泓,郑莉华: "多从机多任务串行通信程序设计", 计算机时代, no. 01, 18 January 1995 (1995-01-18), pages 6 - 8 * |
程宾: "基于ARM的浮纹织物花型织造从机控制系统的研究", 中国硕士学位论文全文数据库 工程科技Ⅰ辑, 15 February 2017 (2017-02-15) * |
罗涛: "电子式三相IC卡预付费电能表的设计与研究", 中国硕士学位论文全文数据库 工程科技Ⅱ辑, 15 January 2009 (2009-01-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN117349201B (zh) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0188522B1 (en) | Polling method for data processing system | |
EP3026556B1 (en) | Event generation management for an industrial controller | |
CN102984500A (zh) | 一种实现多种视频监控设备兼容的方法、装置和系统 | |
CN109547147A (zh) | 一种分时复用多模式遥测传输设计方法 | |
CN110912805B (zh) | 消息读取状态的同步方法、终端、服务端及系统 | |
CN117349201B (zh) | 一种基于串口通信的多从机控制方法、系统和存储介质 | |
CN108279595B (zh) | 用于控制设备机组状态的方法、装置和设备机组 | |
CN104821889B (zh) | 一种备份报文的处理方法和设备 | |
CN104767589B (zh) | 一种信息发送方法及装置 | |
CN111984582B (zh) | 一种pcie链路训练方法、设备以及介质 | |
CN112000019B (zh) | 用于共享设备指令控制的方法、装置及设备 | |
EP3319249B1 (en) | Transmission checking method, node, system and computer storage medium | |
CN107547315B (zh) | 一种优化数据通信的方法和装置 | |
US20170212821A1 (en) | Communication setting notification apparatus | |
CN112859660B (zh) | 一种设备同步控制方法、装置、终端及系统 | |
CN115514623A (zh) | 故障处理方法、堆叠设备及存储介质 | |
CN112600782A (zh) | 无线充电系统及其通讯方法、可存储介质 | |
CN110099001A (zh) | 双向转发检测时间参数协商方法、装置及电子设备 | |
CN113672544B (zh) | 一种串口通信传输速率的匹配方法 | |
CN111124638B (zh) | 一种嵌入式Linux系统下多机程序调度系统及实现方法 | |
CN107820308A (zh) | 数据通信方法及装置 | |
CN112187595B (zh) | 识别码编号方法以及多点通信系统 | |
CN214098421U (zh) | 板卡和通信系统 | |
CN116795565A (zh) | 线程的处理方法、装置、电子设备及存储介质 | |
WO2022172463A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |