68 lines
2.6 KiB
C#
68 lines
2.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Modbus.Net.OPC
|
|
{
|
|
/// <summary>
|
|
/// Opc DA设备
|
|
/// </summary>
|
|
/// <typeparam name="TKey">设备Id类型</typeparam>
|
|
/// <typeparam name="TUnitKey">设备包含的地址的Id类型</typeparam>
|
|
public class OpcDaMachine<TKey, TUnitKey> : OpcMachine<TKey, TUnitKey> where TKey : IEquatable<TKey>
|
|
where TUnitKey : IEquatable<TUnitKey>
|
|
{
|
|
/// <summary>
|
|
/// 构造函数
|
|
/// </summary>
|
|
/// <param name="connectionString">连接地址</param>
|
|
/// <param name="getAddresses">需要读写的数据</param>
|
|
/// <param name="keepConnect">是否保持连接</param>
|
|
public OpcDaMachine(string connectionString, IEnumerable<AddressUnit<TUnitKey>> getAddresses, bool keepConnect)
|
|
: base(getAddresses, keepConnect)
|
|
{
|
|
BaseUtility = new OpcDaUtility(connectionString);
|
|
((OpcUtility) BaseUtility).GetSeperator +=
|
|
() => ((AddressFormaterOpc<TKey, TUnitKey>) AddressFormater).Seperator;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 构造函数
|
|
/// </summary>
|
|
/// <param name="connectionString">连接地址</param>
|
|
/// <param name="getAddresses">需要读写的数据</param>
|
|
public OpcDaMachine(string connectionString, IEnumerable<AddressUnit<TUnitKey>> getAddresses)
|
|
: this(connectionString, getAddresses, false)
|
|
{
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Opc DA设备
|
|
/// </summary>
|
|
public class OpcDaMachine : OpcMachine
|
|
{
|
|
/// <summary>
|
|
/// 构造函数
|
|
/// </summary>
|
|
/// <param name="connectionString">连接地址</param>
|
|
/// <param name="getAddresses">需要读写的数据</param>
|
|
/// <param name="keepConnect">是否保持连接</param>
|
|
public OpcDaMachine(string connectionString, IEnumerable<AddressUnit> getAddresses, bool keepConnect)
|
|
: base(getAddresses, keepConnect)
|
|
{
|
|
BaseUtility = new OpcDaUtility(connectionString);
|
|
((OpcUtility) BaseUtility).GetSeperator +=
|
|
() => ((AddressFormaterOpc<string, string>) AddressFormater).Seperator;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 构造函数
|
|
/// </summary>
|
|
/// <param name="connectionString">连接地址</param>
|
|
/// <param name="getAddresses">需要读写的数据</param>
|
|
public OpcDaMachine(string connectionString, IEnumerable<AddressUnit> getAddresses)
|
|
: this(connectionString, getAddresses, false)
|
|
{
|
|
}
|
|
}
|
|
} |