ni labview軟件可以通過多種方式與任何可編程邏輯控制器(plc)通信。用于過程控制(opc)的ole定義了用于在控制設備和人機界面(hmi)之間傳遞實時工廠數(shù)據(jù)的標準。 opc服務器幾乎可用于所有plc和可編程自動化控制器(pac)。在本教程中,將學習如何使用labview通過opc與聯(lián)網(wǎng)的plc通信。
本教程使用了labview數(shù)據(jù)記錄和監(jiān)控(dsc)模塊。該模塊包括用于將數(shù)據(jù)記錄到聯(lián)網(wǎng)的歷史數(shù)據(jù)庫,實時和歷史趨勢,管理警報和事件,將labview real-time目標和opc設備聯(lián)網(wǎng)到一個完整系統(tǒng)中的工具,以及為用戶界面增加安全性的工具。憑借這些功能,labview成為用于工業(yè)控制應用程序的功能強大的hmi / scada軟件包。
使用ni opc服務器2012查看現(xiàn)有的plc標簽
本節(jié)中的步驟適用于ni opc servers 2012,但是類似的步驟可用于ni opc server的早期版本。
選擇開始?所有程序?national instruments?ni opc servers 2012?ni opc servers configuration,啟動ni opc servers 2012。使用ni opc servers 2012,您可以創(chuàng)建,配置和查看與plc相關的標簽。
ni opc servers 2012應在已加載plc仿真項目的情況下啟動。該項目模擬了ni opc servers 2012中已經(jīng)創(chuàng)建和配置的plc。
注意:如果該模擬項目尚未加載到ni opc servers 2012中,請選擇file?open…,然后瀏覽至c:\ program files \ national instruments \ shared \ ni opc servers \ v5 \ projects \ simdemo.opf。該項目應如圖1所示。
圖1. ni opc servers 2012顯示模擬的plc
通過展開“仿真示例”并選擇“功能”來查看sine標簽。標簽將填充在最右邊的窗口中。這些與plc上的寄存器綁定的標簽可以由labview讀取。
查看plc的opc變量中的數(shù)據(jù)
在ni opc服務器2012,通過選擇工具>;>;啟動opc快速客戶端,你可以用它來查看opc標簽數(shù)據(jù)啟動快速客戶端。
在national instruments.niopcservers.v5文件夾下,選擇simulation examples.funtions。這將選擇要監(jiān)視的設備。
請注意,所有sine標簽都填充在最右邊的窗口中,并使用模擬的正弦數(shù)據(jù)進行更新,如圖2所示。
圖2. ni opc quick client顯示模擬的正弦opc標簽
通過創(chuàng)建i / o服務器將labview連接到opc標簽
在本節(jié)中,您將創(chuàng)建一個連接到opc標簽的labview接口,稱為i / o服務器。 i / o服務器會以您指定的速率自動使用當前標簽值更新labview。
在labview入門窗口中,單擊文件?新建項目。這將打開一個新的labview項目。
如果“上下文幫助”窗口不可見,請按ctrl + h以顯示該窗口。使此窗口保持打開狀態(tài),以獲取有關光標下方項目的有用信息。
在labview project窗口中,右鍵單擊my computer,然后選擇new?i / o server,如圖3所示。
圖3.通過labview項目創(chuàng)建新的i / o服務器
在“創(chuàng)建新的i / o服務器”窗口中選擇“opc客戶端”,然后單擊“繼續(xù)”。
從“注冊的opc服務器”字段中選擇national instruments.niopcservers.v5,并將更新速率(ms)設置為100。這將創(chuàng)建一個從labview到opc標簽的連接,該連接每100 ms更新一次。
圖4.配置opc客戶端i / o服務器
選擇確定。在項目瀏覽器窗口中會自動創(chuàng)建一個庫來管理i / o服務器。
通過從項目瀏覽器窗口中選擇文件?全部保存,將項目另存為opcdemoproject,將庫另存為opcdemolibrary。
創(chuàng)建通過i / o服務器連接到opc標簽的共享變量
在本節(jié)中,創(chuàng)建綁定到opc標簽的共享變量,使您可以在labview中本地訪問plc數(shù)據(jù)。使用共享變量,您可以在一臺計算機或整個網(wǎng)絡上的labview應用程序之間共享數(shù)據(jù)。
創(chuàng)建綁定到plc的opc變量的新共享變量。
在labview項目窗口中,右鍵單擊我的電腦,然后選擇新建?庫。這將為共享變量創(chuàng)建一個新的庫,該庫用于連接到plc的opc變量。
右鍵單擊新創(chuàng)建的庫,然后選擇“創(chuàng)建綁定變量”。
在“創(chuàng)建綁定變量”窗口中,通過從opc服務器向下瀏覽到模擬的正弦數(shù)據(jù)來選擇將共享變量綁定到的opc標簽,如圖5所示。
圖5.選擇要綁定到共享變量的opc標簽
選擇所有正弦項,然后單擊“添加”和“確定”。這將創(chuàng)建綁定到plc的opc變量的共享變量,并將它們加載到多變量編輯器中。
在“多變量編輯器”中,選擇“完成”。這會將新的共享變量添加到之前創(chuàng)建的庫中。
注意:labview dsc模塊通過添加將數(shù)據(jù),警報和事件直接記錄到數(shù)據(jù)庫的功能來增強共享變量,而無需編寫labview應用程序。
通過右鍵單擊庫并選擇另存為,在項目瀏覽器窗口中將新庫另存為opcitems.lvlib。
通過右鍵單擊opcitems庫并選擇deploy來部署共享變量。這將發(fā)布共享變量,使共享變量在網(wǎng)絡上可用于其他計算機,opc客戶端和。
現(xiàn)在,您可以通過共享變量在labview中本地訪問plc數(shù)據(jù)。
使用分布式系統(tǒng)管理器查看共享變量
在項目資源管理器窗口中,選擇工具?分布式系統(tǒng)管理器。這將打開一個窗口,您可以使用該窗口以各種方式(查看,部署,取消部署等)來管理共享變量。
在“變量管理器”的“樹”窗格中,展開“我的系統(tǒng)”類別下的localhost項目。右鍵單擊opcitems庫,然后選擇“監(jiān)視列表”以顯示共享變量,這些共享變量綁定到plc的opc變量。
共享變量將使用模擬的正弦數(shù)據(jù)進行更新。
注:分布式系統(tǒng)管理器是labview 8.6中的新增功能。 labview的早期版本通過轉(zhuǎn)到工具?共享變量?變量管理器,然后將共享變量拖到“監(jiān)視的變量:”窗口中來執(zhí)行此操作。
在labview中使用opc標簽數(shù)據(jù)
在項目瀏覽器中,右鍵單擊我的電腦,然后選擇新建?vi。這將創(chuàng)建一個新的虛擬儀器或vi。 vi用于創(chuàng)建用戶界面和可執(zhí)行的圖形代碼。
默認情況下,您會看到前面板,這是vi的用戶界面。 labview具有許多內(nèi)置的ui組件,例如圖形,圖表,刻度盤等,可用于構建功能強大,直觀的ui。選擇查看?控件面板,或右鍵單擊前面板上的任意位置以調(diào)出控件面板。將鼠標懸停在各個類別上,以探索labview中的ui組件。
通過選擇express?graph indicators?chart從controls面板中選擇一個波形圖,并將其放置在前面板上,如圖6所示。
圖6.從controls面板中選擇一個波形圖
圖7.放置在前面板上的波形圖
在vi中,選擇窗口?顯示程序框圖或按ctrl + e以顯示程序框圖??驁D是您構建應用程序行為的地方。請注意框圖上的圖標,該圖標代表前面板上的圖表。通過將數(shù)據(jù)傳遞到此終端,可以將其顯示在前面板的圖表中。
在項目瀏覽器中,展開opcitems庫,然后選擇sine1的hared變量。
將sine1共享變量從項目瀏覽器拖放到vi的框圖中。共享變量充當程序框圖上其他端子的數(shù)據(jù)源。
選擇查看?工具選項板,或按shift +右鍵單擊以顯示工具選項板,其中包含用于構建程序框圖的各種工具。默認情況下,您使用自動工具選擇工具,該工具會根據(jù)光標的位置選擇適當?shù)墓ぞ摺?/p>
選擇“連接電線”工具,如圖8所示。此工具用于將端子接線到框圖上。
圖8.選擇連接線工具
通過單擊sine1共享變量,然后單擊波形圖,使用connect wire工具將sine1共享變量連接到波形圖,如圖9所示。
端子接線
接線端子
圖9.連接框圖項目
現(xiàn)在,當vi運行時,數(shù)據(jù)從共享變量流向波形圖。
從工具面板中選擇自動工具選擇工具。
圖10.從工具面板自動選擇工具
通過選擇視圖?功能面板或在程序框圖上的任意位置單擊鼠標右鍵,打開“功能”面板。 “功能”選板包含數(shù)百個分析功能,控制功能和圖形化編程結構。
導航到“編程”?“結構”?“循環(huán)”,從“功能”選項板中選擇一個while循環(huán)。選擇while循環(huán)后,將出現(xiàn)如圖12所示的光標。這使您可以將while循環(huán)包裝在一段代碼中。
圖11.選擇一個while循環(huán)
圖12. while循環(huán)游標
使用while循環(huán)光標,通過單擊并拖動光標在共享變量和波形圖周圍放置while循環(huán)?,F(xiàn)在,通過右鍵單擊“循環(huán)條件”并選擇“創(chuàng)建控件”,在while循環(huán)中創(chuàng)建一個stop控件。這會在前面板上放置一個“停止”按鈕,允許用戶停止vi。
圖13.在共享變量和波形圖周圍放置一個while循環(huán)
while循環(huán)使其中的代碼連續(xù)執(zhí)行,直到被用戶或vi中的其他邏輯停止。
由于while循環(huán)是現(xiàn)在,它將盡可能快地運行。等待直到下一個ms多個vi應添加到循環(huán)中,以使循環(huán)每隔設置的秒數(shù)執(zhí)行一次,在這種情況下為100ms。
圖14.在while循環(huán)中添加時序
通過選擇窗口?顯示前面板或按ctrl + e返回前面板。
單擊工具欄上的運行按鈕以執(zhí)行vi。
圖17.運行按鈕
部署完成后,單擊deploy…窗口上的close。當應用程序開始執(zhí)行時,您會在波形圖上看到sine1正弦波。
圖18.完成的前面板–在波形圖上顯示plc數(shù)據(jù)
恭喜你!您已在labview應用程序中成功訪問了plc數(shù)據(jù),因此可以在解決方案中合并強大的分析和控制功能。