谈谈IEC61499 的运行环境-系统,设备和资源

IEC61499 标准规范了基于功能块网络的图形化程序设计方法,刚开始接触这个标准的时候,搞不清这样的图形网络是如何运行的。另外,IEC61499中系统,设备,资源,应用,子应用等概念也搞得似懂非懂,稀里糊涂。在这里我们来谈谈功能块网络是如何在一个分布式控制系统中运行的。随便将IEC61499标准中的模型,概念解释的清楚一点。

系统模型

我们首先从IEC61499 定义的系统模型开始观察,一个IEC61499 分布式控制系统是由多个物理设备以及连接它们的网络构成的。形成一个设备的通信网络。通信链路可以是不同的类型,并且可以分成多个网段。比如采用以太网,wifi等等。

  控制器同样也可以是各种类型和处理能力,它们可以是一台X86 处理器的PC机,也可以一台基于Arm 处理器的小型设备(比如 树莓PI),甚至是一个Cortex-M 的微处理器设备。设备上的OS 可以是windows,linux或者freeRTOS,要使一台计算机设备成为一台IEC61499 控制器,需要在其上运行一个IEC61499 运行时(runtime),例如4diac 中的Forte就是这样的运行时程序。IEC61499 运行时是一个比较复杂的软件,它需要支持多任务,各种网络协议。所有典型的IEC61499 控制器是一个运行linux OS 的Arm 设备。设备的计算能力决定的运行IEC61499 功能块网络的性能。我们在PC 的windows和PC ubuntu 上运行4diac IDE瑞芯微的RK3399 PC ,全志H6 上配置ubuntu OS,运行4diac forte程序。也可以在window和ubuntu 上运行本地forte

设备模型

IEC61499 的设备模型描述了支持执行IEC61499 功能块网络执行的设备。

设备由通信接口,过程接口,设备管理和一个或者多个资源构成。通信接口提供了设备的通信服务。过程接口提供了访问控制过程所需的传感器/执行部件的服务。

IEC61499 的资源是一个独立的运行单元,每个资源都能够运行完整的,或者部分的功能块网络。资源是独立运行的功能块网络执行环境。IEC61499 并不要求资源和本地计算单元一对一的关系(比如一个CPU一个资源)。 资源可以是操作系统的一个任务,进程或者线程。设备上的OS和运行时调度程序调度资源所需的计算时间,并且保证一个资源的运行并不影响其它的资源运行。资源在一个设备上是并行地运行的,你可以将资源理解为解释执行功能块网络的“进程”。

设备还具有管理和监控功能,它能够建立和删除资源,装入功能块网络,读取每个功能块对象的事件,数据。

资源模型

  IEC61499 的资源提供了运行功能块网络所需的所有服务和运行环境,资源提供了通信接口和过程接口。

你可以将资源理解为解释执行功能块网络的“进程”。它完成功能块网络的解释执行,能够传递各种事件和数据,根据事件的触发,执行功能块的算法。产生新的事件和数据。并且可以通过通信服务功能块读取和发送远程资源的事件和数据。资源也类似于java或者javascript 的运行时.

应用模型(Application model)

IEC61499 标准中的应用是相互连接的功能块网络。这里的应用(Application)是一个名词,指应用程序。

功能块由三种类型,它们是基本功能块,复合功能块和服务接口功能块。

应用可以分解为子应用(subapplication)。子应用类似于复合功能块,具有功能块的外部特性。但是复合功能能块不能够将内部功能块分布到多个设备,多个资源上,而子应用是可以分布式部署的。子应用中还可以进一步包含子应用,构建成所谓结构化应用。如下图所示。

和其它控制系统不同,IEC61499 应用不是以设备为中心( device centred)的,而是以应用为中心(Application centred )的。它的应用是面向整个系统的应用程序,通俗地讲,就是为一个控制系统编写一个统一的应用程序,一旦编写好之后,可以分段部署(deployed)到不同设备的不同资源上运行。而不是像PLC编程那样,  为系统中的每一个PLC 单独地编写程序。通过网络来定义设备之间的数据接口。

 

IEC61499 模型总体结构图

从上面的分析可见,IEC61499 的模型是一种分层架构:

其中设备中包含多个资源,而资源是应用的执行环境。更为详细的结构由下图可见。

 

小结

1 控制系统由设备和网络构成。

2 设备上包含了通信接口,过程接口,管理和一个或者多个资源

3 资源是功能块网络的执行环境,可以理解为IEC61499 应用的运行时,多个“运行时“可以并行执行。

4 IEC61499 应用可以部署在不同设备的不同资源上运行。应用可以由基本功能块,复合功能块,服务接口功能块和子应用构建成的。子应用可以分布在不同设备,不同资源上运行。子应用内部可以进一步包含子应用,构成所谓结构化应用程序。

猜你喜欢

转载自blog.csdn.net/yaojiawan/article/details/107174133