Files
tnb.server/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IElevatorControlService.cs
2023-11-06 19:35:59 +08:00

54 lines
1.9 KiB
C#

namespace Tnb.WarehouseMgr.Interfaces
{
/// <summary>
/// 电梯控制服务接口
/// </summary>
public interface IElevatorControlService
{
/// <summary>
/// 向指定的标签属性写入值
/// </summary>
/// <param name="tagName">标签名称</param>
/// <param name="value">标签值</param>
/// <returns></returns>
Task<dynamic> WriteTagAsync(string devName, string tagName, int value);
/// <summary>
/// 根据标签名称获取标签单个属性值
/// </summary>
/// <param name="tagName"></param>
/// <returns></returns>
Task<int> GetTagAsync(string devName, string tagName);
/// <summary>
/// 获取电梯状态
/// </summary>
/// <param name="token">取消标志</param>
/// <returns></returns>
Task<(int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus)> GetElevatorStatus(string devName, CancellationToken token);
/// <summary>
/// 检查Agv状态
/// </summary>
/// <param name="token"></param>
/// <returns></returns>
Task<bool> CheckAgvStatus(string devName, CancellationToken cancellationToken);
/// <summary>
/// 向系统发送开关门指令
/// </summary>
/// <param name="value">
/// 3前门开门
/// 4前门关门
/// 5后门开门
/// 6后门关门
/// </param>
/// <returns></returns>
Task<bool> SendOpenCloseCmd(string devName, int value);
/// <summary>
/// 呼梯操作
/// </summary>
/// <param name="devName">设备名称</param>
/// <param name="floor">呼叫楼层</param>
/// <param name="cancellationToken">取消令牌</param>
/// <returns></returns>
Task<bool> CallLift(string devName, int floor, CancellationToken cancellationToken);
}
}