private ENV_ERR_TYPE checkRunning() { ENV_ERR_TYPE err = ENV_ERR_TYPE.ENV_ERR_OK; bool stat = true; ///检查升降串口,必要条件,升降机串口不能用,主程序不能运行 agvCom = getAGVCom(); stat = agvCom.initSerialPort(); if (stat == false) { err = ENV_ERR_TYPE.ENV_LIFT_COM_ERR; return(err); } err = checkCacheTaskRecoreds(); ///检查3号车是否可用,备选条件,如果不可用,是否存在其它上货方式 ///检测USB报警灯,如果USB报警灯有问题,切换到电脑声音报警 try { if (JG_OpenUSBAlarmLamp(0) == 0) { MessageBox.Show("打开报警灯失败,切换到电脑声音报警"); useUsbAlarm = false; } }catch (Exception ex) { MessageBox.Show("打开报警灯失败,切换到电脑声音报警"); useUsbAlarm = false; } return(err); }
public String env_err_type_text(ENV_ERR_TYPE err) { string err_text = ""; switch (err) { case ENV_ERR_TYPE.ENV_ERR_OK: err_text = "OK"; break; case ENV_ERR_TYPE.ENV_LIFT_COM_ERR: err_text = "请检查升降机串口"; break; case ENV_ERR_TYPE.ENV_CACHE_TASKRECORD_WARNING: err_text = "检测到有未完成的任务,是否保存"; break; case ENV_ERR_TYPE.ENV_CACHE_UPTASKRECORD_WARNING: err_text = "检测到有未完成的上货,是否保存"; break; default: Console.WriteLine("没有找到对应的错误"); break; } return(err_text); }
/// <summary> ///检查升降串口,必要条件,升降机串口不能用,主程序不能运行 /// </summary> private ENV_ERR_TYPE checkRunning() { ENV_ERR_TYPE err = ENV_ERR_TYPE.ENV_ERR_OK; if (ElevatorFactory.getElevator().getStat() == false) { err = ENV_ERR_TYPE.ENV_LIFT_COM_ERR; return(err); } err = checkCacheTaskRecoreds(); ///检查3号车是否可用,备选条件,如果不可用,是否存在其它上货方式 ///检测USB报警灯,如果USB报警灯有问题,切换到电脑声音报警 try { if (JG_OpenUSBAlarmLamp(0) == 0) { //MessageBox.Show("打开报警灯失败,切换到电脑声音报警"); useUsbAlarm = false; } } catch (Exception ex) { //MessageBox.Show("打开报警灯失败,切换到电脑声音报警"); useUsbAlarm = false; } return(err); }
public void agvInit() { AGVLog.WriteInfo("程序启动", new StackFrame(true)); forkLiftList = getAGVUtil().getForkLiftList(); singleTaskList = getSingleTaskList(); setForkliftStateFirst(); ENV_ERR_TYPE err = checkRunning(); handleCheckRunning(err); agvCom.startReadSerialPortThread(); }
private ENV_ERR_TYPE checkCacheTaskRecoreds() { ENV_ERR_TYPE err = ENV_ERR_TYPE.ENV_ERR_OK; List <TaskRecord> taskRecordList = new List <TaskRecord>(); taskRecordList = getAGVUtil().updateTaskRecordList(); if (checkCurrentPeriod(taskRecordList)) { err = ENV_ERR_TYPE.ENV_CACHE_UPTASKRECORD_WARNING; return(err); } if (taskRecordList.Count > 0) { err = ENV_ERR_TYPE.ENV_CACHE_TASKRECORD_WARNING; } return(err); }
private ENV_ERR_TYPE checkCacheTaskRecoreds() { ENV_ERR_TYPE err = ENV_ERR_TYPE.ENV_ERR_OK; List <TaskRecord> taskRecordList = new List <TaskRecord>(); taskRecordList = TaskReordService.getInstance().getTaskRecordList(); if (checkCurrentPeriod(taskRecordList)) { err = ENV_ERR_TYPE.ENV_CACHE_UPTASKRECORD_WARNING; return(err); } if (taskRecordList.Count > 0) { err = ENV_ERR_TYPE.ENV_CACHE_TASKRECORD_WARNING; } return(err); }
private void handleCheckRunning(ENV_ERR_TYPE err) { if (err == ENV_ERR_TYPE.ENV_LIFT_COM_ERR) { DialogResult dr; dr = MessageBox.Show(env_err_type_text(err), "错误提示", MessageBoxButtons.OK); if (dr == DialogResult.OK) { Console.WriteLine(" exit "); System.Environment.Exit(0); } } else if (err == ENV_ERR_TYPE.ENV_CACHE_TASKRECORD_WARNING) { DialogResult dr; dr = MessageBox.Show(env_err_type_text(err), "检测到缓存任务", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { Console.WriteLine(" do nothing "); } else if (dr == DialogResult.No) { getAGVUtil().deleteCacheTaskRecord(); } } else if (err == ENV_ERR_TYPE.ENV_CACHE_UPTASKRECORD_WARNING) { DialogResult dr; dr = MessageBox.Show(env_err_type_text(err), "缓存任务", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { AGVInitialize.getInitialize().getSchedule().setDownDeliverPeriod(true); //设置当前处于上货阶段 } else if (dr == DialogResult.No) { getAGVUtil().deleteCacheTaskRecord(); } } }