Beispiel #1
0
        public bool setForkCtrl(ForkLift fl, int ctrl)
        {
            string cmd   = "cmd=pause;pauseStat=" + ctrl;
            int    times = 0;

            while (times < 3)
            {
                try
                {
                    fl.tcpClient.SendMessage(cmd);
                    break;
                }
                catch
                {
                    Message message = new Message();
                    message.setMessageType(AGVMESSAGE_TYPE_T.AGVMESSAGE_SENDPAUSE_ERR);
                    message.setMessageStr("发送中断错误");

                    AGVInitialize.getInitialize().getAGVMessage().setMessage(message);
                }

                times++;
            }


            Console.WriteLine("setForkCtrl forklift " + fl.id + "cmd = " + cmd);
            AGVLog.WriteInfo("setForkCtrl forklift " + fl.id + "cmd = " + cmd, new StackFrame(true));
            return(true);
        }
Beispiel #2
0
        private void handleDataSerialPort()
        {
            int count;

            byte[] response = null;
            while (!isStop)
            {
                byte[] readBuffer = new byte[1];
                try
                {
                    sp.Write(common, 0, 4);

                    while ((count = sp.BytesToRead) != 8)
                    {
                        //            Console.WriteLine("wait to read bytes count = " + count); //等待反馈
                        Thread.Sleep(10);
                    }


                    response = new byte[count];
                    sp.Read(response, 0, count);

                    outCommand = readDataCommand(response);

                    /*if (outCommand == LIFT_OUT_COMMAND_T.LIFT_OUT_COMMAND_loushang_baojing || outCommand == LIFT_OUT_COMMAND_T.LIFT_OUT_COMMAND_louxia_baojing)
                     * {
                     *  if (dataCommand[0] == 0)  //当前没有命令的时候才去发送复位信号,否则会覆盖之前的信号
                     *  {
                     *      dataCommand[0] = 0x4;
                     *  }
                     *
                     *  Console.WriteLine("will to reset");
                     * }*/

                    if (outCommand > LIFT_OUT_COMMAND_T.LIFT_OUT_COMMAND_UP_DOWN) //如果读取到升降机异常, 不再向升降机发送命令
                    {
                        AGVLog.WriteInfo("升降机异常 " + outCommand, new StackFrame(true));
                        continue;
                    }

                    if (dataCommand[0] > 0)
                    {
                        sendCommand(dataCommand);
                        dataCommand[0] = 0;
                        dataCommand[1] = 0;   //清空数据
                    }
                } catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                    handleLiftComException();
                }

                Thread.Sleep(200);
            }
        }
        public static bool setForkCtrlWithPrompt(ForkLiftWrapper fl, int ctrl)
        {
            string cmd = "cmd=pause;pauseStat=" + ctrl;

            try {
                fl.getAGVSocketClient().SendMessage(cmd);
            } catch {
                Console.WriteLine("setForkCtrlWithPrompt forklift " + fl.getForkLift().id + "cmd = " + cmd + "failed");
                AGVLog.WriteInfo("setForkCtrlWithPrompt forklift " + fl.getForkLift().id + "cmd = " + cmd + "failed", new StackFrame(true));
            }

            Console.WriteLine("setForkCtrlWithPrompt forklift " + fl.getForkLift().id + "cmd = " + cmd + "success");
            AGVLog.WriteInfo("setForkCtrlWithPrompt forklift " + fl.getForkLift().id + "cmd = " + cmd + "success", new StackFrame(true));
            return(true);
        }
        public static bool setForkCtrl(ForkLiftWrapper fl, int ctrl)
        {
            string cmd   = "cmd=pause;pauseStat=" + ctrl;
            int    times = 0;

            while (times < 3)
            {
                try {
                    fl.getAGVSocketClient().SendMessage(cmd);
                    break;
                } catch {
                    AGVMessage message = new AGVMessage();
                    message.setMessageType(AGVMessageHandler_TYPE_T.AGVMessageHandler_SENDPAUSE_ERR);
                    message.setMessageStr("发送中断错误");
                    AGVMessageHandler.getMessageHandler().setMessage(message);
                }
                times++;
            }
            Console.WriteLine("setForkCtrl forklift " + fl.getForkLift().id + "cmd = " + cmd);
            AGVLog.WriteInfo("setForkCtrl forklift " + fl.getForkLift().id + "cmd = " + cmd, new StackFrame(true));
            return(true);
        }