最近几个月持续在搞Labview相关的项目,QT又被扔在了一遍[流泪]
任务:labview通过TCPIP Modbus 和PLC 通讯,上位机作为从站
实现:modbus协议网上很多很好地介绍文章,这两篇讲解很详细:
https://www.cnblogs.com/The-explosion/p/11512677.html
https://blog.csdn.net/sgmcumt/article/details/87435191
下面记录labview的实现
多个线圈读取数据:
读取后的数据处理
读写取寄存器的操作类似,需要注意的是,在建立tcpip连接后通过属性节点禁用发送结束符
另:在通过同一端口 多连接同时操作三菱PLC时,非常容易出现数据错乱(多端口没试过)
在多连接 操作时需要增加互斥锁;可以按照前一篇操作将操作封装到一个vi里,很不友好啊,后来发现labview里的信号量就是实现互斥的。
使用也很简单,先创建信号(获取信号引用),之后获取信号,操作完成后释放信号,在整个程序退出前记得释放信号引用。