在LV 8.2下使用shared variable 做為opc server發佈資料

因為上級老頭的功能要求,希望我們能將量測系統的結果資料透過opc通訊連結至中央監控系統做匯整工作

在搜尋ni的知識庫後發現LV 8.2版後提供的 shared variable功能可以實現這項功能要求,下為原文連結

http://digital.ni.com/public.nsf/allkb/CC9CDD577F041786862572120061EB5A

如此我們可於LV中建立 shared variable terminal,將資料塞入其中,透過 shared variable engine 做為opc server

即可自其他opc client 軟體上取得LV程式中發佈的資料,

在此將整個寫作過程做一個簡單說明,供日後有同樣需求的設計師們參考

====================================

本例的sample code ,請使用LV 8.2版以上開啟

TEST.zip

測試資料傳送的OPC client 軟體下載處

http://www.softing.com/home/en/industrial-automation/downloads/drivers-demos.php

也可以自ni官網下載 server explorer來試

http://digital.ni.com/softlib.nsf/websearch/34E67FA9F8FF7A0686256AE60054198C?OpenDocument

=================================================

1.首先創建一個空白project,在my computer上點右鍵新增一個library

2.重新命名此library後存檔,並於其內建立 shared variable 變數

 

3.定義此variable 的name , data type 與 variable type  等參數

4.重覆建立 variable 的動作,以建置所有需要的shared variable 變數  

5.建完所需shared variable 變數後,建立一個新vi 開始進行程式的編輯

6.新建vi後,切換編輯畫面到diagram,從工具箱中選取shared variable terminal放置

7.在shared variable 元件上雙擊,出現select variable頁面,可看見先前所建立的variable item

  依序選擇建立shared variable terminal

8.shared variable terminal點右鍵,選change to write,並完成資料輸入的程式

9.程式完成,開始執行

  此時可開啟opc client 連結 shared variable item 即可取得目前輸入的資料

  首先連結 opc server...

  再連結 opc item

  觀察一下兩者間的資料是否跟隨變化

在執行lv程式之前,請注意包含 shared variable 的library檔是否有啟動 Autodeploy variable

若沒有勾選會發shared variable item未部署完成而無法傳送資料的情況

 

以上

deomaxwell39647.5794097222