Пример #1
0
        public void DoRobotCommandFor(RobotCommand robotCommand)
        {
            if (IsReadyForRobotCommand())
            {
                Task.Run(() =>
                {
                    string addressID = robotCommand.PortAddressId;
                    EnumLoadUnload enumLoadUnload = GetEnumLoadUnloadFrom(robotCommand);
                    if (!LocalPackage.MainFlowHandler.LoadUnloadCommand(addressID, enumLoadUnload))
                    {
                        OnLogDebugEvent?.Invoke(this, new MessageHandlerArgs()
                        {
                            ClassMethodName = GetType().Name + ":" + System.Reflection.MethodBase.GetCurrentMethod().Name,
                            Message         = "LocalPackage.MainFlowHandler.LoadUnloadCommand return fail."
                        });

                        //TODO : Vertify will local package publish robot fail event?
                        //OnRobotEndEvent?.Invoke(this, EnumRobotEndType.RobotError);
                    }
                });
            }
            else
            {
                OnLogDebugEvent?.Invoke(this, new MessageHandlerArgs()
                {
                    ClassMethodName = GetType().Name + ":" + System.Reflection.MethodBase.GetCurrentMethod().Name,
                    Message         = $"LocalPackage is not ready for robot command.[ReadySignal={LocalPackage.MainFlowHandler.localData.LoadUnloadData.Ready}][ErrorSignal={LocalPackage.MainFlowHandler.localData.LoadUnloadData.ErrorBit}]"
                });
            }
        }
Пример #2
0
 public void SetAutoState(EnumAutoState autoState)
 {
     try
     {
         Agv.EnumAutoState localPackageAutoState = GetLocalPackageAutoStateFrom(autoState);
         string            errorMessage          = "";
         if (LocalPackage.MainFlowHandler.ChangeAutoManual(localPackageAutoState, ref errorMessage))
         {
             OnModeChangeEvent?.Invoke(this, autoState);
         }
         else
         {
             OnLogDebugEvent?.Invoke(this, new MessageHandlerArgs()
             {
                 ClassMethodName = GetType().Name + ":" + System.Reflection.MethodBase.GetCurrentMethod().Name,
                 Message         = $"LocalPackage.ChangeMode fail.[Error={errorMessage}]"
             });
         }
     }
     catch (Exception ex)
     {
         OnLogErrorEvent?.Invoke(this, new MessageHandlerArgs()
         {
             ClassMethodName = GetType().Name + ":" + System.Reflection.MethodBase.GetCurrentMethod().Name,
             Message         = ex.Message
         });
     }
 }
Пример #3
0
 private void AlarmHandler_OnAlarmSetEvent(object sender, INX.Model.Alarm e)
 {
     if (!MainAlarmHandler.dicHappeningAlarms.ContainsKey(e.Id))
     {
         MainAlarmHandler.SetAlarm(e.Id);
         OnSetAlarmToAgvcEvent?.Invoke(sender, new AgvcAlarmArgs()
         {
             ErrorCode = e.Id,
             IsAlarm   = MainAlarmHandler.IsAlarm(e.Id)
         });
         OnLogDebugEvent?.Invoke(sender, new MessageHandlerArgs()
         {
             ClassMethodName = GetType().Name + ":" + System.Reflection.MethodBase.GetCurrentMethod().Name,
             Message         = MainAlarmHandler.GetAlarmText(e.Id)
         });
     }
 }
Пример #4
0
 public void SetAlarmFromAgvm(int errorCode)
 {
     if (!MainAlarmHandler.dicHappeningAlarms.ContainsKey(errorCode))
     {
         MainAlarmHandler.SetAlarm(errorCode);
         LocalPackage.MainFlowHandler.AlarmHandler.SetAlarm(errorCode);
         OnSetAlarmToAgvcEvent?.Invoke(this, new AgvcAlarmArgs()
         {
             ErrorCode = errorCode,
             IsAlarm   = MainAlarmHandler.IsAlarm(errorCode)
         });
         OnLogDebugEvent?.Invoke(this, new MessageHandlerArgs()
         {
             ClassMethodName = GetType().Name + ":" + System.Reflection.MethodBase.GetCurrentMethod().Name,
             Message         = MainAlarmHandler.GetAlarmText(errorCode)
         });
     }
 }
Пример #5
0
        public void SetMovingGuide(MovingGuide movingGuide)
        {
            var localData = LocalPackage.MainFlowHandler.localData;

            if (IsReadyForMoveCommand())
            {
                Task.Run(() =>
                {
                    if (localData.MoveControlData.MoveCommand == null)
                    {
                        string errorMessage = "";
                        var moveCmdInfo     = GetLocalMoveCmdInfoFrom(movingGuide);
                        LocalPackage.MainFlowHandler.MoveControl.VehicleMove(moveCmdInfo, ref errorMessage);

                        if (!string.IsNullOrEmpty(errorMessage))
                        {
                            OnLogDebugEvent?.Invoke(this, new MessageHandlerArgs()
                            {
                                ClassMethodName = GetType().Name + ":" + System.Reflection.MethodBase.GetCurrentMethod().Name,
                                Message         = $"LocalPackage.MoveControl can not do move command.[Error={errorMessage}]"
                            });
                        }
                    }
                    else
                    {
                        OnLogDebugEvent?.Invoke(this, new MessageHandlerArgs()
                        {
                            ClassMethodName = GetType().Name + ":" + System.Reflection.MethodBase.GetCurrentMethod().Name,
                            Message         = $"LocalPackage.MoveControl has another move command.[EndAddress={localData.MoveControlData.MoveCommand.EndAddress.Id}]"
                        });
                    }
                });
            }
            else
            {
                OnLogDebugEvent?.Invoke(this, new MessageHandlerArgs()
                {
                    ClassMethodName = GetType().Name + ":" + System.Reflection.MethodBase.GetCurrentMethod().Name,
                    Message         = $"LocalPackage is not ready for move command.[ReadySignal={localData.MoveControlData.Ready}][ErrorSignal={localData.MoveControlData.ErrorBit}]"
                });
            }
        }