using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HslCommunication.Core
{
///
/// 所有的和设备或是交互类统一读写标准
///
public interface IReadWriteNet
{
///
/// 读取16位的有符号整型
///
/// 起始地址
/// 带有成功标识的short数据
OperateResult ReadInt16(string address);
///
/// 读取16位的无符号整型
///
/// 起始地址
/// 带有成功标识的ushort数据
OperateResult ReadUInt16(string address);
///
/// 读取32位的有符号整型
///
/// 起始地址
/// 带有成功标识的int数据
OperateResult ReadInt32(string address);
///
/// 读取32位的无符号整型
///
/// 起始地址
/// 带有成功标识的uint数据
OperateResult ReadUInt32(string address);
///
/// 读取64位的有符号整型
///
/// 起始地址
/// 带有成功标识的long数据
OperateResult ReadInt64(string address);
///
/// 读取64位的无符号整型
///
/// 起始地址
/// 带有成功标识的ulong数据
OperateResult ReadUInt64(string address);
///
/// 读取单浮点精度的数据
///
/// 起始地址
/// 带有成功标识的float数据
OperateResult ReadFloat(string address);
///
/// 读取双浮点精度的数据
///
/// 起始地址
/// 带有成功标识的double数据
OperateResult ReadDouble(string address);
///
/// 读取字符串数据,
///
/// 起始地址
/// 数据长度
/// 带有成功标识的string数据
OperateResult ReadString(string address, ushort length);
///
/// 读取自定义的数据类型,需要继承自IDataTransfer接口
///
/// 自定义的类型
/// 起始地址
/// 带有成功标识的自定义类型数据
OperateResult ReadCustomer(string address) where T : IDataTransfer, new();
///
/// 写入short数据
///
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult Write(string address, short value);
///
/// 写入ushort数据
///
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult Write(string address, short[] values);
///
/// 写入int数据
///
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult Write(string address, int value);
///
/// 写入int[]数组
///
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult Write(string address, int[] values);
///
/// 写入long数据
///
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult Write(string address, long value);
///
/// 写入long数组
///
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult Write(string address, long[] values);
///
/// 写入float数据
///
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult Write(string address, float value);
///
/// 写入float数组
///
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult Write(string address, float[] values);
///
/// 写入double数据
///
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult Write(string address, double value);
///
/// 写入double数组
///
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult Write(string address, double[] values);
///
/// 写入字符串信息,编码为ASCII
///
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult Write(string address, string value);
///
/// 写入自定义类型的数据,该类型必须继承自IDataTransfer接口
///
/// 类型对象
/// 起始地址
/// 写入值
/// 带有成功标识的结果类对象
OperateResult WriteCustomer(string address, T value) where T : IDataTransfer, new();
}
}