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
|
{
|
/// <summary>
|
/// 读取地址的值
|
/// </summary>
|
/// <param name="dbName">项目名</param>
|
/// <returns>读到的值</returns>
|
public object ReadValue(string dbName)
|
{
|
var groupName = CacheEntity.DbNameGroupDict[dbName];
|
|
return OpcService.GetInstance().ReadValue(groupName, dbName);
|
}
|
|
/// <summary>
|
/// 批量读取地址的值
|
/// </summary>
|
/// <param name="dbNames">项目名</param>
|
/// <returns>读到的值列表</returns>
|
public List<object> ReadValues(List<string> dbNames)
|
{
|
var groupName = dbNames.Count > 0 ? CacheEntity.DbNameGroupDict[dbNames[0]] : "OPC1";
|
return OpcService.GetInstance().ReadValue(groupName, dbNames);
|
}
|
|
/// <summary>
|
/// 写入OPC值
|
/// </summary>
|
/// <param name="dbName">项名</param>
|
/// <param name="value">写入值</param>
|
/// <returns>是否写入成功</returns>
|
public bool WriteValue(string dbName, object value)
|
{
|
var groupName = CacheEntity.DbNameGroupDict[dbName];
|
return OpcService.GetInstance().WriteValue(groupName, dbName, value);
|
}
|
|
/// <summary>
|
/// 写入OPC值
|
/// </summary>
|
/// <param name="dbNames">项名</param>
|
/// <param name="values">写入值</param>
|
/// <returns>是否写入成功</returns>
|
public bool WriteValues(List<string> dbNames, List<object> values)
|
{
|
var groupName = dbNames.Count > 0 ? CacheEntity.DbNameGroupDict[dbNames[0]]: "OPC1";
|
|
return OpcService.GetInstance().WriteValue(groupName, dbNames, values);
|
}
|
}
|
}
|