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