namespace JSMachine.WMS.PLC { /// /// PLC Modbus 通信引擎契约,统一提供连接、线圈和寄存器读写能力。 /// public interface IModbusEngine { /// /// 初始化PLC参数 /// /// /// /// IModbusEngine Init(string ip, int port); /// /// 连接PLC /// /// IModbusEngine Connet(); /// /// 批量读取线圈值 /// /// /// /// /// bool[] ReadCoils(byte slaveAddress, ushort startAddress, ushort numberOfPoints); /// /// 批量读取线圈值(异步) /// /// /// /// /// Task ReadCoilsAsync(byte slaveAddress, ushort startAddress, ushort numberOfPoints); /// /// 无符号读取 /// /// /// /// /// ushort[] ReadUshorts(byte slaveAddress, ushort startAddress, ushort numberOfPoints); /// /// 无符号读取(异步) /// /// /// /// /// Task ReadUshortsAsync(byte slaveAddress, ushort startAddress, ushort numberOfPoints); /// /// 有符号读取 /// /// /// /// /// short[] ReadShorts(byte slaveAddress, ushort startAddress, ushort numberOfPoints); /// /// 有符号读取(异步) /// /// /// /// /// Task ReadShortsAsync(byte slaveAddress, ushort startAddress, ushort numberOfPoints); /// /// 写单个无符号值 /// /// /// /// /// bool WriteUshortOne(byte slaveAddress, ushort startAddress, ushort data); /// /// 写单个无符号值(异步) /// /// /// /// /// Task WriteUshortOneAsync(byte slaveAddress, ushort startAddress, ushort data); /// /// 写单个有符号值 /// /// /// /// /// bool WriteShortOne(byte slaveAddress, ushort startAddress, short data); /// /// 写单个有符号值 /// /// /// /// /// bool WriteCoilOne(byte slaveAddress, ushort startAddress, bool data); /// /// 写单个有符号值 /// /// /// /// /// Task WriteCoilOneAsync(byte slaveAddress, ushort startAddress, bool data); /// /// 写单个有符号值(异步) /// /// /// /// /// Task WriteShortOneAsync(byte slaveAddress, ushort startAddress, short data); /// /// 写多个无符号值 /// /// /// /// /// bool WriteUshortsMany(byte slaveAddress, ushort startAddress, ushort[] data); /// /// 写多个无符号值(异步) /// /// /// /// /// Task WriteUshortsManyAsync(byte slaveAddress, ushort startAddress, ushort[] data); /// /// 写多个有符号值 /// /// /// /// /// bool WriteShortsMany(byte slaveAddress, ushort startAddress, short[] data); /// /// 写多个有符号值(异步) /// /// /// /// /// Task WriteShortsManyAsync(byte slaveAddress, ushort startAddress, short[] data); /// /// PLC是否已连接 /// /// bool IsConneted(); } }