最近幾個月持續(xù)在搞Labview相關(guān)的項目,QT又被扔在了一遍[流淚]
任務(wù):labview通過TCPIP Modbus 和PLC 通訊,上位機作為從站
實現(xiàn):modbus協(xié)議網(wǎng)上很多很好地介紹文章,這兩篇講解很詳細(xì):
https://www.cnblogs.com/The-explosion/p/11512677.html
https://blog.csdn.net/sgmcumt/article/details/87435191
下面記錄labview的實現(xiàn)
單個線圈寫入數(shù)據(jù):
多個線圈讀取數(shù)據(jù):
讀取后的數(shù)據(jù)處理
讀寫取寄存器的操作類似,需要注意的是,在建立tcpip連接后通過屬性節(jié)點禁用發(fā)送結(jié)束符
另:在通過同一端口 多連接同時操作三菱PLC時,非常容易出現(xiàn)數(shù)據(jù)錯亂(多端口沒試過)
在多連接 操作時需要增加互斥鎖;可以按照前一篇操作將操作封裝到一個vi里,很不友好啊,后來發(fā)現(xiàn)labview里的信號量就是實現(xiàn)互斥的。
使用也很簡單,先創(chuàng)建信號(獲取信號引用),之后獲取信號,操作完成后釋放信號,在整個程序退出前記得釋放信號引用。