Merge branch 'main' of http://192.168.11.65:3000/SJ84/INT_PT002 into main
						commit
						168f0f71d6
					
				
											
												
													File diff suppressed because it is too large
													Load Diff
												
											
										
									
								|  | @ -0,0 +1,232 @@ | ||||||
|  | using System; | ||||||
|  | using System.Collections.Generic; | ||||||
|  | using System.Collections.ObjectModel; | ||||||
|  | using System.ComponentModel; | ||||||
|  | using System.Data; | ||||||
|  | using System.Drawing; | ||||||
|  | using System.Linq; | ||||||
|  | using System.Text; | ||||||
|  | using System.Windows.Forms; | ||||||
|  | 
 | ||||||
|  | using INT_PT002.DataStore; | ||||||
|  | using INT_PT002.Forms; | ||||||
|  | using SmartX; | ||||||
|  | 
 | ||||||
|  | namespace INT_PT002.Controls | ||||||
|  | { | ||||||
|  |     public partial class ControlMainModbus : UserControl | ||||||
|  |     { | ||||||
|  |         #region Field | ||||||
|  |         private FormMainDisplay3 m_ParentForm; | ||||||
|  |         private UInt32 ReceiveCount; | ||||||
|  |         private static int ModbusCount = 20; | ||||||
|  | 
 | ||||||
|  |         private Collection<SmartLabel> CollectionOffset; | ||||||
|  |         private Collection<SmartLabel> CollectionContents; | ||||||
|  |         private Collection<SmartLabel> CollectionDec; | ||||||
|  |         private Collection<SmartLabel> CollectionHexa; | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         #region Constructor | ||||||
|  |         public ControlMainModbus(FormMainDisplay3 parent) | ||||||
|  |         { | ||||||
|  |             InitializeComponent(); | ||||||
|  | 
 | ||||||
|  |             this.ParentForm = parent; | ||||||
|  | 
 | ||||||
|  |             this.DefaultSetting(); | ||||||
|  |             this.InitializeDesign(); | ||||||
|  |         } | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         #region Property | ||||||
|  |         public FormMainDisplay3 ParentForm | ||||||
|  |         { | ||||||
|  |             get { return this.m_ParentForm; } | ||||||
|  |             private set { this.m_ParentForm = value; } | ||||||
|  |         } | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         #region Method | ||||||
|  |         public void InitializeDesign() | ||||||
|  |         { | ||||||
|  |             if (this.ParentForm.ParentForm.SystemConfig.LANGUAGE == Define.E_LanguageID.English) | ||||||
|  |             { | ||||||
|  |                 #region 영문 | ||||||
|  |                 this.labelTitlePort.Text = "Port"; | ||||||
|  |                 this.labelTitleStartAddr1.Text = "Start"; | ||||||
|  |                 this.labelTitleStartAddr2.Text = "Address"; | ||||||
|  |                 this.labelTitleReceiveCount1.Text = "Receive"; | ||||||
|  |                 this.labelTitleReceiveCount2.Text = "Count"; | ||||||
|  | 
 | ||||||
|  |                 this.labelTitleOffset.Text = "Offset"; | ||||||
|  |                 this.labelTitleContents.Text = "Contents"; | ||||||
|  |                 this.labelTitleValueDecimal.Text = "Value(Decimal)"; | ||||||
|  |                 this.labelTitleValueHexa.Text = "Value(Hexa)"; | ||||||
|  | 
 | ||||||
|  |                 for (int i = 1; i <= ModbusCount; i++) | ||||||
|  |                     this.CollectionOffset[i - 1].Font = new Font("새굴림", 9, FontStyle.Regular); | ||||||
|  | 
 | ||||||
|  |                 for (int i = 1; i <= ModbusCount; i++) | ||||||
|  |                 { | ||||||
|  |                     if (i % 2 == 1) | ||||||
|  |                         this.CollectionContents[i - 1].Text = "Processing"; | ||||||
|  |                     else | ||||||
|  |                         this.CollectionContents[i - 1].Text = "Result"; | ||||||
|  |                 } | ||||||
|  |                 #endregion | ||||||
|  |             } | ||||||
|  |             else | ||||||
|  |             { | ||||||
|  |                 #region 한글 | ||||||
|  |                 this.labelTitlePort.Text = "Port"; | ||||||
|  |                 this.labelTitleStartAddr1.Text = "Start"; | ||||||
|  |                 this.labelTitleStartAddr2.Text = "Address"; | ||||||
|  |                 this.labelTitleReceiveCount1.Text = "Receive"; | ||||||
|  |                 this.labelTitleReceiveCount2.Text = "Count"; | ||||||
|  | 
 | ||||||
|  |                 this.labelTitleOffset.Text = "Offset"; | ||||||
|  |                 this.labelTitleContents.Text = "항목"; | ||||||
|  |                 this.labelTitleValueDecimal.Text = "값(Decimal)"; | ||||||
|  |                 this.labelTitleValueHexa.Text = "값(Hexa)"; | ||||||
|  | 
 | ||||||
|  |                 for (int i = 1; i <= ModbusCount; i++) | ||||||
|  |                     this.CollectionOffset[i - 1].Font = new Font("새굴림", 9, FontStyle.Regular); | ||||||
|  | 
 | ||||||
|  |                 for (int i = 1; i <= ModbusCount; i++) | ||||||
|  |                 { | ||||||
|  |                     if (i % 2 == 1) | ||||||
|  |                         this.CollectionContents[i - 1].Text = "진행 여부"; | ||||||
|  |                     else | ||||||
|  |                         this.CollectionContents[i - 1].Text = "결과"; | ||||||
|  |                 } | ||||||
|  |                 #endregion | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         private void DefaultSetting() | ||||||
|  |         { | ||||||
|  |             this.CollectionOffset = new Collection<SmartLabel>(); | ||||||
|  |             this.CollectionContents = new Collection<SmartLabel>(); | ||||||
|  |             this.CollectionDec = new Collection<SmartLabel>(); | ||||||
|  |             this.CollectionHexa = new Collection<SmartLabel>(); | ||||||
|  | 
 | ||||||
|  |             for (int i = 1; i <= ModbusCount; i++) | ||||||
|  |             { | ||||||
|  |                 this.CollectionOffset.Add(FindByNameUtil.SmartLabel("labelOffset" + i, this)); | ||||||
|  |                 this.CollectionContents.Add(FindByNameUtil.SmartLabel("labelContents" + i, this)); | ||||||
|  |                 this.CollectionDec.Add(FindByNameUtil.SmartLabel("labelValueDec" + i, this)); | ||||||
|  |                 this.CollectionHexa.Add(FindByNameUtil.SmartLabel("labelValueHexa" + i, this)); | ||||||
|  |                 //Console.Write("\n" + string.Format("DefaultSetting {0:yyyy-MM-dd HH:mm:ss}: {1}", DateTime.Now, 4)); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             this.ReceiveCount = 0; | ||||||
|  |             this.labelReceiveCount.Text = this.ReceiveCount.ToString(); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public void Clear() | ||||||
|  |         { | ||||||
|  |             this.UpdateData(this.ParentForm.ParentForm.Current30000ModbusData); | ||||||
|  |         } | ||||||
|  |         public void UpdateEquipmentStatusDisplay(Define.E_EquipmentStatus status) | ||||||
|  |         { | ||||||
|  | 
 | ||||||
|  |         } | ||||||
|  |         public void UpdateReceiveCount() | ||||||
|  |         { | ||||||
|  |             if (this.ReceiveCount > 999999999) | ||||||
|  |                 this.ReceiveCount = 0; | ||||||
|  |             else | ||||||
|  |             { | ||||||
|  |                 this.ReceiveCount++; | ||||||
|  |                 this.labelReceiveCount.Text = this.ReceiveCount.ToString(); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public void UpdateData(_30000_ModbusData mData) | ||||||
|  |         { | ||||||
|  |             this.CollectionDec[0].Text = mData._1_IsProcessing.ToString(); | ||||||
|  |             this.CollectionDec[1].Text = mData._1_IsLeak.ToString(); | ||||||
|  |             this.CollectionDec[2].Text = mData._2_IsProcessing.ToString(); | ||||||
|  |             this.CollectionDec[3].Text = mData._2_IsLeak.ToString(); | ||||||
|  |             this.CollectionDec[4].Text = mData._3_IsProcessing.ToString(); | ||||||
|  |             this.CollectionDec[5].Text = mData._3_IsLeak.ToString(); | ||||||
|  |             this.CollectionDec[6].Text = mData._4_IsProcessing.ToString(); | ||||||
|  |             this.CollectionDec[7].Text = mData._4_IsLeak.ToString(); | ||||||
|  |             this.CollectionDec[8].Text = mData._5_IsProcessing.ToString(); | ||||||
|  |             this.CollectionDec[9].Text = mData._5_IsLeak.ToString(); | ||||||
|  |             this.CollectionDec[10].Text = mData._6_IsProcessing.ToString(); | ||||||
|  |             this.CollectionDec[11].Text = mData._6_IsLeak.ToString(); | ||||||
|  |             this.CollectionDec[12].Text = mData._7_IsProcessing.ToString(); | ||||||
|  |             this.CollectionDec[13].Text = mData._7_IsLeak.ToString(); | ||||||
|  |             this.CollectionDec[14].Text = mData._8_IsProcessing.ToString(); | ||||||
|  |             this.CollectionDec[15].Text = mData._8_IsLeak.ToString(); | ||||||
|  |             this.CollectionDec[16].Text = mData._9_IsProcessing.ToString(); | ||||||
|  |             this.CollectionDec[17].Text = mData._9_IsLeak.ToString(); | ||||||
|  |             this.CollectionDec[18].Text = mData._10_IsProcessing.ToString(); | ||||||
|  |             this.CollectionDec[19].Text = mData._10_IsLeak.ToString(); | ||||||
|  | 
 | ||||||
|  |             this.CollectionHexa[0].Text = mData.HexString_1_IsProcessing; | ||||||
|  |             this.CollectionHexa[1].Text = mData.HexString_1_IsLeak; | ||||||
|  |             this.CollectionHexa[2].Text = mData.HexString_2_IsProcessing; | ||||||
|  |             this.CollectionHexa[3].Text = mData.HexString_2_IsLeak; | ||||||
|  |             this.CollectionHexa[4].Text = mData.HexString_3_IsProcessing; | ||||||
|  |             this.CollectionHexa[5].Text = mData.HexString_3_IsLeak; | ||||||
|  |             this.CollectionHexa[6].Text = mData.HexString_4_IsProcessing; | ||||||
|  |             this.CollectionHexa[7].Text = mData.HexString_4_IsLeak; | ||||||
|  |             this.CollectionHexa[8].Text = mData.HexString_5_IsProcessing; | ||||||
|  |             this.CollectionHexa[9].Text = mData.HexString_5_IsLeak; | ||||||
|  |             this.CollectionHexa[10].Text = mData.HexString_6_IsProcessing; | ||||||
|  |             this.CollectionHexa[11].Text = mData.HexString_6_IsLeak; | ||||||
|  |             this.CollectionHexa[12].Text = mData.HexString_7_IsProcessing; | ||||||
|  |             this.CollectionHexa[13].Text = mData.HexString_7_IsLeak; | ||||||
|  |             this.CollectionHexa[14].Text = mData.HexString_8_IsProcessing; | ||||||
|  |             this.CollectionHexa[15].Text = mData.HexString_8_IsLeak; | ||||||
|  |             this.CollectionHexa[16].Text = mData.HexString_9_IsProcessing; | ||||||
|  |             this.CollectionHexa[17].Text = mData.HexString_9_IsLeak; | ||||||
|  |             this.CollectionHexa[18].Text = mData.HexString_10_IsProcessing; | ||||||
|  |             this.CollectionHexa[19].Text = mData.HexString_10_IsLeak; | ||||||
|  |         } | ||||||
|  |         public void UpdateOffset(bool master, int startAddress) | ||||||
|  |         { | ||||||
|  |             if (master == true) | ||||||
|  |             { | ||||||
|  |                 for (int i = 0; i < ModbusCount; i++) | ||||||
|  |                 { | ||||||
|  |                     this.CollectionOffset[i].Text = (3000 + startAddress).ToString(); | ||||||
|  |                     startAddress += 2; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             else | ||||||
|  |             { | ||||||
|  |                 int address = 3010; | ||||||
|  |                 for (int i = 0; i < ModbusCount; i++) | ||||||
|  |                 { | ||||||
|  |                     this.CollectionOffset[i].Text = "0x" + address.ToString("X4"); | ||||||
|  |                     address += 2; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public void UpdateDisplay() | ||||||
|  |         { | ||||||
|  |             if (this.ParentForm.ParentForm.SystemConfig.MODBUS_TCP_SELECTFUNCTION == (int)Define.E_ModbusFunction._04_ReadInputRegister) | ||||||
|  |             { | ||||||
|  |                 this.labelStartAddress.Text = "-"; | ||||||
|  |                 this.UpdateOffset(false, this.ParentForm.ParentForm.SystemConfig.MODBUS_TCP_START_ADDRESS); | ||||||
|  |             } | ||||||
|  |             else | ||||||
|  |             { | ||||||
|  |                 this.labelStartAddress.Text = this.ParentForm.ParentForm.SystemConfig.MODBUS_TCP_START_ADDRESS.ToString(); | ||||||
|  |                 this.UpdateOffset(true, this.ParentForm.ParentForm.SystemConfig.MODBUS_TCP_START_ADDRESS); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public void DisplayRefresh() | ||||||
|  |         { | ||||||
|  |             this.UpdateDisplay(); | ||||||
|  |             this.UpdateData(this.ParentForm.ParentForm.Current30000ModbusData); | ||||||
|  |         } | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         #region Event Handler | ||||||
|  |         #endregion | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -0,0 +1,294 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <root> | ||||||
|  |   <!--  | ||||||
|  |     Microsoft ResX Schema  | ||||||
|  |      | ||||||
|  |     Version 2.0 | ||||||
|  |      | ||||||
|  |     The primary goals of this format is to allow a simple XML format  | ||||||
|  |     that is mostly human readable. The generation and parsing of the  | ||||||
|  |     various data types are done through the TypeConverter classes  | ||||||
|  |     associated with the data types. | ||||||
|  |      | ||||||
|  |     Example: | ||||||
|  |      | ||||||
|  |     ... ado.net/XML headers & schema ... | ||||||
|  |     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||||
|  |     <resheader name="version">2.0</resheader> | ||||||
|  |     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||||
|  |     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||||
|  |     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||||
|  |     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||||
|  |     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||||
|  |         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||||
|  |     </data> | ||||||
|  |     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||||
|  |         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||||
|  |         <comment>This is a comment</comment> | ||||||
|  |     </data> | ||||||
|  |                  | ||||||
|  |     There are any number of "resheader" rows that contain simple  | ||||||
|  |     name/value pairs. | ||||||
|  |      | ||||||
|  |     Each data row contains a name, and value. The row also contains a  | ||||||
|  |     type or mimetype. Type corresponds to a .NET class that support  | ||||||
|  |     text/value conversion through the TypeConverter architecture.  | ||||||
|  |     Classes that don't support this are serialized and stored with the  | ||||||
|  |     mimetype set. | ||||||
|  |      | ||||||
|  |     The mimetype is used for serialized objects, and tells the  | ||||||
|  |     ResXResourceReader how to depersist the object. This is currently not  | ||||||
|  |     extensible. For a given mimetype the value must be set accordingly: | ||||||
|  |      | ||||||
|  |     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||||
|  |     that the ResXResourceWriter will generate, however the reader can  | ||||||
|  |     read any of the formats listed below. | ||||||
|  |      | ||||||
|  |     mimetype: application/x-microsoft.net.object.binary.base64 | ||||||
|  |     value   : The object must be serialized with  | ||||||
|  |             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||||
|  |             : and then encoded with base64 encoding. | ||||||
|  |      | ||||||
|  |     mimetype: application/x-microsoft.net.object.soap.base64 | ||||||
|  |     value   : The object must be serialized with  | ||||||
|  |             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||||
|  |             : and then encoded with base64 encoding. | ||||||
|  | 
 | ||||||
|  |     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||||
|  |     value   : The object must be serialized into a byte array  | ||||||
|  |             : using a System.ComponentModel.TypeConverter | ||||||
|  |             : and then encoded with base64 encoding. | ||||||
|  |     --> | ||||||
|  |   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||||
|  |     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||||
|  |     <xsd:element name="root" msdata:IsDataSet="true"> | ||||||
|  |       <xsd:complexType> | ||||||
|  |         <xsd:choice maxOccurs="unbounded"> | ||||||
|  |           <xsd:element name="metadata"> | ||||||
|  |             <xsd:complexType> | ||||||
|  |               <xsd:sequence> | ||||||
|  |                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||||
|  |               </xsd:sequence> | ||||||
|  |               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||||
|  |               <xsd:attribute name="type" type="xsd:string" /> | ||||||
|  |               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||||
|  |               <xsd:attribute ref="xml:space" /> | ||||||
|  |             </xsd:complexType> | ||||||
|  |           </xsd:element> | ||||||
|  |           <xsd:element name="assembly"> | ||||||
|  |             <xsd:complexType> | ||||||
|  |               <xsd:attribute name="alias" type="xsd:string" /> | ||||||
|  |               <xsd:attribute name="name" type="xsd:string" /> | ||||||
|  |             </xsd:complexType> | ||||||
|  |           </xsd:element> | ||||||
|  |           <xsd:element name="data"> | ||||||
|  |             <xsd:complexType> | ||||||
|  |               <xsd:sequence> | ||||||
|  |                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||||
|  |                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||||
|  |               </xsd:sequence> | ||||||
|  |               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||||
|  |               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||||
|  |               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||||
|  |               <xsd:attribute ref="xml:space" /> | ||||||
|  |             </xsd:complexType> | ||||||
|  |           </xsd:element> | ||||||
|  |           <xsd:element name="resheader"> | ||||||
|  |             <xsd:complexType> | ||||||
|  |               <xsd:sequence> | ||||||
|  |                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||||
|  |               </xsd:sequence> | ||||||
|  |               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||||
|  |             </xsd:complexType> | ||||||
|  |           </xsd:element> | ||||||
|  |         </xsd:choice> | ||||||
|  |       </xsd:complexType> | ||||||
|  |     </xsd:element> | ||||||
|  |   </xsd:schema> | ||||||
|  |   <resheader name="resmimetype"> | ||||||
|  |     <value>text/microsoft-resx</value> | ||||||
|  |   </resheader> | ||||||
|  |   <resheader name="version"> | ||||||
|  |     <value>2.0</value> | ||||||
|  |   </resheader> | ||||||
|  |   <resheader name="reader"> | ||||||
|  |     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||||
|  |   </resheader> | ||||||
|  |   <resheader name="writer"> | ||||||
|  |     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||||
|  |   </resheader> | ||||||
|  |   <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | ||||||
|  |   <data name="smartGroupBox1.BackImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||||
|  |     <value> | ||||||
|  |         iVBORw0KGgoAAAANSUhEUgAAAk0AAAJlCAIAAABIZ1FUAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH | ||||||
|  |         DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp | ||||||
|  |         bGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUis | ||||||
|  |         iGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQ | ||||||
|  |         sf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJO | ||||||
|  |         yhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaI | ||||||
|  |         b4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArou | ||||||
|  |         S49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0i | ||||||
|  |         vQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424 | ||||||
|  |         HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxR | ||||||
|  |         RKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKb | ||||||
|  |         F6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQ | ||||||
|  |         DtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJE | ||||||
|  |         geQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhM | ||||||
|  |         gqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgs | ||||||
|  |         wkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYr | ||||||
|  |         oQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHms | ||||||
|  |         AdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8 | ||||||
|  |         Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQ | ||||||
|  |         tJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzy | ||||||
|  |         pOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4 | ||||||
|  |         UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrC | ||||||
|  |         WbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o | ||||||
|  |         3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0Svo | ||||||
|  |         PfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05b | ||||||
|  |         RztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAU | ||||||
|  |         vdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZv | ||||||
|  |         xjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa | ||||||
|  |         2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHI | ||||||
|  |         dmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Sn | ||||||
|  |         t+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z | ||||||
|  |         /z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4Rz | ||||||
|  |         wzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8Yqpj | ||||||
|  |         ZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbj | ||||||
|  |         kqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09m | ||||||
|  |         SWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvN | ||||||
|  |         e70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quF | ||||||
|  |         nbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/ | ||||||
|  |         VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1F | ||||||
|  |         DR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TL | ||||||
|  |         d1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/E | ||||||
|  |         XRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPq | ||||||
|  |         RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP | ||||||
|  |         lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l | ||||||
|  |         f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK | ||||||
|  |         j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAG/lJREFUeF7t27Gu5Wd1 | ||||||
|  |         xmHGV5AxAooQpNhKiuAZBTsS2AUmDVWuJS1XlIYLBGOQyS7+1SedU6z/WWde3nmWnsrFd7bWTtZvtpT8 | ||||||
|  |         6MXnzZtPPn3708/+9T/evfv6qy+//a+v/hsA9nz5q99+8ctfP7rz9u1PHw26arQ0b//pJ++++M3xCQDg | ||||||
|  |         dTwa9CjR1aSXnTdv3vz8nz8//h4AvL5Hjx5Vuvr0UiNyAOR4VOnq04vM27c/Of4AAHxYjzZdlbo5b958 | ||||||
|  |         8v7dN8frAPBhvX//zcv8n6X8+NOfHU8DQIJHoa5W3ZnPP/vieBcAEjwKdbXqzrx/9/XxLgAkeBTqatWd | ||||||
|  |         8f8MDkCmR6GuVt2Z41EAyHG16s4cLwJAjqtVd+Z4EQByXK26M8eLAJDjatWdOV4EgBxXq+7M8SIA5Lha | ||||||
|  |         dWeOFwEgx9WqO3O8CAA5rlbdmeNFAMhxterOHC8CQI6rVXfmeBEAclytujPHiwCQ42rVnTleBIAcV6vu | ||||||
|  |         zPEiAOS4WnVnjhcBIMfVqjtzvAgAOa5W3ZnjRQDIcbXqzhwvAkCOq1V35ngRAHJcrbozx4sAkONq1Z05 | ||||||
|  |         XgSAHFer7szxIgDkuFp1Z44XASDH1ao7c7wIADmuVt2Z40UAyHG16s4cLwJAjqtVd+Z4EQByXK26M8eL | ||||||
|  |         AJDjatWdOV4EgBxXq+7M8SIA5LhadWeOFwEgx9WqO3O8CAA5rlbdmeNFAMhxterOHC8CQI6rVXfmeBEA | ||||||
|  |         clytujPHiwCQ42rVnTleBIAcV6vuzPEiAOS4WnVnjhcBIMfVqjtzvAgAOa5W3ZnjRQDIcbXqzhwvAkCO | ||||||
|  |         q1V35ngRAHJcrbozx4sAkONq1Z05XgSAHFer7szxIgDkuFp1Z44XASDH1ao7c7wIADmuVt2Z40UAyHG1 | ||||||
|  |         6s4cLwJAjqtVd+Z4EQByXK26M8eLT/nhhx++//6vH4+///3vx395HR/q7/JSfINLLLbJIyhHYp5xterO | ||||||
|  |         HC8+5fE/ZL//wx8/Ht99/7fjv7yOD/V3eSm+wSUW2+QRlCMxz7hadWeOF5/y+Fjf/O//fTz+/Je/Hv/l | ||||||
|  |         dXyov8tL8Q0usdgmOhdB55jxDS6x2CY6F0HnmPENLrHYJjoXQeeY8Q0usdgmOhdB55jxDS6x2CY6F0Hn | ||||||
|  |         mPENLrHYJjoXQeeY8Q0usdgmOhdB55jxDS6x2CY6F0HnmPENLrHYJjoXQeeY8Q0usdgmOhdB55jxDS6x | ||||||
|  |         2CY6F0HnmPENLrHYJjoXQeeY8Q0usdgmOhdB55jxDS6x2CY6F0HnmPENLrHYJjoXQeeY8Q0usdgmOhdB | ||||||
|  |         55jxDS6x2CY6F0HnmPENLrHYJjoXQeeY8Q0usdgmOhdB55jxDS6x2CY6F0HnmPENLrHYJjoXQeeY8Q0u | ||||||
|  |         sdgmuZ0zxhhjXmSOxDzjatWdOV58yuNjHUHu5vccM3/605+P/93hRVhsE52LoHPMOMdLLLaJzkXQOWac | ||||||
|  |         4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6 | ||||||
|  |         F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xz | ||||||
|  |         vMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20Tn | ||||||
|  |         IugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2Ca5nfvY5rhf | ||||||
|  |         r+P628YYUz1HYp5xterOHC8+5fGxjovcze85ZvzsWGKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6Bz | ||||||
|  |         zDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKx | ||||||
|  |         TXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSO | ||||||
|  |         Ged4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2 | ||||||
|  |         ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvkds4YY4x5kTkS84yrVXfm | ||||||
|  |         ePEpj491/Lu1m99zzPjZscRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdL | ||||||
|  |         LLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6C | ||||||
|  |         zjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJ | ||||||
|  |         xTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQ | ||||||
|  |         OWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbJ7dzHNsf9eh3X3zbGmOo5EvOMq1V35njxKY+PdVzk | ||||||
|  |         bn7PMeNnxxKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hx | ||||||
|  |         jpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvo | ||||||
|  |         XASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO | ||||||
|  |         8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOd | ||||||
|  |         i6BzzDjHSyy2ic5F0DlmnOMlFtskt3PGGGPMi8yRmGdcrbozx4tPeXys49+t3fyeY8bPjiUW20TnIugc | ||||||
|  |         M87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hs | ||||||
|  |         E52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1j | ||||||
|  |         xjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEott | ||||||
|  |         onMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPM | ||||||
|  |         OMdLLLZJbuc+tjnu1+u4/rYxxlTPkZhnXK26M8eLT3l8rOMid/N7jhk/O5ZYbBOdi6BzzDjHSyy2ic5F | ||||||
|  |         0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwv | ||||||
|  |         sdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkI | ||||||
|  |         OseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMl | ||||||
|  |         FttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmuZ0z | ||||||
|  |         xhhjXmSOxDzjatWdOV58yuNjHf9u7eb3HDN+diyx2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac | ||||||
|  |         4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6 | ||||||
|  |         F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xz | ||||||
|  |         vMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20Tn | ||||||
|  |         IugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNcjv3sc1xv17H9beNMaZ6jsQ8 | ||||||
|  |         42rVnTlefMrjYx0XuZvfc8z42bHEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6Bz | ||||||
|  |         zDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKx | ||||||
|  |         TXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSO | ||||||
|  |         Ged4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2 | ||||||
|  |         ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU2ye2cMcYY8yJzJOYZV6vuzPHiUx4f6/h3aze/ | ||||||
|  |         55jxs2OJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdL | ||||||
|  |         LLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6C | ||||||
|  |         zjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJ | ||||||
|  |         xTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQ | ||||||
|  |         OWac4yUW20TnIugcM87xEottktu5j22O+/U6rr9tjDHVcyTmGVer7szx4lMeH+u4yN38nmPGz44lFttE | ||||||
|  |         5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hx | ||||||
|  |         jpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvo | ||||||
|  |         XASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO | ||||||
|  |         8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOd | ||||||
|  |         i6BzzDjHSyy2SW7njDHGmBeZIzHPuFp1Z44Xn/L4WMe/W7v5PceMnx1LLLaJzkXQOWac4yUW20TnIugc | ||||||
|  |         M87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hs | ||||||
|  |         E52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1j | ||||||
|  |         xjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEott | ||||||
|  |         onMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsk9zOfWxz | ||||||
|  |         3K/Xcf1tY4ypniMxz7hadWeOF5/y+FjHRe7m9xwzfnYssdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F | ||||||
|  |         0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwv | ||||||
|  |         sdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkI | ||||||
|  |         OseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMl | ||||||
|  |         FttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXI7Z4wxxrzIHIl5xtWq | ||||||
|  |         O3O8+JTHxzr+3drN7zlm/OxYYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac | ||||||
|  |         4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6 | ||||||
|  |         F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xz | ||||||
|  |         vMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20Tn | ||||||
|  |         IugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+R27mOb4369jutvG2NM9RyJecbVqjtzvPiUx8c6 | ||||||
|  |         LnI3v+eY8bNjicU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6Bz | ||||||
|  |         zDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKx | ||||||
|  |         TXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSO | ||||||
|  |         Ged4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2 | ||||||
|  |         ic5F0DlmnOMlFttE5yLoHDPO8RKLbZLbOWOMMeZF5kjMM65W3Znjxac8Ptbx79Zufs8x42fHEottonMR | ||||||
|  |         dI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdL | ||||||
|  |         LLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6C | ||||||
|  |         zjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJ | ||||||
|  |         xTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQ | ||||||
|  |         OWac4yUW2yS3cx/bHPfrdVx/2xhjqudIzDOuVt2Z48WnPD7WcZG7+T3HjJ8dSyy2ic5F0DlmnOMlFttE | ||||||
|  |         5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hx | ||||||
|  |         jpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvo | ||||||
|  |         XASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO | ||||||
|  |         8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbJPc | ||||||
|  |         zhljjDEvMkdinnG16s4cLz7l8bGOf7d283uOGT87llhsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugc | ||||||
|  |         M87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hs | ||||||
|  |         E52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1j | ||||||
|  |         xjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEott | ||||||
|  |         onMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2Ca5nfvY5rhfr+P628YYUz1H | ||||||
|  |         Yp5xterOHC8+5fGxjovcze85ZvzsWGKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F | ||||||
|  |         0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwv | ||||||
|  |         sdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkI | ||||||
|  |         OseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMl | ||||||
|  |         FttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvkds4YY4x5kTkS84yrVXfmePEpj491/Lu1 | ||||||
|  |         m99zzPjZscRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac | ||||||
|  |         4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6 | ||||||
|  |         F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xz | ||||||
|  |         vMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20Tn | ||||||
|  |         IugcM87xEottonMRdI4Z53iJxTbJ7dzHNsf9eh3X3zbGmOo5EvOMq1V35njxKY+PdVzkbn7PMeNnxxKL | ||||||
|  |         baJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6Bz | ||||||
|  |         zDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKx | ||||||
|  |         TXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSO | ||||||
|  |         Ged4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2 | ||||||
|  |         SW7nfv+HP348vvv+b8d/eR0f6u/yUr777i+/+/Z/eHHf/fm747/wjyu0cz/88MP33//14/H4Go7/8jo+ | ||||||
|  |         1N/lpfgGl1hsk0dQjsQ842rVnTleBIAcV6vuzPEiAOS4WnVnjhcBIMfVqjvzq//87fEoACT46stvr1bd | ||||||
|  |         mS9++evjXQBI8P7d11er7sznn31xvAsACR6Fulp1Z3786c+OdwEgwaNQV6vuzJs3n7x/983xNAB8WO/f | ||||||
|  |         f/Mo1NWqm/P27U+P1wHgw3q06arUi8zPf/758QcA4EN5VOnq00vNmzdvfvEv/3b8GQB4fb/4xb8/qnT1 | ||||||
|  |         6WXn7dufvPviN8ffA4DX8WjQo0RXk5bmzZtPfvzpzz7/7It3777+6svfHZ8AAF7WozWP4jy686jPi/0f | ||||||
|  |         nhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wxxhhjjDHGGGOMMcYYY4wx | ||||||
|  |         5h92fvSj/weuCgZ1alNo5wAAAABJRU5ErkJggg== | ||||||
|  | </value> | ||||||
|  |   </data> | ||||||
|  |   <metadata name="$this.FormFactorShadowProperty" xml:space="preserve"> | ||||||
|  |     <value>WEBPAD</value> | ||||||
|  |   </metadata> | ||||||
|  | </root> | ||||||
|  | @ -289,7 +289,7 @@ | ||||||
|             this.groupBoxModbusSetting.Location = new System.Drawing.Point(554, 414); |             this.groupBoxModbusSetting.Location = new System.Drawing.Point(554, 414); | ||||||
|             this.groupBoxModbusSetting.Name = "groupBoxModbusSetting"; |             this.groupBoxModbusSetting.Name = "groupBoxModbusSetting"; | ||||||
|             this.groupBoxModbusSetting.RoundRadius = 5; |             this.groupBoxModbusSetting.RoundRadius = 5; | ||||||
|             this.groupBoxModbusSetting.Size = new System.Drawing.Size(287, 237); |             this.groupBoxModbusSetting.Size = new System.Drawing.Size(287, 234); | ||||||
|             this.groupBoxModbusSetting.TabIndex = 183; |             this.groupBoxModbusSetting.TabIndex = 183; | ||||||
|             this.groupBoxModbusSetting.Text = "Modbus Settings"; |             this.groupBoxModbusSetting.Text = "Modbus Settings"; | ||||||
|             this.groupBoxModbusSetting.TextColor = System.Drawing.Color.White; |             this.groupBoxModbusSetting.TextColor = System.Drawing.Color.White; | ||||||
|  | @ -308,7 +308,7 @@ | ||||||
|             this.buttonSaveModbus.ImageDisable = null; |             this.buttonSaveModbus.ImageDisable = null; | ||||||
|             this.buttonSaveModbus.ImageDown = null; |             this.buttonSaveModbus.ImageDown = null; | ||||||
|             this.buttonSaveModbus.ImageUp = null; |             this.buttonSaveModbus.ImageUp = null; | ||||||
|             this.buttonSaveModbus.Location = new System.Drawing.Point(220, 4); |             this.buttonSaveModbus.Location = new System.Drawing.Point(220, 3); | ||||||
|             this.buttonSaveModbus.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; |             this.buttonSaveModbus.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; | ||||||
|             this.buttonSaveModbus.Name = "buttonSaveModbus"; |             this.buttonSaveModbus.Name = "buttonSaveModbus"; | ||||||
|             this.buttonSaveModbus.NestedClickEventPrevent = false; |             this.buttonSaveModbus.NestedClickEventPrevent = false; | ||||||
|  | @ -519,7 +519,7 @@ | ||||||
|             this.buttonSaveClient.ImageDisable = null; |             this.buttonSaveClient.ImageDisable = null; | ||||||
|             this.buttonSaveClient.ImageDown = null; |             this.buttonSaveClient.ImageDown = null; | ||||||
|             this.buttonSaveClient.ImageUp = null; |             this.buttonSaveClient.ImageUp = null; | ||||||
|             this.buttonSaveClient.Location = new System.Drawing.Point(317, 5); |             this.buttonSaveClient.Location = new System.Drawing.Point(317, 3); | ||||||
|             this.buttonSaveClient.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; |             this.buttonSaveClient.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; | ||||||
|             this.buttonSaveClient.Name = "buttonSaveClient"; |             this.buttonSaveClient.Name = "buttonSaveClient"; | ||||||
|             this.buttonSaveClient.NestedClickEventPrevent = false; |             this.buttonSaveClient.NestedClickEventPrevent = false; | ||||||
|  | @ -556,7 +556,7 @@ | ||||||
|             this.buttonStopClient.ImageDisable = null; |             this.buttonStopClient.ImageDisable = null; | ||||||
|             this.buttonStopClient.ImageDown = null; |             this.buttonStopClient.ImageDown = null; | ||||||
|             this.buttonStopClient.ImageUp = null; |             this.buttonStopClient.ImageUp = null; | ||||||
|             this.buttonStopClient.Location = new System.Drawing.Point(210, 160); |             this.buttonStopClient.Location = new System.Drawing.Point(210, 158); | ||||||
|             this.buttonStopClient.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; |             this.buttonStopClient.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; | ||||||
|             this.buttonStopClient.Name = "buttonStopClient"; |             this.buttonStopClient.Name = "buttonStopClient"; | ||||||
|             this.buttonStopClient.NestedClickEventPrevent = false; |             this.buttonStopClient.NestedClickEventPrevent = false; | ||||||
|  | @ -585,7 +585,7 @@ | ||||||
|             this.labelHostPort.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelHostPort.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelHostPort.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelHostPort.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelHostPort.LineSpacing = 0F; |             this.labelHostPort.LineSpacing = 0F; | ||||||
|             this.labelHostPort.Location = new System.Drawing.Point(153, 122); |             this.labelHostPort.Location = new System.Drawing.Point(153, 120); | ||||||
|             this.labelHostPort.Name = "labelHostPort"; |             this.labelHostPort.Name = "labelHostPort"; | ||||||
|             this.labelHostPort.OverlapOptimize = true; |             this.labelHostPort.OverlapOptimize = true; | ||||||
|             this.labelHostPort.PasswordChar = '\0'; |             this.labelHostPort.PasswordChar = '\0'; | ||||||
|  | @ -616,7 +616,7 @@ | ||||||
|             this.buttonStartClient.ImageDisable = null; |             this.buttonStartClient.ImageDisable = null; | ||||||
|             this.buttonStartClient.ImageDown = null; |             this.buttonStartClient.ImageDown = null; | ||||||
|             this.buttonStartClient.ImageUp = null; |             this.buttonStartClient.ImageUp = null; | ||||||
|             this.buttonStartClient.Location = new System.Drawing.Point(89, 160); |             this.buttonStartClient.Location = new System.Drawing.Point(89, 158); | ||||||
|             this.buttonStartClient.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; |             this.buttonStartClient.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; | ||||||
|             this.buttonStartClient.Name = "buttonStartClient"; |             this.buttonStartClient.Name = "buttonStartClient"; | ||||||
|             this.buttonStartClient.NestedClickEventPrevent = false; |             this.buttonStartClient.NestedClickEventPrevent = false; | ||||||
|  | @ -645,7 +645,7 @@ | ||||||
|             this.labelHostIP4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelHostIP4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelHostIP4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelHostIP4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelHostIP4.LineSpacing = 0F; |             this.labelHostIP4.LineSpacing = 0F; | ||||||
|             this.labelHostIP4.Location = new System.Drawing.Point(321, 88); |             this.labelHostIP4.Location = new System.Drawing.Point(321, 86); | ||||||
|             this.labelHostIP4.Name = "labelHostIP4"; |             this.labelHostIP4.Name = "labelHostIP4"; | ||||||
|             this.labelHostIP4.OverlapOptimize = true; |             this.labelHostIP4.OverlapOptimize = true; | ||||||
|             this.labelHostIP4.PasswordChar = '\0'; |             this.labelHostIP4.PasswordChar = '\0'; | ||||||
|  | @ -669,7 +669,7 @@ | ||||||
|             this.labelHostIP3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelHostIP3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelHostIP3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelHostIP3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelHostIP3.LineSpacing = 0F; |             this.labelHostIP3.LineSpacing = 0F; | ||||||
|             this.labelHostIP3.Location = new System.Drawing.Point(265, 88); |             this.labelHostIP3.Location = new System.Drawing.Point(265, 86); | ||||||
|             this.labelHostIP3.Name = "labelHostIP3"; |             this.labelHostIP3.Name = "labelHostIP3"; | ||||||
|             this.labelHostIP3.OverlapOptimize = true; |             this.labelHostIP3.OverlapOptimize = true; | ||||||
|             this.labelHostIP3.PasswordChar = '\0'; |             this.labelHostIP3.PasswordChar = '\0'; | ||||||
|  | @ -693,7 +693,7 @@ | ||||||
|             this.labelHostIP2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelHostIP2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelHostIP2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelHostIP2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelHostIP2.LineSpacing = 0F; |             this.labelHostIP2.LineSpacing = 0F; | ||||||
|             this.labelHostIP2.Location = new System.Drawing.Point(209, 88); |             this.labelHostIP2.Location = new System.Drawing.Point(209, 86); | ||||||
|             this.labelHostIP2.Name = "labelHostIP2"; |             this.labelHostIP2.Name = "labelHostIP2"; | ||||||
|             this.labelHostIP2.OverlapOptimize = true; |             this.labelHostIP2.OverlapOptimize = true; | ||||||
|             this.labelHostIP2.PasswordChar = '\0'; |             this.labelHostIP2.PasswordChar = '\0'; | ||||||
|  | @ -717,7 +717,7 @@ | ||||||
|             this.labelHostIP1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelHostIP1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelHostIP1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelHostIP1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelHostIP1.LineSpacing = 0F; |             this.labelHostIP1.LineSpacing = 0F; | ||||||
|             this.labelHostIP1.Location = new System.Drawing.Point(153, 88); |             this.labelHostIP1.Location = new System.Drawing.Point(153, 86); | ||||||
|             this.labelHostIP1.Name = "labelHostIP1"; |             this.labelHostIP1.Name = "labelHostIP1"; | ||||||
|             this.labelHostIP1.OverlapOptimize = true; |             this.labelHostIP1.OverlapOptimize = true; | ||||||
|             this.labelHostIP1.PasswordChar = '\0'; |             this.labelHostIP1.PasswordChar = '\0'; | ||||||
|  | @ -741,7 +741,7 @@ | ||||||
|             this.labelClientStatus.BorderStyle = SmartX.SmartLabel.BorderStyles.None; |             this.labelClientStatus.BorderStyle = SmartX.SmartLabel.BorderStyles.None; | ||||||
|             this.labelClientStatus.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold); |             this.labelClientStatus.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelClientStatus.LineSpacing = 0F; |             this.labelClientStatus.LineSpacing = 0F; | ||||||
|             this.labelClientStatus.Location = new System.Drawing.Point(153, 54); |             this.labelClientStatus.Location = new System.Drawing.Point(153, 52); | ||||||
|             this.labelClientStatus.Name = "labelClientStatus"; |             this.labelClientStatus.Name = "labelClientStatus"; | ||||||
|             this.labelClientStatus.OverlapOptimize = true; |             this.labelClientStatus.OverlapOptimize = true; | ||||||
|             this.labelClientStatus.PasswordChar = '\0'; |             this.labelClientStatus.PasswordChar = '\0'; | ||||||
|  | @ -765,7 +765,7 @@ | ||||||
|             this.smartLabel7.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); |             this.smartLabel7.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); | ||||||
|             this.smartLabel7.ForeColor = System.Drawing.Color.Red; |             this.smartLabel7.ForeColor = System.Drawing.Color.Red; | ||||||
|             this.smartLabel7.LineSpacing = 0F; |             this.smartLabel7.LineSpacing = 0F; | ||||||
|             this.smartLabel7.Location = new System.Drawing.Point(17, 54); |             this.smartLabel7.Location = new System.Drawing.Point(17, 52); | ||||||
|             this.smartLabel7.Name = "smartLabel7"; |             this.smartLabel7.Name = "smartLabel7"; | ||||||
|             this.smartLabel7.OverlapOptimize = true; |             this.smartLabel7.OverlapOptimize = true; | ||||||
|             this.smartLabel7.PasswordChar = '\0'; |             this.smartLabel7.PasswordChar = '\0'; | ||||||
|  | @ -789,7 +789,7 @@ | ||||||
|             this.smartLabel8.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); |             this.smartLabel8.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); | ||||||
|             this.smartLabel8.ForeColor = System.Drawing.Color.Red; |             this.smartLabel8.ForeColor = System.Drawing.Color.Red; | ||||||
|             this.smartLabel8.LineSpacing = 0F; |             this.smartLabel8.LineSpacing = 0F; | ||||||
|             this.smartLabel8.Location = new System.Drawing.Point(17, 88); |             this.smartLabel8.Location = new System.Drawing.Point(17, 86); | ||||||
|             this.smartLabel8.Name = "smartLabel8"; |             this.smartLabel8.Name = "smartLabel8"; | ||||||
|             this.smartLabel8.OverlapOptimize = true; |             this.smartLabel8.OverlapOptimize = true; | ||||||
|             this.smartLabel8.PasswordChar = '\0'; |             this.smartLabel8.PasswordChar = '\0'; | ||||||
|  | @ -813,7 +813,7 @@ | ||||||
|             this.smartLabel9.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); |             this.smartLabel9.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); | ||||||
|             this.smartLabel9.ForeColor = System.Drawing.Color.White; |             this.smartLabel9.ForeColor = System.Drawing.Color.White; | ||||||
|             this.smartLabel9.LineSpacing = 0F; |             this.smartLabel9.LineSpacing = 0F; | ||||||
|             this.smartLabel9.Location = new System.Drawing.Point(17, 122); |             this.smartLabel9.Location = new System.Drawing.Point(17, 120); | ||||||
|             this.smartLabel9.Name = "smartLabel9"; |             this.smartLabel9.Name = "smartLabel9"; | ||||||
|             this.smartLabel9.OverlapOptimize = true; |             this.smartLabel9.OverlapOptimize = true; | ||||||
|             this.smartLabel9.PasswordChar = '\0'; |             this.smartLabel9.PasswordChar = '\0'; | ||||||
|  | @ -870,7 +870,7 @@ | ||||||
|             this.buttonSaveServer.ImageDisable = null; |             this.buttonSaveServer.ImageDisable = null; | ||||||
|             this.buttonSaveServer.ImageDown = null; |             this.buttonSaveServer.ImageDown = null; | ||||||
|             this.buttonSaveServer.ImageUp = null; |             this.buttonSaveServer.ImageUp = null; | ||||||
|             this.buttonSaveServer.Location = new System.Drawing.Point(317, 5); |             this.buttonSaveServer.Location = new System.Drawing.Point(317, 3); | ||||||
|             this.buttonSaveServer.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; |             this.buttonSaveServer.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; | ||||||
|             this.buttonSaveServer.Name = "buttonSaveServer"; |             this.buttonSaveServer.Name = "buttonSaveServer"; | ||||||
|             this.buttonSaveServer.NestedClickEventPrevent = false; |             this.buttonSaveServer.NestedClickEventPrevent = false; | ||||||
|  | @ -907,7 +907,7 @@ | ||||||
|             this.buttonStopServer.ImageDisable = null; |             this.buttonStopServer.ImageDisable = null; | ||||||
|             this.buttonStopServer.ImageDown = null; |             this.buttonStopServer.ImageDown = null; | ||||||
|             this.buttonStopServer.ImageUp = null; |             this.buttonStopServer.ImageUp = null; | ||||||
|             this.buttonStopServer.Location = new System.Drawing.Point(209, 160); |             this.buttonStopServer.Location = new System.Drawing.Point(209, 158); | ||||||
|             this.buttonStopServer.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; |             this.buttonStopServer.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; | ||||||
|             this.buttonStopServer.Name = "buttonStopServer"; |             this.buttonStopServer.Name = "buttonStopServer"; | ||||||
|             this.buttonStopServer.NestedClickEventPrevent = false; |             this.buttonStopServer.NestedClickEventPrevent = false; | ||||||
|  | @ -943,7 +943,7 @@ | ||||||
|             this.buttonStartServer.ImageDisable = null; |             this.buttonStartServer.ImageDisable = null; | ||||||
|             this.buttonStartServer.ImageDown = null; |             this.buttonStartServer.ImageDown = null; | ||||||
|             this.buttonStartServer.ImageUp = null; |             this.buttonStartServer.ImageUp = null; | ||||||
|             this.buttonStartServer.Location = new System.Drawing.Point(88, 160); |             this.buttonStartServer.Location = new System.Drawing.Point(88, 158); | ||||||
|             this.buttonStartServer.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; |             this.buttonStartServer.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; | ||||||
|             this.buttonStartServer.Name = "buttonStartServer"; |             this.buttonStartServer.Name = "buttonStartServer"; | ||||||
|             this.buttonStartServer.NestedClickEventPrevent = false; |             this.buttonStartServer.NestedClickEventPrevent = false; | ||||||
|  | @ -972,7 +972,7 @@ | ||||||
|             this.labelLocalPort.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalPort.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalPort.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalPort.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalPort.LineSpacing = 0F; |             this.labelLocalPort.LineSpacing = 0F; | ||||||
|             this.labelLocalPort.Location = new System.Drawing.Point(153, 122); |             this.labelLocalPort.Location = new System.Drawing.Point(153, 120); | ||||||
|             this.labelLocalPort.Name = "labelLocalPort"; |             this.labelLocalPort.Name = "labelLocalPort"; | ||||||
|             this.labelLocalPort.OverlapOptimize = true; |             this.labelLocalPort.OverlapOptimize = true; | ||||||
|             this.labelLocalPort.PasswordChar = '\0'; |             this.labelLocalPort.PasswordChar = '\0'; | ||||||
|  | @ -996,7 +996,7 @@ | ||||||
|             this.labelConnectedIP.BorderStyle = SmartX.SmartLabel.BorderStyles.None; |             this.labelConnectedIP.BorderStyle = SmartX.SmartLabel.BorderStyles.None; | ||||||
|             this.labelConnectedIP.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold); |             this.labelConnectedIP.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelConnectedIP.LineSpacing = 0F; |             this.labelConnectedIP.LineSpacing = 0F; | ||||||
|             this.labelConnectedIP.Location = new System.Drawing.Point(153, 88); |             this.labelConnectedIP.Location = new System.Drawing.Point(153, 86); | ||||||
|             this.labelConnectedIP.Name = "labelConnectedIP"; |             this.labelConnectedIP.Name = "labelConnectedIP"; | ||||||
|             this.labelConnectedIP.OverlapOptimize = true; |             this.labelConnectedIP.OverlapOptimize = true; | ||||||
|             this.labelConnectedIP.PasswordChar = '\0'; |             this.labelConnectedIP.PasswordChar = '\0'; | ||||||
|  | @ -1019,7 +1019,7 @@ | ||||||
|             this.labelServerStatus.BorderStyle = SmartX.SmartLabel.BorderStyles.None; |             this.labelServerStatus.BorderStyle = SmartX.SmartLabel.BorderStyles.None; | ||||||
|             this.labelServerStatus.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold); |             this.labelServerStatus.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelServerStatus.LineSpacing = 0F; |             this.labelServerStatus.LineSpacing = 0F; | ||||||
|             this.labelServerStatus.Location = new System.Drawing.Point(153, 54); |             this.labelServerStatus.Location = new System.Drawing.Point(153, 52); | ||||||
|             this.labelServerStatus.Name = "labelServerStatus"; |             this.labelServerStatus.Name = "labelServerStatus"; | ||||||
|             this.labelServerStatus.OverlapOptimize = true; |             this.labelServerStatus.OverlapOptimize = true; | ||||||
|             this.labelServerStatus.PasswordChar = '\0'; |             this.labelServerStatus.PasswordChar = '\0'; | ||||||
|  | @ -1043,7 +1043,7 @@ | ||||||
|             this.smartLabel6.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); |             this.smartLabel6.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); | ||||||
|             this.smartLabel6.ForeColor = System.Drawing.Color.Red; |             this.smartLabel6.ForeColor = System.Drawing.Color.Red; | ||||||
|             this.smartLabel6.LineSpacing = 0F; |             this.smartLabel6.LineSpacing = 0F; | ||||||
|             this.smartLabel6.Location = new System.Drawing.Point(17, 54); |             this.smartLabel6.Location = new System.Drawing.Point(17, 52); | ||||||
|             this.smartLabel6.Name = "smartLabel6"; |             this.smartLabel6.Name = "smartLabel6"; | ||||||
|             this.smartLabel6.OverlapOptimize = true; |             this.smartLabel6.OverlapOptimize = true; | ||||||
|             this.smartLabel6.PasswordChar = '\0'; |             this.smartLabel6.PasswordChar = '\0'; | ||||||
|  | @ -1067,7 +1067,7 @@ | ||||||
|             this.smartLabel2.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); |             this.smartLabel2.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); | ||||||
|             this.smartLabel2.ForeColor = System.Drawing.Color.Red; |             this.smartLabel2.ForeColor = System.Drawing.Color.Red; | ||||||
|             this.smartLabel2.LineSpacing = 0F; |             this.smartLabel2.LineSpacing = 0F; | ||||||
|             this.smartLabel2.Location = new System.Drawing.Point(17, 88); |             this.smartLabel2.Location = new System.Drawing.Point(17, 86); | ||||||
|             this.smartLabel2.Name = "smartLabel2"; |             this.smartLabel2.Name = "smartLabel2"; | ||||||
|             this.smartLabel2.OverlapOptimize = true; |             this.smartLabel2.OverlapOptimize = true; | ||||||
|             this.smartLabel2.PasswordChar = '\0'; |             this.smartLabel2.PasswordChar = '\0'; | ||||||
|  | @ -1091,7 +1091,7 @@ | ||||||
|             this.smartLabel3.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); |             this.smartLabel3.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); | ||||||
|             this.smartLabel3.ForeColor = System.Drawing.Color.White; |             this.smartLabel3.ForeColor = System.Drawing.Color.White; | ||||||
|             this.smartLabel3.LineSpacing = 0F; |             this.smartLabel3.LineSpacing = 0F; | ||||||
|             this.smartLabel3.Location = new System.Drawing.Point(17, 122); |             this.smartLabel3.Location = new System.Drawing.Point(17, 120); | ||||||
|             this.smartLabel3.Name = "smartLabel3"; |             this.smartLabel3.Name = "smartLabel3"; | ||||||
|             this.smartLabel3.OverlapOptimize = true; |             this.smartLabel3.OverlapOptimize = true; | ||||||
|             this.smartLabel3.PasswordChar = '\0'; |             this.smartLabel3.PasswordChar = '\0'; | ||||||
|  | @ -1146,7 +1146,7 @@ | ||||||
|             this.smartGroupBox3.Location = new System.Drawing.Point(67, 414); |             this.smartGroupBox3.Location = new System.Drawing.Point(67, 414); | ||||||
|             this.smartGroupBox3.Name = "smartGroupBox3"; |             this.smartGroupBox3.Name = "smartGroupBox3"; | ||||||
|             this.smartGroupBox3.RoundRadius = 5; |             this.smartGroupBox3.RoundRadius = 5; | ||||||
|             this.smartGroupBox3.Size = new System.Drawing.Size(481, 237); |             this.smartGroupBox3.Size = new System.Drawing.Size(481, 234); | ||||||
|             this.smartGroupBox3.TabIndex = 95; |             this.smartGroupBox3.TabIndex = 95; | ||||||
|             this.smartGroupBox3.Text = "Local Settings"; |             this.smartGroupBox3.Text = "Local Settings"; | ||||||
|             this.smartGroupBox3.TextColor = System.Drawing.Color.White; |             this.smartGroupBox3.TextColor = System.Drawing.Color.White; | ||||||
|  | @ -1160,7 +1160,7 @@ | ||||||
|             this.smartLabel5.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.smartLabel5.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.smartLabel5.ForeColor = System.Drawing.Color.White; |             this.smartLabel5.ForeColor = System.Drawing.Color.White; | ||||||
|             this.smartLabel5.LineSpacing = 0F; |             this.smartLabel5.LineSpacing = 0F; | ||||||
|             this.smartLabel5.Location = new System.Drawing.Point(410, 193); |             this.smartLabel5.Location = new System.Drawing.Point(410, 190); | ||||||
|             this.smartLabel5.Name = "smartLabel5"; |             this.smartLabel5.Name = "smartLabel5"; | ||||||
|             this.smartLabel5.OverlapOptimize = true; |             this.smartLabel5.OverlapOptimize = true; | ||||||
|             this.smartLabel5.PasswordChar = '\0'; |             this.smartLabel5.PasswordChar = '\0'; | ||||||
|  | @ -1184,7 +1184,7 @@ | ||||||
|             this.smartLabel4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.smartLabel4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.smartLabel4.ForeColor = System.Drawing.Color.White; |             this.smartLabel4.ForeColor = System.Drawing.Color.White; | ||||||
|             this.smartLabel4.LineSpacing = 0F; |             this.smartLabel4.LineSpacing = 0F; | ||||||
|             this.smartLabel4.Location = new System.Drawing.Point(354, 193); |             this.smartLabel4.Location = new System.Drawing.Point(354, 190); | ||||||
|             this.smartLabel4.Name = "smartLabel4"; |             this.smartLabel4.Name = "smartLabel4"; | ||||||
|             this.smartLabel4.OverlapOptimize = true; |             this.smartLabel4.OverlapOptimize = true; | ||||||
|             this.smartLabel4.PasswordChar = '\0'; |             this.smartLabel4.PasswordChar = '\0'; | ||||||
|  | @ -1207,7 +1207,7 @@ | ||||||
|             this.labelMACAddress6.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelMACAddress6.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelMACAddress6.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelMACAddress6.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelMACAddress6.LineSpacing = 0F; |             this.labelMACAddress6.LineSpacing = 0F; | ||||||
|             this.labelMACAddress6.Location = new System.Drawing.Point(423, 193); |             this.labelMACAddress6.Location = new System.Drawing.Point(423, 190); | ||||||
|             this.labelMACAddress6.Name = "labelMACAddress6"; |             this.labelMACAddress6.Name = "labelMACAddress6"; | ||||||
|             this.labelMACAddress6.OverlapOptimize = true; |             this.labelMACAddress6.OverlapOptimize = true; | ||||||
|             this.labelMACAddress6.PasswordChar = '\0'; |             this.labelMACAddress6.PasswordChar = '\0'; | ||||||
|  | @ -1231,7 +1231,7 @@ | ||||||
|             this.labelMACAddress5.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelMACAddress5.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelMACAddress5.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelMACAddress5.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelMACAddress5.LineSpacing = 0F; |             this.labelMACAddress5.LineSpacing = 0F; | ||||||
|             this.labelMACAddress5.Location = new System.Drawing.Point(367, 193); |             this.labelMACAddress5.Location = new System.Drawing.Point(367, 190); | ||||||
|             this.labelMACAddress5.Name = "labelMACAddress5"; |             this.labelMACAddress5.Name = "labelMACAddress5"; | ||||||
|             this.labelMACAddress5.OverlapOptimize = true; |             this.labelMACAddress5.OverlapOptimize = true; | ||||||
|             this.labelMACAddress5.PasswordChar = '\0'; |             this.labelMACAddress5.PasswordChar = '\0'; | ||||||
|  | @ -1255,7 +1255,7 @@ | ||||||
|             this.labelMACAddress4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelMACAddress4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelMACAddress4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelMACAddress4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelMACAddress4.LineSpacing = 0F; |             this.labelMACAddress4.LineSpacing = 0F; | ||||||
|             this.labelMACAddress4.Location = new System.Drawing.Point(311, 193); |             this.labelMACAddress4.Location = new System.Drawing.Point(311, 190); | ||||||
|             this.labelMACAddress4.Name = "labelMACAddress4"; |             this.labelMACAddress4.Name = "labelMACAddress4"; | ||||||
|             this.labelMACAddress4.OverlapOptimize = true; |             this.labelMACAddress4.OverlapOptimize = true; | ||||||
|             this.labelMACAddress4.PasswordChar = '\0'; |             this.labelMACAddress4.PasswordChar = '\0'; | ||||||
|  | @ -1280,7 +1280,7 @@ | ||||||
|             this.labelMACAddress1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelMACAddress1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelMACAddress1.ForeColor = System.Drawing.Color.White; |             this.labelMACAddress1.ForeColor = System.Drawing.Color.White; | ||||||
|             this.labelMACAddress1.LineSpacing = 0F; |             this.labelMACAddress1.LineSpacing = 0F; | ||||||
|             this.labelMACAddress1.Location = new System.Drawing.Point(197, 193); |             this.labelMACAddress1.Location = new System.Drawing.Point(197, 190); | ||||||
|             this.labelMACAddress1.Name = "labelMACAddress1"; |             this.labelMACAddress1.Name = "labelMACAddress1"; | ||||||
|             this.labelMACAddress1.OverlapOptimize = true; |             this.labelMACAddress1.OverlapOptimize = true; | ||||||
|             this.labelMACAddress1.PasswordChar = '\0'; |             this.labelMACAddress1.PasswordChar = '\0'; | ||||||
|  | @ -1304,7 +1304,7 @@ | ||||||
|             this.labelTitleMACAddress.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); |             this.labelTitleMACAddress.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); | ||||||
|             this.labelTitleMACAddress.ForeColor = System.Drawing.Color.Red; |             this.labelTitleMACAddress.ForeColor = System.Drawing.Color.Red; | ||||||
|             this.labelTitleMACAddress.LineSpacing = 0F; |             this.labelTitleMACAddress.LineSpacing = 0F; | ||||||
|             this.labelTitleMACAddress.Location = new System.Drawing.Point(17, 193); |             this.labelTitleMACAddress.Location = new System.Drawing.Point(17, 190); | ||||||
|             this.labelTitleMACAddress.Name = "labelTitleMACAddress"; |             this.labelTitleMACAddress.Name = "labelTitleMACAddress"; | ||||||
|             this.labelTitleMACAddress.OverlapOptimize = true; |             this.labelTitleMACAddress.OverlapOptimize = true; | ||||||
|             this.labelTitleMACAddress.PasswordChar = '\0'; |             this.labelTitleMACAddress.PasswordChar = '\0'; | ||||||
|  | @ -1324,7 +1324,7 @@ | ||||||
|             this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(24)))), ((int)(((byte)(32))))); |             this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(24)))), ((int)(((byte)(32))))); | ||||||
|             this.panel2.Controls.Add(this.radioButtonLocalIpStatic); |             this.panel2.Controls.Add(this.radioButtonLocalIpStatic); | ||||||
|             this.panel2.Controls.Add(this.radioButtonLocalIpDHCP); |             this.panel2.Controls.Add(this.radioButtonLocalIpDHCP); | ||||||
|             this.panel2.Location = new System.Drawing.Point(197, 53); |             this.panel2.Location = new System.Drawing.Point(197, 50); | ||||||
|             this.panel2.Name = "panel2"; |             this.panel2.Name = "panel2"; | ||||||
|             this.panel2.Size = new System.Drawing.Size(218, 32); |             this.panel2.Size = new System.Drawing.Size(218, 32); | ||||||
|             //  |             //  | ||||||
|  | @ -1391,7 +1391,7 @@ | ||||||
|             this.labelTitleIPConfiguration.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); |             this.labelTitleIPConfiguration.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); | ||||||
|             this.labelTitleIPConfiguration.ForeColor = System.Drawing.Color.Red; |             this.labelTitleIPConfiguration.ForeColor = System.Drawing.Color.Red; | ||||||
|             this.labelTitleIPConfiguration.LineSpacing = 0F; |             this.labelTitleIPConfiguration.LineSpacing = 0F; | ||||||
|             this.labelTitleIPConfiguration.Location = new System.Drawing.Point(17, 57); |             this.labelTitleIPConfiguration.Location = new System.Drawing.Point(17, 54); | ||||||
|             this.labelTitleIPConfiguration.Name = "labelTitleIPConfiguration"; |             this.labelTitleIPConfiguration.Name = "labelTitleIPConfiguration"; | ||||||
|             this.labelTitleIPConfiguration.OverlapOptimize = true; |             this.labelTitleIPConfiguration.OverlapOptimize = true; | ||||||
|             this.labelTitleIPConfiguration.PasswordChar = '\0'; |             this.labelTitleIPConfiguration.PasswordChar = '\0'; | ||||||
|  | @ -1414,7 +1414,7 @@ | ||||||
|             this.labelLocalSubnetMask4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalSubnetMask4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalSubnetMask4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalSubnetMask4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalSubnetMask4.LineSpacing = 0F; |             this.labelLocalSubnetMask4.LineSpacing = 0F; | ||||||
|             this.labelLocalSubnetMask4.Location = new System.Drawing.Point(365, 125); |             this.labelLocalSubnetMask4.Location = new System.Drawing.Point(365, 122); | ||||||
|             this.labelLocalSubnetMask4.Name = "labelLocalSubnetMask4"; |             this.labelLocalSubnetMask4.Name = "labelLocalSubnetMask4"; | ||||||
|             this.labelLocalSubnetMask4.OverlapOptimize = true; |             this.labelLocalSubnetMask4.OverlapOptimize = true; | ||||||
|             this.labelLocalSubnetMask4.PasswordChar = '\0'; |             this.labelLocalSubnetMask4.PasswordChar = '\0'; | ||||||
|  | @ -1438,7 +1438,7 @@ | ||||||
|             this.labelLocalSubnetMask3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalSubnetMask3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalSubnetMask3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalSubnetMask3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalSubnetMask3.LineSpacing = 0F; |             this.labelLocalSubnetMask3.LineSpacing = 0F; | ||||||
|             this.labelLocalSubnetMask3.Location = new System.Drawing.Point(309, 125); |             this.labelLocalSubnetMask3.Location = new System.Drawing.Point(309, 122); | ||||||
|             this.labelLocalSubnetMask3.Name = "labelLocalSubnetMask3"; |             this.labelLocalSubnetMask3.Name = "labelLocalSubnetMask3"; | ||||||
|             this.labelLocalSubnetMask3.OverlapOptimize = true; |             this.labelLocalSubnetMask3.OverlapOptimize = true; | ||||||
|             this.labelLocalSubnetMask3.PasswordChar = '\0'; |             this.labelLocalSubnetMask3.PasswordChar = '\0'; | ||||||
|  | @ -1462,7 +1462,7 @@ | ||||||
|             this.labelLocalSubnetMask2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalSubnetMask2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalSubnetMask2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalSubnetMask2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalSubnetMask2.LineSpacing = 0F; |             this.labelLocalSubnetMask2.LineSpacing = 0F; | ||||||
|             this.labelLocalSubnetMask2.Location = new System.Drawing.Point(253, 125); |             this.labelLocalSubnetMask2.Location = new System.Drawing.Point(253, 122); | ||||||
|             this.labelLocalSubnetMask2.Name = "labelLocalSubnetMask2"; |             this.labelLocalSubnetMask2.Name = "labelLocalSubnetMask2"; | ||||||
|             this.labelLocalSubnetMask2.OverlapOptimize = true; |             this.labelLocalSubnetMask2.OverlapOptimize = true; | ||||||
|             this.labelLocalSubnetMask2.PasswordChar = '\0'; |             this.labelLocalSubnetMask2.PasswordChar = '\0'; | ||||||
|  | @ -1486,7 +1486,7 @@ | ||||||
|             this.labelLocalSubnetMask1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalSubnetMask1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalSubnetMask1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalSubnetMask1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalSubnetMask1.LineSpacing = 0F; |             this.labelLocalSubnetMask1.LineSpacing = 0F; | ||||||
|             this.labelLocalSubnetMask1.Location = new System.Drawing.Point(197, 125); |             this.labelLocalSubnetMask1.Location = new System.Drawing.Point(197, 122); | ||||||
|             this.labelLocalSubnetMask1.Name = "labelLocalSubnetMask1"; |             this.labelLocalSubnetMask1.Name = "labelLocalSubnetMask1"; | ||||||
|             this.labelLocalSubnetMask1.OverlapOptimize = true; |             this.labelLocalSubnetMask1.OverlapOptimize = true; | ||||||
|             this.labelLocalSubnetMask1.PasswordChar = '\0'; |             this.labelLocalSubnetMask1.PasswordChar = '\0'; | ||||||
|  | @ -1511,7 +1511,7 @@ | ||||||
|             this.labelTitleSubnetMask.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); |             this.labelTitleSubnetMask.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); | ||||||
|             this.labelTitleSubnetMask.ForeColor = System.Drawing.Color.White; |             this.labelTitleSubnetMask.ForeColor = System.Drawing.Color.White; | ||||||
|             this.labelTitleSubnetMask.LineSpacing = 0F; |             this.labelTitleSubnetMask.LineSpacing = 0F; | ||||||
|             this.labelTitleSubnetMask.Location = new System.Drawing.Point(17, 125); |             this.labelTitleSubnetMask.Location = new System.Drawing.Point(17, 122); | ||||||
|             this.labelTitleSubnetMask.Name = "labelTitleSubnetMask"; |             this.labelTitleSubnetMask.Name = "labelTitleSubnetMask"; | ||||||
|             this.labelTitleSubnetMask.OverlapOptimize = true; |             this.labelTitleSubnetMask.OverlapOptimize = true; | ||||||
|             this.labelTitleSubnetMask.PasswordChar = '\0'; |             this.labelTitleSubnetMask.PasswordChar = '\0'; | ||||||
|  | @ -1534,7 +1534,7 @@ | ||||||
|             this.labelLocalGateway4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalGateway4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalGateway4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalGateway4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalGateway4.LineSpacing = 0F; |             this.labelLocalGateway4.LineSpacing = 0F; | ||||||
|             this.labelLocalGateway4.Location = new System.Drawing.Point(365, 159); |             this.labelLocalGateway4.Location = new System.Drawing.Point(365, 156); | ||||||
|             this.labelLocalGateway4.Name = "labelLocalGateway4"; |             this.labelLocalGateway4.Name = "labelLocalGateway4"; | ||||||
|             this.labelLocalGateway4.OverlapOptimize = true; |             this.labelLocalGateway4.OverlapOptimize = true; | ||||||
|             this.labelLocalGateway4.PasswordChar = '\0'; |             this.labelLocalGateway4.PasswordChar = '\0'; | ||||||
|  | @ -1558,7 +1558,7 @@ | ||||||
|             this.labelLocalGateway3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalGateway3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalGateway3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalGateway3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalGateway3.LineSpacing = 0F; |             this.labelLocalGateway3.LineSpacing = 0F; | ||||||
|             this.labelLocalGateway3.Location = new System.Drawing.Point(309, 159); |             this.labelLocalGateway3.Location = new System.Drawing.Point(309, 156); | ||||||
|             this.labelLocalGateway3.Name = "labelLocalGateway3"; |             this.labelLocalGateway3.Name = "labelLocalGateway3"; | ||||||
|             this.labelLocalGateway3.OverlapOptimize = true; |             this.labelLocalGateway3.OverlapOptimize = true; | ||||||
|             this.labelLocalGateway3.PasswordChar = '\0'; |             this.labelLocalGateway3.PasswordChar = '\0'; | ||||||
|  | @ -1582,7 +1582,7 @@ | ||||||
|             this.labelLocalGateway2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalGateway2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalGateway2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalGateway2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalGateway2.LineSpacing = 0F; |             this.labelLocalGateway2.LineSpacing = 0F; | ||||||
|             this.labelLocalGateway2.Location = new System.Drawing.Point(253, 159); |             this.labelLocalGateway2.Location = new System.Drawing.Point(253, 156); | ||||||
|             this.labelLocalGateway2.Name = "labelLocalGateway2"; |             this.labelLocalGateway2.Name = "labelLocalGateway2"; | ||||||
|             this.labelLocalGateway2.OverlapOptimize = true; |             this.labelLocalGateway2.OverlapOptimize = true; | ||||||
|             this.labelLocalGateway2.PasswordChar = '\0'; |             this.labelLocalGateway2.PasswordChar = '\0'; | ||||||
|  | @ -1606,7 +1606,7 @@ | ||||||
|             this.labelLocalGateway1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalGateway1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalGateway1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalGateway1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalGateway1.LineSpacing = 0F; |             this.labelLocalGateway1.LineSpacing = 0F; | ||||||
|             this.labelLocalGateway1.Location = new System.Drawing.Point(197, 159); |             this.labelLocalGateway1.Location = new System.Drawing.Point(197, 156); | ||||||
|             this.labelLocalGateway1.Name = "labelLocalGateway1"; |             this.labelLocalGateway1.Name = "labelLocalGateway1"; | ||||||
|             this.labelLocalGateway1.OverlapOptimize = true; |             this.labelLocalGateway1.OverlapOptimize = true; | ||||||
|             this.labelLocalGateway1.PasswordChar = '\0'; |             this.labelLocalGateway1.PasswordChar = '\0'; | ||||||
|  | @ -1631,7 +1631,7 @@ | ||||||
|             this.labelTitleGateway.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); |             this.labelTitleGateway.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); | ||||||
|             this.labelTitleGateway.ForeColor = System.Drawing.Color.White; |             this.labelTitleGateway.ForeColor = System.Drawing.Color.White; | ||||||
|             this.labelTitleGateway.LineSpacing = 0F; |             this.labelTitleGateway.LineSpacing = 0F; | ||||||
|             this.labelTitleGateway.Location = new System.Drawing.Point(17, 159); |             this.labelTitleGateway.Location = new System.Drawing.Point(17, 156); | ||||||
|             this.labelTitleGateway.Name = "labelTitleGateway"; |             this.labelTitleGateway.Name = "labelTitleGateway"; | ||||||
|             this.labelTitleGateway.OverlapOptimize = true; |             this.labelTitleGateway.OverlapOptimize = true; | ||||||
|             this.labelTitleGateway.PasswordChar = '\0'; |             this.labelTitleGateway.PasswordChar = '\0'; | ||||||
|  | @ -1654,7 +1654,7 @@ | ||||||
|             this.labelLocalIP4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalIP4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalIP4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalIP4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalIP4.LineSpacing = 0F; |             this.labelLocalIP4.LineSpacing = 0F; | ||||||
|             this.labelLocalIP4.Location = new System.Drawing.Point(365, 91); |             this.labelLocalIP4.Location = new System.Drawing.Point(365, 88); | ||||||
|             this.labelLocalIP4.Name = "labelLocalIP4"; |             this.labelLocalIP4.Name = "labelLocalIP4"; | ||||||
|             this.labelLocalIP4.OverlapOptimize = true; |             this.labelLocalIP4.OverlapOptimize = true; | ||||||
|             this.labelLocalIP4.PasswordChar = '\0'; |             this.labelLocalIP4.PasswordChar = '\0'; | ||||||
|  | @ -1678,7 +1678,7 @@ | ||||||
|             this.labelLocalIP3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalIP3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalIP3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalIP3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalIP3.LineSpacing = 0F; |             this.labelLocalIP3.LineSpacing = 0F; | ||||||
|             this.labelLocalIP3.Location = new System.Drawing.Point(309, 91); |             this.labelLocalIP3.Location = new System.Drawing.Point(309, 88); | ||||||
|             this.labelLocalIP3.Name = "labelLocalIP3"; |             this.labelLocalIP3.Name = "labelLocalIP3"; | ||||||
|             this.labelLocalIP3.OverlapOptimize = true; |             this.labelLocalIP3.OverlapOptimize = true; | ||||||
|             this.labelLocalIP3.PasswordChar = '\0'; |             this.labelLocalIP3.PasswordChar = '\0'; | ||||||
|  | @ -1702,7 +1702,7 @@ | ||||||
|             this.labelLocalIP2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalIP2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalIP2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalIP2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalIP2.LineSpacing = 0F; |             this.labelLocalIP2.LineSpacing = 0F; | ||||||
|             this.labelLocalIP2.Location = new System.Drawing.Point(253, 91); |             this.labelLocalIP2.Location = new System.Drawing.Point(253, 88); | ||||||
|             this.labelLocalIP2.Name = "labelLocalIP2"; |             this.labelLocalIP2.Name = "labelLocalIP2"; | ||||||
|             this.labelLocalIP2.OverlapOptimize = true; |             this.labelLocalIP2.OverlapOptimize = true; | ||||||
|             this.labelLocalIP2.PasswordChar = '\0'; |             this.labelLocalIP2.PasswordChar = '\0'; | ||||||
|  | @ -1726,7 +1726,7 @@ | ||||||
|             this.labelLocalIP1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; |             this.labelLocalIP1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle; | ||||||
|             this.labelLocalIP1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); |             this.labelLocalIP1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelLocalIP1.LineSpacing = 0F; |             this.labelLocalIP1.LineSpacing = 0F; | ||||||
|             this.labelLocalIP1.Location = new System.Drawing.Point(197, 91); |             this.labelLocalIP1.Location = new System.Drawing.Point(197, 88); | ||||||
|             this.labelLocalIP1.Name = "labelLocalIP1"; |             this.labelLocalIP1.Name = "labelLocalIP1"; | ||||||
|             this.labelLocalIP1.OverlapOptimize = true; |             this.labelLocalIP1.OverlapOptimize = true; | ||||||
|             this.labelLocalIP1.PasswordChar = '\0'; |             this.labelLocalIP1.PasswordChar = '\0'; | ||||||
|  | @ -1751,7 +1751,7 @@ | ||||||
|             this.labelTitleIPAddress.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); |             this.labelTitleIPAddress.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); | ||||||
|             this.labelTitleIPAddress.ForeColor = System.Drawing.Color.White; |             this.labelTitleIPAddress.ForeColor = System.Drawing.Color.White; | ||||||
|             this.labelTitleIPAddress.LineSpacing = 0F; |             this.labelTitleIPAddress.LineSpacing = 0F; | ||||||
|             this.labelTitleIPAddress.Location = new System.Drawing.Point(17, 91); |             this.labelTitleIPAddress.Location = new System.Drawing.Point(17, 88); | ||||||
|             this.labelTitleIPAddress.Name = "labelTitleIPAddress"; |             this.labelTitleIPAddress.Name = "labelTitleIPAddress"; | ||||||
|             this.labelTitleIPAddress.OverlapOptimize = true; |             this.labelTitleIPAddress.OverlapOptimize = true; | ||||||
|             this.labelTitleIPAddress.PasswordChar = '\0'; |             this.labelTitleIPAddress.PasswordChar = '\0'; | ||||||
|  | @ -1780,7 +1780,7 @@ | ||||||
|             this.buttonSaveLocal.ImageDisable = null; |             this.buttonSaveLocal.ImageDisable = null; | ||||||
|             this.buttonSaveLocal.ImageDown = null; |             this.buttonSaveLocal.ImageDown = null; | ||||||
|             this.buttonSaveLocal.ImageUp = null; |             this.buttonSaveLocal.ImageUp = null; | ||||||
|             this.buttonSaveLocal.Location = new System.Drawing.Point(413, 4); |             this.buttonSaveLocal.Location = new System.Drawing.Point(413, 3); | ||||||
|             this.buttonSaveLocal.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; |             this.buttonSaveLocal.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; | ||||||
|             this.buttonSaveLocal.Name = "buttonSaveLocal"; |             this.buttonSaveLocal.Name = "buttonSaveLocal"; | ||||||
|             this.buttonSaveLocal.NestedClickEventPrevent = false; |             this.buttonSaveLocal.NestedClickEventPrevent = false; | ||||||
|  | @ -1865,7 +1865,7 @@ | ||||||
|             this.smartButton1.ImageDisable = null; |             this.smartButton1.ImageDisable = null; | ||||||
|             this.smartButton1.ImageDown = null; |             this.smartButton1.ImageDown = null; | ||||||
|             this.smartButton1.ImageUp = null; |             this.smartButton1.ImageUp = null; | ||||||
|             this.smartButton1.Location = new System.Drawing.Point(623, 4); |             this.smartButton1.Location = new System.Drawing.Point(623, 3); | ||||||
|             this.smartButton1.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; |             this.smartButton1.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; | ||||||
|             this.smartButton1.Name = "smartButton1"; |             this.smartButton1.Name = "smartButton1"; | ||||||
|             this.smartButton1.NestedClickEventPrevent = false; |             this.smartButton1.NestedClickEventPrevent = false; | ||||||
|  | @ -1902,7 +1902,7 @@ | ||||||
|             this.smartLabel1.RoundRectFillColor = System.Drawing.Color.LightBlue; |             this.smartLabel1.RoundRectFillColor = System.Drawing.Color.LightBlue; | ||||||
|             this.smartLabel1.Size = new System.Drawing.Size(202, 29); |             this.smartLabel1.Size = new System.Drawing.Size(202, 29); | ||||||
|             this.smartLabel1.TabIndex = 181; |             this.smartLabel1.TabIndex = 181; | ||||||
|             this.smartLabel1.Text = "Communication Mode:"; |             this.smartLabel1.Text = "Communication Mode"; | ||||||
|             this.smartLabel1.TextColor = System.Drawing.Color.White; |             this.smartLabel1.TextColor = System.Drawing.Color.White; | ||||||
|             this.smartLabel1.TextColorDisable = System.Drawing.Color.Gray; |             this.smartLabel1.TextColorDisable = System.Drawing.Color.Gray; | ||||||
|             this.smartLabel1.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left; |             this.smartLabel1.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left; | ||||||
|  | @ -1923,7 +1923,7 @@ | ||||||
|             this.buttonSaveMode.ImageDisable = null; |             this.buttonSaveMode.ImageDisable = null; | ||||||
|             this.buttonSaveMode.ImageDown = null; |             this.buttonSaveMode.ImageDown = null; | ||||||
|             this.buttonSaveMode.ImageUp = null; |             this.buttonSaveMode.ImageUp = null; | ||||||
|             this.buttonSaveMode.Location = new System.Drawing.Point(707, 4); |             this.buttonSaveMode.Location = new System.Drawing.Point(707, 3); | ||||||
|             this.buttonSaveMode.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; |             this.buttonSaveMode.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; | ||||||
|             this.buttonSaveMode.Name = "buttonSaveMode"; |             this.buttonSaveMode.Name = "buttonSaveMode"; | ||||||
|             this.buttonSaveMode.NestedClickEventPrevent = false; |             this.buttonSaveMode.NestedClickEventPrevent = false; | ||||||
|  | @ -1961,7 +1961,7 @@ | ||||||
|             this.smartLabel13.RoundRectFillColor = System.Drawing.Color.LightBlue; |             this.smartLabel13.RoundRectFillColor = System.Drawing.Color.LightBlue; | ||||||
|             this.smartLabel13.Size = new System.Drawing.Size(202, 29); |             this.smartLabel13.Size = new System.Drawing.Size(202, 29); | ||||||
|             this.smartLabel13.TabIndex = 180; |             this.smartLabel13.TabIndex = 180; | ||||||
|             this.smartLabel13.Text = "Operation Mode:"; |             this.smartLabel13.Text = "Operation Mode"; | ||||||
|             this.smartLabel13.TextColor = System.Drawing.Color.White; |             this.smartLabel13.TextColor = System.Drawing.Color.White; | ||||||
|             this.smartLabel13.TextColorDisable = System.Drawing.Color.Gray; |             this.smartLabel13.TextColorDisable = System.Drawing.Color.Gray; | ||||||
|             this.smartLabel13.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left; |             this.smartLabel13.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left; | ||||||
|  |  | ||||||
|  | @ -280,8 +280,6 @@ namespace INT_PT002.Controls | ||||||
|         { |         { | ||||||
|             if (this.ParentForm.ParentForm.SystemConfig.ETHERNET_COMM_MODE == 1) |             if (this.ParentForm.ParentForm.SystemConfig.ETHERNET_COMM_MODE == 1) | ||||||
|             { |             { | ||||||
|                 this.ParentForm.ParentForm.ChildFormMainDisplay.InitialEthernetIcon(); |  | ||||||
| 
 |  | ||||||
|                 if (this.ParentForm.ParentForm.SystemConfig.ETHERNET_OP_MODE == 1) |                 if (this.ParentForm.ParentForm.SystemConfig.ETHERNET_OP_MODE == 1) | ||||||
|                 { |                 { | ||||||
|                     this.ParentForm.ParentForm.ChildFormMainDisplay.MainButtonModbusAdd(true); |                     this.ParentForm.ParentForm.ChildFormMainDisplay.MainButtonModbusAdd(true); | ||||||
|  | @ -316,6 +314,8 @@ namespace INT_PT002.Controls | ||||||
|                 this.ParentForm.ParentForm.ChildFormMainDisplay.MainButtonModbusAdd(false); |                 this.ParentForm.ParentForm.ChildFormMainDisplay.MainButtonModbusAdd(false); | ||||||
|                 this.groupBoxModbusSetting.Visible = false; |                 this.groupBoxModbusSetting.Visible = false; | ||||||
|             } |             } | ||||||
|  | 
 | ||||||
|  |             this.ParentForm.ParentForm.ChildFormMainDisplay.InitialEthernetIcon(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public void DisplayRefresh() |         public void DisplayRefresh() | ||||||
|  | @ -633,7 +633,7 @@ namespace INT_PT002.Controls | ||||||
| 
 | 
 | ||||||
|             this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig); |             this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig); | ||||||
|             this.ParentForm.ParentForm.EthernetClientDisconnect(); |             this.ParentForm.ParentForm.EthernetClientDisconnect(); | ||||||
|             this.buttonSaveClient.Enabled = false; |             this.buttonSaveClient.Visible = false; | ||||||
| 
 | 
 | ||||||
|             if (beforeServerIP != afterServerIP) |             if (beforeServerIP != afterServerIP) | ||||||
|                 this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPServerIPAddress, "", beforeServerIP, afterServerIP); |                 this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPServerIPAddress, "", beforeServerIP, afterServerIP); | ||||||
|  | @ -657,7 +657,7 @@ namespace INT_PT002.Controls | ||||||
|                 else |                 else | ||||||
|                 { |                 { | ||||||
|                     this.labelHostIP1.Text = myKeyPad.StringValue; |                     this.labelHostIP1.Text = myKeyPad.StringValue; | ||||||
|                     this.buttonSaveClient.Enabled = true; |                     this.buttonSaveClient.Visible = true; | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | @ -678,7 +678,7 @@ namespace INT_PT002.Controls | ||||||
|                 else |                 else | ||||||
|                 { |                 { | ||||||
|                     this.labelHostIP2.Text = myKeyPad.StringValue; |                     this.labelHostIP2.Text = myKeyPad.StringValue; | ||||||
|                     this.buttonSaveClient.Enabled = true; |                     this.buttonSaveClient.Visible = true; | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | @ -699,7 +699,7 @@ namespace INT_PT002.Controls | ||||||
|                 else |                 else | ||||||
|                 { |                 { | ||||||
|                     this.labelHostIP3.Text = myKeyPad.StringValue; |                     this.labelHostIP3.Text = myKeyPad.StringValue; | ||||||
|                     this.buttonSaveClient.Enabled = true; |                     this.buttonSaveClient.Visible = true; | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | @ -720,7 +720,7 @@ namespace INT_PT002.Controls | ||||||
|                 else |                 else | ||||||
|                 { |                 { | ||||||
|                     this.labelHostIP4.Text = myKeyPad.StringValue; |                     this.labelHostIP4.Text = myKeyPad.StringValue; | ||||||
|                     this.buttonSaveClient.Enabled = true; |                     this.buttonSaveClient.Visible = true; | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | @ -731,7 +731,7 @@ namespace INT_PT002.Controls | ||||||
|             if (myKeyPad.ShowDialog() == DialogResult.OK) |             if (myKeyPad.ShowDialog() == DialogResult.OK) | ||||||
|             { |             { | ||||||
|                 this.labelHostPort.Text = myKeyPad.StringValue; |                 this.labelHostPort.Text = myKeyPad.StringValue; | ||||||
|                 this.buttonSaveClient.Enabled = true; |                 this.buttonSaveClient.Visible = true; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         private void buttonStartClient_Click(object sender, EventArgs e) |         private void buttonStartClient_Click(object sender, EventArgs e) | ||||||
|  |  | ||||||
|  | @ -284,7 +284,7 @@ namespace INT_PT002.Controls | ||||||
|             { |             { | ||||||
|                 case Define.E_ProcessStatus._0_None: |                 case Define.E_ProcessStatus._0_None: | ||||||
|                     break; |                     break; | ||||||
|                 case Define.E_ProcessStatus._1_Read: |                 case Define.E_ProcessStatus._1_Ready: | ||||||
|                     this.UnselectProcessLabelRefresh(0); |                     this.UnselectProcessLabelRefresh(0); | ||||||
|                     break; |                     break; | ||||||
|                 case Define.E_ProcessStatus._2_ProductEntry: |                 case Define.E_ProcessStatus._2_ProductEntry: | ||||||
|  | @ -318,7 +318,7 @@ namespace INT_PT002.Controls | ||||||
|             { |             { | ||||||
|                 case Define.E_ProcessStatus._0_None: |                 case Define.E_ProcessStatus._0_None: | ||||||
|                     break; |                     break; | ||||||
|                 case Define.E_ProcessStatus._1_Read: |                 case Define.E_ProcessStatus._1_Ready: | ||||||
|                     this.UnselectProcessLabelRefresh(this.CollectionLabelProgress.Count - 1); |                     this.UnselectProcessLabelRefresh(this.CollectionLabelProgress.Count - 1); | ||||||
|                     this.SelectProcessLabelRefresh(0); |                     this.SelectProcessLabelRefresh(0); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -94,7 +94,7 @@ namespace INT_PT002.DataStore | ||||||
|         public enum E_ProcessStatus |         public enum E_ProcessStatus | ||||||
|         { |         { | ||||||
|             _0_None = 0, |             _0_None = 0, | ||||||
|             _1_Read, |             _1_Ready, | ||||||
|             _2_ProductEntry, |             _2_ProductEntry, | ||||||
|             _3_MoveToLeak, |             _3_MoveToLeak, | ||||||
|             _4_MoveToCheck, |             _4_MoveToCheck, | ||||||
|  | @ -220,6 +220,8 @@ namespace INT_PT002.DataStore | ||||||
|             M_Chamber9, |             M_Chamber9, | ||||||
|             M_Chamber10, |             M_Chamber10, | ||||||
| 
 | 
 | ||||||
|  |             ProductNo, | ||||||
|  | 
 | ||||||
|             TCPOpMode, |             TCPOpMode, | ||||||
|             TCPComMode, |             TCPComMode, | ||||||
|             TCPLocalPort, |             TCPLocalPort, | ||||||
|  |  | ||||||
|  | @ -0,0 +1,416 @@ | ||||||
|  | using System; | ||||||
|  | using System.Linq; | ||||||
|  | using System.Collections.Generic; | ||||||
|  | using System.Text; | ||||||
|  | 
 | ||||||
|  | namespace INT_PT002 | ||||||
|  | { | ||||||
|  |     public class ModbusData | ||||||
|  |     { | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public class _30000_ModbusAddress | ||||||
|  |     { | ||||||
|  |         public const int _01_1_IsProcessing = 3010; | ||||||
|  |         public const int _02_1_IsLeak = 3011; | ||||||
|  |         public const int _03_2_IsProcessing = 3012; | ||||||
|  |         public const int _04_2_IsLeak = 3013; | ||||||
|  |         public const int _05_3_IsProcessing = 3014; | ||||||
|  |         public const int _06_3_IsLeak = 3015; | ||||||
|  |         public const int _07_4_IsProcessing = 3016; | ||||||
|  |         public const int _08_4_IsLeak = 3017; | ||||||
|  |         public const int _09_5_IsProcessing = 3018; | ||||||
|  |         public const int _10_5_IsLeak = 3019; | ||||||
|  |         public const int _11_6_IsProcessing = 3020; | ||||||
|  |         public const int _12_6_IsLeak = 3021; | ||||||
|  |         public const int _13_7_IsProcessing = 3022; | ||||||
|  |         public const int _14_7_IsLeak = 3023; | ||||||
|  |         public const int _15_8_IsProcessing = 3024; | ||||||
|  |         public const int _16_8_IsLeak = 3025; | ||||||
|  |         public const int _17_9_IsProcessing = 3026; | ||||||
|  |         public const int _18_9_IsLeak = 3027; | ||||||
|  |         public const int _19_10_IsProcessing = 3028; | ||||||
|  |         public const int _20_10_IsLeak = 3029; | ||||||
|  |     } | ||||||
|  |     public class _30000_ModbusData | ||||||
|  |     { | ||||||
|  |         #region Field | ||||||
|  |         private short m_1_IsProcessing; | ||||||
|  |         private short m_1_IsLeak; | ||||||
|  |         private short m_2_IsProcessing; | ||||||
|  |         private short m_2_IsLeak; | ||||||
|  |         private short m_3_IsProcessing; | ||||||
|  |         private short m_3_IsLeak; | ||||||
|  |         private short m_4_IsProcessing; | ||||||
|  |         private short m_4_IsLeak; | ||||||
|  |         private short m_5_IsProcessing; | ||||||
|  |         private short m_5_IsLeak; | ||||||
|  |         private short m_6_IsProcessing; | ||||||
|  |         private short m_6_IsLeak; | ||||||
|  |         private short m_7_IsProcessing; | ||||||
|  |         private short m_7_IsLeak; | ||||||
|  |         private short m_8_IsProcessing; | ||||||
|  |         private short m_8_IsLeak; | ||||||
|  |         private short m_9_IsProcessing; | ||||||
|  |         private short m_9_IsLeak; | ||||||
|  |         private short m_10_IsProcessing; | ||||||
|  |         private short m_10_IsLeak; | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         #region Constructor | ||||||
|  |         public _30000_ModbusData() | ||||||
|  |         { | ||||||
|  |             this.Initialization(); | ||||||
|  |         } | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         #region Property | ||||||
|  |         public short _1_IsProcessing | ||||||
|  |         { | ||||||
|  |             get { return this.m_1_IsProcessing; } | ||||||
|  |             set { this.m_1_IsProcessing = value; } | ||||||
|  |         } | ||||||
|  |         public short _1_IsLeak | ||||||
|  |         { | ||||||
|  |             get { return this.m_1_IsLeak; } | ||||||
|  |             set { this.m_1_IsLeak = value; } | ||||||
|  |         } | ||||||
|  |         public short _2_IsProcessing | ||||||
|  |         { | ||||||
|  |             get { return this.m_2_IsProcessing; } | ||||||
|  |             set { this.m_2_IsProcessing = value; } | ||||||
|  |         } | ||||||
|  |         public short _2_IsLeak | ||||||
|  |         { | ||||||
|  |             get { return this.m_2_IsLeak; } | ||||||
|  |             set { this.m_2_IsLeak = value; } | ||||||
|  |         } | ||||||
|  |         public short _3_IsProcessing | ||||||
|  |         { | ||||||
|  |             get { return this.m_3_IsProcessing; } | ||||||
|  |             set { this.m_3_IsProcessing = value; } | ||||||
|  |         } | ||||||
|  |         public short _3_IsLeak | ||||||
|  |         { | ||||||
|  |             get { return this.m_3_IsLeak; } | ||||||
|  |             set { this.m_3_IsLeak = value; } | ||||||
|  |         } | ||||||
|  |         public short _4_IsProcessing | ||||||
|  |         { | ||||||
|  |             get { return this.m_4_IsProcessing; } | ||||||
|  |             set { this.m_4_IsProcessing = value; } | ||||||
|  |         } | ||||||
|  |         public short _4_IsLeak | ||||||
|  |         { | ||||||
|  |             get { return this.m_4_IsLeak; } | ||||||
|  |             set { this.m_4_IsLeak = value; } | ||||||
|  |         } | ||||||
|  |         public short _5_IsProcessing | ||||||
|  |         { | ||||||
|  |             get { return this.m_5_IsProcessing; } | ||||||
|  |             set { this.m_5_IsProcessing = value; } | ||||||
|  |         } | ||||||
|  |         public short _5_IsLeak | ||||||
|  |         { | ||||||
|  |             get { return this.m_5_IsLeak; } | ||||||
|  |             set { this.m_5_IsLeak = value; } | ||||||
|  |         } | ||||||
|  |         public short _6_IsProcessing | ||||||
|  |         { | ||||||
|  |             get { return this.m_6_IsProcessing; } | ||||||
|  |             set { this.m_6_IsProcessing = value; } | ||||||
|  |         } | ||||||
|  |         public short _6_IsLeak | ||||||
|  |         { | ||||||
|  |             get { return this.m_6_IsLeak; } | ||||||
|  |             set { this.m_6_IsLeak = value; } | ||||||
|  |         } | ||||||
|  |         public short _7_IsProcessing | ||||||
|  |         { | ||||||
|  |             get { return this.m_7_IsProcessing; } | ||||||
|  |             set { this.m_7_IsProcessing = value; } | ||||||
|  |         } | ||||||
|  |         public short _7_IsLeak | ||||||
|  |         { | ||||||
|  |             get { return this.m_7_IsLeak; } | ||||||
|  |             set { this.m_7_IsLeak = value; } | ||||||
|  |         } | ||||||
|  |         public short _8_IsProcessing | ||||||
|  |         { | ||||||
|  |             get { return this.m_8_IsProcessing; } | ||||||
|  |             set { this.m_8_IsProcessing = value; } | ||||||
|  |         } | ||||||
|  |         public short _8_IsLeak | ||||||
|  |         { | ||||||
|  |             get { return this.m_8_IsLeak; } | ||||||
|  |             set { this.m_8_IsLeak = value; } | ||||||
|  |         } | ||||||
|  |         public short _9_IsProcessing | ||||||
|  |         { | ||||||
|  |             get { return this.m_9_IsProcessing; } | ||||||
|  |             set { this.m_9_IsProcessing = value; } | ||||||
|  |         } | ||||||
|  |         public short _9_IsLeak | ||||||
|  |         { | ||||||
|  |             get { return this.m_9_IsLeak; } | ||||||
|  |             set { this.m_9_IsLeak = value; } | ||||||
|  |         } | ||||||
|  |         public short _10_IsProcessing | ||||||
|  |         { | ||||||
|  |             get { return this.m_10_IsProcessing; } | ||||||
|  |             set { this.m_10_IsProcessing = value; } | ||||||
|  |         } | ||||||
|  |         public short _10_IsLeak | ||||||
|  |         { | ||||||
|  |             get { return this.m_10_IsLeak; } | ||||||
|  |             set { this.m_10_IsLeak = value; } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public string HexString_1_IsProcessing | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._1_IsProcessing.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_1_IsLeak | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._1_IsLeak.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_2_IsProcessing | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._2_IsProcessing.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_2_IsLeak | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._2_IsLeak.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_3_IsProcessing | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._3_IsProcessing.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_3_IsLeak | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._3_IsLeak.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_4_IsProcessing | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._4_IsProcessing.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_4_IsLeak | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._4_IsLeak.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_5_IsProcessing | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._5_IsProcessing.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_5_IsLeak | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._5_IsLeak.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_6_IsProcessing | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._6_IsProcessing.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_6_IsLeak | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._6_IsLeak.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_7_IsProcessing | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._7_IsProcessing.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_7_IsLeak | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._7_IsLeak.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_8_IsProcessing | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._8_IsProcessing.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_8_IsLeak | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._8_IsLeak.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_9_IsProcessing | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._9_IsProcessing.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_9_IsLeak | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._9_IsLeak.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_10_IsProcessing | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._10_IsProcessing.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public string HexString_10_IsLeak | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 string hexString = this._10_IsLeak.ToString("X8"); | ||||||
|  |                 return hexString; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         #region Method | ||||||
|  |         public void Initialization() | ||||||
|  |         { | ||||||
|  |             this._1_IsProcessing = 0; | ||||||
|  |             this._1_IsLeak = 0; | ||||||
|  |             this._2_IsProcessing = 0; | ||||||
|  |             this._2_IsLeak = 0; | ||||||
|  |             this._3_IsProcessing = 0; | ||||||
|  |             this._3_IsLeak = 0; | ||||||
|  |             this._4_IsProcessing = 0; | ||||||
|  |             this._4_IsLeak = 0; | ||||||
|  |             this._5_IsProcessing = 0; | ||||||
|  |             this._5_IsLeak = 0; | ||||||
|  |             this._6_IsProcessing = 0; | ||||||
|  |             this._6_IsLeak = 0; | ||||||
|  |             this._7_IsProcessing = 0; | ||||||
|  |             this._7_IsLeak = 0; | ||||||
|  |             this._8_IsProcessing = 0; | ||||||
|  |             this._8_IsLeak = 0; | ||||||
|  |             this._9_IsProcessing = 0; | ||||||
|  |             this._9_IsLeak = 0; | ||||||
|  |             this._10_IsProcessing = 0; | ||||||
|  |             this._10_IsLeak = 0; | ||||||
|  |         } | ||||||
|  |         #endregion | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public class _40000_ModbusAddress | ||||||
|  |     { | ||||||
|  |         public const int _03_Operation = 12; | ||||||
|  |         public const int _04_OperationResult = 13; | ||||||
|  |         public const int _05_ProductChange = 14; | ||||||
|  |         public const int _06_ProductChange = 15; | ||||||
|  |         public const int _07_ProductChangeResult = 16; | ||||||
|  |     } | ||||||
|  |     public class _40000_ModbusData | ||||||
|  |     { | ||||||
|  |         #region Field | ||||||
|  |         private int m_40013_Operation; | ||||||
|  |         private int m_40014_OperationResult; | ||||||
|  |         private int m_40015_ProductChange; | ||||||
|  |         private int m_40017_ProductChangeResult; | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         #region Constructor | ||||||
|  |         public _40000_ModbusData() | ||||||
|  |         { | ||||||
|  |             this.Initialization(); | ||||||
|  |         } | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         #region Property | ||||||
|  |         public int _40013_Operation | ||||||
|  |         { | ||||||
|  |             get { return this.m_40013_Operation; } | ||||||
|  |             set { this.m_40013_Operation = value; } | ||||||
|  |         } | ||||||
|  |         public int _40014_OperationResult | ||||||
|  |         { | ||||||
|  |             get { return this.m_40014_OperationResult; } | ||||||
|  |             set { this.m_40014_OperationResult = value; } | ||||||
|  |         } | ||||||
|  |         public int _40015_ProductChange | ||||||
|  |         { | ||||||
|  |             get { return this.m_40015_ProductChange; } | ||||||
|  |             set { this.m_40015_ProductChange = value; } | ||||||
|  |         } | ||||||
|  |         public int _40017_ProductChangeResult | ||||||
|  |         { | ||||||
|  |             get { return this.m_40017_ProductChangeResult; } | ||||||
|  |             set { this.m_40017_ProductChangeResult = value; } | ||||||
|  |         } | ||||||
|  |         #endregion | ||||||
|  | 
 | ||||||
|  |         #region Method | ||||||
|  |         public void Initialization() | ||||||
|  |         { | ||||||
|  |             this._40013_Operation = 0; | ||||||
|  |             this._40014_OperationResult = 0; | ||||||
|  |             this._40015_ProductChange = 0; | ||||||
|  |             this._40017_ProductChangeResult = 0; | ||||||
|  |         } | ||||||
|  |         #endregion | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -30,6 +30,7 @@ | ||||||
|         { |         { | ||||||
|             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DialogFormLogOn)); |             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DialogFormLogOn)); | ||||||
|             this.smartGroupBox1 = new SmartX.SmartGroupBox(); |             this.smartGroupBox1 = new SmartX.SmartGroupBox(); | ||||||
|  |             this.buttonAdmin = new SmartX.SmartButton(); | ||||||
|             this.textBoxPassword = new System.Windows.Forms.TextBox(); |             this.textBoxPassword = new System.Windows.Forms.TextBox(); | ||||||
|             this.textBoxID = new System.Windows.Forms.TextBox(); |             this.textBoxID = new System.Windows.Forms.TextBox(); | ||||||
|             this.labelTitlePassword = new SmartX.SmartLabel(); |             this.labelTitlePassword = new SmartX.SmartLabel(); | ||||||
|  | @ -47,6 +48,7 @@ | ||||||
|             this.smartGroupBox1.BackGround = null; |             this.smartGroupBox1.BackGround = null; | ||||||
|             this.smartGroupBox1.BackGroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); |             this.smartGroupBox1.BackGroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); | ||||||
|             this.smartGroupBox1.BackImage = null; |             this.smartGroupBox1.BackImage = null; | ||||||
|  |             this.smartGroupBox1.Controls.Add(this.buttonAdmin); | ||||||
|             this.smartGroupBox1.Controls.Add(this.textBoxPassword); |             this.smartGroupBox1.Controls.Add(this.textBoxPassword); | ||||||
|             this.smartGroupBox1.Controls.Add(this.textBoxID); |             this.smartGroupBox1.Controls.Add(this.textBoxID); | ||||||
|             this.smartGroupBox1.Controls.Add(this.labelTitlePassword); |             this.smartGroupBox1.Controls.Add(this.labelTitlePassword); | ||||||
|  | @ -67,6 +69,43 @@ | ||||||
|             this.smartGroupBox1.Text = "Login"; |             this.smartGroupBox1.Text = "Login"; | ||||||
|             this.smartGroupBox1.TextColor = System.Drawing.Color.White; |             this.smartGroupBox1.TextColor = System.Drawing.Color.White; | ||||||
|             //  |             //  | ||||||
|  |             // buttonAdmin | ||||||
|  |             //  | ||||||
|  |             this.buttonAdmin.BackGround = this.smartGroupBox1; | ||||||
|  |             this.buttonAdmin.BackGroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); | ||||||
|  |             this.buttonAdmin.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(58)))), ((int)(((byte)(110)))), ((int)(((byte)(165))))); | ||||||
|  |             this.buttonAdmin.ButtonDownColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(76)))), ((int)(((byte)(129))))); | ||||||
|  |             this.buttonAdmin.ButtonImageAutoSize = true; | ||||||
|  |             this.buttonAdmin.ButtonStyle = SmartX.SmartButton.ButtonStyles.FlatRound; | ||||||
|  |             this.buttonAdmin.ButtonText = "admin"; | ||||||
|  |             this.buttonAdmin.ColorKeySamplePosition = new System.Drawing.Point(0, 0); | ||||||
|  |             this.buttonAdmin.Font = new System.Drawing.Font("새굴림", 13F, System.Drawing.FontStyle.Bold); | ||||||
|  |             this.buttonAdmin.GroupID = 0; | ||||||
|  |             this.buttonAdmin.ImageDisable = null; | ||||||
|  |             this.buttonAdmin.ImageDown = null; | ||||||
|  |             this.buttonAdmin.ImageUp = null; | ||||||
|  |             this.buttonAdmin.Location = new System.Drawing.Point(23, 54); | ||||||
|  |             this.buttonAdmin.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; | ||||||
|  |             this.buttonAdmin.Name = "buttonAdmin"; | ||||||
|  |             this.buttonAdmin.NestedClickEventPrevent = false; | ||||||
|  |             this.buttonAdmin.OutlinePixel = 2; | ||||||
|  |             this.buttonAdmin.OverlapOptimize = true; | ||||||
|  |             this.buttonAdmin.RepeatInterval = 200; | ||||||
|  |             this.buttonAdmin.RepeatIntervalAccelerate = null; | ||||||
|  |             this.buttonAdmin.RoundSize = 10; | ||||||
|  |             this.buttonAdmin.SafeInterval = 200; | ||||||
|  |             this.buttonAdmin.Size = new System.Drawing.Size(80, 80); | ||||||
|  |             this.buttonAdmin.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; | ||||||
|  |             this.buttonAdmin.TabIndex = 99; | ||||||
|  |             this.buttonAdmin.Text = null; | ||||||
|  |             this.buttonAdmin.TextColor = System.Drawing.Color.White; | ||||||
|  |             this.buttonAdmin.TextColorDisable = System.Drawing.Color.Gray; | ||||||
|  |             this.buttonAdmin.TextDownColor = System.Drawing.Color.FromArgb(((int)(((byte)(233)))), ((int)(((byte)(238)))), ((int)(((byte)(255))))); | ||||||
|  |             this.buttonAdmin.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; | ||||||
|  |             this.buttonAdmin.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; | ||||||
|  |             this.buttonAdmin.Visible = false; | ||||||
|  |             this.buttonAdmin.Click += new System.EventHandler(this.buttonAdmin_Click); | ||||||
|  |             //  | ||||||
|             // textBoxPassword |             // textBoxPassword | ||||||
|             //  |             //  | ||||||
|             this.textBoxPassword.Font = new System.Drawing.Font("Arial", 20F, System.Drawing.FontStyle.Regular); |             this.textBoxPassword.Font = new System.Drawing.Font("Arial", 20F, System.Drawing.FontStyle.Regular); | ||||||
|  | @ -295,5 +334,6 @@ | ||||||
|         private System.Windows.Forms.TextBox textBoxID; |         private System.Windows.Forms.TextBox textBoxID; | ||||||
|         private System.Windows.Forms.TextBox textBoxPassword; |         private System.Windows.Forms.TextBox textBoxPassword; | ||||||
|         private SmartX.SmartForm smartForm1; |         private SmartX.SmartForm smartForm1; | ||||||
|  |         private SmartX.SmartButton buttonAdmin; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | @ -493,5 +493,11 @@ namespace INT_PT002.Forms | ||||||
|             this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset(); |             this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset(); | ||||||
|         } |         } | ||||||
|         #endregion |         #endregion | ||||||
|  | 
 | ||||||
|  |         private void buttonAdmin_Click(object sender, EventArgs e) | ||||||
|  |         { | ||||||
|  |             this.textBoxID.Text = "admin00"; | ||||||
|  |             this.textBoxPassword.Text = "admin12!"; | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | @ -105,15 +105,17 @@ | ||||||
|             //  |             //  | ||||||
|             // smartTCPMultiServer |             // smartTCPMultiServer | ||||||
|             //  |             //  | ||||||
|             this.smartTCPMultiServer.MaxClient = 10; |             this.smartTCPMultiServer.MaxClient = 1; | ||||||
|             this.smartTCPMultiServer.MaxReceiveBufferSize = 1000; |             this.smartTCPMultiServer.MaxReceiveBufferSize = 1000; | ||||||
|             this.smartTCPMultiServer.Port = 0; |             this.smartTCPMultiServer.Port = 502; | ||||||
|             this.smartTCPMultiServer.ReceiveTimeout = 3000; |             this.smartTCPMultiServer.ReceiveTimeout = 3000; | ||||||
|             this.smartTCPMultiServer.SendCallBackType = SmartX.SmartTCPMultiServer.CALLBACKTYPE.Sync; |             this.smartTCPMultiServer.SendCallBackType = SmartX.SmartTCPMultiServer.CALLBACKTYPE.Sync; | ||||||
|  |             this.smartTCPMultiServer.OnReceiveHandler += new SmartX.SmartTCPMultiServer.ReceiveHandler(this.smartTCPMultiServer_OnReceiveHandler); | ||||||
|             //  |             //  | ||||||
|             // timerClientTryConnect |             // timerClientTryConnect | ||||||
|             //  |             //  | ||||||
|             this.timerClientTryConnect.Interval = 2000; |             this.timerClientTryConnect.Interval = 2000; | ||||||
|  |             this.timerClientTryConnect.Tick += new System.EventHandler(this.timerClientTryConnect_Tick); | ||||||
|             //  |             //  | ||||||
|             // FormMain |             // FormMain | ||||||
|             //  |             //  | ||||||
|  |  | ||||||
|  | @ -71,6 +71,14 @@ namespace INT_PT002.Forms | ||||||
|         // Loading Recipe |         // Loading Recipe | ||||||
|         private Recipe LoadingRecipe; |         private Recipe LoadingRecipe; | ||||||
| 
 | 
 | ||||||
|  |         // Modbus Data | ||||||
|  |         public _30000_ModbusData Current30000ModbusData; | ||||||
|  |         public _40000_ModbusData Current40000ModbusData; | ||||||
|  |          | ||||||
|  |         // Modbus - 진행중 여부 확인 | ||||||
|  |         private Collection<short> CollectionIsProcessing; | ||||||
|  |         private Collection<short> CollectionIsLeak; | ||||||
|  | 
 | ||||||
|         // Ethernet |         // Ethernet | ||||||
|         private bool IsEthernetThreadStop; |         private bool IsEthernetThreadStop; | ||||||
|         private bool IsEthernetTransferData; |         private bool IsEthernetTransferData; | ||||||
|  | @ -206,6 +214,30 @@ namespace INT_PT002.Forms | ||||||
|             this.PathDataAlarmFolder = this.PathDataFolder + "Alarm\\"; |             this.PathDataAlarmFolder = this.PathDataFolder + "Alarm\\"; | ||||||
| 
 | 
 | ||||||
|             this.Modbus = new Modbus(); |             this.Modbus = new Modbus(); | ||||||
|  |             this.Current30000ModbusData = new _30000_ModbusData(); | ||||||
|  |             this.Current40000ModbusData = new _40000_ModbusData(); | ||||||
|  |             this.CollectionIsProcessing = new Collection<short>(); | ||||||
|  |             this.CollectionIsProcessing.Add(this.Current30000ModbusData._1_IsProcessing); | ||||||
|  |             this.CollectionIsProcessing.Add(this.Current30000ModbusData._2_IsProcessing); | ||||||
|  |             this.CollectionIsProcessing.Add(this.Current30000ModbusData._3_IsProcessing); | ||||||
|  |             this.CollectionIsProcessing.Add(this.Current30000ModbusData._4_IsProcessing); | ||||||
|  |             this.CollectionIsProcessing.Add(this.Current30000ModbusData._5_IsProcessing); | ||||||
|  |             this.CollectionIsProcessing.Add(this.Current30000ModbusData._6_IsProcessing); | ||||||
|  |             this.CollectionIsProcessing.Add(this.Current30000ModbusData._7_IsProcessing); | ||||||
|  |             this.CollectionIsProcessing.Add(this.Current30000ModbusData._8_IsProcessing); | ||||||
|  |             this.CollectionIsProcessing.Add(this.Current30000ModbusData._9_IsProcessing); | ||||||
|  |             this.CollectionIsProcessing.Add(this.Current30000ModbusData._10_IsProcessing); | ||||||
|  |             this.CollectionIsLeak = new Collection<short>(); | ||||||
|  |             this.CollectionIsLeak.Add(this.Current30000ModbusData._1_IsLeak); | ||||||
|  |             this.CollectionIsLeak.Add(this.Current30000ModbusData._2_IsLeak); | ||||||
|  |             this.CollectionIsLeak.Add(this.Current30000ModbusData._3_IsLeak); | ||||||
|  |             this.CollectionIsLeak.Add(this.Current30000ModbusData._4_IsLeak); | ||||||
|  |             this.CollectionIsLeak.Add(this.Current30000ModbusData._5_IsLeak); | ||||||
|  |             this.CollectionIsLeak.Add(this.Current30000ModbusData._6_IsLeak); | ||||||
|  |             this.CollectionIsLeak.Add(this.Current30000ModbusData._7_IsLeak); | ||||||
|  |             this.CollectionIsLeak.Add(this.Current30000ModbusData._8_IsLeak); | ||||||
|  |             this.CollectionIsLeak.Add(this.Current30000ModbusData._9_IsLeak); | ||||||
|  |             this.CollectionIsLeak.Add(this.Current30000ModbusData._10_IsLeak); | ||||||
| 
 | 
 | ||||||
|             this.ColorLogOff = Color.Red; |             this.ColorLogOff = Color.Red; | ||||||
|             this.ColorLogOn = Color.FromArgb(39, 200, 64); |             this.ColorLogOn = Color.FromArgb(39, 200, 64); | ||||||
|  | @ -1567,6 +1599,15 @@ namespace INT_PT002.Forms | ||||||
|                     default: |                     default: | ||||||
|                         break; |                         break; | ||||||
|                 } |                 } | ||||||
|  | 
 | ||||||
|  |                 this.Update30000ModbusItem(); | ||||||
|  | 
 | ||||||
|  |                 if (this.SystemConfig.MODBUS_TCP_SELECTFUNCTION == (int)Define.E_ModbusFunction._16_WriteMultipleRegister) | ||||||
|  |                 { | ||||||
|  |                     byte[] sendData = this.Modbus.MakeTCPSendAllData(this.Transfer_1_Modbus_Write(), this.SystemConfig.MODBUS_TCP_START_ADDRESS); | ||||||
|  | 
 | ||||||
|  |                     this.EthernetWeightDataForModbus(sendData); | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|             catch |             catch | ||||||
|             { |             { | ||||||
|  | @ -2357,8 +2398,19 @@ namespace INT_PT002.Forms | ||||||
|         #region Communication protocol |         #region Communication protocol | ||||||
|         public byte[] Transfer_1_Modbus_Write() |         public byte[] Transfer_1_Modbus_Write() | ||||||
|         { |         { | ||||||
|             byte[] madeData = new byte[10]; |             byte[] madeData = new byte[20]; | ||||||
|             byte[] Length4Value = new byte[4]; |             byte[] Length2Value = new byte[2]; | ||||||
|  | 
 | ||||||
|  |             for (int j = 0; j < this.SystemConfig.EQUIPMENT_LANE; j++) | ||||||
|  |             { | ||||||
|  |                 Length2Value = GetBytes(this.CollectionIsProcessing[j]); | ||||||
|  |                 for (int i = 0; i < 2; i++) | ||||||
|  |                     madeData[i] = Length2Value[2 - i]; | ||||||
|  | 
 | ||||||
|  |                 Length2Value = GetBytes(this.CollectionIsLeak[j]); | ||||||
|  |                 for (int i = 0; i < 2; i++) | ||||||
|  |                     madeData[i] = Length2Value[2 - i]; | ||||||
|  |             } | ||||||
| 
 | 
 | ||||||
|             return madeData; |             return madeData; | ||||||
|         } |         } | ||||||
|  | @ -2370,7 +2422,6 @@ namespace INT_PT002.Forms | ||||||
|             int numberOfRegisterInt; |             int numberOfRegisterInt; | ||||||
|             int madeDataIndex = 0; |             int madeDataIndex = 0; | ||||||
|             byte[] length2Value = new byte[2]; |             byte[] length2Value = new byte[2]; | ||||||
|             byte[] length4Value = new byte[4]; |  | ||||||
| 
 | 
 | ||||||
|             startAddressInt = Modbus.ToBigEndianAndInt(startAddressByte); |             startAddressInt = Modbus.ToBigEndianAndInt(startAddressByte); | ||||||
|             numberOfRegisterInt = Modbus.ToBigEndianAndInt(numberOfRegisterByte); |             numberOfRegisterInt = Modbus.ToBigEndianAndInt(numberOfRegisterByte); | ||||||
|  | @ -2379,6 +2430,118 @@ namespace INT_PT002.Forms | ||||||
| 
 | 
 | ||||||
|             if (readByte[7] == ModbusFunctionCode.FunctionCode_04) |             if (readByte[7] == ModbusFunctionCode.FunctionCode_04) | ||||||
|             { |             { | ||||||
|  |                 for (int j = startAddressInt; j < startAddressInt + numberOfRegisterInt; j++) | ||||||
|  |                 { | ||||||
|  |                     switch (j) | ||||||
|  |                     { | ||||||
|  |                         #region Make data | ||||||
|  |                         case _30000_ModbusAddress._01_1_IsProcessing: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsProcessing[0]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._02_1_IsLeak: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsLeak[0]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._03_2_IsProcessing: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsProcessing[1]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._04_2_IsLeak: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsLeak[1]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._05_3_IsProcessing: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsProcessing[2]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._06_3_IsLeak: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsLeak[2]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._07_4_IsProcessing: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsProcessing[3]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._08_4_IsLeak: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsLeak[3]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._09_5_IsProcessing: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsProcessing[4]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._10_5_IsLeak: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsLeak[4]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._11_6_IsProcessing: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsProcessing[5]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._12_6_IsLeak: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsLeak[5]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._13_7_IsProcessing: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsProcessing[6]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._14_7_IsLeak: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsLeak[6]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._15_8_IsProcessing: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsProcessing[7]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._16_8_IsLeak: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsLeak[7]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._17_9_IsProcessing: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsProcessing[8]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._18_9_IsLeak: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsLeak[8]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._19_10_IsProcessing: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsProcessing[9]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         case _30000_ModbusAddress._20_10_IsLeak: | ||||||
|  |                             length2Value = GetBytes(this.CollectionIsLeak[9]); | ||||||
|  |                             for (int i = 0; i < 2; i++) | ||||||
|  |                                 madeData[madeDataIndex + i] = length2Value[2 - i]; | ||||||
|  |                             break; | ||||||
|  |                         default: | ||||||
|  |                             break; | ||||||
|  |                         #endregion | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |                     madeDataIndex += 2; | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             return madeData; |             return madeData; | ||||||
|  | @ -2386,6 +2549,146 @@ namespace INT_PT002.Forms | ||||||
|         #endregion |         #endregion | ||||||
| 
 | 
 | ||||||
|         #region Ethernet |         #region Ethernet | ||||||
|  |         public static byte[] GetBytes(int argument) | ||||||
|  |         { | ||||||
|  |             byte[] byteArray = BitConverter.GetBytes(argument); | ||||||
|  |             return byteArray; | ||||||
|  |         } | ||||||
|  |         public static byte[] GetBytes(Single argument) | ||||||
|  |         { | ||||||
|  |             byte[] byteArray = BitConverter.GetBytes(argument); | ||||||
|  |             return byteArray; | ||||||
|  |         } | ||||||
|  |         public static byte[] GetBytes(uint argument) | ||||||
|  |         { | ||||||
|  |             byte[] byteArray = BitConverter.GetBytes(argument); | ||||||
|  |             return byteArray; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// OPC, Modbus - 항목 업데이트 시마다 +1 | ||||||
|  |         /// </summary> | ||||||
|  |         public void Update30000ModbusItem() | ||||||
|  |         { | ||||||
|  |             for (int i = 0; i < this.SystemConfig.EQUIPMENT_LANE; i++) | ||||||
|  |             { | ||||||
|  |                 switch (this.CurrentLeakDatas[i].ProcessStatus) | ||||||
|  |                 { | ||||||
|  |                     case Define.E_ProcessStatus._0_None: | ||||||
|  |                     case Define.E_ProcessStatus._1_Ready: | ||||||
|  |                     case Define.E_ProcessStatus._2_ProductEntry: | ||||||
|  |                         this.CollectionIsProcessing[i] = 0; | ||||||
|  |                         break; | ||||||
|  |                     case Define.E_ProcessStatus._3_MoveToLeak: | ||||||
|  |                     case Define.E_ProcessStatus._4_MoveToCheck: | ||||||
|  |                     case Define.E_ProcessStatus._5_ChamberMerge: | ||||||
|  |                     case Define.E_ProcessStatus._6_VacuumStart: | ||||||
|  |                     case Define.E_ProcessStatus._7_VacuumHold: | ||||||
|  |                     case Define.E_ProcessStatus._8_Judgment: | ||||||
|  |                     case Define.E_ProcessStatus._9_VacuumBreak: | ||||||
|  |                     case Define.E_ProcessStatus._10_ChamberRelease: | ||||||
|  |                         this.CollectionIsProcessing[i] = 1; | ||||||
|  |                         break; | ||||||
|  |                     case Define.E_ProcessStatus._11_MoveToReady: | ||||||
|  |                         this.CollectionIsProcessing[i] = 2; | ||||||
|  |                         break; | ||||||
|  |                     default: | ||||||
|  |                         break; | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 switch (this.CurrentLeakDatas[i].Judgment) | ||||||
|  |                 { | ||||||
|  |                     case Define.E_JudgmentStatus.None: | ||||||
|  |                         this.CollectionIsLeak[i] = 0; | ||||||
|  |                         break; | ||||||
|  |                     case Define.E_JudgmentStatus.Ng: | ||||||
|  |                         this.CollectionIsLeak[i] = 1; | ||||||
|  |                         break; | ||||||
|  |                     case Define.E_JudgmentStatus.Pass: | ||||||
|  |                         this.CollectionIsLeak[i] = 2; | ||||||
|  |                         break; | ||||||
|  |                     case Define.E_JudgmentStatus.Error: | ||||||
|  |                         this.CollectionIsLeak[i] = 3; | ||||||
|  |                         break; | ||||||
|  |                     default: | ||||||
|  |                         break; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             this.ChildFormMainDisplay.ChildModbus.UpdateData(this.Current30000ModbusData); | ||||||
|  |         } | ||||||
|  |         /// <summary> | ||||||
|  |         /// Modbus TCP - Write Multiple Register에 대한 Manage 메소드 | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name="readByte">전송받은 Modbus Data</param> | ||||||
|  |         public void ReceiveModbusTCPWriteManager(byte[] readByte) | ||||||
|  |         { | ||||||
|  |             int startAddressInt; | ||||||
|  |             int numberOfRegisterInt; | ||||||
|  |             float floatNum; | ||||||
|  |             byte[] startAddressByte = new byte[2] { readByte[8], readByte[9] }; | ||||||
|  |             byte[] numberOfRegisterByte = new byte[2] { readByte[10], readByte[11] }; | ||||||
|  | 
 | ||||||
|  |             int madeDataIndex = 0; | ||||||
|  |             byte[] Length2Value = new byte[2]; | ||||||
|  |             byte[] Length4Value = new byte[4]; | ||||||
|  |             byte[] Length12Value = new byte[12]; | ||||||
|  |             byte[] Length14Value = new byte[14]; | ||||||
|  | 
 | ||||||
|  |             startAddressInt = Modbus.ToBigEndianAndInt(startAddressByte); | ||||||
|  |             numberOfRegisterInt = Modbus.ToBigEndianAndInt(numberOfRegisterByte); | ||||||
|  | 
 | ||||||
|  |             for (int j = startAddressInt; j < startAddressInt + numberOfRegisterInt; j++) | ||||||
|  |             { | ||||||
|  |                 switch (j) | ||||||
|  |                 { | ||||||
|  |                     #region Change data | ||||||
|  |                     case _40000_ModbusAddress._03_Operation: | ||||||
|  |                         #region 40013_운전/정지 요청, 1:운전/2:정지 | ||||||
|  |                         for (int i = 0; i < 2; i++) | ||||||
|  |                             Length2Value[i] = readByte[13 + madeDataIndex + i]; | ||||||
|  |                         this.Current40000ModbusData._40013_Operation = Modbus.ToBigEndianAndInt(Length2Value); | ||||||
|  | 
 | ||||||
|  |                         if (this.Current40000ModbusData._40013_Operation != 0) | ||||||
|  |                         { | ||||||
|  |                             try | ||||||
|  |                             { | ||||||
|  |                                 if (this.Current40000ModbusData._40013_Operation == 1) | ||||||
|  |                                 { | ||||||
|  |                                     this.TransferData(CommunicationCommand.Start, CommunicationID.MainBoard); | ||||||
|  |                                 } | ||||||
|  |                                 else | ||||||
|  |                                 { | ||||||
|  |                                     this.TransferData(CommunicationCommand.Stop, CommunicationID.MainBoard); | ||||||
|  |                                 } | ||||||
|  | 
 | ||||||
|  |                                 this.Current40000ModbusData._40013_Operation = 0; | ||||||
|  | 
 | ||||||
|  |                                 // 성공 | ||||||
|  |                                 this.Current40000ModbusData._40014_OperationResult = 1; | ||||||
|  |                             } | ||||||
|  |                             catch | ||||||
|  |                             { | ||||||
|  |                                 // 실패 | ||||||
|  |                                 this.Current40000ModbusData._40014_OperationResult = 2; | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                         #endregion | ||||||
|  |                         break; | ||||||
|  |                     case _40000_ModbusAddress._04_OperationResult: | ||||||
|  |                         #region 40014_운전/정지 요청 수행 결과 | ||||||
|  |                         for (int i = 0; i < 2; i++) | ||||||
|  |                             Length2Value[i] = readByte[13 + madeDataIndex + i]; | ||||||
|  |                         this.Current40000ModbusData._40014_OperationResult = Modbus.ToBigEndianAndInt(Length2Value); | ||||||
|  |                         #endregion | ||||||
|  |                         break; | ||||||
|  |                     default: | ||||||
|  |                         break; | ||||||
|  |                     #endregion | ||||||
|  |                 } | ||||||
|  |                 madeDataIndex += 2; | ||||||
|  |             } | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
|         #region Client |         #region Client | ||||||
|         public void EthernetClientConnect() |         public void EthernetClientConnect() | ||||||
|  | @ -3984,6 +4287,130 @@ namespace INT_PT002.Forms | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         private void smartTCPMultiServer_OnReceiveHandler(SmartTCPMultiServer.CHandleClient.READINFO datas) | ||||||
|  |         { | ||||||
|  |             int ret = 0; | ||||||
|  |             byte[] readByte; | ||||||
|  |             string strRecData = ""; | ||||||
|  |             byte[] sendModbusDatas; | ||||||
|  | 
 | ||||||
|  |             try | ||||||
|  |             { | ||||||
|  |                 readByte = datas.receiveDatas; | ||||||
|  |                 strRecData = SmartTCPMultiServer.ConvertAsciiByteToString(readByte); | ||||||
|  |             } | ||||||
|  |             catch | ||||||
|  |             { | ||||||
|  |                 return; | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             switch (this.SystemConfig.ETHERNET_COMM_MODE) | ||||||
|  |             { | ||||||
|  |                 case (int)Define.E_CommMode.f1_Modbus: | ||||||
|  |                     #region Modbus TCP | ||||||
|  |                     if (this.smartTCPMultiServer.ClientInfoList != null) | ||||||
|  |                     { | ||||||
|  |                         this.ChildFormMainDisplay.ChildModbus.UpdateReceiveCount(); | ||||||
|  | 
 | ||||||
|  |                         //Console.Write("\n" + string.Format("Receive Modbus {0:yyyy-MM-dd HH:mm:ss}: {1}", DateTime.Now, Helper.ByteToHexString(readByte))); | ||||||
|  | 
 | ||||||
|  |                         if (readByte[7] == 0x10) // Write Multiple Register | ||||||
|  |                         { | ||||||
|  |                             #region Write Multiple Register | ||||||
|  |                             try | ||||||
|  |                             { | ||||||
|  |                                 byte[] errorResponseData = new byte[9]; | ||||||
|  |                                 byte[] responseData = new byte[12]; | ||||||
|  |                                 byte errorCheck = this.Modbus.CheckRequestLeakTesterDataErrorTCP(readByte, ModbusFunctionCode.FunctionCode_16); | ||||||
|  | 
 | ||||||
|  |                                 if (errorCheck == 0x00) | ||||||
|  |                                 { | ||||||
|  |                                     for (int i = 0; i < 12; i++) | ||||||
|  |                                         responseData[i] = readByte[i]; | ||||||
|  |                                     responseData[5] = 0x06; | ||||||
|  | 
 | ||||||
|  |                                     foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.smartTCPMultiServer.ClientInfoList) | ||||||
|  |                                     { | ||||||
|  |                                         this.smartTCPMultiServer.SendByteByClientID(client.strID, responseData); | ||||||
|  |                                     } | ||||||
|  | 
 | ||||||
|  |                                     this.ReceiveModbusTCPWriteManager(readByte); | ||||||
|  |                                 } | ||||||
|  |                                 else | ||||||
|  |                                 { | ||||||
|  |                                     for (int i = 0; i < 5; i++) | ||||||
|  |                                         errorResponseData[i] = readByte[i]; | ||||||
|  | 
 | ||||||
|  |                                     // Length | ||||||
|  |                                     errorResponseData[5] = 0x03; | ||||||
|  |                                     // Unit ID | ||||||
|  |                                     errorResponseData[6] = 0x01; | ||||||
|  |                                     // Function Code | ||||||
|  |                                     errorResponseData[7] = 0x90; | ||||||
|  |                                     // Error Code | ||||||
|  |                                     errorResponseData[8] = errorCheck; | ||||||
|  | 
 | ||||||
|  |                                     foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.smartTCPMultiServer.ClientInfoList) | ||||||
|  |                                     { | ||||||
|  |                                         this.smartTCPMultiServer.SendByteByClientID(client.strID, responseData); | ||||||
|  |                                     } | ||||||
|  |                                 } | ||||||
|  | 
 | ||||||
|  |                                 // 로그 | ||||||
|  |                                 if (this.IsCommunicationLogOpen == true) | ||||||
|  |                                 { | ||||||
|  |                                     this.smartFileCommunicationLog.StringType.Write(string.Format("Receive TCP ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, BitConverter.ToString(readByte))); | ||||||
|  |                                     this.smartFileCommunicationLog.StringType.Write(string.Format("Send TCP ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, BitConverter.ToString(responseData))); | ||||||
|  |                                 } | ||||||
|  |                             } | ||||||
|  |                             catch | ||||||
|  |                             { | ||||||
|  |                             } | ||||||
|  |                             #endregion | ||||||
|  |                         } | ||||||
|  |                         else // Read Input Register(0x04) | ||||||
|  |                         { | ||||||
|  |                             if (this.SystemConfig.MODBUS_TCP_SELECTFUNCTION == (int)Define.E_ModbusFunction._04_ReadInputRegister) | ||||||
|  |                             { | ||||||
|  |                                 #region Read Input Register | ||||||
|  |                                 try | ||||||
|  |                                 { | ||||||
|  |                                     byte[] responseData; | ||||||
|  |                                     byte errorCheck = this.Modbus.CheckRequestLeakTesterDataErrorTCP(readByte, ModbusFunctionCode.FunctionCode_04); | ||||||
|  | 
 | ||||||
|  |                                     if (errorCheck == 0x00) | ||||||
|  |                                         responseData = this.Modbus.MakeTCP04ResponseData(readByte, this.Transfer_1_Modbus_Read_TCP(readByte)); | ||||||
|  |                                     else | ||||||
|  |                                         responseData = this.Modbus.MakeTCP04ErrorResponseData(readByte, errorCheck); | ||||||
|  | 
 | ||||||
|  |                                     foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.smartTCPMultiServer.ClientInfoList) | ||||||
|  |                                     { | ||||||
|  |                                         this.smartTCPMultiServer.SendByteByClientID(client.strID, responseData); | ||||||
|  |                                     } | ||||||
|  | 
 | ||||||
|  |                                     //Console.Write("\n" + string.Format("Send Modbus {0:yyyy-MM-dd HH:mm:ss}: {1}", DateTime.Now, Helper.ByteToHexString(responseData))); | ||||||
|  | 
 | ||||||
|  |                                     // 로그 | ||||||
|  |                                     if (this.IsCommunicationLogOpen == true) | ||||||
|  |                                     { | ||||||
|  |                                         this.smartFileCommunicationLog.StringType.Write(string.Format("Receive TCP ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, Helper.ByteToHexString(readByte))); | ||||||
|  |                                         this.smartFileCommunicationLog.StringType.Write(string.Format("Send TCP ({0:yyyy-MM-dd HH:mm:ss}): {1}", DateTime.Now, Helper.ByteToHexString(responseData))); | ||||||
|  |                                     } | ||||||
|  |                                 } | ||||||
|  |                                 catch | ||||||
|  |                                 { | ||||||
|  |                                 } | ||||||
|  |                                 #endregion | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                     #endregion | ||||||
|  |                     break; | ||||||
|  |                 default: | ||||||
|  |                     break; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         private void smartButton1_Click(object sender, EventArgs e) |         private void smartButton1_Click(object sender, EventArgs e) | ||||||
|         { |         { | ||||||
|             this.smartForm1.Show(2); |             this.smartForm1.Show(2); | ||||||
|  | @ -4003,6 +4430,11 @@ namespace INT_PT002.Forms | ||||||
|             this.timerUserList.Enabled = false; |             this.timerUserList.Enabled = false; | ||||||
|             UserManager.UserManager_GetUserListName(); |             UserManager.UserManager_GetUserListName(); | ||||||
|         }        |         }        | ||||||
|  |         private void timerClientTryConnect_Tick(object sender, EventArgs e) | ||||||
|  |         { | ||||||
|  |             this.DelegateTimerTryConnect(false); | ||||||
|  |             this.EthernetClientConnect(); | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
|         #region UserManagerEvent |         #region UserManagerEvent | ||||||
|         private void UserManager_UserListLogoutDataEvent(int status) |         private void UserManager_UserListLogoutDataEvent(int status) | ||||||
|  | @ -4207,11 +4639,6 @@ namespace INT_PT002.Forms | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         #endregion |         #endregion | ||||||
| 
 |  | ||||||
|         private void timerClientTryConnect_Tick(object sender, EventArgs e) |  | ||||||
|         { |  | ||||||
| 
 |  | ||||||
|         } |  | ||||||
|         #endregion |         #endregion | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | @ -407,7 +407,7 @@ namespace INT_PT002.Forms | ||||||
|                     this.labelProgress7.BackGroundColor = this.ColorProgressOff; |                     this.labelProgress7.BackGroundColor = this.ColorProgressOff; | ||||||
|                     this.labelProgress8.BackGroundColor = this.ColorProgressOff; |                     this.labelProgress8.BackGroundColor = this.ColorProgressOff; | ||||||
|                     break; |                     break; | ||||||
|                 case Define.E_ProcessStatus._1_Read: |                 case Define.E_ProcessStatus._1_Ready: | ||||||
|                     this.labelProgress0.BackGroundColor = this.ColorProgressOn; |                     this.labelProgress0.BackGroundColor = this.ColorProgressOn; | ||||||
|                     this.labelProgress1.BackGroundColor = this.ColorProgressOff; |                     this.labelProgress1.BackGroundColor = this.ColorProgressOff; | ||||||
|                     this.labelProgress2.BackGroundColor = this.ColorProgressOff; |                     this.labelProgress2.BackGroundColor = this.ColorProgressOff; | ||||||
|  |  | ||||||
|  | @ -543,7 +543,7 @@ namespace INT_PT002.Forms | ||||||
|         { |         { | ||||||
|             switch (status) |             switch (status) | ||||||
|             { |             { | ||||||
|                 case Define.E_ProcessStatus._1_Read: |                 case Define.E_ProcessStatus._1_Ready: | ||||||
|                     this.progressBar3.Visible = false; |                     this.progressBar3.Visible = false; | ||||||
|                     this.progressBar4.Visible = false; |                     this.progressBar4.Visible = false; | ||||||
|                     this.progressBar6.Visible = false; |                     this.progressBar6.Visible = false; | ||||||
|  | @ -595,7 +595,7 @@ namespace INT_PT002.Forms | ||||||
|             { |             { | ||||||
|                 case Define.E_ProcessStatus._0_None: |                 case Define.E_ProcessStatus._0_None: | ||||||
|                     break; |                     break; | ||||||
|                 case Define.E_ProcessStatus._1_Read: |                 case Define.E_ProcessStatus._1_Ready: | ||||||
|                     for (int i = 0; i < this.CollectionLabelProgress.Count; i++) |                     for (int i = 0; i < this.CollectionLabelProgress.Count; i++) | ||||||
|                         this.CollectionLabelProgress[i].Location = this.CollectionLabelPoint[i]; |                         this.CollectionLabelProgress[i].Location = this.CollectionLabelPoint[i]; | ||||||
| 
 | 
 | ||||||
|  | @ -632,7 +632,7 @@ namespace INT_PT002.Forms | ||||||
|             { |             { | ||||||
|                 case Define.E_ProcessStatus._0_None: |                 case Define.E_ProcessStatus._0_None: | ||||||
|                     break; |                     break; | ||||||
|                 case Define.E_ProcessStatus._1_Read: |                 case Define.E_ProcessStatus._1_Ready: | ||||||
|                     for (int i = 0; i < this.CollectionLabelProgress.Count; i++) |                     for (int i = 0; i < this.CollectionLabelProgress.Count; i++) | ||||||
|                         this.CollectionLabelProgress[i].Location = this.CollectionLabelPoint[i]; |                         this.CollectionLabelProgress[i].Location = this.CollectionLabelPoint[i]; | ||||||
| 
 | 
 | ||||||
|  | @ -1139,7 +1139,7 @@ namespace INT_PT002.Forms | ||||||
|             switch (this.testIndex) |             switch (this.testIndex) | ||||||
|             { |             { | ||||||
|                 case 0: |                 case 0: | ||||||
|                     this.UpdateProcessStatusDisplay(Define.E_ProcessStatus._1_Read); |                     this.UpdateProcessStatusDisplay(Define.E_ProcessStatus._1_Ready); | ||||||
|                     break; |                     break; | ||||||
|                 case 1: |                 case 1: | ||||||
|                     this.UpdateProcessStatusDisplay(Define.E_ProcessStatus._2_ProductEntry); |                     this.UpdateProcessStatusDisplay(Define.E_ProcessStatus._2_ProductEntry); | ||||||
|  |  | ||||||
|  | @ -715,7 +715,7 @@ | ||||||
|             this.labelExpireOfPassword.BorderStyle = SmartX.SmartLabel.BorderStyles.None; |             this.labelExpireOfPassword.BorderStyle = SmartX.SmartLabel.BorderStyles.None; | ||||||
|             this.labelExpireOfPassword.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); |             this.labelExpireOfPassword.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelExpireOfPassword.LineSpacing = 0F; |             this.labelExpireOfPassword.LineSpacing = 0F; | ||||||
|             this.labelExpireOfPassword.Location = new System.Drawing.Point(786, 126); |             this.labelExpireOfPassword.Location = new System.Drawing.Point(787, 126); | ||||||
|             this.labelExpireOfPassword.Name = "labelExpireOfPassword"; |             this.labelExpireOfPassword.Name = "labelExpireOfPassword"; | ||||||
|             this.labelExpireOfPassword.OverlapOptimize = true; |             this.labelExpireOfPassword.OverlapOptimize = true; | ||||||
|             this.labelExpireOfPassword.PasswordChar = '\0'; |             this.labelExpireOfPassword.PasswordChar = '\0'; | ||||||
|  | @ -1854,9 +1854,9 @@ | ||||||
|             this.labelUserID.BackGroundColor = System.Drawing.Color.SkyBlue; |             this.labelUserID.BackGroundColor = System.Drawing.Color.SkyBlue; | ||||||
|             this.labelUserID.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(42)))), ((int)(((byte)(82))))); |             this.labelUserID.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(42)))), ((int)(((byte)(82))))); | ||||||
|             this.labelUserID.BorderStyle = SmartX.SmartLabel.BorderStyles.None; |             this.labelUserID.BorderStyle = SmartX.SmartLabel.BorderStyles.None; | ||||||
|             this.labelUserID.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); |             this.labelUserID.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelUserID.LineSpacing = 0F; |             this.labelUserID.LineSpacing = 0F; | ||||||
|             this.labelUserID.Location = new System.Drawing.Point(787, 93); |             this.labelUserID.Location = new System.Drawing.Point(787, 90); | ||||||
|             this.labelUserID.Name = "labelUserID"; |             this.labelUserID.Name = "labelUserID"; | ||||||
|             this.labelUserID.OverlapOptimize = true; |             this.labelUserID.OverlapOptimize = true; | ||||||
|             this.labelUserID.PasswordChar = '\0'; |             this.labelUserID.PasswordChar = '\0'; | ||||||
|  | @ -1946,9 +1946,9 @@ | ||||||
|             this.labelUserLevel.BackGroundColor = System.Drawing.Color.SkyBlue; |             this.labelUserLevel.BackGroundColor = System.Drawing.Color.SkyBlue; | ||||||
|             this.labelUserLevel.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(42)))), ((int)(((byte)(82))))); |             this.labelUserLevel.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(42)))), ((int)(((byte)(82))))); | ||||||
|             this.labelUserLevel.BorderStyle = SmartX.SmartLabel.BorderStyles.None; |             this.labelUserLevel.BorderStyle = SmartX.SmartLabel.BorderStyles.None; | ||||||
|             this.labelUserLevel.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); |             this.labelUserLevel.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelUserLevel.LineSpacing = 0F; |             this.labelUserLevel.LineSpacing = 0F; | ||||||
|             this.labelUserLevel.Location = new System.Drawing.Point(787, 119); |             this.labelUserLevel.Location = new System.Drawing.Point(787, 107); | ||||||
|             this.labelUserLevel.Name = "labelUserLevel"; |             this.labelUserLevel.Name = "labelUserLevel"; | ||||||
|             this.labelUserLevel.OverlapOptimize = true; |             this.labelUserLevel.OverlapOptimize = true; | ||||||
|             this.labelUserLevel.PasswordChar = '\0'; |             this.labelUserLevel.PasswordChar = '\0'; | ||||||
|  | @ -2350,7 +2350,7 @@ | ||||||
|             this.labelTime.BackGroundColor = System.Drawing.Color.SkyBlue; |             this.labelTime.BackGroundColor = System.Drawing.Color.SkyBlue; | ||||||
|             this.labelTime.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(42)))), ((int)(((byte)(82))))); |             this.labelTime.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(42)))), ((int)(((byte)(82))))); | ||||||
|             this.labelTime.BorderStyle = SmartX.SmartLabel.BorderStyles.None; |             this.labelTime.BorderStyle = SmartX.SmartLabel.BorderStyles.None; | ||||||
|             this.labelTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); |             this.labelTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); | ||||||
|             this.labelTime.LineSpacing = 0F; |             this.labelTime.LineSpacing = 0F; | ||||||
|             this.labelTime.Location = new System.Drawing.Point(141, 119); |             this.labelTime.Location = new System.Drawing.Point(141, 119); | ||||||
|             this.labelTime.Name = "labelTime"; |             this.labelTime.Name = "labelTime"; | ||||||
|  |  | ||||||
|  | @ -49,6 +49,7 @@ namespace INT_PT002.Forms | ||||||
|         private FormMain m_ParentForm; |         private FormMain m_ParentForm; | ||||||
| 
 | 
 | ||||||
|         private ControlMainDisplay ChildControl; |         private ControlMainDisplay ChildControl; | ||||||
|  |         public ControlMainModbus ChildModbus; | ||||||
|         #endregion |         #endregion | ||||||
| 
 | 
 | ||||||
|         #region Constructor |         #region Constructor | ||||||
|  | @ -179,6 +180,12 @@ namespace INT_PT002.Forms | ||||||
|             this.ChildControl.BringToFront(); |             this.ChildControl.BringToFront(); | ||||||
|             this.ChildControl.Visible = false; |             this.ChildControl.Visible = false; | ||||||
| 
 | 
 | ||||||
|  |             this.ChildModbus = new ControlMainModbus(this); | ||||||
|  |             this.Controls.Add(this.ChildModbus); | ||||||
|  |             this.ChildModbus.Location = new Point(0, 155); | ||||||
|  |             this.ChildModbus.BringToFront(); | ||||||
|  |             this.ChildModbus.Visible = false; | ||||||
|  | 
 | ||||||
|             this.buttonRecipeNo.ButtonText = this.ParentForm.SystemConfig.RECIPE_NUMBER.ToString(); |             this.buttonRecipeNo.ButtonText = this.ParentForm.SystemConfig.RECIPE_NUMBER.ToString(); | ||||||
|             this.UpdateDisplayUser(this.ParentForm.CurrentSystemStatus.CurrentUser); |             this.UpdateDisplayUser(this.ParentForm.CurrentSystemStatus.CurrentUser); | ||||||
|         } |         } | ||||||
|  | @ -716,6 +723,54 @@ namespace INT_PT002.Forms | ||||||
|             this.buttonModbus.Visible = bValue; |             this.buttonModbus.Visible = bValue; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         public void UpdateProcessStatusDisplay(Define.E_ProcessStatus status) | ||||||
|  |         { | ||||||
|  |             switch (status) | ||||||
|  |             { | ||||||
|  |                 case Define.E_ProcessStatus._0_None: | ||||||
|  |                     break; | ||||||
|  |                 case Define.E_ProcessStatus._1_Ready: | ||||||
|  |                     this.pictureBoxProgress3.Visible = true; | ||||||
|  |                     this.pictureBoxProgress3Selected.Visible = false; | ||||||
|  |                     this.pictureBoxProgress0.Visible = false; | ||||||
|  |                     this.pictureBoxProgress0Selected.Visible = true; | ||||||
|  |                     break; | ||||||
|  |                 case Define.E_ProcessStatus._2_ProductEntry: | ||||||
|  |                 case Define.E_ProcessStatus._3_MoveToLeak: | ||||||
|  |                 case Define.E_ProcessStatus._4_MoveToCheck: | ||||||
|  |                 case Define.E_ProcessStatus._5_ChamberMerge: | ||||||
|  |                     this.pictureBoxProgress0.Visible = true; | ||||||
|  |                     this.pictureBoxProgress0Selected.Visible = false; | ||||||
|  |                     this.pictureBoxProgress1.Visible = false; | ||||||
|  |                     this.pictureBoxProgress1Selected.Visible = true; | ||||||
|  |                     break; | ||||||
|  |                 case Define.E_ProcessStatus._6_VacuumStart: | ||||||
|  |                 case Define.E_ProcessStatus._7_VacuumHold: | ||||||
|  |                 case Define.E_ProcessStatus._8_Judgment: | ||||||
|  |                 case Define.E_ProcessStatus._9_VacuumBreak: | ||||||
|  |                     this.pictureBoxProgress1.Visible = true; | ||||||
|  |                     this.pictureBoxProgress1Selected.Visible = false; | ||||||
|  |                     this.pictureBoxProgress2.Visible = false; | ||||||
|  |                     this.pictureBoxProgress2Selected.Visible = true; | ||||||
|  | 
 | ||||||
|  |                     this.labelProgress2.RoundRectFillColor = Color.Teal; | ||||||
|  |                     this.ProgressBarSetting(status); | ||||||
|  |                     break; | ||||||
|  |                 case Define.E_ProcessStatus._10_ChamberRelease: | ||||||
|  |                 case Define.E_ProcessStatus._11_MoveToReady: | ||||||
|  |                     this.labelProgress2.RoundRectFillColor = Color.FromArgb(((int)(((byte)(231)))), ((int)(((byte)(231)))), ((int)(((byte)(231))))); | ||||||
|  |                     this.pictureBoxProgress2.Visible = true; | ||||||
|  |                     this.pictureBoxProgress2Selected.Visible = false; | ||||||
|  |                     this.pictureBoxProgress3.Visible = false; | ||||||
|  |                     this.pictureBoxProgress3Selected.Visible = true; | ||||||
|  |                     break; | ||||||
|  |                 default: | ||||||
|  |                     break; | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             this.ParentForm.Update30000ModbusItem(); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         private void UpdateDisplayDotGraphDiff(SmartDraw draw, DiffData diff) |         private void UpdateDisplayDotGraphDiff(SmartDraw draw, DiffData diff) | ||||||
|         { |         { | ||||||
|             int iValue = 0; |             int iValue = 0; | ||||||
|  | @ -835,7 +890,7 @@ namespace INT_PT002.Forms | ||||||
|             { |             { | ||||||
|                 case Define.E_ProcessStatus._0_None: |                 case Define.E_ProcessStatus._0_None: | ||||||
|                     break; |                     break; | ||||||
|                 case Define.E_ProcessStatus._1_Read: |                 case Define.E_ProcessStatus._1_Ready: | ||||||
|                     this.smartTimerProgressBar.Stop(); |                     this.smartTimerProgressBar.Stop(); | ||||||
|                     this.progressBar1.Value = this.progressBar1.Minimum; |                     this.progressBar1.Value = this.progressBar1.Minimum; | ||||||
| 
 | 
 | ||||||
|  | @ -1248,6 +1303,8 @@ namespace INT_PT002.Forms | ||||||
|             this.buttonRecipeNo.ButtonText = this.ParentForm.CurrentRecipe.NUMBER.ToString(); |             this.buttonRecipeNo.ButtonText = this.ParentForm.CurrentRecipe.NUMBER.ToString(); | ||||||
|             this.InitializeProcessStatus(); |             this.InitializeProcessStatus(); | ||||||
| 
 | 
 | ||||||
|  |             this.ChildModbus.Visible = false; | ||||||
|  | 
 | ||||||
|             this.UpdateDisplayUser(this.ParentForm.CurrentSystemStatus.CurrentUser); |             this.UpdateDisplayUser(this.ParentForm.CurrentSystemStatus.CurrentUser); | ||||||
|         } |         } | ||||||
|         #endregion |         #endregion | ||||||
|  | @ -1351,6 +1408,16 @@ namespace INT_PT002.Forms | ||||||
|         { |         { | ||||||
|             this.Part11AutomaticLogoutReset(); |             this.Part11AutomaticLogoutReset(); | ||||||
| 
 | 
 | ||||||
|  |             if (this.ChildModbus.Visible == true) | ||||||
|  |             { | ||||||
|  |                 this.ChildModbus.Visible = false; | ||||||
|  |             } | ||||||
|  |             else | ||||||
|  |             { | ||||||
|  |                 this.ChildModbus.DisplayRefresh(); | ||||||
|  |                 this.ChildModbus.BringToFront(); | ||||||
|  |                 this.ChildModbus.Visible = true; | ||||||
|  |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private void smartDraw1_Click(object sender, EventArgs e) |         private void smartDraw1_Click(object sender, EventArgs e) | ||||||
|  | @ -1584,7 +1651,7 @@ namespace INT_PT002.Forms | ||||||
|             switch (this.testIndex) |             switch (this.testIndex) | ||||||
|             { |             { | ||||||
|                 case 0: |                 case 0: | ||||||
|                     this.UpdateDisplayProcessStatus(Define.E_ProcessStatus._1_Read); |                     this.UpdateProcessStatusDisplay(Define.E_ProcessStatus._1_Ready); | ||||||
|                     break; |                     break; | ||||||
|                 case 1: |                 case 1: | ||||||
|                     this.UpdateDisplayProcessStatus(Define.E_ProcessStatus._2_ProductEntry); |                     this.UpdateDisplayProcessStatus(Define.E_ProcessStatus._2_ProductEntry); | ||||||
|  | @ -1628,7 +1695,7 @@ namespace INT_PT002.Forms | ||||||
| 
 | 
 | ||||||
|         private void buttonProgress1_Click(object sender, EventArgs e) |         private void buttonProgress1_Click(object sender, EventArgs e) | ||||||
|         { |         { | ||||||
|             this.UpdateDisplayProcessStatus(Define.E_ProcessStatus._1_Read); |             this.UpdateProcessStatusDisplay(Define.E_ProcessStatus._1_Ready); | ||||||
|         } |         } | ||||||
|         private void buttonProgress2_Click(object sender, EventArgs e) |         private void buttonProgress2_Click(object sender, EventArgs e) | ||||||
|         { |         { | ||||||
|  |  | ||||||
|  | @ -1,7 +1,10 @@ | ||||||
| using System; | using System; | ||||||
| using System.Linq; | using System.Linq; | ||||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||||
|  | using System.Drawing; | ||||||
| using System.Text; | using System.Text; | ||||||
|  | using System.Windows.Forms; | ||||||
|  | using System.IO; | ||||||
| 
 | 
 | ||||||
| using INT_PT002.DataStore; | using INT_PT002.DataStore; | ||||||
| 
 | 
 | ||||||
|  | @ -117,7 +120,7 @@ namespace INT_PT002 | ||||||
|             switch (iValue) |             switch (iValue) | ||||||
|             { |             { | ||||||
|                 case 0: |                 case 0: | ||||||
|                     status = Define.E_ProcessStatus._1_Read; |                     status = Define.E_ProcessStatus._1_Ready; | ||||||
|                     break; |                     break; | ||||||
|                 case 1: |                 case 1: | ||||||
|                     status = Define.E_ProcessStatus._2_ProductEntry; |                     status = Define.E_ProcessStatus._2_ProductEntry; | ||||||
|  | @ -329,5 +332,70 @@ namespace INT_PT002 | ||||||
|             else |             else | ||||||
|                 return "0000"; |                 return "0000"; | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  |         public static string ByteToHexString(byte[] array) | ||||||
|  |         { | ||||||
|  |             string resultHex = ""; | ||||||
|  | 
 | ||||||
|  |             foreach (byte byteStr in array) | ||||||
|  |                 resultHex += string.Format("{0:X2}", byteStr); | ||||||
|  | 
 | ||||||
|  |             return resultHex; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public static class FindByNameUtil | ||||||
|  |     { | ||||||
|  |         public static T FindByName<T>(this object targetClass, string name) where T : class | ||||||
|  |         { | ||||||
|  |             System.Reflection.FieldInfo fi = targetClass.GetType().GetField(name, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); | ||||||
|  |             return fi.GetValue(targetClass) as T; | ||||||
|  |         } | ||||||
|  |         public static T FindByName<T>(this string name, object targetClass) where T : class | ||||||
|  |         { | ||||||
|  |             System.Reflection.FieldInfo fi = targetClass.GetType().GetField(name, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); | ||||||
|  |             return fi.GetValue(targetClass) as T; | ||||||
|  |         } | ||||||
|  |         public static System.Windows.Forms.Label Is_Label_From(this string name, object targetClass) | ||||||
|  |         { | ||||||
|  |             return FindByName<System.Windows.Forms.Label>(targetClass, name); | ||||||
|  |         } | ||||||
|  |         public static System.Windows.Forms.TextBox Is_TextBox_From(this string name, object targetClass) | ||||||
|  |         { | ||||||
|  |             return FindByName<System.Windows.Forms.TextBox>(targetClass, name); | ||||||
|  |         } | ||||||
|  |         public static System.Windows.Forms.TextBox TextBox(string name, object targetClass) | ||||||
|  |         { | ||||||
|  |             return FindByName<System.Windows.Forms.TextBox>(targetClass, name); | ||||||
|  |         } | ||||||
|  |         public static System.Windows.Forms.Label Label(string name, object targetClass) | ||||||
|  |         { | ||||||
|  |             return FindByName<System.Windows.Forms.Label>(targetClass, name); | ||||||
|  |         } | ||||||
|  |         public static System.Windows.Forms.PictureBox PictureBox(string name, object targetClass) | ||||||
|  |         { | ||||||
|  |             return FindByName<System.Windows.Forms.PictureBox>(targetClass, name); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public static SmartX.SmartLabel SmartLabel(string name, object targetClass) | ||||||
|  |         { | ||||||
|  |             return FindByName<SmartX.SmartLabel>(targetClass, name); | ||||||
|  |         } | ||||||
|  |         public static SmartX.SmartProgressBar SmartProgressBar(string name, object targetClass) | ||||||
|  |         { | ||||||
|  |             return FindByName<SmartX.SmartProgressBar>(targetClass, name); | ||||||
|  |         } | ||||||
|  |         public static SmartX.SmartButton SmartButton(string name, object targetClass) | ||||||
|  |         { | ||||||
|  |             return FindByName<SmartX.SmartButton>(targetClass, name); | ||||||
|  |         } | ||||||
|  |         public static SmartX.SmartDraw SmartDraw(string name, object targetClass) | ||||||
|  |         { | ||||||
|  |             return FindByName<SmartX.SmartDraw>(targetClass, name); | ||||||
|  |         } | ||||||
|  |         public static SmartX.SmartListBox SmartListBox(string name, object targetClass) | ||||||
|  |         { | ||||||
|  |             return FindByName<SmartX.SmartListBox>(targetClass, name); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue