c# opc协议,连接plc

 原网址:https://www.coder.work/article/3045229

 我正在使用来自 OPCFoundation 的两个 .dll 文件 - opcNetApi.dll 和 opcNetApi.Com.dll

 

private void readplc() { Opc.URL url = new Opc.URL("opcda://48.5.0.05/RSLinx OPC Server"); Opc.Da.Server server = null; OpcCom.Factory fact = new OpcCom.Factory(); server = new Opc.Da.Server(fact, null); try { server.Connect(url, new Opc.ConnectData(new System.Net.NetworkCredential())); } catch (Exception exy) { MessageBox.Show(exy.Message); } // Create a group Opc.Da.Subscription group; Opc.Da.SubscriptionState groupState = new Opc.Da.SubscriptionState(); groupState.Name = "Group"; groupState.Active = true; group = (Opc.Da.Subscription)server.CreateSubscription(groupState); // add items to the group. Opc.Da.Item[] items = new Opc.Da.Item[6]; items[0] = new Opc.Da.Item(); items[0].ItemName = "[ALARM]F20:9"; items[1] = new Opc.Da.Item(); items[1].ItemName = "[ALARM]F22:30"; items[2] = new Opc.Da.Item(); items[2].ItemName = "[ALARM]F22:6"; items[3] = new Opc.Da.Item(); items[3].ItemName = "[ALARM]F18:8"; items[4] = new Opc.Da.Item(); items[4].ItemName = "[ALARM]F22:32"; items[5] = new Opc.Da.Item(); items[5].ItemName = "[ALARM]F22:5"; items = group.AddItems(items); try { group.DataChanged += new Opc.Da.DataChangedEventHandler(OnTransactionCompleted); // COM EXCEPTION THROWN HERE Console.ReadLine(); } catch (Exception ex) { MessageBox.Show(ex.Message); Console.ReadKey(); } } private void OnTransactionCompleted(object group, object hReq, Opc.Da.ItemValueResult[] items) { for (int i = 0; i < items.GetLength(0); i++) { } }

posted @   xxb1  阅读(219)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示