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); } }