您好,登錄后才能下訂單哦!
c#中如何使用OPCDAAuto.dll組件 ,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一、ScaleOPClient.dll介紹
ScaleOPClient.dll是在OPCDAAuto.dll基礎上開發,集成了OPCDAAuto.dll絕大部分功能。
1、組件內部集成了對服務器、組別和標簽的管理,其中包括參數的管理。但是利用ScaleOPClient.dll開發自己的程序,有些屬性和函數是不對外的,以免對核心東西的操作造成程序混亂。
2、對服務器、組別和標簽的管理,以及參數的管理,完全是通過窗體進行配制就可以了。減少編程人員編寫代碼的工作量。
3、對于環境需要的組件(OpcEnum.exe,OpcRcw.Comn.dll,OpcRcw.Da.dll等),ScaleOPClient.dll會自動釋放資源,并且進行注冊,不需要再配制環境了。但是對于DCOM,還是需要自己手動配制。
4、當開發人員利用ScaleOPClient.dll的窗體配制好客戶端之后,可以利用AutomationHandler 和ParameterHandler事件,進行接數據更新操作。
總之,利用ScaleOPClient.dll開發客戶端,我們只需要做兩件事,第一:調用主空體配制OPC客戶端相關信息。第二:利用事件通知開發人員進行數據更新,并傳遞更新的數據信息。
二、ScaleOPClient.dll的使用
ScaleOPClient.dll提供一個對外的類(ScaleOPClient.Interface),這個類提供了用戶需要操作的幾個函數,一切以這個類為中心進行功能操作就可以了。
1、我們需要創建一個對外的接口類
ScaleOPClient.Interface _opclient=new ScaleOPClient.Interface ();
2、我們需要調配制函數
_opclient.ConfigClient();
任何OPC客戶端的的配制都是通過這個函數,這個函數會調用一個主窗體,開發人員或手動配制就可以了。
3、配制好客戶端信息之后,我們需要加載兩個接收數據更新的事件。
_opclient.AutomationHandler +=new ScaleOPClient.OPCAutomationHandler(Automation);
_opclient.ParameterHandler +=new ScaleOPClient.OPCParameterInfoHandler (Parameter);
在事件里進行操作
private void Automation(object sender,OPCAutomationArgs e)
{ //-------你的代碼-----------// }
private void Parameter(object sender,OPCParameterInfoArgs e)
{ //-------你的代碼-----------// }
4、選擇事件類型,默認值為:OPCEventType.Automation
_opclient.EventType
這個屬性有兩種類型,
1)、OPCEventType.Automation :當EventType為該類型的時候,程序會調用AutomationHandler 事件,做為OPC數據更新默認事件,這個事件是采用OPC訂閱方式讀取服務器的數據信息。
2)、OPCEventType.ParamaterInfo:當EventType為該類型的時候,程序會調用ParameterHandler事件,做為OPC數據更新默認事件,這個事件采用OPC的同步方式讀取服務器的數據信息,循環組別依次讀取數據,并傳遞服務器名稱、組別名稱等信息。
EventType屬性的目的是,在數據更新的時候不能同時響應兩個事件,如果客戶端比較多的時候,這樣會阻塞信道。
5、OPC客戶端的結構信息
_inter.Servers 屬性
用戶可以調用這個屬性,輪詢服務器、組和標簽,并且獲得相關信息,這個屬性可以配合AutomationHandler 事件使用,每個有數據更新了會響應這個事件,在這個事件里去輪詢,獲得標簽值。
三、圖片說明
配制信息的主窗體
獲得服務器列表
服務器屬性
增加組信息
增加標簽
配制好之后的主窗體
多服務器
其他功能(右鍵)菜單
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。