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