first commit
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
namespace JSMachine.WMS.PLC
|
||||
{
|
||||
/// <summary>
|
||||
/// PLC Modbus 通信引擎契约,统一提供连接、线圈和寄存器读写能力。
|
||||
/// </summary>
|
||||
public interface IModbusEngine
|
||||
{
|
||||
/// <summary>
|
||||
/// 初始化PLC参数
|
||||
/// </summary>
|
||||
/// <param name="ip"></param>
|
||||
/// <param name="port"></param>
|
||||
/// <returns></returns>
|
||||
IModbusEngine Init(string ip, int port);
|
||||
/// <summary>
|
||||
/// 连接PLC
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
IModbusEngine Connet();
|
||||
|
||||
/// <summary>
|
||||
/// 批量读取线圈值
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="numberOfPoints"></param>
|
||||
/// <returns></returns>
|
||||
bool[] ReadCoils(byte slaveAddress, ushort startAddress, ushort numberOfPoints);
|
||||
/// <summary>
|
||||
/// 批量读取线圈值(异步)
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="numberOfPoints"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool[]> ReadCoilsAsync(byte slaveAddress, ushort startAddress, ushort numberOfPoints);
|
||||
/// <summary>
|
||||
/// 无符号读取
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="numberOfPoints"></param>
|
||||
/// <returns></returns>
|
||||
ushort[] ReadUshorts(byte slaveAddress, ushort startAddress, ushort numberOfPoints);
|
||||
/// <summary>
|
||||
/// 无符号读取(异步)
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="numberOfPoints"></param>
|
||||
/// <returns></returns>
|
||||
Task<ushort[]> ReadUshortsAsync(byte slaveAddress, ushort startAddress, ushort numberOfPoints);
|
||||
/// <summary>
|
||||
/// 有符号读取
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="numberOfPoints"></param>
|
||||
/// <returns></returns>
|
||||
short[] ReadShorts(byte slaveAddress, ushort startAddress, ushort numberOfPoints);
|
||||
/// <summary>
|
||||
/// 有符号读取(异步)
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="numberOfPoints"></param>
|
||||
/// <returns></returns>
|
||||
Task<short[]> ReadShortsAsync(byte slaveAddress, ushort startAddress, ushort numberOfPoints);
|
||||
/// <summary>
|
||||
/// 写单个无符号值
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
bool WriteUshortOne(byte slaveAddress, ushort startAddress, ushort data);
|
||||
/// <summary>
|
||||
/// 写单个无符号值(异步)
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> WriteUshortOneAsync(byte slaveAddress, ushort startAddress, ushort data);
|
||||
/// <summary>
|
||||
/// 写单个有符号值
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
bool WriteShortOne(byte slaveAddress, ushort startAddress, short data);
|
||||
/// <summary>
|
||||
/// 写单个有符号值
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
bool WriteCoilOne(byte slaveAddress, ushort startAddress, bool data);
|
||||
/// <summary>
|
||||
/// 写单个有符号值
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> WriteCoilOneAsync(byte slaveAddress, ushort startAddress, bool data);
|
||||
/// <summary>
|
||||
/// 写单个有符号值(异步)
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> WriteShortOneAsync(byte slaveAddress, ushort startAddress, short data);
|
||||
/// <summary>
|
||||
/// 写多个无符号值
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
bool WriteUshortsMany(byte slaveAddress, ushort startAddress, ushort[] data);
|
||||
/// <summary>
|
||||
/// 写多个无符号值(异步)
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> WriteUshortsManyAsync(byte slaveAddress, ushort startAddress, ushort[] data);
|
||||
/// <summary>
|
||||
/// 写多个有符号值
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
bool WriteShortsMany(byte slaveAddress, ushort startAddress, short[] data);
|
||||
/// <summary>
|
||||
/// 写多个有符号值(异步)
|
||||
/// </summary>
|
||||
/// <param name="slaveAddress"></param>
|
||||
/// <param name="startAddress"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> WriteShortsManyAsync(byte slaveAddress, ushort startAddress, short[] data);
|
||||
/// <summary>
|
||||
/// PLC是否已连接
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
bool IsConneted();
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user