电梯bug erp成品调拨入库单同步
This commit is contained in:
@@ -2208,56 +2208,56 @@ namespace Tnb.WarehouseMgr
|
||||
|
||||
Logger.Information($"当前:{devName.Match(@"\d+")}#梯");
|
||||
|
||||
var tags = new[] { "SysStatus", "RunStatus", "FloorNo", "DoorStatus", "AGVStatus" };
|
||||
(int sysStatus, int runStatus, int curFloorNo, int doorStatus, int agvStatus) eleStatusMulti = await _elevatorControlService.GetElevatorStatus(devName, tags, CancellationToken.None);
|
||||
if (eleStatusMulti.agvStatus != (int)EnumAgvStatus.AGV运行状态)
|
||||
{
|
||||
_ = await _elevatorControlService.WriteTagAsync(devName, ElevatorConsts.AGVControl, 1);
|
||||
}
|
||||
//var tags = new[] { "SysStatus", "RunStatus", "FloorNo", "DoorStatus", "AGVStatus" };
|
||||
//(int sysStatus, int runStatus, int curFloorNo, int doorStatus, int agvStatus) eleStatusMulti = await _elevatorControlService.GetElevatorStatus(devName, tags, CancellationToken.None);
|
||||
//if (eleStatusMulti.agvStatus != (int)EnumAgvStatus.AGV运行状态)
|
||||
//{
|
||||
// _ = await _elevatorControlService.WriteTagAsync(devName, ElevatorConsts.AGVControl, 1);
|
||||
//}
|
||||
|
||||
if (!_elevatorAgvCtlStatusMap.TryGetValue(disTask.id, out int agvCtlStatus) || agvCtlStatus != (int)EnumAgvStatus.AGV运行状态)
|
||||
{
|
||||
do
|
||||
{
|
||||
eleStatusMulti = await _elevatorControlService.GetElevatorStatus(devName, tags, CancellationToken.None);
|
||||
Logger.Information($"{devName.Match(@"\d+")}#, 当前Agv状态:{eleStatusMulti.agvStatus.ToEnum<EnumAgvStatus>()}");
|
||||
await Task.Delay(1000);
|
||||
} while (eleStatusMulti.agvStatus != (int)EnumAgvStatus.AGV运行状态);
|
||||
Logger.Information($"{devName.Match(@"\d+")}#, 当前Agv状态:{eleStatusMulti.agvStatus.ToEnum<EnumAgvStatus>()}");
|
||||
_elevatorAgvCtlStatusMap[disTask.id] = eleStatusMulti.agvStatus;
|
||||
}
|
||||
//if (!_elevatorAgvCtlStatusMap.TryGetValue(disTask.id, out int agvCtlStatus) || agvCtlStatus != (int)EnumAgvStatus.AGV运行状态)
|
||||
//{
|
||||
// do
|
||||
// {
|
||||
// eleStatusMulti = await _elevatorControlService.GetElevatorStatus(devName, tags, CancellationToken.None);
|
||||
// Logger.Information($"{devName.Match(@"\d+")}#, 当前Agv状态:{eleStatusMulti.agvStatus.ToEnum<EnumAgvStatus>()}");
|
||||
// await Task.Delay(1000);
|
||||
// } while (eleStatusMulti.agvStatus != (int)EnumAgvStatus.AGV运行状态);
|
||||
// Logger.Information($"{devName.Match(@"\d+")}#, 当前Agv状态:{eleStatusMulti.agvStatus.ToEnum<EnumAgvStatus>()}");
|
||||
// _elevatorAgvCtlStatusMap[disTask.id] = eleStatusMulti.agvStatus;
|
||||
//}
|
||||
|
||||
int doorStatus = -1;
|
||||
bool closeDoorRes = await _elevatorControlService.SendOpenCloseCmd(devName, 4); //向电梯发送前门关门指令
|
||||
Logger.Information($"关门结果:{closeDoorRes}");
|
||||
do
|
||||
{
|
||||
doorStatus = await _elevatorControlService.GetTagAsync(devName, ElevatorConsts.DoorStatus);
|
||||
Logger.Information($"当前门状态:{doorStatus}");
|
||||
await Task.Delay(1000);
|
||||
} while (doorStatus != 4);
|
||||
Logger.Information($"当前门状态:{doorStatus}");
|
||||
//int doorStatus = -1;
|
||||
//bool closeDoorRes = await _elevatorControlService.SendOpenCloseCmd(devName, 4); //向电梯发送前门关门指令
|
||||
//Logger.Information($"关门结果:{closeDoorRes}");
|
||||
//do
|
||||
//{
|
||||
// doorStatus = await _elevatorControlService.GetTagAsync(devName, ElevatorConsts.DoorStatus);
|
||||
// Logger.Information($"当前门状态:{doorStatus}");
|
||||
// await Task.Delay(1000);
|
||||
//} while (doorStatus != 4);
|
||||
//Logger.Information($"当前门状态:{doorStatus}");
|
||||
|
||||
int floor = await GetRealFloor(devName, disTask.end_floor);
|
||||
//int floor = await GetRealFloor(devName, disTask.end_floor);
|
||||
|
||||
//电梯任务手动执行任务状态上报
|
||||
(int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus) tuple = (-1, -1, -1, -1, -1);
|
||||
tuple = await _elevatorControlService.GetElevatorStatus(devName, tags, CancellationToken.None);
|
||||
Logger.Information($"目标楼层:{floor} 当前楼层:{tuple.floorNo}");
|
||||
////电梯任务手动执行任务状态上报
|
||||
//(int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus) tuple = (-1, -1, -1, -1, -1);
|
||||
//tuple = await _elevatorControlService.GetElevatorStatus(devName, tags, CancellationToken.None);
|
||||
//Logger.Information($"目标楼层:{floor} 当前楼层:{tuple.floorNo}");
|
||||
|
||||
Logger.Information($"开始呼梯 {devName}到{floor}");
|
||||
//发送到目标楼的指令
|
||||
dynamic result = await _elevatorControlService.WriteTagAsync(devName, ElevatorConsts.FloorExecute, floor);
|
||||
//Logger.Information($"开始呼梯 {devName}到{floor}");
|
||||
////发送到目标楼的指令
|
||||
//dynamic result = await _elevatorControlService.WriteTagAsync(devName, ElevatorConsts.FloorExecute, floor);
|
||||
|
||||
do
|
||||
{
|
||||
tuple = await _elevatorControlService.GetElevatorStatus(devName, tags, CancellationToken.None);
|
||||
await Task.Delay(1000);
|
||||
} while (tuple.sysStatus != 3 || tuple.runStatus != 0 || floor != tuple.floorNo);
|
||||
//do
|
||||
//{
|
||||
// tuple = await _elevatorControlService.GetElevatorStatus(devName, tags, CancellationToken.None);
|
||||
// await Task.Delay(1000);
|
||||
//} while (tuple.sysStatus != 3 || tuple.runStatus != 0 || floor != tuple.floorNo);
|
||||
|
||||
Logger.Information($"sysStatus:{tuple.sysStatus},runStatus:{tuple.runStatus},当前楼层floorNo:{tuple.floorNo},目标楼层disTask.end_floor={floor}");
|
||||
//Logger.Information($"sysStatus:{tuple.sysStatus},runStatus:{tuple.runStatus},当前楼层floorNo:{tuple.floorNo},目标楼层disTask.end_floor={floor}");
|
||||
|
||||
if (tuple.sysStatus.ToEnum<EnumSysStatus>() == EnumSysStatus.正常状态 && tuple.runStatus.ToEnum<EnumRunStatus>() == EnumRunStatus.停梯)
|
||||
//if (tuple.sysStatus.ToEnum<EnumSysStatus>() == EnumSysStatus.正常状态 && tuple.runStatus.ToEnum<EnumRunStatus>() == EnumRunStatus.停梯)
|
||||
{
|
||||
Logger.Information($"disTask.require_id={disTask.require_id}");
|
||||
List<string> disTaskIds = new() { disTasks[0].id };
|
||||
|
||||
Reference in New Issue
Block a user