private void btn_r_process_control_Click(object sender, EventArgs e) { ProcessLaunchReport processLaunchReport = new ProcessLaunchReport() { CSTID = "CST001", LOTID = "20180418", PPID = "Test Recipe", PTID = "P01", PTTYPE = PTTYPE.PTTYPELIST["Load Port"], PTUSETYPE = PTUSETYPE.PTUSETYPELIST["Good"], }; cimClient?.LaunchProcessReport(RCMD.START, processLaunchReport, this._equipmentInfo); }
/// <summary> /// Remote Control Scenario: /// Process (Start/Cancel/Abort/Pause/Resume/Operator Call) /// Report /// </summary> /// <param name="rcmd"></param> /// <param name="processLaunchReport"></param> /// <param name="equipmentInfo"></param> /// <returns></returns> public bool LaunchProcessReport(RCMD rcmd, ProcessLaunchReport processLaunchReport, EquipmentInfo equipmentInfo) { var rc = scenarioControllers[Scenarios.Remote_Control] as RemoteControl; return(rc.LaunchProcessReport(rcmd, processLaunchReport, equipmentInfo.EquipmentStatus)); }
/// <summary> /// Process Report /// CEID: 301=>start, 304=>cancel, 305=>abort, 306=>pause, 307=>resume /// </summary> /// <returns></returns> public bool LaunchProcessReport(RCMD rcmd, ProcessLaunchReport processLaunchReport, EquipmentStatus equipmentStatus) { int ceid = 0; switch (rcmd) { case RCMD.START: ceid = 301; break; case RCMD.CANCEL: ceid = 304; break; case RCMD.ABORT: ceid = 305; break; case RCMD.PAUSE: ceid = 306; break; case RCMD.RESUME: ceid = 307; break; case RCMD.OPERATOR_CALL: default: break; } if (ceid <= 0) { CIMBASE.WriteLog(AATS.Log.LogLevel.ERROR, "CEID value is out of range. CEID: " + ceid); return(false); } ProcessLaunchReport newReport = new ProcessLaunchReport(0, ceid, 100, equipmentStatus, 301) { LOTID = processLaunchReport.LOTID, PTID = processLaunchReport.PTID, PTTYPE = processLaunchReport.PTTYPE, PTUSETYPE = processLaunchReport.PTUSETYPE, CSTID = processLaunchReport.CSTID, PPID = processLaunchReport.PPID, }; var replyMsg = S6F11(newReport.SecsItem, (int)ceid); if (replyMsg != null && replyMsg.GetSFString() == "S6F12") { try { int ack = replyMsg.GetCommandValue(); if (ack == 0) { return(true); } } catch (InvalidOperationException ex) { CIMBASE.WriteLog(AATS.Log.LogLevel.ERROR, "", ex); return(false); } } CIMBASE.WriteLog(AATS.Log.LogLevel.ERROR, "something wrong was happened when send process report"); return(false); }