using System.Threading.Tasks; namespace TabletTester2025.Services { public interface IPlcService { //建立通讯链接 Task ConnectAsync(); //从 PLC 的指定起始地址,读取 1 个 32 位浮点型(float)数据。 Task ReadFloatAsync(ushort startAddress); //从 PLC 的指定起始地址,读取 1 个 32 位整型(int)数据。 Task ReadIntAsync(ushort startAddress); //向 PLC 的指定线圈地址,写入一个布尔值(开关量)。 Task WriteCoilAsync(ushort coilAddress, bool value); //读取 PLC 指定线圈地址的布尔状态,是 WriteCoilAsync 的配套读取方法。 Task ReadCoilAsync(ushort coilAddress); //向 PLC 的指定寄存器地址,写入 1 个 16 位无符号整型(ushort)数据。 Task WriteRegisterAsync(ushort registerAddress, ushort value); //批量读取 PLC 的保持寄存器数据,是工业通信中最高效的批量读取方法。 Task ReadHoldingRegistersAsync(ushort startAddress, ushort count); bool IsConnected { get; } } }