using iWareOpc.Cache.Entity; using iWareOpc.Opc.Service; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; namespace iWareOpc.Wcf { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“OpcWcfService”。 public class OpcWcfService : IOpcWcfService { /// /// 读取地址的值 /// /// 项目名 /// 读到的值 public object ReadValue(string dbName) { var groupName = CacheEntity.DbNameGroupDict[dbName]; return OpcService.GetInstance().ReadValue(groupName, dbName); } /// /// 批量读取地址的值 /// /// 项目名 /// 读到的值列表 public List ReadValues(List dbNames) { var groupName = dbNames.Count > 0 ? CacheEntity.DbNameGroupDict[dbNames[0]] : "OPC1"; return OpcService.GetInstance().ReadValue(groupName, dbNames); } /// /// 写入OPC值 /// /// 项名 /// 写入值 /// 是否写入成功 public bool WriteValue(string dbName, object value) { var groupName = CacheEntity.DbNameGroupDict[dbName]; return OpcService.GetInstance().WriteValue(groupName, dbName, value); } /// /// 写入OPC值 /// /// 项名 /// 写入值 /// 是否写入成功 public bool WriteValues(List dbNames, List values) { var groupName = dbNames.Count > 0 ? CacheEntity.DbNameGroupDict[dbNames[0]]: "OPC1"; return OpcService.GetInstance().WriteValue(groupName, dbNames, values); } } }