掌桥专利:专业的专利平台
掌桥专利
首页

一种Modbus主从设备的同步控制方法、设备及存储介质

文献发布时间:2023-06-19 16:06:26



技术领域

本发明实施例涉及分布式控制系统架构设计技术领域,尤其涉及一种Modbu主从设备的同步控制方法、设备及存储介质。

背景技术

在现代工商业用电设备中,Modbus-RTU/ASC的主从控制总线以成本低,可靠性高,控制精确,控制范围大而成为最受欢迎的电子控制器接口。通过Modbus主从协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。由于使用的设备众多,Modbus已经成为一通用工业标准。然而Modbus-RTU/ASC协议的速率有限,网络拓扑又是主从结构。多个设备之间的网络同步成为亟待解决的问题。

一般需要时间同步的多个控制器都选用以太网协议,用NTP来实现网络授时从而完成多机同步。而使用Modbus主从协议的设备由于半双工的物理层,采用轮询的通讯顺序,协议本身并不支持多个从机之间的时间同步,这使得同步控制在Modbus协议的设备上难以实现,要想实现时间同步的功能,只能对Modbus协议进行修改,然而这会大大降低设备的通用性,且由于Modbus协议的工作原理并不适合时间同步的功能需求,对Modbus协议进行修改增加时间同步的功能在实际的使用过程中也存在较多问题。

发明内容

本发明实施例提供一种Modbus主从设备的同步控制方法,以解决现有的Modbus主从设备难以实现同步控制的技术问题,达到了在不修改ModbusRTU/ASC协议的基础上实现精准授时和同步控制的技术效果。

本发明提供了一种Modbus主从设备的同步控制方法,包括:

响应于所述Modbus主机广播的无需Modbus从机返回信息的时间同步信号;

根据所述时间同步信号的帧开始时间维持锁相环,同步所述Modbus主机与所述Modbus从机的时间基准;

响应于所述Modbus主机基于同步后的时间基准预设同步控制信号,所述Modbus主机与所述Modbus从机根据所述预设同步控制信号执行同步控制命令。

优选地,Modbus主机广播无需Modbus从机返回信息的时间同步信号的步骤之前还包括:

所述Modbus主机获取标准时间;

根据所述Modbus主机发送出一个完整授时信号所需的时间对所述标准时间进行修正;

根据修正后的标准时间生成所述无需Modbus从机返回信息的时间同步信号。

优选地,根据所述Modbus主机发送出一个完整授时信号所需的时间对所述标准时间进行修正的步骤具体包括:

将软件路径延时及物理介质传输延时之和作为所述Modbus主机发送出一个完整授时信号所需的时间;

将所述Modbus主机发送出一个完整授时信号所需的时间与所述标准时间之和作为修正后的标准时间。

优选地,根据所述时间同步信号的帧开始时间维持锁相环,同步所述Modbus主机与所述Modbus从机的时间基准的步骤具体包括:

从机接收到时间同步信号后,对所述时间同步信号内的时间进行偏移,偏移量为传输时间、从机中断响应时间及从机获取本地时间的和;

根据偏移后的时间维持软件锁相环,同步所述Modbus主机与所述Modbus从机的时间基准。

优选地,根据偏移后的时间维持软件锁相环,同步所述Modbus主机与所述Modbus从机的时间基准的步骤具体包括:

将所述偏移后的时间于本地时间对比,根据比较结果使用环路滤波器调节环路参数;

根据调节后的环路参数,调整所述Modbus从机的时间基准,实现与所述Modbus主机的时间基准的同步。

优选地,所述环路滤波器的调节方法包括逐次逼近算法。

优选地,响应于所述Modbus主机基于控制周期的同步控制信号,执行同步控制命令的步骤具体包括:

Modbus主机与所有Modbus从机约定未来预设时间执行同步控制命令;

Modbus主机与所有Modbus从机的根据各自的时间基准在所述未来预设时间执行同步控制命令。

本发明还提出一种Modbus设备,所述Modbus设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行Modbus主从设备的同步控制程序,所述Modbus主从设备的同步控制程序被所述处理器执行时实现如上所述的Modbus主从设备的同步控制方法。

本发明还提出一种可读存储介质,所述可读存储介质上存储有Modbus主从设备的同步控制程序,所述Modbus主从设备的同步控制程序被处理器执行时实现如上所述的Modbus主从设备的同步控制方法的步骤。

本发明通过使用无需Modbus从机返回信息的时间同步信号,而后从机根据时间同步信号维持锁相环,Modbus从机以Modbus主机发送的时间信号作为本地计时器的时间基准,再通过Modbus主机与Modbus从机约定时刻执行同步控制命令的方式,实现了同步控制,解决了现有技术中Modbus设备难以实现同步控制的技术问题,保障了Modbus设备同步控制的精准实现,提高了用户体验。

附图说明

图1是本发明任务自动配置方法中一实施例的流程示意图;

图2是本发明任务自动配置方法中另一实施例的流程示意图;

图3是本发明任务自动配置方法中另一实施例的流程示意图;

图4是本发明实施例中的装置结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

图1为本发明实施例提供的一种Modbus主从设备的同步控制方法的流程图,具体包括:

S100、响应于所述Modbus主机广播的无需Modbus从机返回信息的时间同步信号;

需要说明的是,由于Modbus协议的设备之间的通讯仅有半双工的物理层,且采用轮询的通讯方式,若主机发出的信息需要从机应答,各个从机返回至主机的信息被主机处理的时间并不相同,且由于Modbus协议的带宽较小,当设备较多时,返回的信息可能会造成更大的延迟,因此本申请采用无需Modbus从机返回信息的时间同步信号,尽可能的保障各个从机接收到信号的时间一致。

S200、根据所述时间同步信号的帧开始时间维持锁相环,同步所述Modbus主机与所述Modbus从机的时间基准;

值得强调的是,据时间同步信号的帧开始时间维持锁相环时,Modbus从机会根据信号帧的内容里的标准时间和收到帧头到解析内容的时间的时间差来调整锁相环的相位,修正传输误差。

需要强调的是,在广播报文中,有主机发送的具体时间值,从机如果用这个值作为自己的本地时基的校正值,则会存在一个通讯延时的误差,这个误差与通讯波特率和主机、从机的软件延时有关。但广播报文的帧开始时间是所有从机同步的。

需要说明的是,锁相环是一种利用相位同步产生的电压,去调谐压控振荡器以产生目标频率的负反馈控制系统,其作为一种反馈控制电路,可以根据时间同步信号作为输入信号,将其与内部的信号同步,实现稳定且高频的时钟信号,以根据时间同步信号同步主机的时间,并记录时间变化,本申请中,从机的本地时间和主机的标准时间通过闭环控制的锁相环锁定在一起,达到误差无限趋向于零。

S300、响应于所述Modbus主机基于同步后的时间基准预设同步控制信号,所述Modbus主机与所述Modbus从机根据所述预设同步控制信号执行同步控制命令。

需要强调的是,Modbus从机能够时间同步帧的内容和帧头时间修正Modbus从机本地的时钟源,Modbus从机的时钟源始终在锁相环的闭环修正模式下。而当时间同步后,则可通过提前发送执行时间与执行命令的方式约定同步控制,不同从机的执行时间与执行命令可由主机顺序发出,此时则可采用需从机回答的信号,以保障从机接收到了同步控制的命令。

本实施例的技术方案,通过使用无需Modbus从机返回信息的时间同步信号通过无需从机返回的方式尽可能的保证所有从机同时收到该信息,而后从机根据时间同步信号维持锁相环,Modbus从机以Modbus主机发送的时间信号作为本地计时器的时间基准,Modbus主机发送的时间仅用于修正Modbus从机的本地时间,再通过Modbus主机与Modbus从机约定时刻执行同步控制命令的方式,实现了同步控制,解决了现有技术中Modbus设备难以实现同步控制的技术问题,保障了Modbus设备同步控制的精准实现,提高了用户体验。

参照图2,图2是本发明任务自动配置方法中另一实施例的流程示意图,本发明所提供的Modbus主从设备的同步控制方法,Modbus主机广播无需Modbus从机返回信息的时间同步信号的步骤之前还包括:

S110、所述Modbus主机获取标准时间;

易于理解的是,由于时间同步信号中需包含主机时间,虽然主机时间是否准确并不影响同步控制,考虑到系统中的各个设备在使用的过程中,部分设备可能存在通过其它协议进行时间同步的步骤,因此Modbus主机获取标准时间以避免Modbus主机和同步后的Modbus从机与标准时间相差过大,使得部分通过其它方式获取到标准时间的从机无法实现同步控制的问题。

S120、根据所述Modbus主机发送出一个完整授时信号所需的时间对所述标准时间进行修正;

需要说明的是,由于时间同步信号从产生到发出Modbus需要一定的时间,因此需要考虑这部分时间后,对时间同步信号中包含的时间进行修正,确保从机接收到的信号中包含的时间与主机的时间尽可能的接近。

S130、根据修正后的标准时间生成所述无需Modbus从机返回信息的时间同步信号;

值得强调的是,通常情况下该信号包括广播地址、功能编号、时间寄存器开始地址、时间寄存器的字节长度、时间戳及校验码等,在本实施例中,该信号以广播的模式发出,而上述信息则为该广播的信息帧。

参照图3,图3是本发明任务自动配置方法中另一实施例的流程示意图。

根据所述Modbus主机发送出一个完整授时信号所需的时间对所述标准时间进行修正的步骤具体包括:

S121、将软件路径延时及物理介质传输延时之和作为所述Modbus主机发送出一个完整授时信号所需的时间;

易于理解的是,在本申请中,Modbus主机发出的授时信号需经历软件路径延时及物理介质传输延时之后才会发出Modbus主机,其中,软件路径延时包括生成完整授时信号所需的时间,其在计算性能及计算该方法固定的情况下,该延迟的大小是一致的,通过简单的实验即可得出,而物理介质延时则可根据理论上的10KM的线缆大概3.3us来计算得出。

S122、将所述Modbus主机发送出一个完整授时信号所需的时间与所述标准时间之和作为修正后的标准时间;

需要说明的是,这样Modbus主机发出的时间同步信号中包含的时间信息则为时间同步信号发出Modbus主机的标准时间,进一步提高了Modbus从机获取到的标准时间的准确性。

本实施例通过在发出信号前获取标准时间,使得Modbus主机的时间更为准确,避免了由于Modbus从机从其它方面获取到标准时间导致的同步控制失败的问题,并通过将Modbus主机发出的时间同步信号中包含的时间信息修正为时间同步信号发出Modbus主机的标准时间,完善了技术方案,最大程度上保证了从机接收到的时间同步信号中的时间与主机时间的一致性,进一步保障了各个从机与主机执行同步控制命令的时间一致性。

具体地,根据所述时间同步信号的帧开始时间维持锁相环,同步所述Modbus主机与所述Modbus从机的时间基准的步骤具体包括:

从机接收到时间同步信号后,对所述时间同步信号内的时间进行偏移,偏移量为传输时间、从机中断响应时间及从机获取本地时间的和;

易于理解的是,由于信号在传出主机,传至从机被从机接收并同步还需要一定的时间,因此从机在接收到时间同步信号后,需对得到的时间戳进行偏移,而这部分主要与从机的安装距离、性能等数据相关,各个从机之间存在一定的区别,因此该偏移需要放在从机进行。

根据偏移后的时间维持软件锁相环,同步所述Modbus主机与所述Modbus从机的时间基准。

值得强调的是,从机本地也有一个时间基准,这个基准精度可以稍低,只要在下一次主机与从机执行时间同步事情误差小于可用范围即可校准至准确值,因此主机执行时间同步的频率可根据从机本地的时间基准精度来进行设置,且由于广播信号为从机无需回答的信号,无法保障从机每次都接收到了信号,因此主机应当在从机本地的时间基准校准后偏移到不可用的时间段内执行大于一次的时间同步流程。

具体地,根据偏移后的时间维持软件锁相环,同步所述Modbus主机与所述Modbus从机的时间基准的步骤具体包括:

将所述偏移后的时间于本地时间对比,根据比较结果使用环路滤波器调节环路参数;

值得强调的是,环路滤波器是线性的低通滤波器,用来滤除Modbus主机偶尔的输出时间抖动所产生的高频分量和噪声。环路滤波器的设计对于整个锁相环的运行至关重要,它不只是滤除高频分量,更重要的是它会影响环路的重要参数,如相位噪声、环路稳定性及锁定时间等,对锁相环的整个性能有重大影响。

根据调节后的环路参数,调整所述Modbus从机的时间基准,实现与所述Modbus主机的时间基准的同步;

需要说明的是,此步骤可理解为将Modbus从机本地的时间基准与Modbus主机发送的时间戳进行对时,Modbus从机的时间基准需要以Modbus主机发送的时间戳为准,以保障所有Modbus从机的时间基准相互之间的差别最小。

值得说明的是,软件锁相环使用PI控制器,理论上可以让从机侧的时基和主机侧的时基完全同步,误差可以调到0,实际上由于晶振本身有温度系数,本地时基精度有限,这个方法大概可以做到100us的时间精度。

具体地,所述环路滤波器的调节方法包括逐次逼近算法。

易于理解的是,即使得每次的逼近后的时间差值小于逼近前的时间差值,直至差值为负时调整每次逼近的值的大小,进行进一步的逼近,直至时间差值满足使用需求。

具体地,响应于所述Modbus主机基于控制周期的同步控制信号,执行同步控制命令的步骤具体包括:

Modbus主机与所有Modbus从机约定未来预设时间执行同步控制命令;

需要说明的是,该同步控制方法在各个Modbus设备的本地时间相差较小时效果较好,当各个Modbus设备的本地时间差值满足同步控制需求时,则可认为各个Modbus设备的本地时间一致,此时即可执行同步控制。

Modbus主机与所有Modbus从机的根据各自的时间基准在所述未来预设时间执行同步控制命令。

值得强调的是,基于同步方案,不同厂商生产的控制设备可以连成工业网络,进行精准同步操作。从而可以构成一个Modbus全网络同步操作,这在一些大范围分布的低成本高可靠性的自控设备中,如自动喷泉,产线,农业灌溉和大棚系统中有着良好的经济价值。

本实施例通过公开Modbus从机对接收到的时间进行偏移,提高了Modbus从机同步时间的准确性以及与Modbus主机时间的一致性,减少了Modbus主机与Modbus从机本地时间的差值,提高了同步控制的控制效果,同时通过公开软件锁相环的PI控制器及环路滤波器,完善了技术方案,提高了用户体验。

如图4所示,图4是本发明另一实施例的Modbus设备结构示意图。该Modbus设备包括处理器70、存储器71、输入装置72和输出装置73;Modbus设备中处理器70的数量可以是一个或多个,图4中以一个处理器70为例;Modbus设备中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的Modbus主从设备的同步控制对应的程序指令。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行Modbus设备的各种功能应用以及数据处理,即实现上述的Modbus主从设备的同步控制。

存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。

输入装置72可用于接收输入的数字或字符信息,以及产生与Modbus设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示装置。

本实施例具备执行方法相应的功能模块和有益效果,在此不再一一赘述。

本发明实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种Modbus主从设备的同步控制方法,该方法包括:

响应于所述Modbus主机广播的无需Modbus从机返回信息的时间同步信号;

根据所述时间同步信号的帧开始时间维持锁相环,同步所述Modbus主机与所述Modbus从机的时间基准;

响应于所述Modbus主机基于同步后的时间基准预设同步控制信号,所述Modbus主机与所述Modbus从机根据所述预设同步控制信号执行同步控制命令。

具体地,Modbus主机广播无需Modbus从机返回信息的时间同步信号的步骤之前还包括:

所述Modbus主机获取标准时间;

根据所述Modbus主机发送出一个完整授时信号所需的时间对所述标准时间进行修正;

根据修正后的标准时间生成所述无需Modbus从机返回信息的时间同步信号。

具体地,根据所述Modbus主机发送出一个完整授时信号所需的时间对所述标准时间进行修正的步骤具体包括:

将软件路径延时及物理介质传输延时之和作为所述Modbus主机发送出一个完整授时信号所需的时间;

将所述Modbus主机发送出一个完整授时信号所需的时间与所述标准时间之和作为修正后的标准时间。

具体地,根据所述时间同步信号的帧开始时间维持锁相环,同步所述Modbus主机与所述Modbus从机的时间基准的步骤具体包括:

从机接收到时间同步信号后,对所述时间同步信号内的时间进行偏移,偏移量为传输时间、从机中断响应时间及从机获取本地时间的和;

根据偏移后的时间维持软件锁相环,同步所述Modbus主机与所述Modbus从机的时间基准。

具体地,根据偏移后的时间维持软件锁相环,同步所述Modbus主机与所述Modbus从机的时间基准的步骤具体包括:

将所述偏移后的时间于本地时间对比,根据比较结果使用环路滤波器调节环路参数;

根据调节后的环路参数,调整所述Modbus从机的时间基准,实现与所述Modbus主机的时间基准的同步。

具体地,所述环路滤波器的调节方法包括逐次逼近算法。

具体地,响应于所述Modbus主机基于控制周期的同步控制信号,执行同步控制命令的步骤具体包括:

Modbus主机与所有Modbus从机约定未来预设时间执行同步控制命令;

Modbus主机与所有Modbus从机的根据各自的时间基准在所述未来预设时间执行同步控制命令。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的Modbus主从设备的同步控制中的相关操作,具备执行方法相应的功能模块和有益效果,在此不再一一赘述。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

技术分类

06120114702257