Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        public void agvInit()
        {
            AGVLog.WriteInfo("程序启动", new StackFrame(true));
            forkLiftList   = getAGVUtil().getForkLiftList();
            singleTaskList = getSingleTaskList();
            setForkliftStateFirst();

            ENV_ERR_TYPE err = checkRunning();

            handleCheckRunning(err);

            agvCom.startReadSerialPortThread();
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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();
                }
            }
        }