- 충돌 병합

main
DESKTOP-999R8N3\CJY 2024-04-09 13:27:30 +09:00
parent 1b43c25b62
commit ee2012b82e
17 changed files with 4391 additions and 82 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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
}
}

View File

@ -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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
mPENLrHYJjoXQeeY8Q0usdgmOhdB55jxDS6x2CY6F0HnmPENLrHYJjoXQeeY8Q0usdgmOhdB55jxDS6x
2CY6F0HnmPENLrHYJjoXQeeY8Q0usdgmOhdB55jxDS6x2CY6F0HnmPENLrHYJjoXQeeY8Q0usdgmOhdB
55jxDS6x2CY6F0HnmPENLrHYJjoXQeeY8Q0usdgmOhdB55jxDS6x2CY6F0HnmPENLrHYJjoXQeeY8Q0u
sdgmuZ0zxhhjXmSOxDzjatWdOV58yuNjHUHu5vccM3/605+P/93hRVhsE52LoHPMOMdLLLaJzkXQOWac
4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6
F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xz
vMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdLLLaJzkXQOWac4yUW20Tn
IugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2Ca5nfvY5rhf
r+P628YYUz1HYp5xterOHC8+5fGxjovcze85ZvzsWGKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6Bz
zDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvoXASdY8Y5XmKx
TXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSO
Ged4icU20bkIOseMc7zEYpvoXASdY8Y5XmKxTXQugs4x4xwvsdgmOhdB55hxjpdYbBOdi6BzzDjHSyy2
ic5F0DlmnOMlFttE5yLoHDPO8RKLbaJzEXSOGed4icU20bkIOseMc7zEYpvkds4YY4x5kTkS84yrVXfm
ePEpj491/Lu1m99zzPjZscRim+hcBJ1jxjleYrFNdC6CzjHjHC+x2CY6F0HnmHGOl1hsE52LoHPMOMdL
LLaJzkXQOWac4yUW20TnIugcM87xEottonMRdI4Z53iJxTbRuQg6x4xzvMRim+hcBJ1jxjleYrFNdC6C
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
5h92fvSj/weuCgZ1alNo5wAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="$this.FormFactorShadowProperty" xml:space="preserve">
<value>WEBPAD</value>
</metadata>
</root>

View File

@ -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;

View File

@ -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)

View File

@ -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);

View File

@ -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,

View File

@ -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
}
}

View File

@ -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;
}
}

View File

@ -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!";
}
}
}

View File

@ -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
//

View File

@ -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);

View File

@ -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;

View File

@ -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);

View File

@ -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";

View File

@ -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)
{

View File

@ -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);
}
}
}