using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GeneralGommunication { public class Modbus_Transaction { /// /// 输出调试信息 /// public bool EnableLog = true; /// /// 交易描述 /// public string desription; /// /// 设备编号 0~255 0是广播 /// public int deviceNo; /// /// modbus 功能号 /// public byte func; /// /// 数据地址 /// public int addr; /// /// 操作的寄存器数量 /// public int cnt; /// /// 期待接收的数据量 /// public int expRecBytes; public List sendBuf = new List(); /// /// 功能 的数据 /// public List funcData = new List(); /// /// u16 读取处理 /// /// /// public delegate object ParseU16FuncPackHandler(List values); /// /// u16 数据回复处理 /// public ParseU16FuncPackHandler parse16FuncPack; /// /// bool 读取处理 /// /// /// public delegate object ParseBoolFuncPackHandler(List values); /// /// bool 数据回复处理 /// public ParseBoolFuncPackHandler parseBoolFuncPack; /// /// 回复的数据,只用于调试而已 /// public object retData; /// /// 回复 callback /// public CallBackHandler asyncDelegate; /// /// 上下文 /// public object asyncContext; } public delegate void DeviceConnectEventHander(object sender, DeviceConnectEventArgs e); public class DeviceConnectEventArgs : EventArgs { public int deviceNo; public bool isConnected; public string errMsg; } public delegate void SendDataEventHandler(object sender, byte[] data); public delegate void TimeOutEventHandler(object sender); }