IEC 61499特征之一就是可以把每个功能块部署在不同的PLC上(也就是可以部署在不同的运行时里面执行)。开源项目4diac也支持这个特征,但是需要手动用功能块建立不同运行时直接的通信,比如可以用PUBLISH_2与SUBSCRIBE_2配合使用,或者CLIENT_1与SERVER_1配合使用。此处我们讲解怎么用PUBLISH_2与SUBSCRIBE_2来建立两个不同运行时之间的通信。我们要实现2个数的加法运算的应用。
具体操作步骤是:
- 需要两个运行时,两个运行时可以运行时不同电脑上,此处我们在一台电脑部署两个运行时,一个端口是61499,一个端口是 61399
- 拖入一下3个功能块在编辑区域,由于F_ADD输入数据类型是ANY_MAGNITUDE类型,所以需要确定数据类型的功能块来作为输入数据,可以是F_INT_TO_DINT或者其它确定类型的功能块。
- 把F_INT_TO_DINT和F_INT_TO_DINT_1功能块部署在FORTE_PC运行时,F_ADD部署在FORTE_PC_1运行时。
- 接入来按如下方式配置PUBLISH_2,其中QI设置为1,ID设置为"127.0.0.1:10000"
- 接下来配置,QI设置为1,ID设置为"127.0.0.1:10000",为了能显示结果又加了F_INT_TO_DINT_2功能块,原因也是数据类型转换
- 启动两个运行时
- 部署
- 最后可能会出现监视显示数据类型不对,这里可以自行调整数据类型,只需要观察事件是否已经传递过去了