using Mirle.Component.API.ProgrammableLogicController.Models;
using System.Threading.Tasks;
namespace Mirle.Component.API.ProgrammableLogicController.Modules
{
///
/// Programmable Logic Controller 商業邏輯介面
///
/// Message direction of warehouse control system to programmable logic controller
public interface IToProgrammableLogicControllerModule
{
///
/// 處理建立命令請求
///
/// 請求訊息
/// 已成功完成的工作
public Task Process_TP001_CreateCommandRequestAsync(TP001CreateCommandRequestDto message);
///
/// 處理執行命令回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP004_ExecuteCommandAckAsync(TP004ExecuteCommandAckDto message);
///
/// 處理完成命令回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP006_FinishCommandAckAsync(TP006FinishCommandAckDto message);
///
/// 處理取消命令請求
///
/// 請求訊息
/// 已成功完成的工作
public Task Process_TP007_CancelCommandRequestAsync(TP007CancelCommandRequestDto message);
///
/// 處理建立取放貨請求
///
/// 請求訊息
/// 已成功完成的工作
public Task Process_TP009_CreateLoadUnloadRequestAsync(TP009CreateLoadUnloadRequestDto message);
///
/// 處理完成取放貨回報
///
/// 回報訊息
/// 已成功完成的工作
public Task Process_TP011_FinishLoadUnloadReportAsync(TP011FinishLoadUnloadReportDto message);
///
/// 處理允許取放貨回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP014_PermitLoadUnloadAckAsync(TP014PermitLoadUnloadAckDto message);
///
/// 處理檢查載具編號及物料編號回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP016_CheckCarrierIDResponseAsync(TP016CheckCarrierIDResponseDto message);
///
/// 處理棧板供收狀態回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP018_PalletSupplyStatusAckAsync(TP018PalletSupplyStatusAckDto message);
///
/// 處理移動台車狀態請求
///
/// 請求訊息
/// 已成功完成的工作
public Task Process_TP019_MoveCarStatusRequestAsync(TP019MoveCarStatusRequestDto message);
///
/// 處理呼叫電梯請求
///
/// 請求訊息
/// 已成功完成的工作
public Task Process_TP021_CallLifterRequestAsync(TP021CallLifterRequestDto message);
///
/// 處理電梯抵達回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP024_ArrivedLifterAckAsync(TP024ArrivedLifterAckDto message);
///
/// 處理電梯貨物檢知回報
///
/// 回報訊息
/// 已成功完成的工作
public Task Process_TP025_CheckLifterItemReportAsync(TP025CheckLifterItemReportDto message);
///
/// 處理發生異常回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP028_HappenAlarmAckAsync(TP028HappenAlarmAckDto message);
///
/// 處理清除異常回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP030_ResetAlarmAckAsync(TP030ResetAlarmAckDto message);
///
/// 處理使用維修門回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP032_UseRepairDoorResponseAsync(TP032UseRepairDoorResponseDto message);
///
/// 處理釋放維修門回報
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP033_ReleaseRepairDoorReportAsync(TP033ReleaseRepairDoorReportDto message);
///
/// 處理維修門狀態回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP036_RepairDoorStatusAckAsync(TP036RepairDoorStatusAckDto message);
///
/// 處理使用鐵捲門請求
///
/// 請求訊息
/// 已成功完成的工作
public Task Process_TP037_UseRollingDoorRequestAsync(TP037UseRollingDoorRequestDto message);
///
/// 處理使用鐵捲門回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP040_RollingDoorStatusAckAsync(TP040RollingDoorStatusAckDto message);
///
/// 處理心跳包回應
///
/// 請求訊息
/// 已成功完成的工作
public Task Process_TP042_HeartbeatAckAsync(TP042HeartbeatAckDto message);
///
/// 處理操作模式回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP044_OperationModeAckAsync(TP044OperationModeAckDto message);
///
/// 處理鎖定庫區命令派送回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP046_LockStorageDispatchAckAsync(TP046LockStorageDispatchAckDto message);
///
/// 處理量測物料重量請求
///
/// 請求訊息
/// 已成功完成的工作
public Task Process_TP047_MaterialWeightRequestAsync(TP047MaterialWeightRequestDto message);
///
/// 處理消防警訊通知回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP050_FireAlarmNotifyAckAsync(TP050FireAlarmNotifyAckDto message);
///
/// 處理緊急應變請求
///
/// 請求訊息
/// 已成功完成的工作
public Task Process_TP051_EmergencyEventRequestAsync(TP051EmergencyEventRequestDto message);
///
/// 處理緊急停止回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP054_EmergencyOffAckAsync(TP054EmergencyOffAckDto message);
///
/// 處理建立電梯命令請求
///
/// 請求訊息
/// 已成功完成的工作
public Task Process_TP055_CreateLifterCommandRqeuestAsync(TP055CreateLifterCommandRequestDto message);
///
/// 處理完成電梯命令回應
///
/// 回應訊息
/// 已成功完成的工作
public Task Process_TP058_FinishLifterCommandAckAsync(TP058FinishLifterCommandAckDto message);
///
/// 處理取消電梯命令請求
///
/// 請求訊息
/// 已成功完成的工作
public Task Process_TP059_CancelLifterCommandRequestAsync(TP059CancelLifterCommandRequestDto message);
#region === [CPS] ===
///
/// 處理設備暫存資料回報
///
/// 回報訊息
/// 已成功完成的工作
public Task ProcessTemporaryEquipmentReportAsync(TemporaryEquipmentDto message);
///
/// 處理資料暫存回報
///
/// 回報訊息
/// 已成功完成的工作
public Task ProcessTemporaryDataReportAsync(TemporaryDataDto message);
#endregion
}
}