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

一种基于软定时器的多PLC控制器指令输出高精度同步方法

文献发布时间:2024-04-18 19:52:40


一种基于软定时器的多PLC控制器指令输出高精度同步方法

技术领域

本发明涉及多PLC指令输出同步方法,具体涉及一种基于软定时器的多PLC控制器指令输出高精度同步方法。

背景技术

大型分布式控制系统节点众多,分布广泛。为了实现复杂控制逻辑,控制系统内部通常同时配备多套PLC(可编程逻辑控制器)为各类设备提供精准的控制指令,各指令输出同步精度需满足一定要求,以确保各类设备协同工作。

为了实现多套PLC按照既定时间同时输出指令,操作员站将既定的未来时刻转换为相对时间(相对于当前时刻)写入各套PLC,各套PLC接收到从操作员站传来的相对时间后,启动本地倒计时,当本地倒计时与所接受的相对时间一致时输出指令。

可编程逻辑控制器(PLC)通过任务(Task)来执行指令代码。其中,周期性任务按照预定的周期(例如:1ms)循环执行,针对不同类型PLC,周期性任务实现方式大致可分为两类:硬件定时器方式及软件定时器方式。

对于软件定时器类的PLC,软件定时器(简称:软定时器)是由PLC内部实时操作系统提供的一类系统接口,实现过程中以系统节拍周期作为计时单位,每到达指定时间调用一次回调函数,并在回调函数中处理信息。软定时器的执行依靠操作系统内部上下文切换,在执行过程中极有可能被其他中断所打断,为此,PLC周期性任务的实际周期存在一定不确定度(例如:对于1ms的周期任务,软定时器实际执行周期为1+δt,δt值存在一定抖动)。

发明内容

本发明的目的是提供一种基于软定时器的多PLC控制器指令输出高精度同步方法,以解决基于软定时器的PLC周期性任务实际执行时间不确定,无法直接应用于时间度量,导致多套PLC指令输出同步精度较低的技术问题。

为了达到上述目的,本发明提供了一种基于软定时器的多PLC控制器指令输出高精度同步方法,所述多PLC控制器之间建立共享变量机制,其特殊之处在于,包括以下步骤:

步骤1、确定n个PLC控制器的n套PLC指令同时输出的绝对时间T

步骤2、选定其中一个PLC控制器作为主控制器,则其它PLC控制器为从控制器;

步骤3、基于各个PLC控制器软定时器分别设定周期扫描任务,扫描周期为ΔS;同时,在各个PLC控制器间建立周期性同步机制,所述周期性同步机制为从控制器每间隔时间ΔT与主控制器的运行时间t

步骤4、执行周期扫描任务,直至n套PLC指令同步输出;其中主控制器循环执行步骤4.1~步骤4.3,从控制器循环执行步骤4.4~步骤4.6;

步骤4.1、主控制器接收到相对时间t

步骤4.2、主控制器在第i个扫描周期内获取本地时间戳t

步骤4.3、主控制器判断其运行时间t

步骤4.4、将从控制器的运行时间初始化为0,每间隔时间ΔT通过所述周期性同步机制将其更新为主控制器的运行时间t

步骤4.5、从控制器在第i个扫描周期中,计算该扫描周期对应的运行时间m

步骤4.6、从控制器判断t

进一步地,所述相对时间t

进一步地,所述扫描周期ΔS的时间精度等于或小于n套PLC指令的同步时间精度。

进一步地,所有PLC控制器的输入输出更新周期小于或等于n套PLC指令的同步时间精度。

进一步地,所述软定时器为PLC控制器所带定时器。

本发明的有益效果:

1、本发明提出了一种基于软定时器的多PLC控制器指令输出高精度同步方法,通过各个PLC控制器间周期性同步共享变量,在不更改控制系统硬件结构的前提下,可有效提升多套PLC指令的同步精度,具有成本低、可移植性强等特点。

2、本发明提出的基于软定时器的多套PLC指令输出高精度同步方法,有效利用软定时器及共享变量机制,实现了高精度指令同步,适用于拥有共享变量机制的各类型PLC同步控制。

3、本发明提出的方法是基于软定时器的多PLC控制器指令输出高精度同步方法,适用于各类型网络结构,控制系统内不需要配备额外的高精度时间源单元,也不需要实现网络时间同步即可实现多套PLC的指令同步输出,成本低,系统简单高效。

4、本发明中多套PLC指令同步精度不受参与同步的PLC数量、控制程序的复杂程度、程序运行周期长短等各类型情况影响,可广泛应用于各类控制场景,该方法具备高实时、高可靠、高可用特性。

附图说明

图1是分布式控制系统网络结构示意图;

图2是本发明实施例中主控制器的PLC指令同步流程图;

图3是本发明实施例中从控制器的PLC指令同步流程图,图中,ΔS代表周期性任务的运行周期;ΔT代表同步间隔时间,即主控制器与从控制器的同步周期。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

PLC通信是指将不同地理位置的PLC控制器、计算机、各种现场设备等,通过通信介质连接起来,按照规定的通信协议,以某种特定的通信方式高效率地完成数据的传送、交换和处理。其中PLC控制器间的通信,通常使用以太网作为通信链路,建立1:1、1:N、M:N等各种类型控制网络,通过配置共享变量以及同步周期,实现PLC控制器间的单向或者双向数据传送。

导致多套基于软定时器的PLC指令输出无法同步的主要因素通常包括:(1)各个PLC控制器启动本地倒计时的基准时刻不同;(2)各个PLC控制器内部时钟走时不同步。(3)软定时器实际执行周期存在抖动,无法应用于长周期的时间度量。

本发明提出的基于软定时器的多套PLC高精度指令同步方法,借助PLC的软定时器以及PLC间共享变量机制,可实现多套PLC的高精度指令同步输出功能。可以广泛应用于基于PLC的各类型高精度分布式控制系统。

本发明主要针对采用软定时器实现方式的PLC。

如图1所示,分布式控制系统一般包括:操作员站、以太网通讯以及n个PLC控制器,n>1。n个PLC控制器均与操作员站连接,各PLC控制器间存在通信连接,相互之间支持变量共享机制;操作员站一方面负责各个PLC控制器的运行过程控制及远程状态监测,一方面负责将既定的未来时刻转换为相对时间(相对于当前时刻)通过以太网写入各个PLC控制器。

结合图2和图3所示,本实施例所提供的基于软定时器的多套PLC高精度指令同步方法,具体包括以下步骤:

步骤1、操作员站依据实际需求确定n个PLC控制器的n套PLC指令同时输出的绝对时间T

步骤2、依据控制系统具体布局,将n个PLC控制器依次编号为1、2、3、…、n号,选定其中一个PLC控制器作为主控制器,其它PLC控制器均作为从控制器。

步骤3、所有PLC控制器基于软定时器设定周期扫描任务,定时扫描周期为ΔS;在每个周期扫描任务中,主控制器循环执行如下步骤4-步骤6,从控制器循环执行如下步骤7-步骤9;扫描周期ΔS的时间精度不大于n套PLC指令的同步时间精度;在各个PLC控制器间周期性建立同步机制,该周期性同步机制为从控制器每间隔时间ΔT与主控制器的运行时间t

也就是说所有PLC控制器具备软定时器功能,并可实时获取本地系统时间,所调用的本地系统时间精度不低于n套PLC指令的同步时间精度要求;从控制器在同一个间隔时间ΔT内,按照自身扫描周期ΔS累计计算得到的时间与间隔时间ΔT的时间误差精度小于或等于n套PLC指令的同步时间精度;所有PLC控制器的输入输出更新周期小于或等于n套PLC指令的同步时间精度。

步骤4、主控制器接收到操作员站传输的相对时间(变量)t

步骤5、主控制器在周期扫描任务中获得本地时间戳,第i个扫描周期内获取的本地时间戳记为t

步骤6、主控制器判断当前运行时间t

步骤7、将从控制器的运行时间初始化为0,每间隔时间ΔT通过周期性同步机制将其更新为主控制器的运行时间t

步骤8、从控制器在第i个扫描周期中,计算该扫描周期对应的运行时间m

步骤9、从控制器判断步骤8获取的本地运行时间t

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明披露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种基于发电机组控制器的PLC指令表转梯形图的方法
  • 一种基于发电机组控制器的PLC梯形图转指令表的方法
技术分类

06120116331523