IEC61499 是分布式工业测量控制系统功能块标准。 4diac-IDE 开发环境和运行时支持 IEC61499 应用的开发和运行。本文介绍他们是如何实现多设备分布式控制系统。
有关资料也可参考
Step 2 - Distribute 4diac Applications
实验系统
在ubuntu OS 上实现,同时运行4DIAC-IDE和两个Forte 运行时。模拟下面的系统。
Forte缺省的IP 端口是61499 ,不过在允许Forte 时可以带参数,选择不同的IP地址和端口。具体的方法是
forte -c IP:Port
例如
forte -c localhost:61500
应用程序
下面编写了IEC61499 应用程序如下:
这是一个简单的计数器功能块程序。
系统
系统由以太网,两个Forte 控制器构成,其中橘红色的功能块映射到 Forte-PC,而紫色部分映射到Forte-PC_1.他们的IP 地址分别为
localhost:61499
localhost:61500
添加通信接口
我们知道,在IEC61499 分布式系统中,应用可以映射到不同的设备上运行。而不同设备之间的事件和数据要通过通信功能块传输。当部署到不同设备时,要添加通信功能块,如下图所示。
在4diac中,设备之间的通信功能块不是自动插入的(我原来以为是IDE自动插入的呢),而是在Forte-PC和Forte-PC_1 的RES 中人工的方式插入的。可以采用不同通信协议的同喜功能块。例如UDP.TCP,MQTT或者modbus.现在想来,这样安排增加了系统的灵活性。在这里,我插入了publish和subscribe ,ID 为
239:0.0.1:61000
没有指定IP协议,默认为UDP 协议。你也可以设定协议,比如TCP,modbus,MQTT 等。
监控和运行
在4DIAC-IDE中部署和运行,和单一设备运行功能块网是一样的。
结论
在4DIAC 中,实现多个设备的分布式应用,需要配置两个forte设备,并在两个资源中人工插入通信功能块。你也试试吧!