CN116184920A - 一种基于软定时器的多plc控制器指令输出高精度同步方法 - Google Patents

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

Info

Publication number
CN116184920A
CN116184920A CN202211644676.5A CN202211644676A CN116184920A CN 116184920 A CN116184920 A CN 116184920A CN 202211644676 A CN202211644676 A CN 202211644676A CN 116184920 A CN116184920 A CN 116184920A
Authority
CN
China
Prior art keywords
plc
time
controller
controllers
precision
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
Application number
CN202211644676.5A
Other languages
English (en)
Inventor
白琼
严明
王煜
李二鹏
赵三军
汪为伟
喻勇
张�杰
魏媛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwest Institute of Nuclear Technology
Original Assignee
Northwest Institute of Nuclear Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northwest Institute of Nuclear Technology filed Critical Northwest Institute of Nuclear Technology
Priority to CN202211644676.5A priority Critical patent/CN116184920A/zh
Publication of CN116184920A publication Critical patent/CN116184920A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1103Special, intelligent I-O processor, also plc can only access via processor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明公开了一种基于软定时器的多PLC控制器指令输出高精度同步方法,解决了基于软定时器的PLC周期性任务实际执行时间不确定,导致多套PLC指令输出同步精度较低的问题。具体包括步骤1、确定n个PLC控制器的n套PLC指令同时输出的绝对时间T0,n>1,并将各个绝对时间T0转换为相对当前时刻Tt的相对时间t0=T0‑Tt;将相对时间t0下发至n个PLC控制器;步骤2、选定其中一个PLC控制器作为主控制器,则其它PLC控制器为从控制器;步骤3、基于各个PLC控制器软定时器分别设定周期扫描任务;同时,在各个PLC控制器间建立周期性同步机制,周期性同步机制为从控制器每间隔时间ΔT与主控制器运行时间tr同步一次,ΔS<ΔT;执行周期扫描任务,直至n套PLC指令同步输出。

Description

一种基于软定时器的多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指令同时输出的绝对时间T0,n>1,并将各个绝对时间T0转换为相对当前时刻Tt的相对时间t0=T0-Tt;启动所有PLC控制器正常运行,将相对时间t0下发至n个PLC控制器;
步骤2、选定其中一个PLC控制器作为主控制器,则其它PLC控制器为从控制器;
步骤3、基于各个PLC控制器软定时器分别设定周期扫描任务,扫描周期为ΔS;同时,在各个PLC控制器间建立周期性同步机制,所述周期性同步机制为从控制器每间隔时间ΔT与主控制器的运行时间tr同步一次,ΔS<ΔT;
步骤4、执行周期扫描任务,直至n套PLC指令同步输出;其中主控制器循环执行步骤4.1~步骤4.3,从控制器循环执行步骤4.4~步骤4.6;
步骤4.1、主控制器接收到相对时间t0后,调用本地系统时间,以记录接收时刻的本地时间戳t1
步骤4.2、主控制器在第i个扫描周期内获取本地时间戳ti,并计算该扫描周期对应的本地运行时间tr=ti-t1
步骤4.3、主控制器判断其运行时间tr与接收到的相对时间t0的大小;如果tr<t0,主控制器不输出PLC指令;如果tr≥t0,主控制器立即输出PLC指令;
步骤4.4、将从控制器的运行时间初始化为0,每间隔时间ΔT通过所述周期性同步机制将其更新为主控制器的运行时间tr
步骤4.5、从控制器在第i个扫描周期中,计算该扫描周期对应的运行时间mi=mi-1+ΔS,并将mi作为从控制器的本地运行时间tr;其中,mi-1对应扫描周期为mi对应扫描周期的上一周期;
步骤4.6、从控制器判断tr与相对时间t0的大小,如果tr<t0,从控制器不输出PLC指令;如果tr≥t0,从控制器立即输出PLC指令,从而达到n套PLC指令输出同步。
进一步地,所述相对时间t0的精度等于或高于n套PLC指令的同步时间精度。
进一步地,所述扫描周期Δ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指令同时输出的绝对时间T0,并将绝对时间T0转换为相对当前时刻Tt的相对时间t0=T0-Tt;启动所有PLC控制器正常运行,将各个相对时间t0下发至对应的PLC控制器;相对时间t0的精度等于或高于n套PLC指令的同步时间精度。
步骤2、依据控制系统具体布局,将n个PLC控制器依次编号为1、2、3、…、n号,选定其中一个PLC控制器作为主控制器,其它PLC控制器均作为从控制器。
步骤3、所有PLC控制器基于软定时器设定周期扫描任务,定时扫描周期为ΔS;在每个周期扫描任务中,主控制器循环执行如下步骤4-步骤6,从控制器循环执行如下步骤7-步骤9;扫描周期ΔS的时间精度不大于n套PLC指令的同步时间精度;在各个PLC控制器间周期性建立同步机制,该周期性同步机制为从控制器每间隔时间ΔT与主控制器的运行时间tr同步一次,ΔS<ΔT;该运行时间tr为同步变量。
也就是说所有PLC控制器具备软定时器功能,并可实时获取本地系统时间,所调用的本地系统时间精度不低于n套PLC指令的同步时间精度要求;从控制器在同一个间隔时间ΔT内,按照自身扫描周期ΔS累计计算得到的时间与间隔时间ΔT的时间误差精度小于或等于n套PLC指令的同步时间精度;所有PLC控制器的输入输出更新周期小于或等于n套PLC指令的同步时间精度。
步骤4、主控制器接收到操作员站传输的相对时间(变量)t0后,调用本地系统时间,记录接收时刻的本地时间戳t1
步骤5、主控制器在周期扫描任务中获得本地时间戳,第i个扫描周期内获取的本地时间戳记为ti,计算该扫描周期对应的本地运行时间tr=ti-t1
步骤6、主控制器判断当前运行时间tr与操作员站传输的相对时间t0的大小;如果tr<t0,周期扫描任务不输出PLC指令;如果tr≥t0,周期扫描任务立即输出PLC指令。
步骤7、将从控制器的运行时间初始化为0,每间隔时间ΔT通过周期性同步机制将其更新为主控制器的运行时间tr
步骤8、从控制器在第i个扫描周期中,计算该扫描周期对应的运行时间mi=mi-1+ΔS,并将mi作为从控制器的本地运行时间tr;其中,mi-1对应扫描周期为mi对应扫描周期的上一周期;
步骤9、从控制器判断步骤8获取的本地运行时间tr与操作员站传输的相对时间t0的大小,如果tr<t0,从控制器不输出PLC指令;如果tr≥t0,从控制器立即输出PLC指令,从而达到n套PLC指令输出同步。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明披露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (5)

1.一种基于软定时器的多PLC控制器指令输出高精度同步方法,所述多PLC控制器之间建立共享变量机制,其特征在于,包括以下步骤:
步骤1、确定n个PLC控制器的n套PLC指令同时输出的绝对时间T0,n>1,并将各个绝对时间T0转换为相对当前时刻Tt的相对时间t0=T0-Tt;启动所有PLC控制器正常运行,将相对时间t0下发至n个PLC控制器;
步骤2、选定其中一个PLC控制器作为主控制器,则其它PLC控制器为从控制器;
步骤3、基于各个PLC控制器软定时器分别设定周期扫描任务,扫描周期为ΔS;同时,在各个PLC控制器间建立周期性同步机制,所述周期性同步机制为从控制器每间隔时间ΔT与主控制器的运行时间tr同步一次,ΔS<ΔT;
步骤4、执行周期扫描任务,直至n套PLC指令同步输出;其中主控制器循环执行步骤4.1~步骤4.3,从控制器循环执行步骤4.4~步骤4.6;
步骤4.1、主控制器接收到相对时间t0后,调用本地系统时间,以记录接收时刻的本地时间戳t1
步骤4.2、主控制器在第i个扫描周期内获取本地时间戳ti,并计算该扫描周期对应的本地运行时间tr=ti-t1
步骤4.3、主控制器判断其运行时间tr与接收到的相对时间t0的大小;如果tr<t0,主控制器不输出PLC指令;如果tr≥t0,主控制器立即输出PLC指令;
步骤4.4、将从控制器的运行时间初始化为0,每间隔时间ΔT通过所述周期性同步机制将其更新为主控制器的运行时间tr
步骤4.5、从控制器在第i个扫描周期中,计算该扫描周期对应的运行时间mi=mi-1+ΔS,并将mi作为从控制器的本地运行时间tr;其中,mi-1对应扫描周期为mi对应扫描周期的上一周期;
步骤4.6、从控制器判断tr与相对时间t0的大小,如果tr<t0,从控制器不输出PLC指令;如果tr≥t0,从控制器立即输出PLC指令,从而达到n套PLC指令输出同步。
2.根据权利要求1所述的基于软定时器的多PLC控制器指令输出高精度同步方法,其特征在于:所述相对时间t0的精度等于或高于n套PLC指令的同步时间精度。
3.根据权利要求1或2所述的基于软定时器的多PLC控制器指令输出高精度同步方法,其特征在于:所述扫描周期ΔS的时间精度等于或小于n套PLC指令的同步时间精度。
4.根据权利要求3所述的基于软定时器的多PLC控制器指令输出高精度同步方法,其特征在于:所有PLC控制器的输入输出更新周期小于或等于n套PLC指令的同步时间精度。
5.根据权利要求4所述的基于软定时器的多PLC控制器指令输出高精度同步方法,其特征在于:所述软定时器为PLC控制器所带定时器。
CN202211644676.5A 2022-12-20 2022-12-20 一种基于软定时器的多plc控制器指令输出高精度同步方法 Pending CN116184920A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211644676.5A CN116184920A (zh) 2022-12-20 2022-12-20 一种基于软定时器的多plc控制器指令输出高精度同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211644676.5A CN116184920A (zh) 2022-12-20 2022-12-20 一种基于软定时器的多plc控制器指令输出高精度同步方法

Publications (1)

Publication Number Publication Date
CN116184920A true CN116184920A (zh) 2023-05-30

Family

ID=86439392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211644676.5A Pending CN116184920A (zh) 2022-12-20 2022-12-20 一种基于软定时器的多plc控制器指令输出高精度同步方法

Country Status (1)

Country Link
CN (1) CN116184920A (zh)

Similar Documents

Publication Publication Date Title
US11082197B2 (en) Control system and control device
CN105024777B (zh) 基于EtherCAT实时以太网的伺服驱动器同步方法
US8126019B2 (en) Method for time synchronization in a cyclically operating communication system
JP2008531318A (ja) 通信ネットワークによってリンクされた同期コントローラ
CN102130640A (zh) 多轴同步伺服驱动系统及其同步控制方法
CN111272127B (zh) 一种通过EtherCAT总线测控同步的方法
KR20100080191A (ko) 네트워크에 연결된 슬레이브 장치들의 동기 제어장치 및 방법
US20220147022A1 (en) Control system
EP3361635B1 (en) Control system and pulse output device
JP2001027904A (ja) 数値制御システム
CN111324046B (zh) 一种用于对分布式仿真系统进行协同运算的方法及系统
CN109753368B (zh) 一种实时数据发送方法及系统
EP3851925B1 (en) A synchronised control system
JP4961589B2 (ja) ネットワークシステムおよびスレーブ同期方法
CN116184920A (zh) 一种基于软定时器的多plc控制器指令输出高精度同步方法
EP3764175B1 (en) Control device and control system
JP7066080B1 (ja) 通信制御装置、通信制御方法及びプログラム
CN105743758A (zh) 通讯方法
CN112564841A (zh) 通过同步时钟的方式控制不同通讯协议的设备的方法
JP2006107050A (ja) 複数ロボットの協調動作制御装置
JP2022133624A (ja) 情報処理装置、方法およびプログラム
WO2019176755A1 (ja) ネットワークシステム
US20230079221A1 (en) Time synchronization in a network
TWI497243B (zh) 控制多個驅動器同步工作的方法及其裝置
US20240160807A1 (en) Method for simulating a technical device

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