IEC61499网络架构网络架构(4diac)
IEC61499 标准是面向分布式工业自动化控制系统,与PLC 相比,IEC61499 突出了分布式的概念,也就是说,一个工业自动
化控制程序将在多个设备上运行。
在传统的分布式控制系统的设计过程是
1 需求分析
2 确定分散控制设备的数量,位置和实现的功能定义
3 确定网络类型和协议。 协议中还包括了设备之间数据接口,相互交互的方式,就是所谓的网络API。
4 分别设计各个设备的程序,然后联调系统
如果设计过这样的分布式系统的工程师,都会深切地感受到这一过程是十分繁重的工作。研发周期长,成本高,维护和修改困
难。
而IEC61499标准针对分布式系统,提出了一种全新的设计方法。从应用模型入手,为控制系统设计一个统一的应用程序功
能块网络。然后映射到各个设备中去。在下图中,功能块FB1 被映射到Device1,而功能块FB2 映射到设备2 中。当应用模型分
布在多个设备上的时候,功能块之间的事件和数据传送就需要通过网络来实现。在4 diac 的实现中,当功能块网络映射到设备
时,会自动地添加通信功能块,比如下图中,在Device1 的功能块网络中添加的订阅(SUB)和发布(PUB) 功能块。而在
Device2 的网络中添加了SUB 功能块。Publish /Subscribe 是一种点对多点的通信机制。非常适合功能块事件的传输。
IEC61499 似乎并没有规定publish/subscribe 的协议。在4DIAC 中默认PUB/SUB 是基于TCP 的pub/sub 机制。也可以使用
其它的pub/sub协议。通过服务接口功能块(SIFB)来实现。比如MQTT 协议。
显然,在分布式控制系统中,通信网络的性能直接会影响到系统的性能。网络协议对于IEC61499 分布式系统是十分重要的。
在本文我们详细地介绍4DIAC 的网络架构。
通信功能块通信功能块
默认的通信功能块默认的通信功能块
我觉得4DIAC 的文档并没有描述的特别清楚。 我的理解是在4diac 中有一个默认的通信功能块,用于不同设备之间功能块之
间传输事件,这个功能块就是 CComm功能块 。正如前面所述,当应用功能块网络映射到不同设备时,在设备的功能块网络
中自动插入CComm 功能块。它是一个基于TCP 网络协议,采用ASN.1 数据编码的Publish/Subscribe 协议。这个协议完全基
于TCP 协议,与通常的Publish/Subscribe 协议不同,它没有使用消息代理(比如在MQTT 协议中,需要一个消息代理
(Message Broker))。而是直接建立在TCP 连接之上。如果一个设备需要与另一个设备之间传输功能块的事件和数据的
话。这两个设备之间就需要建立一个TCP 连接。
评论0