实时IEC61499 系统-网络篇

        基于多处理器的分布式控制系统要求网络具有实时性和确定性。实时性是指传输速率要快,目前1Gps 的以太网已经普及,5G无线网也开始应用和推广,它们能够满足大多数控制系统实时性要求。而确定性是指时间同步,确定的时间实现数据采集和执行机构的控制。

事件触发网络与时间触发网络

   IEC61499 是关于分布式工业测量,控制系统的功能块标准。功能块的执行是基于事件(event  trigger)的方式执行的。在每个功能块中,保留了一个状态机,在某个事件到来后,根据状态机的当前态执行某些算法执行完成时,产生一些输出事件,去触发其它功能块的状态改变的算法的执行。这叫做事件触发的执行模式。

        IEC61499 功能块部署在多个设备中,设备之间将会通过网络来传递。从而网络的传输方式也是基于事件触发传输的。

      不同功能块的事件有可能同时产生,如果使用普通的以太网传输事件消息,完全有可能发生冲突。

        相比之下,时间触发网络每个节点都分配一个时隙,只有在分配的时隙中传输数据。不同节点发送的数据是不会造成冲突的。

          尽管以太网具有冲突检测重发机制,保证数据能够正确地被传输,但是对传输的实时性是有影响的。因此,大多数工业现场网络都是基于时间触发(Time Triggrt)。

    笔者认为,要使IEC61499 在实时性要求比较高的工业应用中使用,要使功能块中时间敏感的事件节拍化,实现全网事件的同步执行和传输。才能够满足工业现场控制对实时性的要求。

 主从网络和分布式网络

           当前流行的自动控制协议EtherCAT,Powerlink都是能够保证工业控制网络时间确定性设计的。它们的基本思想都是一种时间触发网络。在使用这些网络技术的控制系统中,有一个主控制器和多台从控制器,通过软件协议实现时分多路传输(TDMA),而普通以太网采取了载波监听多路访问/冲突检测(CSMA/CD)方法,相比与TDMA而言,CSMA技术的带宽利用率更高,但是传输具有不确定性。控制系统为了保证传输的确定性,又将传输方式回到了TDMA方式。

        在具体的实现中,EtherCAT 采取了级联方式实现从设备的分时传输,而PowerLink 采取了主控制器定时探询的方式实现信道的分时访问。这些通信协议都是集中控制系统设计(central control system),它们并不适合分布式系统(distributed Control system

        IEC16499 是分布式控制,测量和控制系统的国际标准,它与IEC61131-3 的最大区别就在于它面向分布式系统。在基于IEC61499的系统中,并没有主从控制器之分,多个控制器共同执行一个功能块应用(Function Block Application),它们通过事件触发和数据传输完成功能块的执行流和数据流。设备之间会通过网络相互传递事件和数据。

        在主从通信网络中,B,C,D 之间的数据和事件的传输是要通过A 来完成的。显然主从方式的通信协议并不适合IEC61499 分布式网络。

           到目前为止,大多数IEC61499 系统都是基于普通的计算机网络协议作为基础通信协议的,比如在4diac 项目中,采取的是TCP、UDP、MQTT 协议,在施耐德EAE 系统中采取的websocket 协议。即便它们支持modbusTCP,PowerLink 这样的工业现场通信协议,也只是用来作为访问工业现场的一种通信方法,而不是用来传递IEC61499 中的事件消息。

        因此。为IEC61499 系统选择一个最佳的实时网络协议显得非常重要。

        也有人提出可以使用时间敏感网络作为IEC61499 的基础网络平台,但是在笔者看来,tsn 网络的带宽预留机制也只能部分实现网络的实时性要求,而且当网络的节点非常多的场合(比如几十到上百个设备),为每个节点预留带宽变得异常麻烦,当多个节点共享某个预留带宽信道时,冲突也是难以避免的。

IEC61499 实时网络架构

        笔者探索和研究了时间触发网络应用于IEC61499 系统的课题。前面的博文提到,分布式工业控制网络要求网络传输具有实时性和确定性。确定性要求网络上的所有节点实现时间同步,这可以使用IEEE1588/PTP 协议来保证,为了保证数据传输的确定性和实时性,可以采取时分多路复用(TDMA) 实现,时间触发网络技术是帧协议网络TDMA 的方法。将这些技术应用于IEC61499 分布式控制系统。

系统架构

        在以太网络基础上实现IEEE1588/PTP ,实现设备的时间同步。在IEEE1588 的基础上实现时间触发网络协议。IEC61499 的应用程序使用分时网络和IEEE1588 提供的同步时钟,Sync帧同步事件,时隙分配器,同步时钟延时功能块,实现实时通信

物理架构

        在网络中有一个高精度,高可靠性的主时钟设备。它提供IEEE1588/PTP 的主时钟源,必要时可以考虑采取冗余设计和连接GPS、北斗参考时钟。

基于IEEE1588 的时间触发网络

时间触发网络

        在时间触发网络中,将网络传输时间分为周期(round),在每个时间周期中,分割为若干的时间间歇(slot) ,每个节点将会分配一个或者多个间隙,只有在自己的间隙内才能够发送·时间和数据消息。

TDMA 的起始时间

   确定TDMA 周期的起始时间有两种方式

SYNC 帧同步方式

每一个TDMA传输周期要有一个起始帧。而每个slot 可以使用同步时钟由每个设备确定发送时间。

       

 起始同步帧可以由某个设备发出,是否可以直接使用主时钟设备IEEE1588 的SYNC 帧作为起始同步帧,需要进一步验证。

        尽管在时间触发网络中也有一个设备作为发起SYNC 的“主”设备。但是和主从网络是不同的,在一个TDMA 周期中,设备之间可以任意地发送和接收数据,不需要主设备中转。

PPS 时钟同步方式

  如果IEEE1588 实现了相位同步(Phase Sync) 那么PPS 信号的沿对齐,可以使用PPS 信号的沿触发事件来确定一个TDMA 周期的起始。这就完全基于IEEE1588 的全分布式时间触发网络了。理论上是完全可行的,不过需要进一步验证。

   IEC61499实时功能块

        为了实现IEC61499 的实时同步执行和数据发送,至少需要如下几个功能块

   RT_SYNC

         发送或者接收同步帧但接收到SYNC 起始同步帧,或者侦测到PPS 上升沿,产生EO0 事件,该事件可以用与设备中功能块执行的同步

   RT_SLOT

          该功能块指定了一个时隙,当达到这个时隙的起始时间,产生EO0 事件输出。启动相应的算法或者网络传输。

   RT_DELAY

          从收到SYNC 帧开始,延时一段指定的时间

简单的例子

该应用的执行过程如下

        当设备接收到SYNC 帧后,RT_SYNC 产生EO0,触发读取一个WORD 的输入,并且在第三个时隙到来之际,将读取的值通过PUBLISH 功能块发送出去。

结束语

        该项目还正在进行之中。更多细节仍然需要测试和验证之后才能证实。目前难免存在错误。

猜你喜欢

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