using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
namespace FLY.Modbus.WithThread
{
///
/// 同一时刻只能有一个通信,当同时执行 Do_xx, 这些指令会被hold住
/// 如果连接断开,或者异常,这些 Do_xx,全部返回 false
///
public interface IModbusClient
{
///
/// 通信超时
///
TimeSpan Timeout { get; set; }
///
/// socket 错误信息
///
string ErrMsg { get; set; }
///
/// 连接成功
///
bool IsConnected { get; set; }
///
/// 远端地址
///
IPEndPoint RemoteEP { get; set; }
///
/// 建立连接
///
bool Connect();
///
/// 停止
///
void Close();
///
/// 读多个 COIL
///
///
///
///
///
bool Do_01(int addr, int cnt, out IEnumerable values);
///
/// 读多个Holding REGs
///
///
///
///
///
bool Do_03(int addr, int cnt, out IEnumerable values);
///
/// Write Single Coil
///
///
///
///
bool Do_05(int addr, bool data);
///
/// 写多个coil
///
///
///
///
bool Do_0F(int addr, IEnumerable datas);
///
/// 写多个REG
///
///
///
///
bool Do_10(int addr, IEnumerable datas);
}
}