在LabVIEW中使用OPC連接PLC,通過(guò)LabVIEW前面板的端口控制PLC輸出端口(輸入端口的讀取很簡(jiǎn)單,看完輸出控制輸入肯定也懂了):
遇到問(wèn)題: ?1.? ??OPC連接不上PLC
? ? ? ? ? ? ? ? ? ? 2. ? ?LabVIEW只能讀取PLC輸入端口,無(wú)法控制PLC輸出端口
? ? ? ? ? ? ? ? ? ? 3. ? ?LabVIEW控制PLC輸出端口延時(shí)太長(zhǎng)(將近1分鐘相應(yīng))
下面詳細(xì)介紹從OPC軟件到PLC軟件再到LabVIEW方面之間的詳細(xì)操作流程:
使用軟件: ?PLC : STEP7V13 ? ? ? ? OPC : ?LabVIEW2016下的DSC模塊 ? ? ? LabVIEW: LabVIEW2016 ? ?
PLC部分:
這里使用的是博圖STEP7V13軟件,在完成基本的組態(tài)(這里只有一個(gè)CPU1214C,所以只要在組態(tài)面板中添加一個(gè)CPU即可)
之后需要將PLC設(shè)置為允許遠(yuǎn)程伙伴(PLC,HMI,OPC...)使用PUT/GET通信訪問(wèn)? 這樣OPC才能夠通過(guò)以太網(wǎng)進(jìn)行訪問(wèn)。
基本的設(shè)置完成之后,寫(xiě)一個(gè)簡(jiǎn)單的程序,即由線圈M0.0~M0.3輸出控制Q0.0~Q0.3,如下:
之后保存項(xiàng)目,然后下載到PLC中(PLC的IP地址需要和電腦網(wǎng)卡的IP地址在同一網(wǎng)段)。
? ??
第一次下載會(huì)出現(xiàn)下面的界面,然后選定好之后,通過(guò)搜索可以檢索到同一網(wǎng)段下的PLC,之后下載。
這樣PLC方面的工作就結(jié)束了。
OPC軟件部分:
打開(kāi)OPC軟件,選擇 ? file->new ?創(chuàng)建一個(gè)新的OPC文件,點(diǎn)擊 ?Click to add a channel ? 來(lái)添加一個(gè)通道
接下來(lái)就一直都是按照默認(rèn)選項(xiàng),知道完成。
之后會(huì)出現(xiàn)一個(gè)通道,然后在下面需要添加設(shè)備




下面就一直按照默認(rèn),直到完成創(chuàng)建。


創(chuàng)建完成之后,保存項(xiàng)目,然后點(diǎn)擊 ?Runtime -> Connect ?使得OPC連接到PLC
然后 ?點(diǎn)擊 ?Tools -> Launch OPC Quick Client ? 來(lái)模擬檢測(cè)運(yùn)行OPC。

出現(xiàn)下面的監(jiān)控界面:

可以點(diǎn)擊某一個(gè)變量,然后 ? 右鍵 -> Synchronous Write 出現(xiàn)如下界面:

這時(shí)候,PLC的輸出Q0.0應(yīng)該已經(jīng)被點(diǎn)亮
到此為止,OPC連接PLC方面也解決完畢。
LabVIEW部分:
此時(shí),在OPC軟件打開(kāi)的情況下,在LabVIEW中創(chuàng)建一個(gè)項(xiàng)目,然后新建IO服務(wù)器,如下圖所示。

點(diǎn)擊OPC Client,然后 點(diǎn)擊繼續(xù)

之后選擇NI的OPC服務(wù)器,點(diǎn)擊OK

然后保存項(xiàng)目,將剛才創(chuàng)建的OPC服務(wù)器的Lib重命名。
之后點(diǎn)擊OPC服務(wù)器下面的OPC1,右鍵 ?-> 創(chuàng)建綁定變量

然后添加OPC中的變量。

之后就會(huì)在項(xiàng)目列表中出現(xiàn)這些變量:

在LabVIEW中創(chuàng)建一個(gè)VI,將剛才創(chuàng)建的變量拖入到程序框圖面板中

這個(gè)變量可以 ??右鍵 ?-> 訪問(wèn)模式 -> 讀取/寫(xiě)入??來(lái)調(diào)整變量的輸入輸出,這里要注意的是 這里面的變量在前面板是沒(méi)有顯示控件的
然后程序框圖和前面板如下::

運(yùn)行后,就可以通過(guò)LabVIEW前面板上面的按鍵控制PLC的輸出(延時(shí)時(shí)間基本在1s左右)
至此,LabVIEW通過(guò)OPC控制PLC就完成了。
相應(yīng)的測(cè)試程序見(jiàn)附件
問(wèn)題解決:
1.OPC連接不上PLC
解決辦法:??在STEP7V13里面組態(tài)的時(shí)候,需要將常規(guī) -> 保護(hù) ->?允許遠(yuǎn)程伙伴(PLC,HMI,OPC...)使用PUT/GET通信訪問(wèn)??,重新下載就能解決。
2.LabVIEW只能讀取PLC輸入端口,無(wú)法控制PLC輸出端口
解決辦法:?之前PLC中的程序是I0.0~I0.3直接控制Q0.0~Q0.3,這樣因?yàn)檩斎胍恢睘?,而LabVIEW控制只是單次輸出,所以會(huì)出現(xiàn)輸出端口閃一下之后就一直為低電平,之后將輸入控制的程序刪除就好。
3.LabVIEW控制PLC輸出端口延時(shí)太長(zhǎng)(將近1分鐘相應(yīng))
解決辦法:?之前出現(xiàn)這個(gè)原因是 PLC中沒(méi)有程序(空程序),然后OPC中建立的變量直接連接輸出端口Q0.0~Q0.3,,這樣就會(huì)出現(xiàn)延遲將近1分鐘的現(xiàn)象?,F(xiàn)在在PLC的程序中使用中間繼電器M0.0~M0.3控制Q0.0~Q0.3,之后OPC建立的變量是控制M0.0~M0.3,從而實(shí)現(xiàn)控制,這樣延遲基本在1s左右。
電子發(fā)燒友App













































































評(píng)論