OpcUaHelper icon indicating copy to clipboard operation
OpcUaHelper copied to clipboard

可否添加数据组的管理?

Open wuyang26 opened this issue 6 years ago • 1 comments

就是对一组数据的批量刷新,批量更新的类,譬如在实际的客户端,在某一个当前页面,可能只更新30个特定变量,在另一个页面又是另一些特定变量,用组对数据进行管理可进一步简化读写操作。 我在本项目的基础上实现了一个简单的,思路类似如下: DataItem.cs用于存储当前读取到的单个变量,最重要的是public void Refresh(DataValue dataValue) DataGroup.cs对批量数据进行管理: public DataGroupBase(List<string> keyList, List<string> tagList, OpcUaClient opcUaClient) 存储变量: public Dictionary<string,DataItemBindable> Data { get;private set; }public virtual async Task<FeedbackInfo> ReadAsync()public virtual async Task<FeedbackInfo> WriteAsync() 对Data进行批量操作 而订阅更新的关键代码: Data[itemKey].Refresh(notification.Value); 外部访问 Data[keyName] 目前这种方式用在WPF中非常方便,DataItem实现了数据通知(NET Standard不能实现,必须另创建一个库),在XAML中的控件只需要简单的 进行绑定,并指向KeyName即可(Word1为变量在字典中的Key): <TextBox Text="{Binding Data[Word1].Value,Mode=TwoWay}"/>

wuyang26 avatar Mar 16 '20 01:03 wuyang26

嗯,可以发起request

dathlin avatar Mar 18 '20 12:03 dathlin