public override (bool isSendSuccess, UInt16 returnCode) OHxC_CarOutNotify(UInt16 car_id, UInt16 action_type) { bool isSendSuccess = false; var send_function = scApp.getFunBaseObj <OHxCToMtl_CarOutNotify_PH2>(MTS.EQPT_ID) as OHxCToMtl_CarOutNotify_PH2; var receive_function = scApp.getFunBaseObj <MtlToOHxC_ReplyCarOutNotify_PH2>(MTS.EQPT_ID) as MtlToOHxC_ReplyCarOutNotify_PH2; try { //1.準備要發送的資料 send_function.CarID = car_id; send_function.ActionType = action_type; ValueRead vr_reply = receive_function.getValueReadHandshake (bcfApp, MTS.EqptObjectCate, MTS.EQPT_ID); //2.紀錄發送資料的Log send_function.Handshake = 1; LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTSValueDefMapActionNewPH2), Device: SCAppConstants.DeviceName.DEVICE_NAME_MTx, Data: send_function.ToString(), XID: MTS.EQPT_ID); //3.等待回復 TrxMPLC.ReturnCode returnCode = send_function.SendRecv(bcfApp, MTS.EqptObjectCate, MTS.EQPT_ID, vr_reply); //4.取得回復的結果 if (returnCode == TrxMPLC.ReturnCode.Normal) { receive_function.Read(bcfApp, MTS.EqptObjectCate, MTS.EQPT_ID); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTSValueDefMapActionNewPH2), Device: SCAppConstants.DeviceName.DEVICE_NAME_MTx, Data: receive_function.ToString(), XID: MTS.EQPT_ID); isSendSuccess = true; } send_function.Handshake = 0; send_function.resetHandshake(bcfApp, MTS.EqptObjectCate, MTS.EQPT_ID); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTSValueDefMapActionNewPH2), Device: SCAppConstants.DeviceName.DEVICE_NAME_MTx, Data: send_function.ToString(), XID: MTS.EQPT_ID); return(isSendSuccess, receive_function.ReturnCode); } catch (Exception ex) { logger.Error(ex, "Exception"); } finally { scApp.putFunBaseObj <OHxCToMtl_CarOutNotify_PH2>(send_function); scApp.putFunBaseObj <MtlToOHxC_ReplyCarOutNotify_PH2>(receive_function); } return(isSendSuccess, 0); }
public virtual (bool isSendSuccess, UInt16 returnCode) OHxC_CarOutNotify(UInt16 car_id) { bool isSendSuccess = false; var send_function = scApp.getFunBaseObj <OHxCToMtl_CarOutNotify>(eqpt.EQPT_ID) as OHxCToMtl_CarOutNotify; var receive_function = scApp.getFunBaseObj <MtlToOHxC_ReplyCarOutNotify>(eqpt.EQPT_ID) as MtlToOHxC_ReplyCarOutNotify; try { //1.準備要發送的資料 send_function.CarID = car_id; ValueRead vr_reply = receive_function.getValueReadHandshake (bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID); //2.紀錄發送資料的Log send_function.Handshake = 1; LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTLValueDefMapAction), Device: DEVICE_NAME_MTL, Data: send_function.ToString(), VehicleID: eqpt.EQPT_ID); //3.等待回復 TrxMPLC.ReturnCode returnCode = send_function.SendRecv(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID, vr_reply); //4.取得回復的結果 if (returnCode == TrxMPLC.ReturnCode.Normal) { receive_function.Read(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTLValueDefMapAction), Device: DEVICE_NAME_MTL, Data: receive_function.ToString(), VehicleID: eqpt.EQPT_ID); isSendSuccess = true; } send_function.Handshake = 0; send_function.resetHandshake(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTLValueDefMapAction), Device: DEVICE_NAME_MTL, Data: send_function.ToString(), VehicleID: eqpt.EQPT_ID); return(isSendSuccess, receive_function.ReturnCode); } catch (Exception ex) { logger.Error(ex, "Exception"); } finally { scApp.putFunBaseObj <OHxCToMtl_CarOutNotify>(send_function); scApp.putFunBaseObj <MtlToOHxC_ReplyCarOutNotify>(receive_function); } return(isSendSuccess, 0); }
public override bool OHxC_AlarmResetRequest() { bool isSendSuccess = false; var send_function = scApp.getFunBaseObj <OHxCToMtl_AlarmResetRequest_PH2>(eqpt.EQPT_ID) as OHxCToMtl_AlarmResetRequest_PH2; var receive_function = scApp.getFunBaseObj <MtlToOHxC_AlarmResetReply_PH2>(eqpt.EQPT_ID) as MtlToOHxC_AlarmResetReply_PH2; try { //1.準備要發送的資料 ValueRead vr_reply = receive_function.getValueReadHandshake (bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID); //2.紀錄發送資料的Log send_function.Handshake = 1; LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTSValueDefMapActionNewPH2), Device: SCAppConstants.DeviceName.DEVICE_NAME_MTx, Data: send_function.ToString(), XID: eqpt.EQPT_ID); //3.等待回復 TrxMPLC.ReturnCode returnCode = send_function.SendRecv(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID, vr_reply); //4.取得回復的結果 if (returnCode == TrxMPLC.ReturnCode.Normal) { receive_function.Read(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTSValueDefMapActionNewPH2), Device: SCAppConstants.DeviceName.DEVICE_NAME_MTx, Data: receive_function.ToString(), XID: eqpt.EQPT_ID); isSendSuccess = true; } send_function.Handshake = 0; send_function.resetHandshake(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTSValueDefMapActionNewPH2), Device: SCAppConstants.DeviceName.DEVICE_NAME_MTx, Data: send_function.ToString(), XID: eqpt.EQPT_ID); } catch (Exception ex) { logger.Error(ex, "Exception"); } finally { scApp.putFunBaseObj <OHxCToMtl_AlarmResetRequest_PH2>(send_function); scApp.putFunBaseObj <MtlToOHxC_AlarmResetReply_PH2>(receive_function); } return(isSendSuccess); }
public virtual bool sendRoadControlCompleteNotify() { bool isSendSuccess = false; var send_function = scApp.getFunBaseObj <OHxCToOHVC_RoadControlCompleteNotify>(eqpt.EQPT_ID) as OHxCToOHVC_RoadControlCompleteNotify; var receive_function = scApp.getFunBaseObj <OHxCToOHVC_RoadControlCompleteNotifyReply>(eqpt.EQPT_ID) as OHxCToOHVC_RoadControlCompleteNotifyReply; ValueRead ReplyRoadControlCompleteNotifyVW = scApp.getBCFApplication().getReadValueEvent(SCAppConstants.EQPT_OBJECT_CATE_EQPT, eqpt.EQPT_ID, "REPLY_ROAD_CONTROL_COMPLETE_NOTIFY"); ValueWrite RoadControlCompleteNotifyVW = scApp.getBCFApplication().getWriteValueEvent(SCAppConstants.EQPT_OBJECT_CATE_EQPT, eqpt.EQPT_ID, "ROAD_CONTROL_COMPLETE_NOTIFY"); try { //1.準備要發送的資料 ValueRead vr_reply = receive_function.getValueReadHandshake (bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID); //2.紀錄發送資料的Log send_function.Handshake = true; LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(OHCVValueDefMapAction), Device: DEVICE_NAME_OHCV, Data: send_function.ToString(), VehicleID: eqpt.EQPT_ID); //3.等待回復 TrxMPLC.ReturnCode on_returnCode = send_function.SendRecv(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID, vr_reply); //4.取得回復的結果 if (on_returnCode == TrxMPLC.ReturnCode.Normal) { receive_function.Read(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(OHCVValueDefMapAction), Device: DEVICE_NAME_OHCV, Data: receive_function.ToString(), VehicleID: eqpt.EQPT_ID); isSendSuccess = true; } else { isSendSuccess = false; } send_function.Handshake = false; //send_function.resetHandshake(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(OHCVValueDefMapAction), Device: DEVICE_NAME_OHCV, Data: send_function.ToString(), VehicleID: eqpt.EQPT_ID); if (isSendSuccess) { TrxMPLC.ReturnCode off_returnCode = send_function.SendRecv(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID, vr_reply); if (off_returnCode == TrxMPLC.ReturnCode.Normal) { receive_function.Read(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID); LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(OHCVValueDefMapAction), Device: DEVICE_NAME_OHCV, Data: receive_function.ToString(), VehicleID: eqpt.EQPT_ID); isSendSuccess = true; } else { isSendSuccess = false; } } else { send_function.resetHandshake(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID); } } catch (Exception ex) { logger.Error(ex, "Exception"); } finally { scApp.putFunBaseObj <OHxCToOHVC_RoadControlCompleteNotify>(send_function); scApp.putFunBaseObj <OHxCToOHVC_RoadControlCompleteNotifyReply>(receive_function); } return(isSendSuccess); }