using System.Threading.Tasks; namespace Team.Utility { public interface IRobotControlService { /// /// 写点地址 /// /// 字地址 /// Task SavePointAsync(int id); /// /// 连接到modbus 服务 /// /// bool Connect(); /// /// 读保持寄存器位地址 /// /// 字地址 /// 字位 /// Task ReadAsync(int address, int bitNo); //void SetDataFormat(DataFormat dataFormat); /// /// 设置连接超时时间 /// /// 单位second void SetConnectTimeout(int duration); bool IsConnect { get; } /// /// 写字地址 /// /// 字地址 /// /// Task WriteShortAsync(int id,int value); Task WriteUshortAsync(int id, ushort value); Task WriteIntAsync(int id, int value); Task WriteUintAsync(int id, uint value); Task WriteFloatAsync(int id, float value); Task WriteDoubleAsync(int id, double value); Task WriteStringAsync(int id, string value); /// /// 在modbus服务器写入32位整数 /// /// 地址开始位 /// Task ReadInt32Async(int address); /// /// 在modbus服务器写入32正位整数 /// /// 地址开始位 /// Task ReadUintAsync(int address); /// /// 在modbus服务器写入32浮点数 /// /// 地址开始位 /// Task ReadFloatAsync(int address); /// /// 在modbus服务器写入64浮点数 /// /// 地址开始位 /// Task ReadDoubleAsync(int address); /// /// 在modbus服务器写入16位整数 /// /// 地址开始位 /// Task ReadShortAsync(int address); /// /// 在modbus服务器写入16正位整数 /// /// 地址开始位 /// Task ReadUshortAsync(int address); /// /// 在modbus服务器写入字符串 /// /// 地址开始位 /// 字符串长度 /// Task ReadStringAsync(int address, ushort length); } }