CN116149250A - 一种基于硬定时器的多plc控制器高时间精度指令同步方法 - Google Patents

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

Info

Publication number
CN116149250A
CN116149250A CN202211644654.9A CN202211644654A CN116149250A CN 116149250 A CN116149250 A CN 116149250A CN 202211644654 A CN202211644654 A CN 202211644654A CN 116149250 A CN116149250 A CN 116149250A
Authority
CN
China
Prior art keywords
plc
time
task
controller
controllers
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
CN202211644654.9A
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 CN202211644654.9A priority Critical patent/CN116149250A/zh
Publication of CN116149250A publication Critical patent/CN116149250A/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]

Abstract

本发明公开了一种基于硬定时器的多PLC控制器高时间精度指令同步方法,以解决多个PLC控制器输出指令的同步性精度较差的问题。具体包括步骤1、将n个PLC控制器的n套PLC指令同时输出的既定未来时刻T0转换为相对当前时刻Tt的相对时间RT=Tt‑T0,并将相对时间RT下发至各个PLC控制器;步骤2、选定其中一个PLC控制器作为主控制器,其它PLC控制器为从控制器;步骤3、将各个PLC控制器的内部程序分为主任务和周期型任务;同时在各个PLC控制器间建立同步机制,同步机制为从控制器每间隔时间ΔS向主PLC同步变量JS一次;步骤4、当主任务接收到相对时间RT时,将周期型任务计数器值JS初始化为0,并使DJS=RT;同时启动周期型任务开始倒计时,直至n套PLC指令同步输出。

Description

一种基于硬定时器的多PLC控制器高时间精度指令同步方法
技术领域
本发明涉及多个PLC控制器高时间精度指令同步方法,具体涉及一种基于硬定时器的多PLC控制器高时间精度指令同步方法。
背景技术
高可靠控制系统设计过程中,为了防止系统误触发,普遍采用多套控制器表决模式。表决模式对多个可编程逻辑控制器(PLC)的指令输出同步精度具有较高要求,指令不同步可能会导致表决部件状态不一致,进而影响系统正常工作。此外,当控制系统结构、功能较为复杂时,通常要求多个PLC控制器能够协同工作,对多个PLC控制器的指令输出同步精度也有较高要求。
PLC通常支持3种类型的任务,分别为:主任务、周期型任务以及事件型任务。主任务始终运行,当主任务完成一次全扫描后,立即重新开始扫描,主任务优先级最低;周期型任务按照指定的周期执行,只要到达周期型任务指定的时刻,就会自动中断所有低优先级的任务,执行一次后,将控制权交回先前正在执行的任务;事件型任务是在某项特定的事件发生时才开始执行。具有硬定时器功能的PLC通过设定硬定时器溢出时间间隔ΔT,可保证周期型任务按照固定周期ΔT准确执行。
现有的各种类型PLC普遍支持共享变量模式,实现形式略有不同。有的控制器通过设定生产消费者模式,具备消费者标签的PLC控制器可定期高效的共享具有生产者标签的PLC控制器的内存变量,从而实现变量共享;有的控制器通过设定Modbus主从通信模式,将其中一个PLC设定为Modbus主站,其他PLC设定为Modbus从站,通过将从站指定变量添加至主站Modbus访问列表中,可实现主站与从站间定期数据交互及变量共享。
不同的PLC控制器分别按照自身内部晶振频率进行计时,受晶振运行的稳定性限制及频率差异的影响,较长时间的计时周期内,PLC控制器间会出现明显走时偏差,导致无法满足多个PLC控制器按照既定时间同时输出指令,或者说多个PLC控制器输出指令的同步性精度较差。
发明内容
本发明的目的是提供一种基于硬定时器的多PLC控制器高时间精度指令同步方法,以解决多个PLC控制器输出指令的同步性精度较差的技术问题。
为了达到上述目的,本发明提供了一种基于硬定时器的多PLC控制器高时间精度指令同步方法,所述多PLC控制器之间建立共享变量机制,其特殊之处在于,包括以下步骤:
步骤1、将n个PLC控制器的n套PLC指令同时输出的既定未来时刻T0转换为相对当前时刻Tt的相对时间RT=Tt-T0,并将相对时间RT下发至各个PLC控制器,启动所有PLC控制器正常运行,n>1;
步骤2、选定其中一个PLC控制器作为主控制器,则其它PLC控制器为从控制器;
步骤3、将各个PLC控制器的内部程序分别分为主任务和周期型任务,所述周期型任务只包括基于硬定时器设定的周期计数功能,其定时周期为ΔT;同时在各个PLC控制器间建立同步机制,所述同步机制为从控制器每间隔时间ΔS向主PLC同步变量JS一次;所述变量JS为周期型任务计数器值;
步骤4、当主任务接收到相对时间RT时,将周期型任务计数器值JS初始化为0,并使DJS=RT;同时启动周期型任务开始倒计时,直至n套PLC指令同步输出;其中主控制器循环执行步骤4.1-步骤4.4,从控制器循环执行步骤4.5-步骤4.8;
步骤4.1、主控制器循环执行主任务,每间隔ΔT时间,周期型任务中断主任务并执行扫描,同时更新计数器值为JS+1;
步骤4.2、周期型任务执行一次扫描后,主控制器从主任务中断处继续执行主任务;
步骤4.3、在所述主任务中,将主任务倒计时时间更新为DJS-(JS+1)*ΔT;
步骤4.4、根据主控制器当前的主任务倒计时时间DJS-(JS+1)*ΔT进行判断,如果DJS-(JS+1)*ΔT>0,主任务不输出PLC指令,如果DJS-(JS+1)*ΔT≤0,主任务立即输出PLC指令;
步骤4.5、从控制器每间隔时间ΔS将周期型任务计数器值JS更新为主控制器的周期型任务计数器值JS当前值;
步骤4.6、从控制器在周期型任务中,计算并更新该周期对应的计数器值为JS+1;
步骤4.7、从控制器在其主任务内依据当前计数器值将主任务倒计时时间更新为DJS-(JS+1)*ΔT;
步骤4.8、根据从控制器当前的主任务倒计时时间DJS-(JS+1)*ΔT进行判断,如果DJS-(JS+1)*ΔT>0,主任务不输出PLC指令,如果DJS-(JS+1)*ΔT≤0,主任务立即输出PLC指令。
进一步地,所述相对时间RT的精度等于或高于n套PLC指令的同步时间精度。
进一步地,所述硬定时器为PLC控制器所带定时器。
进一步地,所述硬定时器的最小定时精度等于或高于n套PLC指令的同步时间精度。
进一步地,所述定时周期ΔT精度等于或高于n套PLC指令的同步时间精度。
进一步地,所有PLC控制器的输入输出更新周期小于或等于n套PLC指令的同步时间精度。
本发明的有益效果:
1、本发明利用PLC控制器的硬定时器以及多个PLC控制器间共享变量机制,实现了多套PLC指令的高精度同步输出功能。可以广泛应用于基于PLC控制器的各类型高精度分布式控制系统,可移植性强。
2、本发明在控制系统内部不需要标准时间源单元、不需要获取PLC指令的绝对时间、不需要要求PLC控制器具有网络同步功能,适用于各类型网络结构,应用范围广泛,成本低,系统简单高效。
3、本发明提出的同步方法面对控制系统结构、功能较为复杂、负载较多、指令同步周期较长等条件,仍然可实现多套PLC指令的高精度同步,具备高可靠、高可用特性。
附图说明
图1是分布式控制系统网络结构示意图;
图2是本发明实施例中主控制器的PLC指令同步流程图;
图3是本发明实施例中从控制器的PLC指令同步流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,控制系统由操作员站、以太网通讯以及n个PLC控制器构成,n>1;不要求PLC控制器具备读取系统时间功能,不需要获取PLC控制器绝对时间,控制系统支持各种类型分布式网络结构,操作员站与各PLC控制器之间、各PLC控制器之间均存在通信连接,控制系统内部各个PLC控制器支持共享变量机制;控制系统内部所有PLC控制器均支持硬定时器功能,硬定时器频率稳定,可保证周期任务执行间隔时间恒定。
基于上述控制系统,本发明实施例提出了一种基于硬定时器的多PLC控制器高时间精度指令同步方法,通过多个PLC控制器间的共享变量机制,在不更改控制系统硬件结构的前提下,可有效提升多套PLC指令的同步精度,具有系统简单、成本低廉、适用范围广等特点。具体步骤如下:
步骤1、操作员站将n个PLC控制器的n套PLC指令同时输出的既定未来时刻T0(多套PLC指令同时输出的时刻)转换为相对当前时刻Tt的相对时间RT=Tt-T0,并将相对时间RT下发至各个PLC控制器,也就是说,控制系统内部各个PLC控制器由操作员站分发统一的相对时间基准;启动所有PLC控制器正常运行;该相对时间RT的精度等于或高于n套PLC指令的同步时间精度;所有PLC控制器的输入输出更新周期小于或等于n套PLC指令的同步时间精度;
步骤2、将n个PLC控制器依次编号为1、2、3、…n号,并选定其中一个PLC控制器作为主控制器,则其它PLC控制器为从控制器;
步骤3、将各个PLC控制器的内部程序分别分为主任务和周期型任务,周期型任务只包括基于硬定时器设定的周期计数功能,其定时周期为ΔT(定时周期ΔT精度等于或高于n套PLC指令的同步时间精度),其他功能均由主任务实现,该硬定时器为PLC控制器所带定时器,该硬定时器的最小定时精度等于或高于n套PLC指令的同步时间精度;同时在各个PLC控制器间建立同步机制,该同步机制为从控制器每间隔时间ΔS向主PLC同步变量JS一次;所述变量JS为周期型任务计数器值;
步骤4、当主任务接收到相对时间RT时,将周期型任务计数器值JS初始化为0,并使DJS=RT;同时启动周期型任务开始倒计时,直至n套PLC指令同步输出;其中主控制器循环执行步骤4.1-步骤4.4,从控制器循环执行步骤4.5-步骤4.8;
步骤4.1、如图2所示,主控制器循环执行主任务,每间隔ΔT时间,周期型任务中断主任务并执行扫描,周期型任务更新计数器值为JS+1;
步骤4.2、主控制器周期型任务执行一次扫描完毕后,从主任务中断处继续执行主任务;
步骤4.3、在主任务中,将主任务倒计时时间更新为DJS-(JS+1)*ΔT;
步骤4.4、根据主控制器当前的主任务倒计时时间DJS-(JS+1)*ΔT进行判断,如果DJS-(JS+1)*ΔT>0,主任务不输出PLC指令,如果DJS-(JS+1)*ΔT≤0,主任务立即输出PLC指令;
步骤4.5、如图3所示,从控制器每间隔时间ΔS将周期型任务计数器值JS更新为主控制器的周期型任务计数器值JS当前值;
步骤4.6、从控制器在周期型任务中,计算并更新该周期对应的计数器值为JS+1;
步骤4.7、从控制器在其主任务内依据当前计数器值将主任务倒计时时间更新为DJS-(JS+1)*ΔT;
步骤4.8、根据从控制器当前的主任务倒计时时间DJS-(JS+1)*ΔT进行判断,如果DJS-(JS+1)*ΔT>0,主任务不输出PLC指令,如果DJS-(JS+1)*ΔT≤0,主任务立即输出PLC指令。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明披露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (6)

1.一种基于硬定时器的多PLC控制器高时间精度指令同步方法,所述多PLC控制器之间建立共享变量机制,其特征在于,包括以下步骤:
步骤1、将n个PLC控制器的n套PLC指令同时输出的既定未来时刻T0转换为相对当前时刻Tt的相对时间RT=Tt-T0,并将相对时间RT下发至各个PLC控制器,启动所有PLC控制器正常运行,n>1;
步骤2、选定其中一个PLC控制器作为主控制器,则其它PLC控制器为从控制器;
步骤3、将各个PLC控制器的内部程序分别分为主任务和周期型任务,所述周期型任务只包括基于硬定时器设定的周期计数功能,其定时周期为ΔT;同时在各个PLC控制器间建立同步机制,所述同步机制为从控制器每间隔时间ΔS向主PLC同步变量JS一次;所述变量JS为周期型任务计数器值;
步骤4、当主任务接收到相对时间RT时,将周期型任务计数器值JS初始化为0,并使DJS=RT;同时启动周期型任务开始倒计时,直至n套PLC指令同步输出;其中主控制器循环执行步骤4.1-步骤4.4,从控制器循环执行步骤4.5-步骤4.8;
步骤4.1、主控制器循环执行主任务,每间隔ΔT时间,周期型任务中断主任务并执行扫描,同时更新计数器值为JS+1;
步骤4.2、周期型任务执行一次扫描后,主控制器从主任务中断处继续执行主任务;
步骤4.3、在所述主任务中,将主任务倒计时时间更新为DJS-(JS+1)*ΔT;
步骤4.4、根据主控制器当前的主任务倒计时时间DJS-(JS+1)*ΔT进行判断,如果DJS-(JS+1)*ΔT>0,主任务不输出PLC指令,如果DJS-(JS+1)*ΔT≤0,主任务立即输出PLC指令;
步骤4.5、从控制器每间隔时间ΔS将周期型任务计数器值JS更新为主控制器的周期型任务计数器值JS当前值;
步骤4.6、从控制器在周期型任务中,计算并更新该周期对应的计数器值为JS+1;
步骤4.7、从控制器在其主任务内依据当前计数器值将主任务倒计时时间更新为DJS-(JS+1)*ΔT;
步骤4.8、根据从控制器当前的主任务倒计时时间DJS-(JS+1)*ΔT进行判断,如果DJS-(JS+1)*ΔT>0,主任务不输出PLC指令,如果DJS-(JS+1)*ΔT≤0,主任务立即输出PLC指令。
2.根据权利要求1所述的基于硬定时器的多PLC控制器高时间精度指令同步方法,其特征在于:所述相对时间RT的精度等于或高于n套PLC指令的同步时间精度。
3.根据权利要求1或2所述的基于硬定时器的多PLC控制器高时间精度指令同步方法,其特征在于:所述硬定时器为PLC控制器所带定时器。
4.根据权利要求3所述的基于硬定时器的多PLC控制器高时间精度指令同步方法,其特征在于:所述硬定时器的最小定时精度等于或高于n套PLC指令的同步时间精度。
5.根据权利要求4所述的基于硬定时器的多PLC控制器高时间精度指令同步方法,其特征在于:所述定时周期ΔT精度等于或高于n套PLC指令的同步时间精度。
6.根据权利要求5所述的基于硬定时器的多PLC控制器高时间精度指令同步方法,其特征在于:所有PLC控制器的输入输出更新周期小于或等于n套PLC指令的同步时间精度。
CN202211644654.9A 2022-12-20 2022-12-20 一种基于硬定时器的多plc控制器高时间精度指令同步方法 Pending CN116149250A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211644654.9A CN116149250A (zh) 2022-12-20 2022-12-20 一种基于硬定时器的多plc控制器高时间精度指令同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211644654.9A CN116149250A (zh) 2022-12-20 2022-12-20 一种基于硬定时器的多plc控制器高时间精度指令同步方法

Publications (1)

Publication Number Publication Date
CN116149250A true CN116149250A (zh) 2023-05-23

Family

ID=86349927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211644654.9A Pending CN116149250A (zh) 2022-12-20 2022-12-20 一种基于硬定时器的多plc控制器高时间精度指令同步方法

Country Status (1)

Country Link
CN (1) CN116149250A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199393A (ja) * 2002-12-18 2004-07-15 Matsushita Electric Ind Co Ltd タスク制御装置及びタスク制御方法
JP2008187235A (ja) * 2007-01-26 2008-08-14 Yaskawa Electric Corp ネットワークシステムおよびスレーブ同期方法
CN101299193A (zh) * 2008-04-07 2008-11-05 谢维信 一种提高计算机内核定时器控制精度的方法
JP2011123688A (ja) * 2009-12-11 2011-06-23 Fuji Electric Systems Co Ltd 同期プログラマブルコントローラ、同期プログラマブルコントローラシステム
CN103197577A (zh) * 2012-01-06 2013-07-10 沈阳新松机器人自动化股份有限公司 机器人控制器脉冲同步调整方法及装置
CN105049309A (zh) * 2015-07-29 2015-11-11 上海新时达电气股份有限公司 基于powerlink实时以太网的伺服驱动器同步方法
CN105450323A (zh) * 2015-11-11 2016-03-30 杭州和利时自动化有限公司 一种soe时间同步控制方法及系统
CN106131947A (zh) * 2016-09-14 2016-11-16 潘进 一种无线网络设备间时钟同步的方法
CN111478834A (zh) * 2020-03-25 2020-07-31 武汉迈信电气技术有限公司 一种基于非实时系统的EtherCAT主站同步方法
CN113867228A (zh) * 2021-10-19 2021-12-31 傲拓科技股份有限公司 一种plc canopen主站扩展模块与cpu模块的数据实时同步方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199393A (ja) * 2002-12-18 2004-07-15 Matsushita Electric Ind Co Ltd タスク制御装置及びタスク制御方法
JP2008187235A (ja) * 2007-01-26 2008-08-14 Yaskawa Electric Corp ネットワークシステムおよびスレーブ同期方法
CN101299193A (zh) * 2008-04-07 2008-11-05 谢维信 一种提高计算机内核定时器控制精度的方法
JP2011123688A (ja) * 2009-12-11 2011-06-23 Fuji Electric Systems Co Ltd 同期プログラマブルコントローラ、同期プログラマブルコントローラシステム
CN103197577A (zh) * 2012-01-06 2013-07-10 沈阳新松机器人自动化股份有限公司 机器人控制器脉冲同步调整方法及装置
CN105049309A (zh) * 2015-07-29 2015-11-11 上海新时达电气股份有限公司 基于powerlink实时以太网的伺服驱动器同步方法
CN105450323A (zh) * 2015-11-11 2016-03-30 杭州和利时自动化有限公司 一种soe时间同步控制方法及系统
CN106131947A (zh) * 2016-09-14 2016-11-16 潘进 一种无线网络设备间时钟同步的方法
CN111478834A (zh) * 2020-03-25 2020-07-31 武汉迈信电气技术有限公司 一种基于非实时系统的EtherCAT主站同步方法
CN113867228A (zh) * 2021-10-19 2021-12-31 傲拓科技股份有限公司 一种plc canopen主站扩展模块与cpu模块的数据实时同步方法

Similar Documents

Publication Publication Date Title
KR100193947B1 (ko) 퍼스컴을 사용한 수치제어장치 및 그 제어방법
CN105024777B (zh) 基于EtherCAT实时以太网的伺服驱动器同步方法
DE10012079B4 (de) Taktsteuerschaltung und -Verfahren
CN102130640A (zh) 多轴同步伺服驱动系统及其同步控制方法
EP3361635B1 (en) Control system and pulse output device
JP5825446B2 (ja) 信号同期システム、ノード同期システム、信号同期方法、及び、ノード同期方法
EP3719596B1 (en) Control device and control method
CN105308570A (zh) 用于对分布式实时系统中的周期性任务传送时间正确的数据的方法和装置
CN112305997B (zh) 一种基于多进程的多通道数控系统的控制方法及系统
US20180299853A1 (en) System and method for synchronizing messages using a least common multiple in industrial process control and automation systems
US9081371B2 (en) Method for synchronizing an operating clock with a time clock of an automation network
EP2221684A2 (en) Distributed control system
CN103838183B (zh) 一种数控系统及其输出控制方法
CN116149250A (zh) 一种基于硬定时器的多plc控制器高时间精度指令同步方法
CN107181553A (zh) 一种伺服驱动器内部进行精确时间同步的方法
EP2730988A2 (en) Systems and methods for segment synchronization
US20220085968A1 (en) Communication system, communication device, and program
US20230023970A1 (en) Control system
CN114679481A (zh) 机器人的控制方法、装置、存储介质及机器人集群
CN112769535B (zh) 基于CoDeSys控制器的EtherCAT总线型伺服与脉冲型伺服的同步方法
CN116318508A (zh) EtherCAT从站伺服同步的装置、方法、电子设备及存储介质
CN113867228B (zh) 一种canopen主站与cpu的数据实时同步方法
CN112564938B (zh) 基于EtherCAT协议的设备控制器可重构系统及实施方法
JPH09219714A (ja) 伝送制御システム
CN110687829A (zh) 精度大于设定阈值的仿真时钟实现方法、系统、介质及设备

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