소스 검색

Setup Project 추가, ICON 추가

unque781 5 년 전
부모
커밋
f4ef550999

+ 35 - 35
Dev/Connection/OHVProtocolServer/OHVConnector/Manager.cs

@@ -29,17 +29,17 @@ namespace OHVConnector
         TsQueue<QueueObject> qQ = new TsQueue<QueueObject>();
         TsQueue<OCSMessage> qqW = new TsQueue<OCSMessage>();
 
-        byte[] crcTable = ChksumUtils.Crc8GenTable(0xD5);
+        byte[] crcTable = ChksumUtils.Crc8GenTable( 0xD5 );
 
         TimerTemplate<byte, OCSMessage> quzT3 = new TimerTemplate<byte, OCSMessage>();
         TsMap<long, SyncObject> ddReq = new TsMap<long, SyncObject>(); //sync 통신을 위함.
 
         TcpConnector h = new TcpConnector();
 
-        Thread _TQ;//pumping queue thread
-        Thread _TW;//write
-        Thread _TR;//read
-        Thread _TLINK;//Linktest
+        Thread _TQ; //pumping queue thread
+        Thread _TW; //write
+        Thread _TR; //read
+        Thread _TLINK; //Link test
 
         bool ModeActive { get; set; }
         bool? inited;
@@ -97,7 +97,7 @@ namespace OHVConnector
         public void Disconnect()
         {
             //if (inited.HasValue && inited.Value)
-            _OnLog( "HSMS DISCONNECT REQ " + Config );
+            _OnLog( "OCS DISCONNECT REQ " + Config );
 
             inited = false;
             quzT3.StopAll();
@@ -107,7 +107,7 @@ namespace OHVConnector
             h.StopListen();
             ThreadUtils.Kill( _TR );
 
-            h.CloseSocket();//Kill을 사용할 경우 뒤에 존재해야 한다.
+            h.CloseSocket();//Kill 을 사용할 경우 뒤에 존재해야 한다.
         }
 
         void _OnDicontd( Exception e )
@@ -154,22 +154,21 @@ namespace OHVConnector
 
         #endregion
 
-
         private void _OnLog( string obj )
         {
             qQ.Enqueue( new QoLog { Arg0 = obj } );
         }
 
-        private void _OnTimeout(byte crc, OCSMessage msg)
+        private void _OnTimeout( byte crc, OCSMessage msg )
         {
-            if (null == msg)
+            if ( null == msg )
             {
-                logger.W("T3 [{0}] attachment is null", crc);
+                logger.W( "T3 [{0}] attachment is null", crc );
                 return;
             }
 
             qQ.Enqueue( new QoTimeout { Arg0 = msg } );
-            _OnLog($"T3 TIMEOUT {msg.LogFormat()}");
+            _OnLog( $"T3 TIMEOUT {msg.LogFormat()}" );
         }
 
         #region Thread Method
@@ -188,9 +187,9 @@ namespace OHVConnector
                         waked = LockUtils.Wait( lockLink );
 
                     if ( waked )
-                        continue;//notify: 패킷을 수신할때마다 reset함.
+                        continue;//notify: 패킷을 수신할때마다 reset 함.
 
-                    if ( Connected )//연결여부와 상관없이 thread가 기동되므로 연결시에만.
+                    if ( Connected )//연결여부와 상관없이 thread 가 기동되므로 연결시에만.
                     {
                         //SendCtrlMsg(5);
                     }
@@ -375,8 +374,8 @@ namespace OHVConnector
                 ocsMeg.Tag = h.ReadAscii( 4 );
                 ocsMeg.SubCode = h.ReadAscii( 3 );
 
-                if (ocsMeg.Kind == eKind.B)
-                    ocsMeg.BatterySOH = h.ReadAscii(3);
+                if ( ocsMeg.Kind == eKind.B )
+                    ocsMeg.BatterySOH = h.ReadAscii( 3 );
 
                 //CheckSum 을 해야 하나??
                 ocsMeg.CheckSum = h.ReadAscii( 1 );
@@ -425,13 +424,13 @@ namespace OHVConnector
                 return;
             }
 
-            //Send 한 Message 의 Reply 로 판단.
-            var crc = MakeCRC8CheckSum(recd, false);
-            if (this.quzT3.HasId(crc))
+                  //Send 한 Message 의 Reply 로 판단.
+            var crc = MakeCRC8CheckSum( recd, false );
+            if ( this.quzT3.HasId( crc ) )
             {
-                //Send 목록에서 삭제한다.
-                this.quzT3.Stop(crc);
-                this._OnLog($"[Reply] - {recd.LogFormat()}");
+                        //Send 목록에서 삭제한다.
+                this.quzT3.Stop( crc );
+                this._OnLog( $"[Reply] - {recd.LogFormat()}" );
                 return;
             }
 
@@ -445,7 +444,8 @@ namespace OHVConnector
             h.CloseSocket();
             _OnDicontd( e );
 
-            LockUtils.Wait( 1000 );//잠시대기.
+            var waitTime = ( this.Config.T3 + 2 ) * ConstUtils.ONE_SECOND;
+            LockUtils.Wait( waitTime );//잠시대기.
         }
 
         #endregion
@@ -521,16 +521,16 @@ namespace OHVConnector
             }
 
             #region 2020.08.25. Kang. OCS에서 응답 안하는 것에 대해 Retry 를 위해 추가. 
-            var crc = MakeCRC8CheckSum(msg, true);
+            var crc = MakeCRC8CheckSum( msg, true );
             //logger.D(checkSum);
 
-            if (this.quzT3.HasId(crc))
+            if ( this.quzT3.HasId( crc ) )
             {
-                _OnLog("quzT3 Has ID" + msg.LogFormat());
+                _OnLog( "quzT3 Has ID" + msg.LogFormat() );
                 return;
             }
 
-            this.quzT3.StartOnce(Config.T3 * ConstUtils.ONE_SECOND, crc, msg);
+            this.quzT3.StartOnce( Config.T3 * ConstUtils.ONE_SECOND, crc, msg );
 
             #endregion
 
@@ -557,29 +557,29 @@ namespace OHVConnector
         /// 응답을 보낼 때 사용.
         /// </summary>
         /// <param name="msg"></param>
-        public void Reply(OCSMessage msg)
+        public void Reply( OCSMessage msg )
         {
             msg.RevID = Config.HostID;
             msg.SendID = Config.ID;
 
-            if (!Connected)
+            if ( !Connected )
             {
-                _OnLog("Reply fail not connected" + msg.LogFormat());
+                _OnLog( "Reply fail not connected" + msg.LogFormat() );
                 return;
             }
 
-            qqW.Enqueue(msg);
+            qqW.Enqueue( msg );
         }
 
         #endregion
 
         #region HelpMothed
-        byte MakeCRC8CheckSum(OCSMessage msg, bool isSend)
+        byte MakeCRC8CheckSum( OCSMessage msg, bool isSend )
         {
-            if (isSend)
-                return ChksumUtils.Crc8(this.crcTable, msg.ToCRC8Byte4Send());
+            if ( isSend )
+                return ChksumUtils.Crc8( this.crcTable, msg.ToCRC8Byte4Send() );
             else
-                return ChksumUtils.Crc8(this.crcTable, msg.ToCRC8Byte4Received());
+                return ChksumUtils.Crc8( this.crcTable, msg.ToCRC8Byte4Received() );
         }
         void ChgTcpTimeout( bool infinite )
         {

+ 40 - 39
Dev/Connection/OHVProtocolServer/OHVConnector/OCSMessage.cs

@@ -28,6 +28,7 @@ namespace OHVConnector
         Z,
         G, //MTL 이동 명령
         W,
+        K, //총 주행 거리.
     }
 
     public class OCSMessage
@@ -64,16 +65,16 @@ namespace OHVConnector
 
         public string LogFormat()
         {
-            if (this.Kind == eKind.B)
+            if ( this.Kind == eKind.B )
                 return $"{this.Id} - {this.RevID} <- {this.SendID} : kind [{this.Kind.ToString()}] / Tag [{this.Tag}] / SubCode [{this.MakeSubcode()}] / SOH[{this.BatterySOH}] / CheckSum [{this.GetCheckSum()}]";
 
-            if (this.ViaRouteList.Count <= 0)
+            if ( this.ViaRouteList.Count <= 0 )
                 return $"{this.Id} - {this.RevID} <- {this.SendID} : kind [{this.Kind.ToString()}] / Tag [{this.Tag}] / SubCode [{this.MakeSubcode()}] / CheckSum [{this.GetCheckSum()}] / {this.ViaRouteList.Count}";
             else
             {
                 StringBuilder viaList = new StringBuilder();
                 var ll = this.ViaRouteList.ToList();
-                ll.ForEach( x => { viaList.Append( x ); viaList.Append( ";" ); } ); 
+                ll.ForEach( x => { viaList.Append( x ); viaList.Append( ";" ); } );
                 return $"{this.Id} - {this.RevID} <- {this.SendID} : kind [{this.Kind.ToString()}] / Tag [{this.Tag}] / SubCode [{this.MakeSubcode()}] / CheckSum [{this.GetCheckSum()}] / {this.ViaRouteList.Count} / {viaList}";
             }
         }
@@ -124,21 +125,21 @@ namespace OHVConnector
             mb.AppendAscii( this.Tag ); //4자리로 맞춘다.
             mb.AppendAscii( MakeSubcode() );
 
-            if ( this.Kind == eKind.M)
+            if ( this.Kind == eKind.M )
             {
                 var viaCountj = this.ViaRouteList.Count.ToString( "0000" );
-                foreach(var item in this.ViaRouteList )
+                foreach ( var item in this.ViaRouteList )
                 {
                     mb.AppendAscii( item );
                 }
             }
 
-            if (this.Kind == eKind.B)
+            if ( this.Kind == eKind.B )
             {
-                if (string.IsNullOrEmpty(this.BatterySOH))
-                    mb.AppendAscii("000");
+                if ( string.IsNullOrEmpty( this.BatterySOH ) )
+                    mb.AppendAscii( "000" );
                 else
-                    mb.AppendAscii(this.BatterySOH.PadLeft(3, '0'));
+                    mb.AppendAscii( this.BatterySOH.PadLeft( 3, '0' ) );
             }
 
             this.CheckSum = Convert.ToString( GetCheckSum( mb.ToBytes ), 16 ).ToLower();
@@ -151,28 +152,28 @@ namespace OHVConnector
         public byte[] ToCRC8Byte4Send()
         {
             var mb = new MemoryBuffer();
-            mb.Append(STX);
-            mb.AppendAscii(RevID);
-            mb.AppendAscii(SendID);
-            mb.AppendAscii(this.Kind.ToString());
-            mb.AppendAscii(this.Tag); //4자리로 맞춘다.
-            mb.AppendAscii(MakeSubcode());
-
-            if (this.Kind == eKind.M)
+            mb.Append( STX );
+            mb.AppendAscii( RevID );
+            mb.AppendAscii( SendID );
+            mb.AppendAscii( this.Kind.ToString() );
+            mb.AppendAscii( this.Tag ); //4자리로 맞춘다.
+            mb.AppendAscii( MakeSubcode() );
+
+            if ( this.Kind == eKind.M )
             {
-                var viaCountj = this.ViaRouteList.Count.ToString("0000");
-                foreach (var item in this.ViaRouteList)
+                var viaCountj = this.ViaRouteList.Count.ToString( "0000" );
+                foreach ( var item in this.ViaRouteList )
                 {
-                    mb.AppendAscii(item);
+                    mb.AppendAscii( item );
                 }
             }
 
-            if (this.Kind == eKind.B)
+            if ( this.Kind == eKind.B )
             {
-                if (string.IsNullOrEmpty(this.BatterySOH))
-                    mb.AppendAscii("000");
+                if ( string.IsNullOrEmpty( this.BatterySOH ) )
+                    mb.AppendAscii( "000" );
                 else
-                    mb.AppendAscii(this.BatterySOH.PadLeft(3, '0'));
+                    mb.AppendAscii( this.BatterySOH.PadLeft( 3, '0' ) );
             }
 
             return mb.ToBytes;
@@ -186,28 +187,28 @@ namespace OHVConnector
         public byte[] ToCRC8Byte4Received()
         {
             var mb = new MemoryBuffer();
-            mb.Append(STX);
-            mb.AppendAscii(SendID);
-            mb.AppendAscii(RevID);
-            mb.AppendAscii(this.Kind.ToString());
-            mb.AppendAscii(this.Tag); //4자리로 맞춘다.
-            mb.AppendAscii(MakeSubcode());
-
-            if (this.Kind == eKind.M)
+            mb.Append( STX );
+            mb.AppendAscii( SendID );
+            mb.AppendAscii( RevID );
+            mb.AppendAscii( this.Kind.ToString() );
+            mb.AppendAscii( this.Tag ); //4자리로 맞춘다.
+            mb.AppendAscii( MakeSubcode() );
+
+            if ( this.Kind == eKind.M )
             {
-                var viaCountj = this.ViaRouteList.Count.ToString("0000");
-                foreach (var item in this.ViaRouteList)
+                var viaCountj = this.ViaRouteList.Count.ToString( "0000" );
+                foreach ( var item in this.ViaRouteList )
                 {
-                    mb.AppendAscii(item);
+                    mb.AppendAscii( item );
                 }
             }
 
-            if (this.Kind == eKind.B)
+            if ( this.Kind == eKind.B )
             {
-                if (string.IsNullOrEmpty(this.BatterySOH))
-                    mb.AppendAscii("000");
+                if ( string.IsNullOrEmpty( this.BatterySOH ) )
+                    mb.AppendAscii( "000" );
                 else
-                    mb.AppendAscii(this.BatterySOH.PadLeft(3, '0'));
+                    mb.AppendAscii( this.BatterySOH.PadLeft( 3, '0' ) );
             }
 
             return mb.ToBytes;

BIN
Dev/OHV/OHV.Vehicle/Config/AlarmDefind.xlsx


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

@@ -16,6 +16,7 @@
     <Deterministic>True</Deterministic>
     <NuGetPackageImportStamp>
     </NuGetPackageImportStamp>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
     <PublishUrl>게시\</PublishUrl>
     <Install>true</Install>
     <InstallFrom>Disk</InstallFrom>
@@ -28,7 +29,6 @@
     <MapFileExtensions>true</MapFileExtensions>
     <ApplicationRevision>0</ApplicationRevision>
     <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
@@ -74,6 +74,9 @@
     <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
     <Prefer32Bit>true</Prefer32Bit>
   </PropertyGroup>
+  <PropertyGroup>
+    <ApplicationIcon>OHV.ico</ApplicationIcon>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="Common.Logging">
       <HintPath>..\Assambly\Common.Logging.dll</HintPath>
@@ -316,6 +319,9 @@
       <Name>VehicleControlSystem</Name>
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <Resource Include="OHV.ico" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
     <PostBuildEvent>copy "$(SolutionDir)\Assambly\EzPlus2\*.*" "$(TargetDir)"

BIN
Dev/OHV/OHV.Vehicle/OHV.ico


+ 6 - 0
Dev/OHV/OHV.sln

@@ -45,6 +45,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OHVConnector", "..\Connecti
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OHV.Module.ControlView.Modeless", "OHV.Module.ControlView.Modeless\OHV.Module.ControlView.Modeless.csproj", "{2B965366-444B-442A-9187-80DF60433192}"
 EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "VCSSetup", "VCSSetup\VCSSetup.vdproj", "{799D6883-8B11-46D0-B29F-2955D7CAABAD}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -173,6 +175,10 @@ Global
 		{2B965366-444B-442A-9187-80DF60433192}.Remote1|Any CPU.Build.0 = Release|Any CPU
 		{2B965366-444B-442A-9187-80DF60433192}.Remote2|Any CPU.ActiveCfg = Release|Any CPU
 		{2B965366-444B-442A-9187-80DF60433192}.Remote2|Any CPU.Build.0 = Release|Any CPU
+		{799D6883-8B11-46D0-B29F-2955D7CAABAD}.Debug|Any CPU.ActiveCfg = Debug
+		{799D6883-8B11-46D0-B29F-2955D7CAABAD}.Release|Any CPU.ActiveCfg = Release
+		{799D6883-8B11-46D0-B29F-2955D7CAABAD}.Remote1|Any CPU.ActiveCfg = Release
+		{799D6883-8B11-46D0-B29F-2955D7CAABAD}.Remote2|Any CPU.ActiveCfg = Release
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 6289 - 0
Dev/OHV/VCSSetup/VCSSetup.vdproj


+ 2 - 2
Dev/OHV/VehicleControlSystem/ControlLayer/Vehicle.cs

@@ -1339,8 +1339,8 @@ namespace VehicleControlSystem.ControlLayer
                     }
                 }
 
-                //if ( this.refObjects.Drive.IsDriveFault )
-                //    break; //다른 곳에서 이미 Alarm 처리 했을 껄~. 여기서는 Thread 만 나가자.
+                if (this.refObjects.Drive.IsDriveFault)
+                    return 45;
 
                 //2020.08.04. Kang. 드라이브에서 알람이 발생하여 Auto Run 상태 가 아니면 기다리지 말고 Thread 종료를 위해.
                 if (this.refObjects.AutoManager.AutoModeStateProperty != eAutoModeState.Run)

+ 16 - 1
Dev/OHV/VehicleControlSystem/Managers/HostManager.cs

@@ -136,7 +136,7 @@ namespace VehicleControlSystem.Managers
                 IpAddress = sql.ConfigDal.GetById(ConstString.Addr).Value,
                 Port = Convert.ToInt16(sql.ConfigDal.GetById(ConstString.PortNo).Value),
                 HostID = sql.ConfigDal.GetById(ConstString.OCSID).Value,
-                T3 = 2,
+                T3 = 3,
             };
 
             this.manager.OnContd += Manager_OnContd;
@@ -790,6 +790,21 @@ namespace VehicleControlSystem.Managers
 
             this.manager.Send(msg);
         }
+
+        public void Send_TotalDistacne(int dist)
+        {
+            var strdist = dist.ToString().PadLeft(7, '0');
+
+            var msg = new OCSMessage()
+            {
+                RevID = this.manager.Config.HostID,
+                SendID = this.manager.Config.ID,
+                Kind = eKind.K,
+                Tag = strdist.Substring(0, 4),
+                SubCode = strdist.Substring(4, 3),
+            };
+            this.manager.Send(msg);
+        }
         #endregion
 
         /// <summary>

+ 16 - 0
Dev/OHV/VehicleControlSystem/VCSystem.cs

@@ -67,6 +67,8 @@ namespace VehicleControlSystem
 
         public void Init()
         {
+            GSG.NET.Utils.MidnightNotifier.DayChanged += MidnightNotifier_DayChanged;
+
             QuartzUtils.Invoke("HIS_ALARM", QuartzUtils.GetExpnHour(5), this.CleanHisAlarm);
 
             this.Alarms = new ExcelMapper(Path.Combine(System.Environment.CurrentDirectory) + @"\Config\AlarmDefind.xlsx").Fetch<Alarm>().ToList();
@@ -144,6 +146,20 @@ namespace VehicleControlSystem
             this.sql.SubCmdDAL.Clean();
         }
 
+        private void MidnightNotifier_DayChanged(object sender, EventArgs e)
+        {
+            try
+            {
+                var info = this.sql.VehicleInfoDAL.GetAll().FirstOrDefault();
+                var iDist = Convert.ToInt32(info.CumulativeDistance);
+                this.hostManager.Send_TotalDistacne(iDist);
+            }
+            catch (Exception ex)
+            {
+                logger.E(ex);
+            }        
+        }
+
         void UIRenderingComplete()
         {
         }

+ 3 - 2
Dev/OHVDriveLogger/OHVDriveLogger/OHVDriveLogger/App.config

@@ -5,10 +5,11 @@
     </startup>
 
 	<appSettings>
-		<add key="VehicleID" value="V02"/>
+		<add key="VehicleID" value="V01"/>
 		<add key="FTPUploadIP" value="109.19.54.164"/>
 		<add key="PLC_IP" value="192.168.0.20"/>
 		<add key="PLC_PORT" value="5000"/>
-		<add key ="LOG_DIR" value="C:\LOG\OHV\DriveLogger\PhysicalCheckup"/>
+		<add key ="LOG_DIR" value="C:\FTP"/>
+		<!--<add key ="LOG_DIR" value="C:\LOG\OHV\DriveLogger\PhysicalCheckup"/>-->
 	</appSettings>
 </configuration>

+ 2 - 1
Dev/OHVDriveLogger/OHVDriveLogger/OHVDriveLogger/FTPLogger.cs

@@ -94,10 +94,11 @@ namespace OHVDriveLogger
                 ftp.Connect();
 
                 // download a folder and all its files
-                ftp.DownloadDirectory( @"C:\LOG\FTP\", @"/0_CARD/log0/", FtpFolderSyncMode.Update );
+                ftp.DownloadDirectory( @"C:\FTP\", @"/0_CARD/log0/", FtpFolderSyncMode.Update );
 
                 if ( !ftp.DirectoryExists( @"/0_CARD/log0/" ) )
                     return;
+
                 if ( !ftp.FileExists( @"/0_CARD/log0/" ) )
                     return;
 

+ 9 - 6
Dev/OHVDriveLogger/OHVDriveLogger/OHVDriveLogger/FormMain.cs

@@ -26,8 +26,10 @@ namespace OHVDriveLogger
 
         ThreadCancel threadCancel = new ThreadCancel();
 
-        const string frontPreFix = @"C:\LOG\OHV\DriveLogger\PhysicalCheckup\Front_Wheel";
-        const string rearPreFix = @"C:\LOG\OHV\DriveLogger\PhysicalCheckup\Rear_Wheel";
+        //const string frontPreFix = @"C:\LOG\OHV\DriveLogger\PhysicalCheckup\Front_Wheel";
+        //const string rearPreFix = @"C:\LOG\OHV\DriveLogger\PhysicalCheckup\Rear_Wheel";
+        const string frontPreFix = @"C:\FTP\Front_Wheel";
+        const string rearPreFix = @"C:\FTP\Rear_Wheel";
 
         string vehicleID = string.Empty;
         string UploadIP = string.Empty;
@@ -57,7 +59,8 @@ namespace OHVDriveLogger
         private void FixTimeNotifier_HourChanged( object sender, EventArgs e )
         {
             logger.I( "FixTimer Event Occur" );
-            Task.Run( () => { DeleteNoBackupFiles( this.LogPath, 2 ); } );
+            Task.Run( () => { DeleteNoBackupFiles( this.LogPath, 5 ); } );
+            Task.Run(() => { DeleteNoBackupFiles(@"C:\LOG\OHV\DriveLogger\PhysicalCheckup", 5); });
         }
 
         private void FormMain_FormClosing( object sender, FormClosingEventArgs e )
@@ -209,9 +212,9 @@ namespace OHVDriveLogger
             LockUtils.Wait(200);
             FTPLogger.Instance.FTPDownload();
             LockUtils.Wait( 100 );
-            string uploadPath = $"\\LOG\\{this.vehicleID}";
-            FTPLogger.Instance.FTPUpload(uploadPath, fll);
-            LockUtils.Wait( 100 );
+            //string uploadPath = $"\\LOG\\{this.vehicleID}";
+            //FTPLogger.Instance.FTPUpload(uploadPath, fll);
+            //LockUtils.Wait( 100 );
         }
 
         private void loggerHIDEToolStripMenuItem_Click( object sender, EventArgs e )

+ 6 - 1
Dev/OHVLoggerTest/OHVLoggerTest/Form1.cs

@@ -39,6 +39,12 @@ namespace OHVDriveSimulator
         {
             InitializeComponent();
 
+            this.listLog.Columns.Add( "Time" );
+            this.listLog.Columns.Add( "Name" );
+            this.listLog.Columns.Add( "Level" );
+            this.listLog.Columns.Add( "message" );
+            this.listLog.Columns.Add( "renderMessage" );
+
             this.Load += Form1_Load;
             this.FormClosing += Form1_FormClosing;
         }
@@ -56,7 +62,6 @@ namespace OHVDriveSimulator
         private void Form1_Load( object sender, EventArgs e )
         {
             ListViewAppender.SetListView( this.listLog );
-
             logger.I( "Start Simulator" );
 
             mq = new NetMq();