Beispiel #1
0
        public void agvInit()
        {
            if (FormController.isNeedLogin())
            {
                FormController.getFormController().getLoginFrm().ShowDialog();
            }

            TaskexeDao.getDao().InsertTaskexeSysInfo("AGV通讯服务程序启动!");
            setForkliftStateFirst();

            handleCheckRunning(checkRunning());

            if (isNeedElevator)
            {
                ElevatorFactory.getElevator().startReadSerialPortThread();
            }

            if (isNeedAGVSocketServer)
            {
                AGVSocketServer.getSocketServer().StartAccept();
            }

            if (isNeedSchedule)
            {
                ScheduleFactory.getSchedule().startShedule();
            }

            if (isNeedTaskexe)
            {
                TaskexeService.getInstance().start();
            }

            AGVMessageHandler.getMessageHandler().StartHandleMessage();

            if (isNeedMain)
            {
                FormController.getFormController().getMainFrm().ShowDialog();
            }
            else
            {
                FormController.getFormController().getInfoFrm().ShowDialog();
            }
        }
        public void setPause(SHEDULE_PAUSE_TYPE_T spt)
        {
            this.currentPause = spt;

            AGVLog.WriteInfo(spt.ToString() + "was set ", new StackFrame(true));
            ///同步楼下的客户端
            if (currentPause == SHEDULE_PAUSE_TYPE_T.SHEDULE_PAUSE_SYSTEM_WITH_START)
            {
                AGVSocketServer.getSocketServer().sendDataMessage("systemPause=1");
            }
            else if (currentPause == SHEDULE_PAUSE_TYPE_T.SHEDULE_PAUSE_TYPE_MIN && lastPause == SHEDULE_PAUSE_TYPE_T.SHEDULE_PAUSE_SYSTEM_WITH_START)
            {
                AGVSocketServer.getSocketServer().sendDataMessage("systemPause=0");
            }

            if (this.currentPause > SHEDULE_PAUSE_TYPE_T.SHEDULE_PAUSE_TYPE_MIN && this.currentPause < SHEDULE_PAUSE_TYPE_T.SHEDULE_PAUSE_UP_MAX)
            {
                AGVLog.WriteInfo("启动暂停检测线程", new StackFrame(true));

                ThreadFactory.newBackgroudThread(new ThreadStart(shedulePause)).Start();
            }
        }