예제 #1
0
        public static string convert2MCS(AVEHICLE.VehicleState vehicleState, ProtocolFormat.OHTMessage.CompleteStatus tran_cmp_status)
        {
            switch (tran_cmp_status)
            {
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusMove:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusLoad:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusUnload:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusLoadunload:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusHome:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusOverride:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusCstIdrenmae:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusMtlhome:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusMoveToCharger:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusSystemOut:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusSystemIn:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusTechingMove:
                return(CMD_Result_Successful);

            //A0.01 case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusCancel:
            //A0.01 case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusAbort:
            //A0.02 case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusVehicleAbort:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusLongTimeInaction:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusForceFinishByOp:
                return(CMD_Result_Unsuccessful);

            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusIdreadFailed:
                return(CMD_Result_BCRError);

            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusIdmisMatch:
                return(CMD_Result_CarrierIDUnmach);

            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusInterlockError:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusCancel:     //A0.01
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusAbort:      //A0.01
                //if (vehicleState == AVEHICLE.VehicleState.ACQUIRING)
                //{
                //    return CMD_Result_DisableLoad;
                //}
                //else if (vehicleState == AVEHICLE.VehicleState.DEPOSITING)
                //{
                //    return CMD_Result_DisableUnload;
                //}
                //else
                //{
                //    return CMD_Result_Unsuccessful;
                //}
                return(CMD_Result_InterlockError);

            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusVehicleAbort:     //A0.02
                return(CMD_Result_VehicleAbortError);                                //A0.02

            default:
                throw new Exception("參數錯誤");     //TODO 要帶入正確的Exception。
            }
        }
예제 #2
0
        //public const string CMD_Result_InterlockError = "64";
        public static string convert2MCS(ProtocolFormat.OHTMessage.CompleteStatus tran_cmp_status)
        {
            switch (tran_cmp_status)
            {
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusMove:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusScan:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusLoad:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusUnload:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusLoadunload:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusHome:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusOverride:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusCstIdrenmae:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusMtlhome:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusMoveToMtl:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusSystemOut:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusSystemIn:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusTechingMove:
                return(CMD_Result_Successful);

            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusCancel:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusAbort:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusVehicleAbort:
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusInterlockError:
                return(CMD_Result_Unsuccessful);

            //return CMD_Result_InterlockError;
            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusIdmisMatch:
                return(CMD_Result_IDMismatch);

            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusIdreadFailed:
                return(CMD_Result_IDReadFailed);

            case ProtocolFormat.OHTMessage.CompleteStatus.CmpStatusIdreadDuplicate:
                return(CMD_Result_IDDuplicate);

            default:
                throw new Exception("參數錯誤");     //TODO 要帶入正確的Exception。
            }
        }