CN111611029B - 一种计算时序确定的iec 61499功能块建模方法 - Google Patents

一种计算时序确定的iec 61499功能块建模方法 Download PDF

Info

Publication number
CN111611029B
CN111611029B CN201910136529.9A CN201910136529A CN111611029B CN 111611029 B CN111611029 B CN 111611029B CN 201910136529 A CN201910136529 A CN 201910136529A CN 111611029 B CN111611029 B CN 111611029B
Authority
CN
China
Prior art keywords
event
time
execution
algorithm
iec61499
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.)
Active
Application number
CN201910136529.9A
Other languages
English (en)
Other versions
CN111611029A (zh
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.)
Shenyang Institute of Automation of CAS
Original Assignee
Shenyang Institute of Automation of CAS
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 Shenyang Institute of Automation of CAS filed Critical Shenyang Institute of Automation of CAS
Priority to CN201910136529.9A priority Critical patent/CN111611029B/zh
Publication of CN111611029A publication Critical patent/CN111611029A/zh
Application granted granted Critical
Publication of CN111611029B publication Critical patent/CN111611029B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • 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

本发明涉及一种保证计算时序确定性的IEC 61499功能块建模方法,包括:重新定义功能块的事件接口,用于将事件定义为包含时间戳的事件结构体;增加功能块对到达事件的时序管理模块,用于解析到达的本地事件,将事件按照时序排列,保证事件队列中事件按照确定的时序被响应;增加算法执行管理模块,用于定义算法执行时间约束、超时响应处理算法接口,对ECC执行响应算法进行管理、监测程序执行状态。本发明通过对IEC 61499基础功能块的扩展保证分布式系统协同计算的确定性,该功能块结构可以在异步事件高并发的分布式系统中保证事件执行时序的一致性和事件响应算法执行的确定性。

Description

一种计算时序确定的IEC 61499功能块建模方法
技术领域
本发明涉及工业自动化和计算机控制技术领域,特别涉及工业分布式系统编程标准IEC 61499以及功能块编程语言,具体的说是一种计算时序确定的IEC 61499功能块建模方法。
背景技术
随着柔性制造的发展,通过各制造单元的协同计算实现制造系统对动态需求的响应已经成为趋势。IEC 61499标准针对工业过程测量和控制系统(IPMCS)提出以功能块为核心内容,强调通过功能块组合完成协同操作的分布式软件编程方法。IEC 61499功能块通过事件驱动的方式,并利用执行控制图(ECC)响应系统中的各类事件。分布式系统运行过程中,大量设备上计算任务的高并发导致同一时隙上可能会存在多个事件,而这些事件在时序上有先后次序,由于分布式系统中时钟不同步加上网络时延的动态变化导致执行次序并不是按照任务产生的时序执行,从而产生系统的不确定性。另外,对事件的响应程序的执行过程中可能会出现错误,程序的执行陷入无限循环或者未知状态,导致无输出结果或者错误的结果等不确定性情况的发生。IEC 61499功能块仅强调事件驱动的快速响应和异步灵活的优点,对事件时序的正确性响应以及响应算法的确定性执行缺少严格的定义,难以保证分布式系统协同计算的确定性。
发明内容
针对上述功能块的不足,本发明的目的是通过对IEC 61499基础功能块的扩展保证分布式系统协同计算的确定性。该功能块结构可以在异步事件高并发的分布式系统中保证事件执行时序的一致性和事件响应算法执行的确定性。
IEC61499功能块分为基础功能块、复合功能块和服务接口功能块三种,本发明主要针对基础功能块进行扩展。本发明提出的一种保证分布式协同计算确定性的IEC 61499基础功能块结构通过下述技术方案实现。
一种计算时序确定的IEC 61499功能块建模方法,包括:
定义功能块的事件接口,将事件定义为包含时间戳的事件结构体;
增加功能块对到达事件的时序管理模块,包括解析到达本地功能块的事件,将事件按照产生的时序排列,使得事件队列中的事件按照时序被响应;
增加算法执行管理模块,包括定义算法执行时间约束、超时响应处理算法接口,对执行控制图ECC执行响应算法进行管理、监测程序执行状态。
所述事件结构体包括事件的标识、事件的状态、事件的产生时间和事件到达本地功能块的时间。
所述解析到达本地功能块的事件,将事件按照产生的时序排列,包括:
将事件暂存到事件池中;
从本地功能块接收到第一个事件起,等待最大估计网络时延δt;
对事件池中的事件进行解析,获取时间戳;
根据时间戳设置事件优先级,生成时间有序事件队列,时间戳越早的事件执行优先级越高。
所述根据时间戳设置事件优先级包括按照事件的产生时间设置优先级,若事件的产生时间相同则按照事件到达本地功能块的时间设置优先级。
所述最大估计网络时延δt≥max(事件E_A到达本地功能块的时间-事件E_A的产生时间,事件E_B到达本地功能块的时间-事件E_B的产生时间)。
所述对事件池中的事件进行解析,获取时间戳是利用Time.Pase()函数实现的。
所述根据时间戳设置事件优先级是利用Set.Priority()函数实现的。
所述算法执行时间约束为用户预设的程序最坏情况执行时间t。
所述超时响应处理算法接口用于当程序执行超时时,输出错误信息事件给用户。
所述对ECC执行响应算法进行管理、监测程序执行状态,包括:
当响应事件时,算法执行管理线程开启,保存程序开始执行时的时间t0
在程序运行过程中,周期性的获取当前时间tτ,直到程序执行结束,同时判断tτ-t0<t是否成立,如果成立则继续执行程序,否则触发超时响应处理算法接口,输出错误信息事件。
本发明具有以下有益效果及优点:
解决了由于分布式系统计算任务高并发带来的系统在事件响应顺序和响应时间不确定问题,进一步丰富了IEC61499功能块事件驱动执行的机制,推动IEC61499功能块在分布式系统中的进一步应用。
附图说明
图1为IEC61499基本功能块模型;
图2为IEC61499扩展功能块模型;
图3为实施例功能块网络;
图4为ECC扩展算法执行管理模块。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
本发明提出一种保证分布式协同计算时序确定的功能块结构的应用场景如图3所示。功能块FB1,FB2和FB3是运行在分布式系统中不同的计算平台上。功能块FB1和FB2分别用于产生事件FB1.E_O和FB2.E_O,并输出数据FB1.D_O和FB2.D_O。功能块FB3实现简单的算术运算,当响应E_A事件时,计算FB3.D_O=FB3.D_I1+FB3.D_I2,并输出事件CNF;当响应E_B事件时,计算FB3.D_O=FB3.D_I1-FB3.D_I2并输出事件CNF。
假设系统期望先获取FB1.D_O+FB2.D_O的值,后获取FB1.D_O-FB2.D_O的值,即表示为(FB1+FB2,FB1-FB2).在没有对IEC61499功能块模型扩展之前,由于网路时延和时间不同步的原因,FB3先接收到E_B事件后接收到E_A事件,导致最终执行结果为(FB1-FB2,FB1+FB2)。显然(FB1+FB2,FB1-FB2)≠(FB1-FB2,FB1+FB2)。即事件的响应时序导致响应执行结果的不确定性。
FB3响应E_A,执行加法程序,但是程序执行可能会出现错误,加法算法的执行陷入无限循环或者未知状态,导致无输出结果或者错误的结果等不确定性情况的发生。
为了保证上述问题的确定性,本发明对IEC61499功能块模型进行扩展,具体模型如图2所示。功能块的外部接口保持不变,如图1所示。主要接口包括:事件输入接口用于接收外部事件;数据输入接口用于接收外部数据;事件输出接口用于输出内部产生的事件;数据输出接口用于输出内部产生的数据。
扩展部分包括三个部分:
1.事件定义的扩展。
将事件定义为包含时间戳的事件结构体,具体实施为:
SID是整型变量,表示事件的ID号,对事件进行标识;
ActiveState是布尔变量,表示事件的状态,0表示事件处于沉默状态,1表示事件处于激活状态;
Time_born是时间变量,表示功能块外部事件产生时的时间;
LocalTime_arrive是时间变量,表示功能块接收到外部事件时的时间;
实施例中,FB1,FB2,FB3的时间戳分别为:
FB1.E_O.Time_born=FB1.systemclock();//FB1通过调用系统时间,获取事件产生时间戳;
FB2.E_O.Time_born=FB2.systemclock();//FB2通过调用系统时间,获取事件产生时间戳;
FB3.CNF.Time_born=FB3.systemclock();//FB3通过调用系统时间,获取事件产生时间戳;
当事件FB1.E_O到达FB3时,
FB3.E_A.LocalTime_arrive=FB3.Systemclock();//FB3通过调用系统时间,获取时间到达时间戳;
FB3.E_A.Time_born=FB1.E_O.Time_born;//FB3通过FB1.E_O事件,获取产生时间戳;
同理,当事件FB2.E_O到达时
FB3.E_B.LocalTime_arrive=FB3.Systemclock();//FB3通过调用系统时间,获取时间到达时间戳;
FB3.E_B.Time_born=FB2.E_O.Time_born。//FB3通过FB2.E_O事件,获取产生时间戳;
通过定义包含时间戳的事件结构体,可以明确确定事件发生的时间。
2.增加事件队列管理。
功能块在接收到事件之后,并不立刻执行而是将事件暂存到事件池中。从接收到第一个事件起,等待最大估计网络时延δt之后,对事件池中的事件通过Time.Pase()函数进行时间戳解析,并利用Set.Priority()函数设置事件优先级时间戳越早的事件执行优先级越高。
其中,δt是网络时延最大估计。
δt≥max(FB3.E_A.LocalTime_arrive-FB3.E_A.Time_born,FB3.E_B.LocalTime_arrive-FB3.E_B.Time_born)
同时要求功能块运行系统平台之间运行时间同步协议,保证时钟同步,事件队列管理模块才能正确工作。
系统期望结果(FB1+FB2,FB1-FB2),则FB1.E_O.Time_born<FB2.E_O.Time_born。FB3对事件响应的顺序根据事件发生的时序响应,响应间隔δt能够保证不会丢失事件,因此最终响应结果是确定的系统期望结果。
3.增加算法执行管理模块。
功能块控制框图在响应执行上述事件队列中的事件的同时会开启一个对该响应算法执行的监测线程,实时监测程序的执行状态,当响应程序执行超时时会产生相应的超时处理事件。例如图4所示,用户可以显示的定义加法ADD的程序最坏情况执行时间(Worst-Case Execution Time)t和超时处理(输出Error事件)。
FB3响应E_A,执行加法程序的同时,算法执行管理线程开启,并保存程序开始执行时的时间t0=ADD.start(),在程序运行过程中周期性的获取当前时间tτ=ADD.run(),直到程序执行结束,同时判断tτ-t0<t是否成立,如果成立则加法程序继续执行,否则触发超时处理算法,输出错误信息。因此保证了程序执行的确定性。

Claims (6)

1.一种计算时序确定的IEC 61499功能块建模方法,其特征在于包括:
定义功能块的事件接口,将事件定义为包含时间戳的事件结构体;所述事件结构体包括事件的标识SID、事件的状态ActiveState、事件的产生时间Time_born和事件到达本地功能块的时间LocalTime_arrive;
增加功能块对到达事件的时序管理模块,包括解析到达本地功能块的事件,将事件按照产生的时序排列,使得事件队列中的事件按照时序被响应;包括:
将事件暂存到事件池中;
从本地功能块接收到第一个事件起,等待最大估计网络时延δt;所述最大估计网络时延δt≥max(事件E_A到达本地功能块的时间-事件E_A的产生时间,事件E_B到达本地功能块的时间-事件E_B的产生时间);
对事件池中的事件进行解析,获取时间戳;
根据时间戳设置事件优先级,生成时间有序事件队列,时间戳越早的事件执行优先级越高;
增加算法执行管理模块,包括定义算法执行时间约束、超时响应处理算法接口,对执行控制图ECC执行响应算法进行管理、监测程序执行状态。
2.按照权利要求1所述的一种计算时序确定的IEC 61499功能块建模方法,其特征在于,所述对事件池中的事件进行解析,获取时间戳是利用Time.Pase()函数实现的。
3.按照权利要求1所述的一种计算时序确定的IEC 61499功能块建模方法,其特征在于,所述根据时间戳设置事件优先级是利用Set.Priority()函数实现的。
4.按照权利要求1所述的一种计算时序确定的IEC 61499功能块建模方法,其特征在于,所述算法执行时间约束为用户预设的程序最坏情况执行时间t。
5.按照权利要求1或4所述的一种计算时序确定的IEC 61499功能块建模方法,其特征在于,所述超时响应处理算法接口用于当程序执行超时时,输出错误信息事件给用户。
6.按照权利要求4所述的一种计算时序确定的IEC 61499功能块建模方法,其特征在于,对ECC执行响应算法进行管理、监测程序执行状态,包括:
当响应事件时,算法执行管理线程开启,保存程序开始执行时的时间t0
在程序运行过程中,周期性的获取当前时间tτ,直到程序执行结束,同时判断tτ-t0<t是否成立,如果成立则继续执行程序,否则触发超时响应处理算法接口,输出错误信息事件。
CN201910136529.9A 2019-02-25 2019-02-25 一种计算时序确定的iec 61499功能块建模方法 Active CN111611029B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910136529.9A CN111611029B (zh) 2019-02-25 2019-02-25 一种计算时序确定的iec 61499功能块建模方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910136529.9A CN111611029B (zh) 2019-02-25 2019-02-25 一种计算时序确定的iec 61499功能块建模方法

Publications (2)

Publication Number Publication Date
CN111611029A CN111611029A (zh) 2020-09-01
CN111611029B true CN111611029B (zh) 2023-09-15

Family

ID=72195649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910136529.9A Active CN111611029B (zh) 2019-02-25 2019-02-25 一种计算时序确定的iec 61499功能块建模方法

Country Status (1)

Country Link
CN (1) CN111611029B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948097B (zh) * 2021-04-15 2022-10-14 哈工大机器人(合肥)国际创新研究院 一种iec61499的功能块执行调度方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154881A (ja) * 1999-12-01 2001-06-08 Yamatake Corp シミュレーション装置とその装置の実現に用いられるプログラム記録媒体
JP2001243341A (ja) * 2000-03-01 2001-09-07 Yamatake Corp ファンクションブロックモデル作成方法及び装置
CN109213105A (zh) * 2018-10-22 2019-01-15 暨南大学 一种可重构装置、实现可重构的方法及分布式控制系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2728475A1 (en) * 2012-11-02 2014-05-07 Rockwell Automation Technologies, Inc. Event management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154881A (ja) * 1999-12-01 2001-06-08 Yamatake Corp シミュレーション装置とその装置の実現に用いられるプログラム記録媒体
JP2001243341A (ja) * 2000-03-01 2001-09-07 Yamatake Corp ファンクションブロックモデル作成方法及び装置
CN109213105A (zh) * 2018-10-22 2019-01-15 暨南大学 一种可重构装置、实现可重构的方法及分布式控制系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Wenbin Dai 等."Time-Stamped Event based Execution Semantics for Industrial Cyber-Physical Systems".《2015INDIN》.2015,第1265页. *
涂钰青 ; 李迪 ; 李方 ; 万加富 ; .基于IEC61499应用模型的形式化定义.计算机集成制造系统.2011,(09),全文. *
胡南炜,赵沁平.一种分布式交互仿真中的事件一致性处理算法.系统仿真学报.2000,(04),全文. *

Also Published As

Publication number Publication date
CN111611029A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN105930580B (zh) 一种用于电力系统和信息通信系统联合仿真的时间同步与数据交换的装置及其方法
CN106293919B (zh) 一种时间触发的嵌入式任务调度装置与方法
US6633942B1 (en) Distributed real-time operating system providing integrated interrupt management
Quinton et al. Formal analysis of sporadic overload in real-time systems
Poledna et al. Replica determinism and flexible scheduling in hard real-time dependable systems
EP2222003B1 (en) Field control system
Neukirchner et al. Monitoring arbitrary activation patterns in real-time systems
US20160246646A1 (en) Method for executing tasks in a computer network
Almeida et al. Schedulability analysis of real-time traffic in WorldFIP networks: An integrated approach
US20150205737A1 (en) Method for executing, within a multitasking onboard system, an application timed according to a plurality of different time domains including interruption management
CN111611029B (zh) 一种计算时序确定的iec 61499功能块建模方法
JP6116319B2 (ja) リアルタイムシステムでタイムスタンプを形成する方法、データ処理装置、コンピュータプログラム製品、および、ディジタル記憶媒体
Dai et al. Time-stamped event based execution semantics for industrial cyber-physical systems
CN107391866B (zh) 一种基于多处理器的aadl模型的可调度性分析方法
Günzel et al. Compositional timing analysis of asynchronized distributed cause-effect chains
EP2278454A1 (en) Method for correct-by-construction development of real-time-systems
US6766508B1 (en) Object-oriented system having anonymous scheduler design pattern
Rabenseifner The controlled logical clock-a global time for trace based software monitoring of parallel applications in workstation clusters
US20030120450A1 (en) Method for analysis of the time response of complex distributed systems
Jung et al. Synchronization of a “Plug-and-Simulate”-capable Co-Simulation of Internet-of-Things-Components
Zou From Ptides to PtidyOS, designing distributed real-time embedded systems
Lakhani et al. Applying design patterns to improve the reliability of embedded systems through a process of architecture migration
Lall et al. Logical Synchrony and the bittide Mechanism
Bohlin et al. Bounding shared-stack usage in systems with offsets and precedences
CN114936076B (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
GR01 Patent grant
GR01 Patent grant