OPC接口使用技巧
OPC接口是由OPC基金會制定的,基于DCOM技術的,用于控制系統軟件之間進行數據通訊的接口規范。由于其開放性和高效性,現在已被廣泛應用于自動化控制領域及生產信息管理中。紫金橋軟件遵照OPC接口規范實現了相應接口,大大增加紫金橋軟件的開放性。在使用OPC接口驅動時,由于配置參數或者運行環境設置不當,可能達不預期的效果,有的甚至影響控制系統的穩定性。下面根據實際工作經驗介紹一些OPC接口使用技巧:
認真閱讀OPC Server使用手冊
在使用OPC接口進行數據采集時一定要先閱讀OPC Server的使用手冊或在線幫助,因為在通訊時使用的OPC服務器名稱(ProgID)及進行DCOM配置時使用的組件名稱通常是由OPC Server軟件提供商自己定義的,我通常會從使用手冊或在線幫助上獲得相關信息。
有的OPC Server是不支持在線瀏覽的,通訊時使用數據項(連接項)是按著一定規范定義的,這時我們也需要閱讀使用手冊或在線幫助獲得相關信息。例如,在從老的OPTO22系統采集數據時,它是不支持在線瀏覽的。通過在線幫助我們知道它的數據項定義如下所示:
ControllerName[RefreshGroupName]:ItemType.ItemName[start-end].Field.BITn
并且在數據項字義時要填寫訪問路徑(”OPTO_MDS_0”)。控制器名、刷寫組名、項類類型等信息我們要通過控制系統竣工資料或OPTO22的組態工程中查找。
正確配置采集周期
由于不同的OPC Server能夠支持的最快采集周期是不同的,因此在實施數據采集時我們要根據OPC Server所能提供的最嘉采集速度進行配置。大部分的OPC Server支持的采集周期不是連續的,如果我們設置的采集周期是服務器不支持的采集周期,OPC Server會使用與設定周期相近的固有周期進行通訊調度。
通訊量控制
在通常情況下建議使用異步方式進行通訊,因為在這種方式下客戶端程序獲得數據由OPC Server根據數據變化情況主動發送的,具有較高的通訊效率。在實際應用中我們可能會遇到這樣的問題:與實時數據庫通訊的控制系統運行負荷較滿,如果不對通訊量進行控制就可能影響控制系統的正常運行(在通過APP NODE的OPC Server讀取TDC3000系統的數據時就愚到過類似問題)。在這種情況下建議使用同步方式或單組同步方式執行數據采集,在這兩種通訊方式下我們可以通過調整每組采集的數據項數及采集周期來控制通訊量。
注意服務器特殊限制
在使用OPC接口進行數據通訊時還要注意一些OPC Server的特殊限制,有的對可以連接客戶端數有限制,有的對最多可訪問的數據項數有限制,有的則是對每組包含的數據項數有限制。對于這些有特殊限制的服務器,如果不能正確配置通訊參數或者購買相受權,將產生通訊錯誤或只能采集部分數據。對于有訪問客戶數目限制的OPC Server,如果達到最大客戶數,我們要重新購買受權增加允許訪問客戶數。對于有訪問數據項數的OPC Server最好的方法也是重新購買受權增加允許訪問數據項數,但也可以接口中提供的“單組同步”方式來增加可采集的數據點數。“單組同步”通訊方式是以犧牲通訊速度為代價的,并且在這種方式下不能進行數據回寫(從客戶端更新服務器的數據)。對于每組有數據項數限制的OPC Server則比較好處理,只要在接口設備定義時,將限制個數填寫到“每組項數”即可。
認真閱讀OPC Server使用手冊
在使用OPC接口進行數據采集時一定要先閱讀OPC Server的使用手冊或在線幫助,因為在通訊時使用的OPC服務器名稱(ProgID)及進行DCOM配置時使用的組件名稱通常是由OPC Server軟件提供商自己定義的,我通常會從使用手冊或在線幫助上獲得相關信息。
有的OPC Server是不支持在線瀏覽的,通訊時使用數據項(連接項)是按著一定規范定義的,這時我們也需要閱讀使用手冊或在線幫助獲得相關信息。例如,在從老的OPTO22系統采集數據時,它是不支持在線瀏覽的。通過在線幫助我們知道它的數據項定義如下所示:
ControllerName[RefreshGroupName]:ItemType.ItemName[start-end].Field.BITn
并且在數據項字義時要填寫訪問路徑(”OPTO_MDS_0”)。控制器名、刷寫組名、項類類型等信息我們要通過控制系統竣工資料或OPTO22的組態工程中查找。
正確配置采集周期
由于不同的OPC Server能夠支持的最快采集周期是不同的,因此在實施數據采集時我們要根據OPC Server所能提供的最嘉采集速度進行配置。大部分的OPC Server支持的采集周期不是連續的,如果我們設置的采集周期是服務器不支持的采集周期,OPC Server會使用與設定周期相近的固有周期進行通訊調度。
通訊量控制
在通常情況下建議使用異步方式進行通訊,因為在這種方式下客戶端程序獲得數據由OPC Server根據數據變化情況主動發送的,具有較高的通訊效率。在實際應用中我們可能會遇到這樣的問題:與實時數據庫通訊的控制系統運行負荷較滿,如果不對通訊量進行控制就可能影響控制系統的正常運行(在通過APP NODE的OPC Server讀取TDC3000系統的數據時就愚到過類似問題)。在這種情況下建議使用同步方式或單組同步方式執行數據采集,在這兩種通訊方式下我們可以通過調整每組采集的數據項數及采集周期來控制通訊量。
注意服務器特殊限制
在使用OPC接口進行數據通訊時還要注意一些OPC Server的特殊限制,有的對可以連接客戶端數有限制,有的對最多可訪問的數據項數有限制,有的則是對每組包含的數據項數有限制。對于這些有特殊限制的服務器,如果不能正確配置通訊參數或者購買相受權,將產生通訊錯誤或只能采集部分數據。對于有訪問客戶數目限制的OPC Server,如果達到最大客戶數,我們要重新購買受權增加允許訪問客戶數。對于有訪問數據項數的OPC Server最好的方法也是重新購買受權增加允許訪問數據項數,但也可以接口中提供的“單組同步”方式來增加可采集的數據點數。“單組同步”通訊方式是以犧牲通訊速度為代價的,并且在這種方式下不能進行數據回寫(從客戶端更新服務器的數據)。對于每組有數據項數限制的OPC Server則比較好處理,只要在接口設備定義時,將限制個數填寫到“每組項數”即可。
通過DCOM配置實現分布式通訊
在實際應用中有時出于安全或運行環境的考慮不能將數據采集程序與OPC Server安裝在同一臺計算機上,這時我們就需要利用OPC的DCOM屬性實現數據采集程序與OPC Server之間基于網絡的分布式通訊。DCOM技術是自NT4.0系統以后,由操作支持的一種組件間跨計算機間的通訊技術。在實現組件時只要遵照COM規范定義接口,當服務端和客戶端程序分布在不同的計算機上時,只要對服務端及客戶端的DCOM屬性進行相應配置就可以通過網絡實現遠程通訊。DCOM配置在不同的操作系統上配置方法不同,除了在Windows XP SP2系統外,其它系統即可以用指定用戶進行通訊,也可以用匿名方式進行通訊。關于DCOM配置過程這里就不詳細說明了,可以參考《紫金橋OPC服務器及接口》文檔。
文章版權歸西部工控xbgk所有,未經許可不得轉載。
上一篇:談談組態軟件的安全性
下一篇:淺談現場總線