比如,OPC总共有1000个组项,我只想订阅5个组项的值变动
OPC.M01、OPC.M02、OPC.M03、OPC.M04、OPC.M05
当其他995个组项的值变动时,我的代码不用理会,但我指定的这5项的值任何一个变动时,我就要把变动的组项名、原来的值、变动的值,记录下来。
使用DataChange事件吗?如何使用?
C#如何订阅OPC指定一些组项的值变动
答案:2 悬赏:30
解决时间 2021-04-27 05:29
- 提问者网友:夕夏残阳落幕
- 2021-04-27 02:38
最佳答案
- 二级知识专家网友:虚伪的现实
- 2021-04-27 04:06
你的5个item先组成一个items,然后注册一个回调函数
state1 = new Opc.Da.SubscriptionState();
state1.Active = true;
state1.UpdateRate = 1000;
subscription1 = (Opc.Da.Subscription)m_server.CreateSubscription(state1);
subscription1.AddItems(items);
subscription1.DataChanged += new Opc.Da.DataChangedEventHandler(this.OnDataChange1);
public void OnDataChange1(object subscriptionHandle, object requestHandle, ItemValueResult[] values)
{
在这里做你想做的事情
}
state1 = new Opc.Da.SubscriptionState();
state1.Active = true;
state1.UpdateRate = 1000;
subscription1 = (Opc.Da.Subscription)m_server.CreateSubscription(state1);
subscription1.AddItems(items);
subscription1.DataChanged += new Opc.Da.DataChangedEventHandler(this.OnDataChange1);
public void OnDataChange1(object subscriptionHandle, object requestHandle, ItemValueResult[] values)
{
在这里做你想做的事情
}
全部回答
- 1楼网友:闲懒诗人
- 2021-04-27 04:28
你c#代码中加载的tag点有不存在opc服务端的
比如说,你加载了tag1点,而这个点在opc服务端不存在
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯