Sfoglia il codice sorgente

Merge branch 'master' of http://unque781.synology.me:3000/GSI/OHV

yongsunghwang 5 anni fa
parent
commit
29f65f8507

+ 1 - 1
Dev/OHV/OHV.Vehicle/OHV.Vehicle.csproj

@@ -65,7 +65,7 @@
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Remote1|AnyCPU'">
     <DebugSymbols>true</DebugSymbols>
-    <OutputPath>\\192.168.127.10\VCS\</OutputPath>
+    <OutputPath>\\192.168.127.10\vcs\</OutputPath>
     <DefineConstants>TRACE;DEBUG</DefineConstants>
     <DebugType>full</DebugType>
     <PlatformTarget>AnyCPU</PlatformTarget>

+ 10 - 5
Dev/OHV/VehicleControlSystem/ControlLayer/MQ/ZmqManager.cs

@@ -369,10 +369,10 @@ namespace VehicleControlSystem.ControlLayer.MQ
                                 this.SegmentID = iV;
 
                                 //TODO: 6.29 DriveAutoReadyState
-                                if ( v[ 3 ].Equals( "0" ) )
-                                    logger.D( $"Out Route" );
+                                if ( v[3].Equals( "0" ) )
+                                    IsCanStanbyLocation = false;
                                 else
-                                    logger.D( $"On Route" );
+                                    IsCanStanbyLocation = true;
                             }
                             break;
 
@@ -886,7 +886,7 @@ namespace VehicleControlSystem.ControlLayer.MQ
                 logger.E( $"[Set Obstruction] - Response Time Out" );
         }
 
-        internal void SetOperationState( eOperatationMode mode )
+        internal bool SetOperationState( eOperatationMode mode )
         {
             string outStr = string.Empty;
             string val = string.Empty;
@@ -896,11 +896,16 @@ namespace VehicleControlSystem.ControlLayer.MQ
             else if ( mode == eOperatationMode.ManualMode )
                 val = "3";
             else
-                return;
+                return false;
 
             var rll = this.RequestDrive( "setm", $"112/{val}" );
             if ( rll.Count == 0 )
+            {
                 logger.E( $"[Set Operation State] - Response Time Out" );
+                return false;
+            }
+
+            return true;
         }
 
         internal void SetMCState( bool isOn )

+ 1 - 0
Dev/OHV/VehicleControlSystem/ControlLayer/Vehicle.cs

@@ -1904,6 +1904,7 @@ namespace VehicleControlSystem.ControlLayer
                      }
                  }
              } );
+            this.taskHostConnection.Wait();
 
             this.taskHostConnection = null;
         }

+ 14 - 2
Dev/OHV/VehicleControlSystem/VCSystem.cs

@@ -82,7 +82,7 @@ namespace VehicleControlSystem
 
             QuartzUtils.Invoke( "HIS_ALARM", QuartzUtils.GetExpnHour( 5 ), this.CleanHisAlarm );
 
-            this.Alarms = new ExcelMapper( Path.Combine( System.Environment.CurrentDirectory ) + @"\Config\AlarmDefind.xlsx" ).Fetch<Alarm>( ).ToList();
+            this.Alarms = new ExcelMapper( Path.Combine( System.Environment.CurrentDirectory ) + @"\Config\AlarmDefind.xlsx" ).Fetch<Alarm>().ToList();
 
             this.RouteManager = RouteManager.Instance;
             RouteManager.Instance.Init( this.sql );
@@ -172,7 +172,7 @@ namespace VehicleControlSystem
         public void CleanHisAlarm()
         {
             var backup = DateTime.Now.AddDays( -15 );
-            sql.HisAlarmDAL.Delete( x=>x.OccurTime < backup );
+            sql.HisAlarmDAL.Delete( x => x.OccurTime < backup );
         }
 
         #region EzIO Event
@@ -519,12 +519,24 @@ namespace VehicleControlSystem
                     return;
                 }
 
+                if ( !zmqManager.SetOperationState( eOperatationMode.AutoMode ) )
+                {
+                    this.autoManager.ProcessAlarm( 38 );
+                    return;
+                }
+
                 this.autoManager.AutoModeStateProperty = eAutoModeState.StartRun;
                 this.autoManager.OperationModeProperty = eOperatationMode.AutoMode;
                 reply = new GUIMessageEventArgs { Kind = GUIMessageEventArgs.eGUIMessageKind.RspVehicleModeChange, Result = FluentResults.Results.Ok(), MessageKey = MessageKey.AutoMode };
             }
             else
             {
+                if( !zmqManager.SetOperationState( eOperatationMode.ManualMode ) )
+                {
+                    this.autoManager.ProcessAlarm( 38 );
+                    return;
+                }
+
                 this.autoManager.AutoModeStateProperty = OHV.Common.Shareds.eAutoModeState.WaitStop;
                 reply = new GUIMessageEventArgs { Kind = GUIMessageEventArgs.eGUIMessageKind.RspVehicleModeChange, Result = FluentResults.Results.Ok(), MessageKey = MessageKey.ManualMode };
             }