- 충돌 병합
parent
1b43c25b62
commit
ee2012b82e
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>
|
||||
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
|
||||
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
|
||||
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
|
||||
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.Name = "groupBoxModbusSetting";
|
||||
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.Text = "Modbus Settings";
|
||||
this.groupBoxModbusSetting.TextColor = System.Drawing.Color.White;
|
||||
|
@ -308,7 +308,7 @@
|
|||
this.buttonSaveModbus.ImageDisable = null;
|
||||
this.buttonSaveModbus.ImageDown = 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.Name = "buttonSaveModbus";
|
||||
this.buttonSaveModbus.NestedClickEventPrevent = false;
|
||||
|
@ -519,7 +519,7 @@
|
|||
this.buttonSaveClient.ImageDisable = null;
|
||||
this.buttonSaveClient.ImageDown = 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.Name = "buttonSaveClient";
|
||||
this.buttonSaveClient.NestedClickEventPrevent = false;
|
||||
|
@ -556,7 +556,7 @@
|
|||
this.buttonStopClient.ImageDisable = null;
|
||||
this.buttonStopClient.ImageDown = 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.Name = "buttonStopClient";
|
||||
this.buttonStopClient.NestedClickEventPrevent = false;
|
||||
|
@ -585,7 +585,7 @@
|
|||
this.labelHostPort.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelHostPort.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelHostPort.PasswordChar = '\0';
|
||||
|
@ -616,7 +616,7 @@
|
|||
this.buttonStartClient.ImageDisable = null;
|
||||
this.buttonStartClient.ImageDown = 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.Name = "buttonStartClient";
|
||||
this.buttonStartClient.NestedClickEventPrevent = false;
|
||||
|
@ -645,7 +645,7 @@
|
|||
this.labelHostIP4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelHostIP4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelHostIP4.PasswordChar = '\0';
|
||||
|
@ -669,7 +669,7 @@
|
|||
this.labelHostIP3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelHostIP3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelHostIP3.PasswordChar = '\0';
|
||||
|
@ -693,7 +693,7 @@
|
|||
this.labelHostIP2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelHostIP2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelHostIP2.PasswordChar = '\0';
|
||||
|
@ -717,7 +717,7 @@
|
|||
this.labelHostIP1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelHostIP1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelHostIP1.PasswordChar = '\0';
|
||||
|
@ -741,7 +741,7 @@
|
|||
this.labelClientStatus.BorderStyle = SmartX.SmartLabel.BorderStyles.None;
|
||||
this.labelClientStatus.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelClientStatus.PasswordChar = '\0';
|
||||
|
@ -765,7 +765,7 @@
|
|||
this.smartLabel7.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
|
||||
this.smartLabel7.ForeColor = System.Drawing.Color.Red;
|
||||
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.OverlapOptimize = true;
|
||||
this.smartLabel7.PasswordChar = '\0';
|
||||
|
@ -789,7 +789,7 @@
|
|||
this.smartLabel8.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
|
||||
this.smartLabel8.ForeColor = System.Drawing.Color.Red;
|
||||
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.OverlapOptimize = true;
|
||||
this.smartLabel8.PasswordChar = '\0';
|
||||
|
@ -813,7 +813,7 @@
|
|||
this.smartLabel9.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
|
||||
this.smartLabel9.ForeColor = System.Drawing.Color.White;
|
||||
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.OverlapOptimize = true;
|
||||
this.smartLabel9.PasswordChar = '\0';
|
||||
|
@ -870,7 +870,7 @@
|
|||
this.buttonSaveServer.ImageDisable = null;
|
||||
this.buttonSaveServer.ImageDown = 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.Name = "buttonSaveServer";
|
||||
this.buttonSaveServer.NestedClickEventPrevent = false;
|
||||
|
@ -907,7 +907,7 @@
|
|||
this.buttonStopServer.ImageDisable = null;
|
||||
this.buttonStopServer.ImageDown = 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.Name = "buttonStopServer";
|
||||
this.buttonStopServer.NestedClickEventPrevent = false;
|
||||
|
@ -943,7 +943,7 @@
|
|||
this.buttonStartServer.ImageDisable = null;
|
||||
this.buttonStartServer.ImageDown = 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.Name = "buttonStartServer";
|
||||
this.buttonStartServer.NestedClickEventPrevent = false;
|
||||
|
@ -972,7 +972,7 @@
|
|||
this.labelLocalPort.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalPort.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalPort.PasswordChar = '\0';
|
||||
|
@ -996,7 +996,7 @@
|
|||
this.labelConnectedIP.BorderStyle = SmartX.SmartLabel.BorderStyles.None;
|
||||
this.labelConnectedIP.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelConnectedIP.PasswordChar = '\0';
|
||||
|
@ -1019,7 +1019,7 @@
|
|||
this.labelServerStatus.BorderStyle = SmartX.SmartLabel.BorderStyles.None;
|
||||
this.labelServerStatus.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelServerStatus.PasswordChar = '\0';
|
||||
|
@ -1043,7 +1043,7 @@
|
|||
this.smartLabel6.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
|
||||
this.smartLabel6.ForeColor = System.Drawing.Color.Red;
|
||||
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.OverlapOptimize = true;
|
||||
this.smartLabel6.PasswordChar = '\0';
|
||||
|
@ -1067,7 +1067,7 @@
|
|||
this.smartLabel2.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
|
||||
this.smartLabel2.ForeColor = System.Drawing.Color.Red;
|
||||
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.OverlapOptimize = true;
|
||||
this.smartLabel2.PasswordChar = '\0';
|
||||
|
@ -1091,7 +1091,7 @@
|
|||
this.smartLabel3.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
|
||||
this.smartLabel3.ForeColor = System.Drawing.Color.White;
|
||||
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.OverlapOptimize = true;
|
||||
this.smartLabel3.PasswordChar = '\0';
|
||||
|
@ -1146,7 +1146,7 @@
|
|||
this.smartGroupBox3.Location = new System.Drawing.Point(67, 414);
|
||||
this.smartGroupBox3.Name = "smartGroupBox3";
|
||||
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.Text = "Local Settings";
|
||||
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.ForeColor = System.Drawing.Color.White;
|
||||
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.OverlapOptimize = true;
|
||||
this.smartLabel5.PasswordChar = '\0';
|
||||
|
@ -1184,7 +1184,7 @@
|
|||
this.smartLabel4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
this.smartLabel4.ForeColor = System.Drawing.Color.White;
|
||||
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.OverlapOptimize = true;
|
||||
this.smartLabel4.PasswordChar = '\0';
|
||||
|
@ -1207,7 +1207,7 @@
|
|||
this.labelMACAddress6.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelMACAddress6.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelMACAddress6.PasswordChar = '\0';
|
||||
|
@ -1231,7 +1231,7 @@
|
|||
this.labelMACAddress5.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelMACAddress5.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelMACAddress5.PasswordChar = '\0';
|
||||
|
@ -1255,7 +1255,7 @@
|
|||
this.labelMACAddress4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelMACAddress4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelMACAddress4.PasswordChar = '\0';
|
||||
|
@ -1280,7 +1280,7 @@
|
|||
this.labelMACAddress1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
this.labelMACAddress1.ForeColor = System.Drawing.Color.White;
|
||||
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.OverlapOptimize = true;
|
||||
this.labelMACAddress1.PasswordChar = '\0';
|
||||
|
@ -1304,7 +1304,7 @@
|
|||
this.labelTitleMACAddress.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
|
||||
this.labelTitleMACAddress.ForeColor = System.Drawing.Color.Red;
|
||||
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.OverlapOptimize = true;
|
||||
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.Controls.Add(this.radioButtonLocalIpStatic);
|
||||
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.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.ForeColor = System.Drawing.Color.Red;
|
||||
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.OverlapOptimize = true;
|
||||
this.labelTitleIPConfiguration.PasswordChar = '\0';
|
||||
|
@ -1414,7 +1414,7 @@
|
|||
this.labelLocalSubnetMask4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalSubnetMask4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalSubnetMask4.PasswordChar = '\0';
|
||||
|
@ -1438,7 +1438,7 @@
|
|||
this.labelLocalSubnetMask3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalSubnetMask3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalSubnetMask3.PasswordChar = '\0';
|
||||
|
@ -1462,7 +1462,7 @@
|
|||
this.labelLocalSubnetMask2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalSubnetMask2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalSubnetMask2.PasswordChar = '\0';
|
||||
|
@ -1486,7 +1486,7 @@
|
|||
this.labelLocalSubnetMask1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalSubnetMask1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalSubnetMask1.PasswordChar = '\0';
|
||||
|
@ -1511,7 +1511,7 @@
|
|||
this.labelTitleSubnetMask.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
|
||||
this.labelTitleSubnetMask.ForeColor = System.Drawing.Color.White;
|
||||
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.OverlapOptimize = true;
|
||||
this.labelTitleSubnetMask.PasswordChar = '\0';
|
||||
|
@ -1534,7 +1534,7 @@
|
|||
this.labelLocalGateway4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalGateway4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalGateway4.PasswordChar = '\0';
|
||||
|
@ -1558,7 +1558,7 @@
|
|||
this.labelLocalGateway3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalGateway3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalGateway3.PasswordChar = '\0';
|
||||
|
@ -1582,7 +1582,7 @@
|
|||
this.labelLocalGateway2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalGateway2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalGateway2.PasswordChar = '\0';
|
||||
|
@ -1606,7 +1606,7 @@
|
|||
this.labelLocalGateway1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalGateway1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalGateway1.PasswordChar = '\0';
|
||||
|
@ -1631,7 +1631,7 @@
|
|||
this.labelTitleGateway.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
|
||||
this.labelTitleGateway.ForeColor = System.Drawing.Color.White;
|
||||
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.OverlapOptimize = true;
|
||||
this.labelTitleGateway.PasswordChar = '\0';
|
||||
|
@ -1654,7 +1654,7 @@
|
|||
this.labelLocalIP4.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalIP4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalIP4.PasswordChar = '\0';
|
||||
|
@ -1678,7 +1678,7 @@
|
|||
this.labelLocalIP3.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalIP3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalIP3.PasswordChar = '\0';
|
||||
|
@ -1702,7 +1702,7 @@
|
|||
this.labelLocalIP2.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalIP2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalIP2.PasswordChar = '\0';
|
||||
|
@ -1726,7 +1726,7 @@
|
|||
this.labelLocalIP1.BorderStyle = SmartX.SmartLabel.BorderStyles.FixedSingle;
|
||||
this.labelLocalIP1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelLocalIP1.PasswordChar = '\0';
|
||||
|
@ -1751,7 +1751,7 @@
|
|||
this.labelTitleIPAddress.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
|
||||
this.labelTitleIPAddress.ForeColor = System.Drawing.Color.White;
|
||||
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.OverlapOptimize = true;
|
||||
this.labelTitleIPAddress.PasswordChar = '\0';
|
||||
|
@ -1780,7 +1780,7 @@
|
|||
this.buttonSaveLocal.ImageDisable = null;
|
||||
this.buttonSaveLocal.ImageDown = 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.Name = "buttonSaveLocal";
|
||||
this.buttonSaveLocal.NestedClickEventPrevent = false;
|
||||
|
@ -1865,7 +1865,7 @@
|
|||
this.smartButton1.ImageDisable = null;
|
||||
this.smartButton1.ImageDown = 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.Name = "smartButton1";
|
||||
this.smartButton1.NestedClickEventPrevent = false;
|
||||
|
@ -1902,7 +1902,7 @@
|
|||
this.smartLabel1.RoundRectFillColor = System.Drawing.Color.LightBlue;
|
||||
this.smartLabel1.Size = new System.Drawing.Size(202, 29);
|
||||
this.smartLabel1.TabIndex = 181;
|
||||
this.smartLabel1.Text = "Communication Mode:";
|
||||
this.smartLabel1.Text = "Communication Mode";
|
||||
this.smartLabel1.TextColor = System.Drawing.Color.White;
|
||||
this.smartLabel1.TextColorDisable = System.Drawing.Color.Gray;
|
||||
this.smartLabel1.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
|
||||
|
@ -1923,7 +1923,7 @@
|
|||
this.buttonSaveMode.ImageDisable = null;
|
||||
this.buttonSaveMode.ImageDown = 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.Name = "buttonSaveMode";
|
||||
this.buttonSaveMode.NestedClickEventPrevent = false;
|
||||
|
@ -1961,7 +1961,7 @@
|
|||
this.smartLabel13.RoundRectFillColor = System.Drawing.Color.LightBlue;
|
||||
this.smartLabel13.Size = new System.Drawing.Size(202, 29);
|
||||
this.smartLabel13.TabIndex = 180;
|
||||
this.smartLabel13.Text = "Operation Mode:";
|
||||
this.smartLabel13.Text = "Operation Mode";
|
||||
this.smartLabel13.TextColor = System.Drawing.Color.White;
|
||||
this.smartLabel13.TextColorDisable = System.Drawing.Color.Gray;
|
||||
this.smartLabel13.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
|
||||
|
|
|
@ -633,7 +633,7 @@ namespace INT_PT002.Controls
|
|||
|
||||
this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig);
|
||||
this.ParentForm.ParentForm.EthernetClientDisconnect();
|
||||
this.buttonSaveClient.Enabled = false;
|
||||
this.buttonSaveClient.Visible = false;
|
||||
|
||||
if (beforeServerIP != afterServerIP)
|
||||
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.TCPServerIPAddress, "", beforeServerIP, afterServerIP);
|
||||
|
@ -657,7 +657,7 @@ namespace INT_PT002.Controls
|
|||
else
|
||||
{
|
||||
this.labelHostIP1.Text = myKeyPad.StringValue;
|
||||
this.buttonSaveClient.Enabled = true;
|
||||
this.buttonSaveClient.Visible = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -678,7 +678,7 @@ namespace INT_PT002.Controls
|
|||
else
|
||||
{
|
||||
this.labelHostIP2.Text = myKeyPad.StringValue;
|
||||
this.buttonSaveClient.Enabled = true;
|
||||
this.buttonSaveClient.Visible = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -699,7 +699,7 @@ namespace INT_PT002.Controls
|
|||
else
|
||||
{
|
||||
this.labelHostIP3.Text = myKeyPad.StringValue;
|
||||
this.buttonSaveClient.Enabled = true;
|
||||
this.buttonSaveClient.Visible = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -720,7 +720,7 @@ namespace INT_PT002.Controls
|
|||
else
|
||||
{
|
||||
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)
|
||||
{
|
||||
this.labelHostPort.Text = myKeyPad.StringValue;
|
||||
this.buttonSaveClient.Enabled = true;
|
||||
this.buttonSaveClient.Visible = true;
|
||||
}
|
||||
}
|
||||
private void buttonStartClient_Click(object sender, EventArgs e)
|
||||
|
|
|
@ -284,7 +284,7 @@ namespace INT_PT002.Controls
|
|||
{
|
||||
case Define.E_ProcessStatus._0_None:
|
||||
break;
|
||||
case Define.E_ProcessStatus._1_Read:
|
||||
case Define.E_ProcessStatus._1_Ready:
|
||||
this.UnselectProcessLabelRefresh(0);
|
||||
break;
|
||||
case Define.E_ProcessStatus._2_ProductEntry:
|
||||
|
@ -318,7 +318,7 @@ namespace INT_PT002.Controls
|
|||
{
|
||||
case Define.E_ProcessStatus._0_None:
|
||||
break;
|
||||
case Define.E_ProcessStatus._1_Read:
|
||||
case Define.E_ProcessStatus._1_Ready:
|
||||
this.UnselectProcessLabelRefresh(this.CollectionLabelProgress.Count - 1);
|
||||
this.SelectProcessLabelRefresh(0);
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ namespace INT_PT002.DataStore
|
|||
public enum E_ProcessStatus
|
||||
{
|
||||
_0_None = 0,
|
||||
_1_Read,
|
||||
_1_Ready,
|
||||
_2_ProductEntry,
|
||||
_3_MoveToLeak,
|
||||
_4_MoveToCheck,
|
||||
|
@ -214,6 +214,8 @@ namespace INT_PT002.DataStore
|
|||
M2_Origin,
|
||||
M2_Turn,
|
||||
|
||||
ProductNo,
|
||||
|
||||
TCPOpMode,
|
||||
TCPComMode,
|
||||
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));
|
||||
this.smartGroupBox1 = new SmartX.SmartGroupBox();
|
||||
this.buttonAdmin = new SmartX.SmartButton();
|
||||
this.textBoxPassword = new System.Windows.Forms.TextBox();
|
||||
this.textBoxID = new System.Windows.Forms.TextBox();
|
||||
this.labelTitlePassword = new SmartX.SmartLabel();
|
||||
|
@ -47,6 +48,7 @@
|
|||
this.smartGroupBox1.BackGround = null;
|
||||
this.smartGroupBox1.BackGroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this.smartGroupBox1.BackImage = null;
|
||||
this.smartGroupBox1.Controls.Add(this.buttonAdmin);
|
||||
this.smartGroupBox1.Controls.Add(this.textBoxPassword);
|
||||
this.smartGroupBox1.Controls.Add(this.textBoxID);
|
||||
this.smartGroupBox1.Controls.Add(this.labelTitlePassword);
|
||||
|
@ -67,6 +69,43 @@
|
|||
this.smartGroupBox1.Text = "Login";
|
||||
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
|
||||
//
|
||||
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 textBoxPassword;
|
||||
private SmartX.SmartForm smartForm1;
|
||||
private SmartX.SmartButton buttonAdmin;
|
||||
}
|
||||
}
|
|
@ -493,5 +493,11 @@ namespace INT_PT002.Forms
|
|||
this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset();
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void buttonAdmin_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.textBoxID.Text = "admin00";
|
||||
this.textBoxPassword.Text = "admin12!";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -105,11 +105,12 @@
|
|||
//
|
||||
// smartTCPMultiServer
|
||||
//
|
||||
this.smartTCPMultiServer.MaxClient = 10;
|
||||
this.smartTCPMultiServer.MaxClient = 1;
|
||||
this.smartTCPMultiServer.MaxReceiveBufferSize = 1000;
|
||||
this.smartTCPMultiServer.Port = 0;
|
||||
this.smartTCPMultiServer.Port = 502;
|
||||
this.smartTCPMultiServer.ReceiveTimeout = 3000;
|
||||
this.smartTCPMultiServer.SendCallBackType = SmartX.SmartTCPMultiServer.CALLBACKTYPE.Sync;
|
||||
this.smartTCPMultiServer.OnReceiveHandler += new SmartX.SmartTCPMultiServer.ReceiveHandler(this.smartTCPMultiServer_OnReceiveHandler);
|
||||
//
|
||||
// timerClientTryConnect
|
||||
//
|
||||
|
|
|
@ -78,6 +78,14 @@ namespace INT_PT002.Forms
|
|||
// Modbus
|
||||
public Modbus Modbus;
|
||||
|
||||
// Modbus Data
|
||||
public _30000_ModbusData Current30000ModbusData;
|
||||
public _40000_ModbusData Current40000ModbusData;
|
||||
|
||||
// Modbus - 진행중 여부 확인
|
||||
private Collection<short> CollectionIsProcessing;
|
||||
private Collection<short> CollectionIsLeak;
|
||||
|
||||
// Ethernet
|
||||
private bool IsEthernetThreadStop;
|
||||
private bool IsEthernetTransferData;
|
||||
|
@ -212,6 +220,30 @@ namespace INT_PT002.Forms
|
|||
this.PathDataAlarmFolder = this.PathDataFolder + "Alarm\\";
|
||||
|
||||
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.ColorLogOn = Color.FromArgb(39, 200, 64);
|
||||
|
@ -1505,6 +1537,8 @@ namespace INT_PT002.Forms
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
this.Update30000ModbusItem();
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
@ -2295,8 +2329,19 @@ namespace INT_PT002.Forms
|
|||
#region Communication protocol
|
||||
public byte[] Transfer_1_Modbus_Write()
|
||||
{
|
||||
byte[] madeData = new byte[10];
|
||||
byte[] Length4Value = new byte[4];
|
||||
byte[] madeData = new byte[20];
|
||||
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;
|
||||
}
|
||||
|
@ -2308,7 +2353,6 @@ namespace INT_PT002.Forms
|
|||
int numberOfRegisterInt;
|
||||
int madeDataIndex = 0;
|
||||
byte[] length2Value = new byte[2];
|
||||
byte[] length4Value = new byte[4];
|
||||
|
||||
startAddressInt = Modbus.ToBigEndianAndInt(startAddressByte);
|
||||
numberOfRegisterInt = Modbus.ToBigEndianAndInt(numberOfRegisterByte);
|
||||
|
@ -2317,6 +2361,118 @@ namespace INT_PT002.Forms
|
|||
|
||||
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;
|
||||
|
@ -2324,6 +2480,146 @@ namespace INT_PT002.Forms
|
|||
#endregion
|
||||
|
||||
#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
|
||||
public void EthernetClientConnect()
|
||||
|
@ -3922,6 +4218,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)
|
||||
{
|
||||
this.smartForm1.Show(2);
|
||||
|
|
|
@ -407,7 +407,7 @@ namespace INT_PT002.Forms
|
|||
this.labelProgress7.BackGroundColor = this.ColorProgressOff;
|
||||
this.labelProgress8.BackGroundColor = this.ColorProgressOff;
|
||||
break;
|
||||
case Define.E_ProcessStatus._1_Read:
|
||||
case Define.E_ProcessStatus._1_Ready:
|
||||
this.labelProgress0.BackGroundColor = this.ColorProgressOn;
|
||||
this.labelProgress1.BackGroundColor = this.ColorProgressOff;
|
||||
this.labelProgress2.BackGroundColor = this.ColorProgressOff;
|
||||
|
|
|
@ -543,7 +543,7 @@ namespace INT_PT002.Forms
|
|||
{
|
||||
switch (status)
|
||||
{
|
||||
case Define.E_ProcessStatus._1_Read:
|
||||
case Define.E_ProcessStatus._1_Ready:
|
||||
this.progressBar3.Visible = false;
|
||||
this.progressBar4.Visible = false;
|
||||
this.progressBar6.Visible = false;
|
||||
|
@ -595,7 +595,7 @@ namespace INT_PT002.Forms
|
|||
{
|
||||
case Define.E_ProcessStatus._0_None:
|
||||
break;
|
||||
case Define.E_ProcessStatus._1_Read:
|
||||
case Define.E_ProcessStatus._1_Ready:
|
||||
for (int i = 0; i < this.CollectionLabelProgress.Count; i++)
|
||||
this.CollectionLabelProgress[i].Location = this.CollectionLabelPoint[i];
|
||||
|
||||
|
@ -632,7 +632,7 @@ namespace INT_PT002.Forms
|
|||
{
|
||||
case Define.E_ProcessStatus._0_None:
|
||||
break;
|
||||
case Define.E_ProcessStatus._1_Read:
|
||||
case Define.E_ProcessStatus._1_Ready:
|
||||
for (int i = 0; i < this.CollectionLabelProgress.Count; i++)
|
||||
this.CollectionLabelProgress[i].Location = this.CollectionLabelPoint[i];
|
||||
|
||||
|
@ -1139,7 +1139,7 @@ namespace INT_PT002.Forms
|
|||
switch (this.testIndex)
|
||||
{
|
||||
case 0:
|
||||
this.UpdateProcessStatusDisplay(Define.E_ProcessStatus._1_Read);
|
||||
this.UpdateProcessStatusDisplay(Define.E_ProcessStatus._1_Ready);
|
||||
break;
|
||||
case 1:
|
||||
this.UpdateProcessStatusDisplay(Define.E_ProcessStatus._2_ProductEntry);
|
||||
|
|
|
@ -715,7 +715,7 @@
|
|||
this.labelExpireOfPassword.BorderStyle = SmartX.SmartLabel.BorderStyles.None;
|
||||
this.labelExpireOfPassword.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
|
||||
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.OverlapOptimize = true;
|
||||
this.labelExpireOfPassword.PasswordChar = '\0';
|
||||
|
@ -1854,9 +1854,9 @@
|
|||
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.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.Location = new System.Drawing.Point(787, 93);
|
||||
this.labelUserID.Location = new System.Drawing.Point(787, 90);
|
||||
this.labelUserID.Name = "labelUserID";
|
||||
this.labelUserID.OverlapOptimize = true;
|
||||
this.labelUserID.PasswordChar = '\0';
|
||||
|
@ -1946,9 +1946,9 @@
|
|||
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.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.Location = new System.Drawing.Point(787, 119);
|
||||
this.labelUserLevel.Location = new System.Drawing.Point(787, 107);
|
||||
this.labelUserLevel.Name = "labelUserLevel";
|
||||
this.labelUserLevel.OverlapOptimize = true;
|
||||
this.labelUserLevel.PasswordChar = '\0';
|
||||
|
@ -2350,7 +2350,7 @@
|
|||
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.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.Location = new System.Drawing.Point(141, 119);
|
||||
this.labelTime.Name = "labelTime";
|
||||
|
|
|
@ -49,6 +49,7 @@ namespace INT_PT002.Forms
|
|||
private FormMain m_ParentForm;
|
||||
|
||||
private ControlMainDisplay ChildControl;
|
||||
public ControlMainModbus ChildModbus;
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
|
@ -179,6 +180,12 @@ namespace INT_PT002.Forms
|
|||
this.ChildControl.BringToFront();
|
||||
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.UpdateDisplayUser(this.ParentForm.CurrentSystemStatus.CurrentUser);
|
||||
}
|
||||
|
@ -716,6 +723,54 @@ namespace INT_PT002.Forms
|
|||
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)
|
||||
{
|
||||
int iValue = 0;
|
||||
|
@ -835,7 +890,7 @@ namespace INT_PT002.Forms
|
|||
{
|
||||
case Define.E_ProcessStatus._0_None:
|
||||
break;
|
||||
case Define.E_ProcessStatus._1_Read:
|
||||
case Define.E_ProcessStatus._1_Ready:
|
||||
this.smartTimerProgressBar.Stop();
|
||||
this.progressBar1.Value = this.progressBar1.Minimum;
|
||||
|
||||
|
@ -1247,6 +1302,8 @@ namespace INT_PT002.Forms
|
|||
|
||||
this.buttonRecipeNo.ButtonText = this.ParentForm.CurrentRecipe.NUMBER.ToString();
|
||||
this.InitializeProcessStatus();
|
||||
if (this.ChildModbus.Visible == true)
|
||||
this.ChildModbus.Visible = false;
|
||||
|
||||
this.UpdateDisplayUser(this.ParentForm.CurrentSystemStatus.CurrentUser);
|
||||
}
|
||||
|
@ -1351,6 +1408,16 @@ namespace INT_PT002.Forms
|
|||
{
|
||||
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)
|
||||
|
@ -1584,7 +1651,7 @@ namespace INT_PT002.Forms
|
|||
switch (this.testIndex)
|
||||
{
|
||||
case 0:
|
||||
this.UpdateDisplayProcessStatus(Define.E_ProcessStatus._1_Read);
|
||||
this.UpdateProcessStatusDisplay(Define.E_ProcessStatus._1_Ready);
|
||||
break;
|
||||
case 1:
|
||||
this.UpdateDisplayProcessStatus(Define.E_ProcessStatus._2_ProductEntry);
|
||||
|
@ -1628,7 +1695,7 @@ namespace INT_PT002.Forms
|
|||
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
using INT_PT002.DataStore;
|
||||
|
||||
|
@ -117,7 +120,7 @@ namespace INT_PT002
|
|||
switch (iValue)
|
||||
{
|
||||
case 0:
|
||||
status = Define.E_ProcessStatus._1_Read;
|
||||
status = Define.E_ProcessStatus._1_Ready;
|
||||
break;
|
||||
case 1:
|
||||
status = Define.E_ProcessStatus._2_ProductEntry;
|
||||
|
@ -329,5 +332,70 @@ namespace INT_PT002
|
|||
else
|
||||
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