力控組態軟件的OPC支持
力控實時數據庫支持OPC標準,作為OPC客戶程序,它可以從其他OPC服務器程序中訪問數據。與DDE類似,當力控數據庫作為客戶端訪問OPC服務器程序時,是將OPC服務器程序當作一個I/O設備。數據庫中的點參數通過I/O數據連接與OPC服務器程序進行數據交換。
一、OPC適應范圍
利用OPC技術,主要實現:
1、在線數據監測。實現了應用程序和工業控制設備之間高效、靈活的數據讀寫。
2、報警和事件處理。提供了OPC服務器發生異常時,以及OPC服務器設定事件到來時向OPC客戶發送通知的一種機制。
3、歷史數據訪問。實現了讀取、操作、編輯歷史數據庫的方法。
4、遠程數據訪問。借助Microsoft的DCOM技術,OPC實現了高性能的遠程數據訪問能力。
二、力控的OPC設備
力控充分利用了OPC服務器的強大性能,為工程人員提供方便高效的數據訪問能力。在力控中可以同時掛接任意多個OPC服務器,每個OPC服務器都被作為一個外部設備,工程人員可以定義、增加或刪除它,如同一個PLC或儀表設備一樣。
一般來說,工程人員在OPC服務器中定義通信的物理參數,定義需要采集的下位機變量(數據項);然后在力控中定義力控變量和下位機變量(數據項)的對應關系。在運行系統中,力控和每個OPC服務器建立連接,自動完成和OPC服務器之間的數據交換。
三、OPC基本概念
OPC是OLE for Process Control的縮寫,即把OLE應用于工業控制領域。
OPC服務器由三類對象組成,相當于三種層次上的接口:服務器(Server)、組(Group)和數據項(Item)。
1、服務器對象(Server)
擁有服務器的所有信息,同時也是組對象(Group)的容器,一個服務器對應于一個OPC Server,即一種設備的驅動程序。在一個Server中,可以有若干個組。
2. 組對象(Group)
擁有本組的所有信息,同時包容并邏輯組織OPC數據項(Item)。
OPC組對象(Group)提供了客戶組織數據的一種方法,組是應用程序組織數據的一個單位。客戶可對之進行讀寫,還可設置客戶端的數據更新速率。當服務器緩沖區內數據發生改變時,OPC將向客戶發出通知,客戶得到通知后再進行必要的處理,而無需浪費大量的時間進行查詢。OPC規范定義了兩種組對象:公共組(或稱:全局組,public)和局部組(或稱:局域組、私有組,Local)。公共組由多個客戶共有,局部組只隸屬于一個OPC客戶。全局組對所有連接在服務器上的應用程序都有效,而局域組只能對建立它的Client有效。一般說來,客戶和服務器的一對連接只需要定義一個組對象。在一個組中,可以有若干個項。
3、項
是讀寫數據的最小邏輯單位,一個項與一個具體的位號相連。項不能獨立于組存在,必須隸屬于某一個組。
在每個組對象中,客戶可以加入多個OPC數據項(Item)。
OPC數據項是服務器端定義的對象,通常指向設備的一個寄存器單元。OPC客戶對設備寄存器的操作都是通過其數據項來完成的,通過定義數據項,OPC規范盡可能的隱藏了設備的特殊信息,也使OPC服務器的通用性大大增強。OPC數據項并不提供對外接口,客戶不能直接對之進行操作,所有操作都是通過組對象進行的。
應用程序作為OPC接口中的Client方,硬件驅動程序作為OPC接口中的Server方。每一個OPC Client應用程序都可以接若干個OPC Server,每一個硬件驅動程序可以為若干個應用程序提供數據。
客戶操作數據項的一般步驟為:
1)、通過服務器對象接口枚舉服務器端定義的所有數據項。
2)、將要操作的數據項加入客戶定義的組對象中。
3)、通過組對象對數據項進行讀寫等操作。
每個數據項的數據結構包括三個成員變量:即數據值、數據質量和時間戳。數據值是以VARIANT形式表示的。可以把數據項看作數據源的地址,即數據源的引用。
四、報警(Alarm)和事件(Event)
報警和事件處理機制增強了OPC客戶處理異常的能力。服務器在工作過程中可能出現異常,此時,OPC客戶可通過報警和事件處理接口得到通知,并能通過該接口獲得服務器的當前狀態。
五、OPC體系結構
OPC規范提供了兩套接口方案,即COM接口和自動化。
COM接口效率高,通過該接口,客戶能夠發揮OPC服務器的最佳性能,采用C++語言的客戶一般采用COM接口方案;自動化接口使解釋性語言和宏語言訪問OPC服務器成為可能,采用VB語言的客戶一般采用自動化接口。自動化接口使解釋性語言和宏語言編寫客戶應用程序變得簡單,然而自動化客戶運行時需進行類型檢查,這一點則大大犧牲了程序的運行速度。
OPC服務器必須實現COM接口,是否實現自動化接口則取決于供應商的主觀意愿。
服務器緩沖區數據和設備數據
OPC服務器本身就是一個可執行程序,該程序以設定的速率不斷地同物理設備進行數據交互。服務器內有一個數據緩沖區,其中存有最新的數據值,數據質量戳和時間戳。時間戳表明服務器最近一次從設備讀取數據的時間。服務器對設備寄存器的讀取是不斷進行的,時間戳也在不斷更新。即使數據值和質量戳都沒有發生變化,時間戳也會進行更新。
客戶既可從服務器緩沖區讀取數據,也可直接從設備讀取數據,從設備直接讀取數據速度會慢一些,一般只有在故障診斷或極特殊的情況下才會采用。
同步和異步
OPC客戶和OPC服務器進行數據交互可以有兩種不同方式,即同步方式和異步方式。同步方式實現較為簡單,當客戶數目較少而且同服務器交互的數據量也比較少的時候可以采用這種方式;異步方式實現較為復雜,需要在客戶程序中實現服務器回調函數。然而當有大量客戶和大量數據交互時,異步方式能提供高效的性能,盡量避免阻塞客戶數據請求,并最大可能地節省CPU和網絡資源。
六、使用OPC設備
定義OPC設備
在力控導航器窗口中選則“I/O設備驅動”項中的“OPC”設備并展開,如下圖所示:

雙擊“OPC(Client)”,出現對話框:

在“設備名稱”中輸入邏輯設備的名稱(隨用戶隨意定義),在“數據更新周期”中指定采集周期。然后單擊按鈕“下一步”,出現OPC設備定義對話框:

力控自動搜索工程人員的計算機系統中已經安裝的所有OPC服務器,當點擊下拉框“OPC Server”時,下拉框中會列出已經安裝的所有OPC服務器的名稱,選擇您要使用的OPC服務器。
在“數據訪問方式”中選擇“緩沖區”或“外設”方式。
對于“緩沖區”方式,OPCClient程序將通過OPC服務器的緩沖區讀取數據;對于“外設”方式,OPCClient程序將通過OPC服務器直接從設備讀取數據,從設備直接讀取數據速度會慢一些,一般只有在故障診斷或極特殊的情況下才會采用。
在“死區百分比”中輸入一個百分值,表示:如果過程數據值的變化不超出這個百分值將不對其進行數據更新。
最后,單擊“確定”按鈕完成OPC設備定義。
對于已經建立的OPC設備,可以對其配置進行修改;如果您確認不再需要,可以將它刪除。修改或刪除OPC設備的方法與其他設備的方法相同(關于I/O設備驅動更為詳細的信息請參考本手冊“I/O設備驅動”一章的內容)。

對OPC數據項進行數據連接
對OPC數據項進行數據連接與其它設備類似。
下面,以Schneider公司的一個仿真OPC服務器“OPC Factory Simulator Server”(服務器名:Schneider-Aut.OFSSimu)為例,說明對OPC數據項進行數據連接的過程。
1、 首先在PC機上安裝OPC Factory Simulator Server程序,然后按照上文所述的過程定義一個OPC Factory Simulator Server的OPC設備,不妨命名為“OPC1”。
2、 啟動力控的數據庫組態程序DBManager,打開“數據連接”配置頁面,選擇一個要進行數據連接的點參數,選擇“I/O設備”,如圖:

在“連接I/O設備”的“設備”下拉框中選擇設備OPC1。
3、在“連接項”右側單擊“增加”按鈕,出現“數據項組態”對話框:

雙擊右上側列表框中的“Root”,列表框自動列出Schneider-Aut.OFSSimu提供的數據區,如下圖所示:

在右下側的列表框中選擇一個數據項并雙擊,此時系統自動生成一個完整的數據項描述并加在“數據項”輸入框內,如下圖所示:

5、在“訪問路徑”中輸入數據的訪問路徑(本例不需要指定此項,對于某些OPC服務器需要指定,具體指定的內容需要參考所使用的OPC服務器的手冊)。
在“讀寫權限”中選擇一種讀寫方式。最后單擊“確定”按鈕,便生成了一個數據項的數據連接。
在對OPC數據項進行數據連接時有幾點需要注意:
在“數據項組態”對話框右側的瀏覽窗口顯示的是OPC服務器所支持的數據區和數據項的內容。但并非所有OPC服務器均支持這種“瀏覽”功能,對于不支持此功能的OPC服務器,其數據項的描述需要用戶根據OPC服務器的資料說明,在“數據項”輸入框內手工填寫。
對于需要指定“訪問路徑”的OPC服務器,其訪問路徑的填寫方法需要參考所使用的OPC服務器的手冊。
一、OPC適應范圍
利用OPC技術,主要實現:
1、在線數據監測。實現了應用程序和工業控制設備之間高效、靈活的數據讀寫。
2、報警和事件處理。提供了OPC服務器發生異常時,以及OPC服務器設定事件到來時向OPC客戶發送通知的一種機制。
3、歷史數據訪問。實現了讀取、操作、編輯歷史數據庫的方法。
4、遠程數據訪問。借助Microsoft的DCOM技術,OPC實現了高性能的遠程數據訪問能力。
二、力控的OPC設備
力控充分利用了OPC服務器的強大性能,為工程人員提供方便高效的數據訪問能力。在力控中可以同時掛接任意多個OPC服務器,每個OPC服務器都被作為一個外部設備,工程人員可以定義、增加或刪除它,如同一個PLC或儀表設備一樣。
一般來說,工程人員在OPC服務器中定義通信的物理參數,定義需要采集的下位機變量(數據項);然后在力控中定義力控變量和下位機變量(數據項)的對應關系。在運行系統中,力控和每個OPC服務器建立連接,自動完成和OPC服務器之間的數據交換。
三、OPC基本概念
OPC是OLE for Process Control的縮寫,即把OLE應用于工業控制領域。
OPC服務器由三類對象組成,相當于三種層次上的接口:服務器(Server)、組(Group)和數據項(Item)。
1、服務器對象(Server)
擁有服務器的所有信息,同時也是組對象(Group)的容器,一個服務器對應于一個OPC Server,即一種設備的驅動程序。在一個Server中,可以有若干個組。
2. 組對象(Group)
擁有本組的所有信息,同時包容并邏輯組織OPC數據項(Item)。
OPC組對象(Group)提供了客戶組織數據的一種方法,組是應用程序組織數據的一個單位。客戶可對之進行讀寫,還可設置客戶端的數據更新速率。當服務器緩沖區內數據發生改變時,OPC將向客戶發出通知,客戶得到通知后再進行必要的處理,而無需浪費大量的時間進行查詢。OPC規范定義了兩種組對象:公共組(或稱:全局組,public)和局部組(或稱:局域組、私有組,Local)。公共組由多個客戶共有,局部組只隸屬于一個OPC客戶。全局組對所有連接在服務器上的應用程序都有效,而局域組只能對建立它的Client有效。一般說來,客戶和服務器的一對連接只需要定義一個組對象。在一個組中,可以有若干個項。
3、項
是讀寫數據的最小邏輯單位,一個項與一個具體的位號相連。項不能獨立于組存在,必須隸屬于某一個組。
在每個組對象中,客戶可以加入多個OPC數據項(Item)。
OPC數據項是服務器端定義的對象,通常指向設備的一個寄存器單元。OPC客戶對設備寄存器的操作都是通過其數據項來完成的,通過定義數據項,OPC規范盡可能的隱藏了設備的特殊信息,也使OPC服務器的通用性大大增強。OPC數據項并不提供對外接口,客戶不能直接對之進行操作,所有操作都是通過組對象進行的。
應用程序作為OPC接口中的Client方,硬件驅動程序作為OPC接口中的Server方。每一個OPC Client應用程序都可以接若干個OPC Server,每一個硬件驅動程序可以為若干個應用程序提供數據。
客戶操作數據項的一般步驟為:
1)、通過服務器對象接口枚舉服務器端定義的所有數據項。
2)、將要操作的數據項加入客戶定義的組對象中。
3)、通過組對象對數據項進行讀寫等操作。
每個數據項的數據結構包括三個成員變量:即數據值、數據質量和時間戳。數據值是以VARIANT形式表示的。可以把數據項看作數據源的地址,即數據源的引用。
四、報警(Alarm)和事件(Event)
報警和事件處理機制增強了OPC客戶處理異常的能力。服務器在工作過程中可能出現異常,此時,OPC客戶可通過報警和事件處理接口得到通知,并能通過該接口獲得服務器的當前狀態。
五、OPC體系結構
OPC規范提供了兩套接口方案,即COM接口和自動化。
COM接口效率高,通過該接口,客戶能夠發揮OPC服務器的最佳性能,采用C++語言的客戶一般采用COM接口方案;自動化接口使解釋性語言和宏語言訪問OPC服務器成為可能,采用VB語言的客戶一般采用自動化接口。自動化接口使解釋性語言和宏語言編寫客戶應用程序變得簡單,然而自動化客戶運行時需進行類型檢查,這一點則大大犧牲了程序的運行速度。
OPC服務器必須實現COM接口,是否實現自動化接口則取決于供應商的主觀意愿。
服務器緩沖區數據和設備數據
OPC服務器本身就是一個可執行程序,該程序以設定的速率不斷地同物理設備進行數據交互。服務器內有一個數據緩沖區,其中存有最新的數據值,數據質量戳和時間戳。時間戳表明服務器最近一次從設備讀取數據的時間。服務器對設備寄存器的讀取是不斷進行的,時間戳也在不斷更新。即使數據值和質量戳都沒有發生變化,時間戳也會進行更新。
客戶既可從服務器緩沖區讀取數據,也可直接從設備讀取數據,從設備直接讀取數據速度會慢一些,一般只有在故障診斷或極特殊的情況下才會采用。
同步和異步
OPC客戶和OPC服務器進行數據交互可以有兩種不同方式,即同步方式和異步方式。同步方式實現較為簡單,當客戶數目較少而且同服務器交互的數據量也比較少的時候可以采用這種方式;異步方式實現較為復雜,需要在客戶程序中實現服務器回調函數。然而當有大量客戶和大量數據交互時,異步方式能提供高效的性能,盡量避免阻塞客戶數據請求,并最大可能地節省CPU和網絡資源。
六、使用OPC設備
定義OPC設備
在力控導航器窗口中選則“I/O設備驅動”項中的“OPC”設備并展開,如下圖所示:

雙擊“OPC(Client)”,出現對話框:

在“設備名稱”中輸入邏輯設備的名稱(隨用戶隨意定義),在“數據更新周期”中指定采集周期。然后單擊按鈕“下一步”,出現OPC設備定義對話框:

力控自動搜索工程人員的計算機系統中已經安裝的所有OPC服務器,當點擊下拉框“OPC Server”時,下拉框中會列出已經安裝的所有OPC服務器的名稱,選擇您要使用的OPC服務器。
在“數據訪問方式”中選擇“緩沖區”或“外設”方式。
對于“緩沖區”方式,OPCClient程序將通過OPC服務器的緩沖區讀取數據;對于“外設”方式,OPCClient程序將通過OPC服務器直接從設備讀取數據,從設備直接讀取數據速度會慢一些,一般只有在故障診斷或極特殊的情況下才會采用。
在“死區百分比”中輸入一個百分值,表示:如果過程數據值的變化不超出這個百分值將不對其進行數據更新。
最后,單擊“確定”按鈕完成OPC設備定義。
對于已經建立的OPC設備,可以對其配置進行修改;如果您確認不再需要,可以將它刪除。修改或刪除OPC設備的方法與其他設備的方法相同(關于I/O設備驅動更為詳細的信息請參考本手冊“I/O設備驅動”一章的內容)。

對OPC數據項進行數據連接
對OPC數據項進行數據連接與其它設備類似。
下面,以Schneider公司的一個仿真OPC服務器“OPC Factory Simulator Server”(服務器名:Schneider-Aut.OFSSimu)為例,說明對OPC數據項進行數據連接的過程。
1、 首先在PC機上安裝OPC Factory Simulator Server程序,然后按照上文所述的過程定義一個OPC Factory Simulator Server的OPC設備,不妨命名為“OPC1”。
2、 啟動力控的數據庫組態程序DBManager,打開“數據連接”配置頁面,選擇一個要進行數據連接的點參數,選擇“I/O設備”,如圖:

在“連接I/O設備”的“設備”下拉框中選擇設備OPC1。
3、在“連接項”右側單擊“增加”按鈕,出現“數據項組態”對話框:

雙擊右上側列表框中的“Root”,列表框自動列出Schneider-Aut.OFSSimu提供的數據區,如下圖所示:

在右下側的列表框中選擇一個數據項并雙擊,此時系統自動生成一個完整的數據項描述并加在“數據項”輸入框內,如下圖所示:

5、在“訪問路徑”中輸入數據的訪問路徑(本例不需要指定此項,對于某些OPC服務器需要指定,具體指定的內容需要參考所使用的OPC服務器的手冊)。
在“讀寫權限”中選擇一種讀寫方式。最后單擊“確定”按鈕,便生成了一個數據項的數據連接。
在對OPC數據項進行數據連接時有幾點需要注意:
在“數據項組態”對話框右側的瀏覽窗口顯示的是OPC服務器所支持的數據區和數據項的內容。但并非所有OPC服務器均支持這種“瀏覽”功能,對于不支持此功能的OPC服務器,其數據項的描述需要用戶根據OPC服務器的資料說明,在“數據項”輸入框內手工填寫。
對于需要指定“訪問路徑”的OPC服務器,其訪問路徑的填寫方法需要參考所使用的OPC服務器的手冊。
文章版權歸西部工控xbgk所有,未經許可不得轉載。
上一篇:組態軟件的發展趨勢與現狀