由于现场前期方案的问题,也有后期补救的原因,在以太网物理层上不想保持常连接,原因是现在网络带宽勉强能已经满足工艺要求设定最长的PN扫描周期,以及少量的S7 HMI连接。 再稍微增加点很容易造成网络瘫痪,由于链路有些特殊,使用有优先堆栈的scalance交换机也不行(实际上是无法使用)。
现在想非周期、不定时、传输一些比较大的数据,实时性基本没有要求,想法是通过PN的实时来触发传输申请,使用可以断开的协议来传输。
数据差不多是配方数据,和一个数据库进行同步。
比较合理但是编程量极大的是 OUC (TCP/IP) 传输,因为这个可以使用用指令断开连接,这样就不用占用任何网络资源了,但是由于传输内容数据类型不固定,长度不固定,编程会非常繁琐。
我考虑使用MQTT,但是PLC似乎不支持MQTT broker。JSON的情况也类似。
可能Modbus TCP是个不错的选项,但是由于没有自己实现Modbus TCP,把Modbus TCP给关闭似乎不太现实。而且Modbus TCP非常危险,Modbus TCP Server的所有Input和Output区域均被client可修改,存在潜在的风险。
OPC UA Client也许也可以,但是似乎不能控制关闭长连接,我这个需求实在是太贴近底层了。
大家是否有更好的思路? 任何建议均可!
BR