开源的4diac运行时只支持modbus主站(modbus客户端),配置forte运行时支持modbus主站可以通过运行时操作支持modbus从站的远程IO模块,此处讲解的是modbus tcp。从4diac官网下载的forte运行时默认是不支持modbus协议的,要自己通过源码编译。以windows平台为例,需要准备的有cmake、forte源码、libmodbus。具体cmake怎么编译forte源码可以看我前面写的文章:
三. IEC 61499开源项目4diac配置OPCUA_but nothing的博客-CSDN博客
在cmake编译配置里面勾选FORTE_COM_MODBUS,把libmodbus库的路径配置到FORTE_COM_MODBUS_LIB_DIR下。把libmodbus的dll库与forte.exe放在同一个文件夹下。启动forte.exe,此时4diac运行时已支持modbus主站。下一步在4diac ide里面配置modbus主站功能块。
在4diac ide里面modbus主站用的是net文件夹下的CLIENT功能块。
要把QI设置为1,ID是配置连接modbus从的字符串。格式时:
modbus[(protocol:)ip:port:pollFreqency:functionCode:(slaveId):readAddresses:sendAddresses(:responseTimeout:byteTimeout)]
括号里面的是可选项。
Protocol:默认是TCP
IP是modbus从站的IP;port是modbus从站的端口; pollFreqency更新频率,单位是毫秒;functionCode对应modbus协议的功能码;readAddresses读取地址可以逗号分割(0,1,2),点号取地址段(0..2); sendAddresses写入地址和读取地址配置格式一样。