yongsunghwang 5 anni fa
parent
commit
21ec632b84
1 ha cambiato i file con 45 aggiunte e 9 eliminazioni
  1. 45 9
      Dev/OHV/VehicleControlSystem/VCSystem.cs

+ 45 - 9
Dev/OHV/VehicleControlSystem/VCSystem.cs

@@ -207,7 +207,7 @@ namespace VehicleControlSystem
         #region ReqMessage Method
         #region ReqMessage Method
         void ReceivedMessageEvent( VCSMessageEventArgs msg )
         void ReceivedMessageEvent( VCSMessageEventArgs msg )
         {
         {
-            switch ( msg.Kind )
+            switch (msg.Kind)
             {
             {
                 case VCSMessageEventArgs.eVCSMessageKind.ReqIOObject:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqIOObject:
                     ReqIOObjectMessage();
                     ReqIOObjectMessage();
@@ -226,7 +226,7 @@ namespace VehicleControlSystem
                     ReqAlarmReset();
                     ReqAlarmReset();
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqVehicleModeChange:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqVehicleModeChange:
-                    this.ReqVehicleModeChange( msg );
+                    this.ReqVehicleModeChange(msg);
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqEStop:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqEStop:
                     ReqEStop();
                     ReqEStop();
@@ -235,7 +235,7 @@ namespace VehicleControlSystem
                     ReqBuzzerStop();
                     ReqBuzzerStop();
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqMachineModeChg:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqMachineModeChg:
-                    ReqMachineModeChg( msg );
+                    ReqMachineModeChg(msg);
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqAddCommand:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqAddCommand:
                     break;
                     break;
@@ -243,37 +243,73 @@ namespace VehicleControlSystem
                     ReqTest();
                     ReqTest();
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqConveyorMove:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqConveyorMove:
-                    ReqConveyorMove( msg );
+                    ReqConveyorMove(msg);
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqConveyorLoad:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqConveyorLoad:
-                    ReqConveyorLoad( msg );
+                    ReqConveyorLoad(msg);
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqConveyorUnload:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqConveyorUnload:
                     ReqConveyorUnload();
                     ReqConveyorUnload();
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqObstaclePatternChg:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqObstaclePatternChg:
-                    ReqObsticlePatternChange( msg );
+                    ReqObsticlePatternChange(msg);
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqObstaclePatternNo:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqObstaclePatternNo:
                     ReqObsticlePatternNo();
                     ReqObsticlePatternNo();
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqPIOConveyor:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqPIOConveyor:
-                    this.ReqPIOConveyor( msg );
+                    this.ReqPIOConveyor(msg);
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqPIOBatteryCharge:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqPIOBatteryCharge:
-                    this.ReqPIOBattery( msg );
+                    this.ReqPIOBattery(msg);
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqBatteryState:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqBatteryState:
                     this.ReqBatteryState();
                     this.ReqBatteryState();
                     break;
                     break;
                 case VCSMessageEventArgs.eVCSMessageKind.ReqPIOBatteryChargeStop:
                 case VCSMessageEventArgs.eVCSMessageKind.ReqPIOBatteryChargeStop:
-                    this.ReqBatteryChargeStop( msg );
+                    this.ReqBatteryChargeStop(msg);
+                    break;
+                case VCSMessageEventArgs.eVCSMessageKind.ReqRouteManager:
+                    break;
+                case VCSMessageEventArgs.eVCSMessageKind.ReqDirveSpeed:
+                    this.SetDriveSpeed(msg);
+                    break;
+                case VCSMessageEventArgs.eVCSMessageKind.ReqSpeedProfile:
+                    this.SetSpeedProfile(msg);
+                    break;
+                case VCSMessageEventArgs.eVCSMessageKind.ReqJogSpeed:
+                    this.SetJogSpeed(msg);
                     break;
                     break;
                 default:
                 default:
                     break;
                     break;
             }
             }
         }
         }
 
 
+        private void SetJogSpeed(VCSMessageEventArgs msg)
+        {
+            if(msg.Args.ContainsKey("JogSpeed"))
+            { 
+                this.zmqManager.SetJogSpeed((double)msg.Args["JogSpeed"]);
+            }
+        }
+
+        private void SetSpeedProfile(VCSMessageEventArgs msg)
+        {
+            if(msg.Args.ContainsKey("Accel") && msg.Args.ContainsKey("Decel") && msg.Args.ContainsKey("Creep") && msg.Args.ContainsKey("CreepDistance"))
+            {
+                this.zmqManager.SetDriveSpeedProfile(msg.Args["Accel"].ToString(), msg.Args["Decel"].ToString(),
+                    msg.Args["Creep"].ToString(), msg.Args["CreepDistance"].ToString());
+            }
+        }
+
+        private void SetDriveSpeed(VCSMessageEventArgs msg)
+        {
+            if(msg.Args.ContainsKey("Linear") && msg.Args.ContainsKey("Curve"))
+            {
+                this.zmqManager.SetDriveSpeed(msg.Args["Linear"].ToString(), msg.Args["Curve"].ToString());
+            }
+        }
+
         void ReqBatteryState()
         void ReqBatteryState()
         {
         {
             BatteryInfo battery = new BatteryInfo();
             BatteryInfo battery = new BatteryInfo();