最近一個項目,因為種種限制,不能使用常規的觸摸屏+PLC結構,只能選擇那種小尺寸的電腦充當觸摸屏與PLC進行通訊。
考慮了一番 還是決定自己寫了,不用組態軟件。
三菱MX Component可以簡單理解為是一個OPC,專門針對三菱PLC產品的一種接口軟件。因為三菱系列的產品太多了,串口232
485,本體網口,外接模塊網口,USB接口各種各樣,于是官方做了一個這個軟件,讓這個軟件先去和下面的PLC建立通訊,
然后統一在和上位機進行通訊,之前用過力控的產品也是要和MX Component搭配使用的。
網上搜了一圈資料吧,發現干貨比較少。主要都是介紹了一些連接函數,寄存器函數讀取,寫入這些基本功能。但是實際應用做起來的時候發現
問題很多。舉例子 比如里面有個連接open函數,這個函數你只能open一次,如果你已經連接成功了,再open就會卡UI,再有如果你已經建立連接了,
但是PLC掉電了,你在執行你的讀取函數,寫入函數的時候也會卡UI。這算是第一個問題斷線重連,后來我用了一個心跳機制+異步解決了這個事情。
就是PLC程序里面D0數值一直+1,我檢測這個值變化來確保當前的連接狀態。
第二個問題,D區變量,現有的庫文件里面的函數只是單純的讀了D0 D1 D2這些數值,但是D2 D3組合成浮點數這種的解析和寫入,沒有,
于是我補充寫了幾個方法,因為這次項目我只用到浮點數所以只寫了浮點數的方法。
第三個問題,M區變量讀取,M變量是bool量,但是他那個讀取函數讀上來是按照16位整數,并不是M0本身的0或者1,你需要把這個整數2進制,在找到你是對應的第幾位,
才是你真正的M變量。這也寫了一個方法
MX Component這個軟件啊,我個人覺得不是太完善,但是畢竟是免費的嘛,也就挑不出來那么多理了。然后補充一下,這個軟件不光能和三菱PLC通訊,也能和那些仿三菱PLC使用,
深圳顧美,石家莊陸杰,仿FX3G FX3U我都測試過了沒問題。
三菱家現在高端一些的PLC 5U Q系列這些,還可以走MC通訊協議,跳過這個MX Component,網上也有相應的庫文件。具體搭配使用呢還是看實際情況和個人喜好。
最后附上一些資料,我的軟件是VS2019編的,如果你們運行的時候報錯,那是因為電腦沒有安裝MX Component,裝一下就好了,我部署的時候發現的這個事情。
PLC程序仿真跑起來,MX Component建立仿真驅動,就能無硬件情況下運行我這個軟件了。里面的CX3G類就是我封裝的上面說的核心的東西