You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
378 lines
15 KiB
378 lines
15 KiB
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Mirle.Component.API.ShuttleCarController.Models
|
|
{
|
|
/// <summary>
|
|
/// Shuttle message extensions
|
|
/// </summary>
|
|
public static class WrapperMessageExtensions
|
|
{
|
|
/// <summary>
|
|
/// Get ID 9012 shuttle car controller online response
|
|
/// </summary>
|
|
/// <param name="result">Online permit result</param>
|
|
/// <returns>Shuttle car controller online response message</returns>
|
|
public static WrapperMessage Get_ID_9012_ShuttleCOnlineResponse(bool result)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 12,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
S12 = new S12_ShuttleCOnlineResponse()
|
|
{
|
|
ReplyCode = result ? 0 : 1
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9014 Shuttle car controller offline response
|
|
/// </summary>
|
|
/// <param name="result">Offline permit result</param>
|
|
/// <returns>Shuttle car controller offline response message</returns>
|
|
public static WrapperMessage Get_ID_9014_ShuttleOfflineResponse(bool result)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 14,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
S14 = new S14_ShuttleCOfflineResponse()
|
|
{
|
|
ReplyCode = result ? 0 : 1
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9015 Datetime sync report
|
|
/// </summary>
|
|
/// <returns>Datetime sync report message</returns>
|
|
public static WrapperMessage Get_ID_9015_DateTimeSyncReport()
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 15,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
P15 = new P15_DateTimeSyncRequest()
|
|
{
|
|
SyncDateTime = DateTime.Now.ToString("yyyyMMddHHmmssff")
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9021 release repair door interlock request
|
|
/// </summary>
|
|
/// <param name="repairDoorID">Repair door ID</param>
|
|
/// <returns>Release repair door interlock request message</returns>
|
|
public static WrapperMessage Get_ID_9021_ReleaseRepairDoorInterlockRequest(string repairDoorID)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 21,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
P21 = new P21_ReleaseRepairDoorInterlockRequest()
|
|
{
|
|
RepairDoorID = repairDoorID
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9023 cancel release repair door interlock request
|
|
/// </summary>
|
|
/// <param name="repairDoorID">Repair door ID</param>
|
|
/// <returns>Cancel release repair door interlock request message</returns>
|
|
public static WrapperMessage Get_ID_9023_CancelReleaseRepairDoorInterlockRequest(string repairDoorID)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 23,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
P23 = new P23_CancelReleaseRepairDoorInterlockRequest()
|
|
{
|
|
RepairDoorID = repairDoorID
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9026 release repair door status response
|
|
/// </summary>
|
|
/// <param name="result">Process result</param>
|
|
/// <returns>Release repair door status response message</returns>
|
|
public static WrapperMessage Get_ID_9026_ReleaseRepairDoorStatusResponse(bool result)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 26,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
S26 = new S26_RepairDoorReleaseStatusResponse()
|
|
{
|
|
ReplyCode = result ? 0 : 1
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9029 repair door interlock status change report
|
|
/// </summary>
|
|
/// <param name="repairDoorID">Repair door ID</param>
|
|
/// <param name="doorStatus">Repair door stauts</param>
|
|
/// <param name="doorLockStatus">Repair door lock status</param>
|
|
/// <returns>Repair door interlock status change report message</returns>
|
|
public static WrapperMessage Get_ID_9029_RepariDoorInterlockStatusChangeReport(string repairDoorID, int doorStatus, int doorLockStatus)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 29,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
P29 = new P29_RepairDoorInterlockStatusChangeReport()
|
|
{
|
|
RepairDoorID = repairDoorID,
|
|
DoorStatus = doorStatus,
|
|
DoorLockStatus = doorLockStatus
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9032 fire door response
|
|
/// </summary>
|
|
/// <param name="result">Process result</param>
|
|
/// <param name="doorID">Rolling door ID</param>
|
|
/// <param name="doorAction">Rolling door action</param>
|
|
/// <param name="crossingLock">Rolling crossing lock status</param>
|
|
/// <returns>Fire door response message</returns>
|
|
public static WrapperMessage Get_ID_9032_FireDoorResponse(bool result, string doorID, int doorAction, int crossingLock)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 32,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
S32 = new S32_FireDoorResponse()
|
|
{
|
|
ReplyCode = result ? 0 : 1,
|
|
DoorID = doorID,
|
|
DoorAction = doorAction,
|
|
DoorLockStateCode = crossingLock
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9036 query fire door status response
|
|
/// </summary>
|
|
/// <param name="doorListStatus">Class for door list status</param>
|
|
/// <returns>Query fire door status response message</returns>
|
|
public static WrapperMessage Get_ID_9036_QueryFireDoorStatusResponse(List<DoorStatus> doorListStatus)
|
|
{
|
|
WrapperMessage wrapper_message = new WrapperMessage()
|
|
{
|
|
ID = 36,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
S36 = new S36_QueryFireDoorStatusResponse()
|
|
{
|
|
}
|
|
};
|
|
wrapper_message.S36.DoorList.Add(doorListStatus);
|
|
return wrapper_message;
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9041 command request message
|
|
/// </summary>
|
|
/// <param name="commandID">Controller command ID</param>
|
|
/// <param name="cmdType">Controller command type</param>
|
|
/// <param name="priority">Task priority</param>
|
|
/// <param name="source">Source position</param>
|
|
/// <param name="destination">Destination position</param>
|
|
/// <param name="cassetteID">Cassette ID</param>
|
|
/// <param name="cassetteType">Cassette type</param>
|
|
/// <param name="vehicleID">Vehicle ID</param>
|
|
/// <returns>Command request message</returns>
|
|
public static WrapperMessage Get_ID_9041_CommandRequest(string commandID, int cmdType, int priority,
|
|
string source, string destination, string cassetteID, int cassetteType, int vehicleID = 0)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 41,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
P41 = new P41_CommandRequest()
|
|
{
|
|
CmdID = commandID,
|
|
CmdType = cmdType,
|
|
Priority = priority,
|
|
Source = source,
|
|
Destination = destination,
|
|
CstID = cassetteID,
|
|
CstType = cassetteType,
|
|
VehicleID = vehicleID
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9043 command cancel request
|
|
/// </summary>
|
|
/// <param name="commandID">Controller command ID</param>
|
|
/// <returns>Command cancel request message</returns>
|
|
public static WrapperMessage Get_ID_9043_CommandCancelRequest(string commandID)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 43,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
P43 = new P43_CancelCommandRequest()
|
|
{
|
|
CmdID = commandID
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9045 pause request
|
|
/// </summary>
|
|
/// <param name="eventType">Event type</param>
|
|
/// <param name="pauseType">Pause type</param>
|
|
/// <returns>Pause request message</returns>
|
|
public static WrapperMessage Get_ID_9045_PauseRequest(PauseEvent eventType, int pauseType)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 45,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
P45 = new P45_PauseRequest()
|
|
{
|
|
EventType = eventType,
|
|
PauseType = pauseType
|
|
}
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// Get ID 9052 alarm response
|
|
/// </summary>
|
|
/// <param name="result">Process result</param>
|
|
/// <returns>Alarm response message</returns>
|
|
public static WrapperMessage Get_ID_9052_AlarmResponse(bool result)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 52,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
S52 = new S52_AlarmResponse()
|
|
{
|
|
ReplyCode = result ? 0 : 1
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9062 command status response
|
|
/// </summary>
|
|
/// <param name="result">Receive and check result</param>
|
|
/// <param name="commandID">Controller's command ID</param>
|
|
/// <param name="commandStatus">Controller's command status</param>
|
|
/// <returns>Command status response message</returns>
|
|
public static WrapperMessage Get_ID_9062_CommandStatusResponse(bool result, string commandID, int commandStatus)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 62,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
S62 = new S62_CommandStatusResponse()
|
|
{
|
|
ReplyCode = result ? 0 : 1,
|
|
CmdID = commandID,
|
|
CmdStatus = commandStatus
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9065 query all command status request
|
|
/// </summary>
|
|
/// <returns>Query all command status request message</returns>
|
|
public static WrapperMessage Get_ID_9065_QueryAllCommandStatusRequest()
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 65,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
P65 = new P65_QueryAllCOmmandStatusRequest()
|
|
{
|
|
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9068 vehicle status response
|
|
/// </summary>
|
|
/// <param name="result">Process result</param>
|
|
/// <returns>Vehicle status response message</returns>
|
|
public static WrapperMessage Get_ID_9068_VehicleStatusResponse(bool result)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 68,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
S68 = new S68_VehicleStatusResponse()
|
|
{
|
|
ReplyCode = result ? 0 : 1
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9069 query vehicle status request
|
|
/// </summary>
|
|
/// <param name="queryType">Query type</param>
|
|
/// <param name="vehicleID">Vehicle ID</param>
|
|
/// <returns>Query vehicle status request message</returns>
|
|
public static WrapperMessage Get_ID_9069_QueryVehicleStatusRequest(int queryType, int vehicleID = 0)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 69,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
P69 = new P69_QueryVehicleStatusRequest()
|
|
{
|
|
QueryType = queryType,
|
|
VehicleID = vehicleID
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9083 Change layer response
|
|
/// </summary>
|
|
/// <param name="commandID">Shuttle car controller command ID</param>
|
|
/// <param name="source">Source floor</param>
|
|
/// <param name="destination">Destination floor</param>
|
|
/// <param name="lifterID">Lifter ID</param>
|
|
/// <param name="result">Process result</param>
|
|
/// <returns>Change layer response message</returns>
|
|
public static WrapperMessage Get_ID_9084_ChangeLayerResponse(string commandID, int source, int destination, int lifterID, bool result)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 84,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
S84 = new S84_ChangeLayerResponse()
|
|
{
|
|
CmdID = commandID,
|
|
SourceLayer = source,
|
|
DestinationLayer = destination,
|
|
LifterID = lifterID,
|
|
ReplyCode = result ? 0 : 1
|
|
}
|
|
};
|
|
}
|
|
/// <summary>
|
|
/// Get ID 9091 lifter arrival report
|
|
/// </summary>
|
|
/// <param name="lifterID">Lifter ID</param>
|
|
/// <param name="lifterLocation">Lifter current floor</param>
|
|
/// <returns>Lifter arrival report message</returns>
|
|
public static WrapperMessage Get_ID_9091_LifterArrivalReport(int lifterID, int lifterLocation)
|
|
{
|
|
return new WrapperMessage()
|
|
{
|
|
ID = 91,
|
|
LocalSystemTime = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
|
|
P91 = new P91_LifterArrivalReport()
|
|
{
|
|
LifterID = lifterID,
|
|
LifterLocation = lifterLocation
|
|
}
|
|
};
|
|
}
|
|
}
|
|
}
|