C# OPCAutomation 添加數據項值改變事件DataChange


OPCServer opcServer = new OPCServer();
opcServer.Connect("OPC 服務名稱");
OPCGroups grous = opcServer.OPCGroups;
OPCGroup group = grous.Add(null);
group.OPCItems.AddItem("OPC項全名稱", 1);
group.OPCItems.AddItem("OPC項", 2);
//數據刷新時間(毫秒) group.UpdateRate = 10; group.IsActive = true; //開啟訂閱,必須開啟,否則不會觸發數據修改事件! group.IsSubscribed = true; group.DataChange += Group_DataChange;
這里注意兩個地方:
1. 一定要開啟訂閱
2. 調用AddItem添加數據時,ClientHandle不要重復,觸發數據修改事件后,需要根據ClientHandle區分數據項
Group_DataChange:
private static void Group_DataChange(int TransactionID, int NumItems, ref Array ClientHandles, ref Array ItemValues, ref Array Qualities, ref Array TimeStamps)
{
    
}
TransactionID: OPC實物標識符
NumItems: 本次檢測到OPC數據項值改動個數
ClientHandles(int 數組): 檢測到改動數據項ClientHandle數組
ItemValues(object數組): 檢測到改動數據項值數據
Qualities:檢測到改動數據項質量值數據
TimeStamps:檢測到改動數據項時間戳數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM