Files

27 lines
1.4 KiB
C#
Raw Permalink Normal View History

2026-05-05 15:31:24 +08:00
using System.Threading.Tasks;
namespace TabletTester2025.Services
{
public interface IPlcService
2026-05-16 10:55:07 +08:00
{ //建立通讯链接
2026-05-05 15:31:24 +08:00
Task ConnectAsync();
2026-05-18 14:06:04 +08:00
//确认 PLC 当前可通讯,不能只依赖 TCP socket 状态。
Task<bool> CheckConnectionAsync();
2026-05-16 10:55:07 +08:00
//从 PLC 的指定起始地址,读取 1 个 32 位浮点型float数据。
2026-05-05 15:31:24 +08:00
Task<float> ReadFloatAsync(ushort startAddress);
2026-05-16 10:55:07 +08:00
//从 PLC 的指定起始地址,读取 1 个 32 位整型int数据。
2026-05-15 11:13:06 +08:00
Task<int> ReadIntAsync(ushort startAddress);
2026-05-16 10:55:07 +08:00
//向 PLC 的指定线圈地址,写入一个布尔值(开关量)。
2026-05-05 15:31:24 +08:00
Task WriteCoilAsync(ushort coilAddress, bool value);
2026-05-16 10:55:07 +08:00
//读取 PLC 指定线圈地址的布尔状态,是 WriteCoilAsync 的配套读取方法。
2026-05-05 15:31:24 +08:00
Task<bool> ReadCoilAsync(ushort coilAddress);
2026-05-16 10:55:07 +08:00
//向 PLC 的指定寄存器地址,写入 1 个 16 位无符号整型ushort数据。
2026-05-05 15:31:24 +08:00
Task WriteRegisterAsync(ushort registerAddress, ushort value);
2026-05-16 16:58:57 +08:00
//向 PLC 的指定起始地址,写入 1 个 32 位浮点型float数据。
Task WriteFloatAsync(ushort startAddress, float value);
2026-05-16 10:55:07 +08:00
//批量读取 PLC 的保持寄存器数据,是工业通信中最高效的批量读取方法。
2026-05-05 15:31:24 +08:00
Task<ushort[]> ReadHoldingRegistersAsync(ushort startAddress, ushort count);
bool IsConnected { get; }
}
2026-05-16 16:58:57 +08:00
}