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