2025.10.23 수정 업로드

main
DESKTOP-S459P9R\LSJ 2025-10-23 17:55:41 +09:00
parent f84a0b10af
commit 4cc19862d5
28 changed files with 13923 additions and 2384 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -392,25 +392,6 @@ namespace INT_LKD.Controls.MainDisplay
}
// 차압센서 데이터
public void UpdateDisplayDiffData(Collection<DiffData> datas)
{
string value = "";
for (int i = 0; i < this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_LANE; i++)
{
value = datas[i].MAdc;
if (this.CollectionLabelDiffMadc[i].Text != value)
this.CollectionLabelDiffMadc[i].Text = value;
value = datas[i].SecBuf;
if (this.CollectionLabelLRSec[i].Text != value)
this.CollectionLabelLRSec[i].Text = value;
value = datas[i].SecBufMax;
if (this.CollectionLabelLRMax[i].Text != value)
this.CollectionLabelLRMax[i].Text = value;
}
}
public void UpdateDisplayDiffData1(LeakData1 data)
{
string value = "";
@ -605,29 +586,6 @@ namespace INT_LKD.Controls.MainDisplay
}
// 변위센서 데이터
public void UpdateDisplayDispData(Collection<DispData> datas)
{
string value = "";
for (int i = 0; i < this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_LANE; i++)
{
value = datas[i].RData;
if (this.CollectionLabelLevel[i].Text != value)
this.CollectionLabelLevel[i].Text = value;
value = datas[i].MData;
if (this.CollectionLabelHeight[i].Text != value)
this.CollectionLabelHeight[i].Text = value;
value = datas[i].MDataDiff;
if (this.CollectionLabelDiff[i].Text != value)
this.CollectionLabelDiff[i].Text = value;
value = datas[i].MDataMax;
if (this.CollectionLabelMaxHeight[i].Text != value)
this.CollectionLabelMaxHeight[i].Text = value;
}
}
public void UpdateDisplayDispData1(LeakData1 data)
{
string value = "";
@ -870,21 +828,6 @@ namespace INT_LKD.Controls.MainDisplay
}
// 압력센서 데이터
public void UpdateDisplayPresData(Collection<PressureData> datas)
{
string value = "";
for (int i = 0; i < this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_LANE; i++)
{
value = datas[i].WorkingChamber;
if (this.CollectionPressureWork[i].Text != value)
this.CollectionPressureWork[i].Text = value;
value = datas[i].MasterChamber;
if (this.CollectionPressureMaster[i].Text != value)
this.CollectionPressureMaster[i].Text = value;
}
}
public void UpdateDisplayPresData1(LeakData1 data)
{
string value = "";

View File

@ -0,0 +1,125 @@
namespace INT_LKD.Controls.MainDisplay
{
partial class ControlMainResult10
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.labelResultDisp = new SmartX.SmartLabel();
this.labelResultDiff = new SmartX.SmartLabel();
this.labelResult = new SmartX.SmartLabel();
this.SuspendLayout();
//
// labelResultDisp
//
this.labelResultDisp.BackGround = null;
this.labelResultDisp.BackGroundColor = System.Drawing.Color.Black;
this.labelResultDisp.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(42)))), ((int)(((byte)(82)))));
this.labelResultDisp.BorderStyle = SmartX.SmartLabel.BorderStyles.None;
this.labelResultDisp.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelResultDisp.LineSpacing = 0F;
this.labelResultDisp.Location = new System.Drawing.Point(68, 49);
this.labelResultDisp.Name = "labelResultDisp";
this.labelResultDisp.OverlapOptimize = true;
this.labelResultDisp.PasswordChar = '\0';
this.labelResultDisp.Radius = 3;
this.labelResultDisp.RoundRectFillColor = System.Drawing.Color.LightBlue;
this.labelResultDisp.Size = new System.Drawing.Size(67, 27);
this.labelResultDisp.TabIndex = 521;
this.labelResultDisp.Text = "DISP";
this.labelResultDisp.TextColor = System.Drawing.Color.Gainsboro;
this.labelResultDisp.TextColorDisable = System.Drawing.Color.Gray;
this.labelResultDisp.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelResultDisp.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelResultDisp.Wordwrap = false;
//
// labelResultDiff
//
this.labelResultDiff.BackGround = null;
this.labelResultDiff.BackGroundColor = System.Drawing.Color.Black;
this.labelResultDiff.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(42)))), ((int)(((byte)(82)))));
this.labelResultDiff.BorderStyle = SmartX.SmartLabel.BorderStyles.None;
this.labelResultDiff.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelResultDiff.LineSpacing = 0F;
this.labelResultDiff.Location = new System.Drawing.Point(0, 49);
this.labelResultDiff.Name = "labelResultDiff";
this.labelResultDiff.OverlapOptimize = true;
this.labelResultDiff.PasswordChar = '\0';
this.labelResultDiff.Radius = 3;
this.labelResultDiff.RoundRectFillColor = System.Drawing.Color.LightBlue;
this.labelResultDiff.Size = new System.Drawing.Size(67, 27);
this.labelResultDiff.TabIndex = 520;
this.labelResultDiff.Text = "DIFF";
this.labelResultDiff.TextColor = System.Drawing.Color.Gainsboro;
this.labelResultDiff.TextColorDisable = System.Drawing.Color.Gray;
this.labelResultDiff.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelResultDiff.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelResultDiff.Wordwrap = false;
//
// labelResult
//
this.labelResult.BackGround = null;
this.labelResult.BackGroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(39)))), ((int)(((byte)(200)))), ((int)(((byte)(64)))));
this.labelResult.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(39)))), ((int)(((byte)(200)))), ((int)(((byte)(64)))));
this.labelResult.BorderStyle = SmartX.SmartLabel.BorderStyles.None;
this.labelResult.Font = new System.Drawing.Font("New Gulim", 18F, System.Drawing.FontStyle.Bold);
this.labelResult.LineSpacing = 0F;
this.labelResult.Location = new System.Drawing.Point(0, 0);
this.labelResult.Name = "labelResult";
this.labelResult.OverlapOptimize = true;
this.labelResult.PasswordChar = '\0';
this.labelResult.Radius = 3;
this.labelResult.RoundRectFillColor = System.Drawing.Color.LightBlue;
this.labelResult.Size = new System.Drawing.Size(135, 45);
this.labelResult.TabIndex = 519;
this.labelResult.Text = "Pass";
this.labelResult.TextColor = System.Drawing.Color.White;
this.labelResult.TextColorDisable = System.Drawing.Color.Gray;
this.labelResult.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelResult.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelResult.Wordwrap = false;
//
// ControlMainResult10
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.BackColor = System.Drawing.Color.Black;
this.Controls.Add(this.labelResultDisp);
this.Controls.Add(this.labelResultDiff);
this.Controls.Add(this.labelResult);
this.Name = "ControlMainResult10";
this.Size = new System.Drawing.Size(135, 76);
this.ResumeLayout(false);
}
#endregion
private SmartX.SmartLabel labelResultDisp;
private SmartX.SmartLabel labelResultDiff;
private SmartX.SmartLabel labelResult;
}
}

View File

@ -13,7 +13,7 @@ using INT_LKD.Forms;
namespace INT_LKD.Controls.MainDisplay
{
public partial class ControlMainResult : UserControl
public partial class ControlMainResult10 : UserControl
{
#region Field
private FormMainDisplay m_ParentForm;
@ -24,7 +24,7 @@ namespace INT_LKD.Controls.MainDisplay
#endregion
#region Constructor
public ControlMainResult(FormMainDisplay parent)
public ControlMainResult10(FormMainDisplay parent)
{
InitializeComponent();

View File

@ -0,0 +1,123 @@
<?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>
<metadata name="$this.FormFactorShadowProperty" xml:space="preserve">
<value>WEBPAD</value>
</metadata>
</root>

View File

@ -1,6 +1,6 @@
namespace INT_LKD.Controls.MainDisplay
{
partial class ControlMainResult
partial class ControlMainResult12
{
/// <summary>
/// Required designer variable.

View File

@ -0,0 +1,232 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using SmartX;
using INT_LKD.DataStore;
using INT_LKD.Forms;
namespace INT_LKD.Controls.MainDisplay
{
public partial class ControlMainResult12 : UserControl
{
#region Field
private FormMainDisplay m_ParentForm;
private Color ColorResultPass;
private Color ColorResultNG;
private Color ColorResultNone;
#endregion
#region Constructor
public ControlMainResult12(FormMainDisplay parent)
{
InitializeComponent();
this.ParentForm = parent;
this.Initialize();
this.InitializeDesign();
}
#endregion
#region Property
public FormMainDisplay ParentForm
{
get { return this.m_ParentForm; }
set { this.m_ParentForm = value; }
}
#endregion
#region Method
private void Initialize()
{
this.ColorResultPass = Color.FromArgb(39, 200, 64);
this.ColorResultNG = Color.FromArgb(254, 70, 70);
this.ColorResultNone = Color.FromArgb(42, 43, 45);
}
public void InitializeDesign()
{
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
this.labelResultDiff.Text = "压差";
this.labelResultDisp.Text = "位移";
break;
default:
this.labelResultDiff.Text = "Diff";
this.labelResultDisp.Text = "Disp";
break;
}
}
private void GetJudgmentResult(Define.E_JudgmentStatus judg, SmartLabel label)
{
string value = "";
switch (judg)
{
case Define.E_JudgmentStatus.None:
value = "-";
label.BackGroundColor = this.ColorResultNone;
break;
case Define.E_JudgmentStatus.Pass:
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
value = "标准";
break;
default:
value = "Pass";
break;
}
label.BackGroundColor = this.ColorResultPass;
break;
case Define.E_JudgmentStatus.Ng:
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
value = "泄漏";
break;
default:
value = "Leak";
break;
}
label.BackGroundColor = this.ColorResultNG;
break;
case Define.E_JudgmentStatus.Empty:
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
value = "空的";
break;
default:
value = "Empty";
break;
}
label.BackGroundColor = this.ColorResultNone;
break;
case Define.E_JudgmentStatus.Error:
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
value = "错误";
break;
default:
value = "Error";
break;
}
label.BackGroundColor = this.ColorResultNone;
break;
default:
break;
}
if (label.Text != value)
label.Text = value;
}
private void GetJudgmentResultDiff(Define.E_JudgmentStatus judg, SmartLabel label)
{
string value;
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
value = "压差";
break;
default:
value = "Diff";
break;
}
switch (judg)
{
case Define.E_JudgmentStatus.None:
label.TextColor = Color.Gainsboro;
break;
case Define.E_JudgmentStatus.Pass:
label.TextColor = this.ColorResultPass;
break;
case Define.E_JudgmentStatus.Ng:
label.TextColor = this.ColorResultNG;
break;
case Define.E_JudgmentStatus.Empty:
label.TextColor = Color.Gainsboro;
break;
case Define.E_JudgmentStatus.Error:
label.TextColor = Color.Gainsboro;
break;
default:
break;
}
if (label.Text != value)
label.Text = value;
}
private void GetJudgmentResultDisp(Define.E_JudgmentStatus judg, SmartLabel label)
{
string value;
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
value = "位移";
break;
default:
value = "Disp";
break;
}
switch (judg)
{
case Define.E_JudgmentStatus.None:
label.TextColor = Color.Gainsboro;
break;
case Define.E_JudgmentStatus.Pass:
label.TextColor = this.ColorResultPass;
break;
case Define.E_JudgmentStatus.Ng:
label.TextColor = this.ColorResultNG;
break;
case Define.E_JudgmentStatus.Empty:
label.TextColor = Color.Gainsboro;
break;
case Define.E_JudgmentStatus.Error:
label.TextColor = Color.Gainsboro;
break;
default:
break;
}
if (label.Text != value)
label.Text = value;
}
public void SetResult(LeakResult result)
{
this.GetJudgmentResult(result.Result, this.labelResult);
if (result.Result == Define.E_JudgmentStatus.Empty || result.Result == Define.E_JudgmentStatus.Error)
{
this.GetJudgmentResultDiff(Define.E_JudgmentStatus.Empty, this.labelResultDiff);
this.GetJudgmentResultDisp(Define.E_JudgmentStatus.Empty, this.labelResultDisp);
}
else
{
this.GetJudgmentResultDiff(result.DIFF_Result, this.labelResultDiff);
this.GetJudgmentResultDisp(result.DISP_Result, this.labelResultDisp);
}
}
public void SetResultTestMode(Define.E_JudgmentStatus judg, Define.E_JudgmentStatus diff, Define.E_JudgmentStatus disp)
{
this.GetJudgmentResult(judg, this.labelResult);
this.GetJudgmentResultDiff(diff, this.labelResultDiff);
this.GetJudgmentResultDisp(disp, this.labelResultDisp);
}
#endregion
}
}

View File

@ -0,0 +1,123 @@
<?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>
<metadata name="$this.FormFactorShadowProperty" xml:space="preserve">
<value>WEBPAD</value>
</metadata>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,541 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using SmartX;
using INT_LKD.DataStore;
using INT_LKD.Forms;
namespace INT_LKD.Controls.MainDisplay
{
public partial class ControlMainStatus10 : UserControl
{
#region Field
private FormMainDisplay m_ParentForm;
private Collection<SmartLabel> CollectionLabelPressureWorking;
private Collection<SmartLabel> CollectionLabelLeakRatePerSec;
private Collection<SmartLabel> CollectionLabelDisplacement;
private Collection<SmartLabel> CollectionLabelSbAlarm;
private Collection<SmartLabel> CollectionLabelNumber;
private Collection<SmartLabel> CollectionLabelDispAlarm;
private Collection<ControlMainResult10> CollectionControlResult;
private Color ColorSensorNormal;
private Color ColorSensorError;
private Color ColorNumberSelected;
private Color ColorNumberUnSelected;
#endregion
#region Constructor
public ControlMainStatus10(FormMainDisplay parent)
{
InitializeComponent();
this.ParentForm = parent;
this.Initialize();
this.InitializeData();
this.InitializeDesign();
}
#endregion
#region Property
public FormMainDisplay ParentForm
{
get { return this.m_ParentForm; }
set { this.m_ParentForm = value; }
}
#endregion
#region Method
private void Initialize()
{
this.ColorSensorNormal = Color.FromArgb(39, 200, 64);
this.ColorSensorError = Color.FromArgb(254, 70, 70);
this.ColorNumberSelected = Color.Teal;
this.ColorNumberUnSelected = Color.FromArgb(80, 92, 118);
this.CollectionLabelPressureWorking = new Collection<SmartLabel>();
this.CollectionLabelPressureWorking.Clear();
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking1);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking2);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking3);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking4);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking5);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking6);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking7);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking8);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking9);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking10);
this.CollectionLabelDisplacement = new Collection<SmartLabel>();
this.CollectionLabelDisplacement.Clear();
this.CollectionLabelDisplacement.Add(this.labelDisplacement1);
this.CollectionLabelDisplacement.Add(this.labelDisplacement2);
this.CollectionLabelDisplacement.Add(this.labelDisplacement3);
this.CollectionLabelDisplacement.Add(this.labelDisplacement4);
this.CollectionLabelDisplacement.Add(this.labelDisplacement5);
this.CollectionLabelDisplacement.Add(this.labelDisplacement6);
this.CollectionLabelDisplacement.Add(this.labelDisplacement7);
this.CollectionLabelDisplacement.Add(this.labelDisplacement8);
this.CollectionLabelDisplacement.Add(this.labelDisplacement9);
this.CollectionLabelDisplacement.Add(this.labelDisplacement10);
this.CollectionLabelLeakRatePerSec = new Collection<SmartLabel>();
this.CollectionLabelLeakRatePerSec.Clear();
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec1);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec2);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec3);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec4);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec5);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec6);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec7);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec8);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec9);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec10);
this.CollectionLabelSbAlarm = new Collection<SmartLabel>();
this.CollectionLabelSbAlarm.Clear();
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm1);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm2);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm3);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm4);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm5);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm6);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm7);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm8);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm9);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm10);
this.CollectionLabelNumber = new Collection<SmartLabel>();
this.CollectionLabelNumber.Clear();
this.CollectionLabelNumber.Add(this.labelNumber1);
this.CollectionLabelNumber.Add(this.labelNumber2);
this.CollectionLabelNumber.Add(this.labelNumber3);
this.CollectionLabelNumber.Add(this.labelNumber4);
this.CollectionLabelNumber.Add(this.labelNumber5);
this.CollectionLabelNumber.Add(this.labelNumber6);
this.CollectionLabelNumber.Add(this.labelNumber7);
this.CollectionLabelNumber.Add(this.labelNumber8);
this.CollectionLabelNumber.Add(this.labelNumber9);
this.CollectionLabelNumber.Add(this.labelNumber10);
this.CollectionLabelDispAlarm = new Collection<SmartLabel>();
this.CollectionLabelDispAlarm.Clear();
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm1);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm2);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm3);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm4);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm5);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm6);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm7);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm8);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm9);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm10);
this.CollectionControlResult = new Collection<ControlMainResult10>();
for (int i = 0; i < this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_LANE; i++)
this.CollectionControlResult.Add(new ControlMainResult10(this.ParentForm));
for (int i = 0; i < this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_LANE; i++)
{
this.Controls.Add(this.CollectionControlResult[i]);
this.CollectionControlResult[i].BringToFront();
this.CollectionControlResult[i].Visible = false;
}
this.CollectionControlResult[0].Location = new Point(16, 69);
this.CollectionControlResult[1].Location = new Point(161, 69);
this.CollectionControlResult[2].Location = new Point(16, 181);
this.CollectionControlResult[3].Location = new Point(161, 181);
this.CollectionControlResult[4].Location = new Point(16, 293);
this.CollectionControlResult[5].Location = new Point(161, 293);
this.CollectionControlResult[6].Location = new Point(16, 405);
this.CollectionControlResult[7].Location = new Point(161, 405);
this.CollectionControlResult[8].Location = new Point(16, 517);
this.CollectionControlResult[9].Location = new Point(161, 517);
}
public void InitializeData()
{
for (int i = 0; i < this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_LANE; i++)
{
this.CollectionControlResult[i].Visible = false;
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[i], "0.0");
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[i], "0.0");
this.SetLabelDisplacement(this.CollectionLabelDisplacement[i], "0.00/0.00");
this.CollectionLabelSbAlarm[i].Visible = false;
this.CollectionLabelDispAlarm[i].Visible = false;
this.SetLabelNumberColor(i, this.ColorNumberUnSelected);
}
}
public void InitializeDesign()
{
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
this.labelTitleStatusResult.Text = "地位 / 结果";
break;
default:
this.labelTitleStatusResult.Text = "Status / Result";
break;
}
}
private void SetLabelNumberColor(int index, Color c)
{
if (this.CollectionLabelNumber[index].BackGroundColor != c)
{
this.CollectionLabelNumber[index].BackGroundColor = c;
this.CollectionLabelSbAlarm[index].BackGroundColor = c;
}
}
private void SetLabelPressureWorking(SmartLabel label, string data)
{
label.Text = string.Format("{0}", data);
}
private void SetLabelLeakRatePerSec(SmartLabel label, string data)
{
label.Text = string.Format("{0}", data);
}
private void SetLabelDisplacement(SmartLabel label, string data)
{
label.Text = string.Format("{0}", data);
}
public void UpdateDisplayRecipeData(Recipe data)
{
if (data.DISP_JUDG_ENABLE == false)
{
for (int i = 0; i < this.CollectionLabelDisplacement.Count; i++)
this.CollectionLabelDisplacement[i].TextColor = Color.Gray;
}
else
{
for (int i = 0; i < this.CollectionLabelDisplacement.Count; i++)
this.CollectionLabelDisplacement[i].TextColor = Color.White;
}
}
// 진행상태 데이터
public void UpdateDisplayProcessStatus(Define.E_ProcessStatus status)
{
switch (status)
{
case Define.E_ProcessStatus._0_None:
break;
case Define.E_ProcessStatus._1_Ready:
break;
case Define.E_ProcessStatus._2_ProductEntry:
this.InitializeData();
break;
case Define.E_ProcessStatus._3_MoveToLeak:
break;
case Define.E_ProcessStatus._4_MoveToCheck:
break;
case Define.E_ProcessStatus._5_ChamberMerge:
break;
case Define.E_ProcessStatus._6_VacuumStart:
break;
case Define.E_ProcessStatus._7_VacuumHold:
break;
case Define.E_ProcessStatus._8_Judgment:
break;
case Define.E_ProcessStatus._9_VacuumBreak:
break;
case Define.E_ProcessStatus._10_ChamberRelease:
break;
case Define.E_ProcessStatus._11_MoveToReady:
break;
default:
break;
}
}
public void UpdateDisplayProcessStatus1(Define.E_ProcessStatus status)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
{
this.SetLabelNumberColor(8, this.ColorNumberUnSelected);
this.SetLabelNumberColor(9, this.ColorNumberUnSelected);
this.SetLabelNumberColor(0, this.ColorNumberSelected);
this.SetLabelNumberColor(1, this.ColorNumberSelected);
}
}
public void UpdateDisplayProcessStatus2(Define.E_ProcessStatus status)
{
}
public void UpdateDisplayProcessStatus3(Define.E_ProcessStatus status)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
{
this.SetLabelNumberColor(0, this.ColorNumberUnSelected);
this.SetLabelNumberColor(1, this.ColorNumberUnSelected);
this.SetLabelNumberColor(2, this.ColorNumberSelected);
this.SetLabelNumberColor(3, this.ColorNumberSelected);
}
}
public void UpdateDisplayProcessStatus4(Define.E_ProcessStatus status)
{
}
public void UpdateDisplayProcessStatus5(Define.E_ProcessStatus status)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
{
this.SetLabelNumberColor(2, this.ColorNumberUnSelected);
this.SetLabelNumberColor(3, this.ColorNumberUnSelected);
this.SetLabelNumberColor(4, this.ColorNumberSelected);
this.SetLabelNumberColor(5, this.ColorNumberSelected);
}
}
public void UpdateDisplayProcessStatus6(Define.E_ProcessStatus status)
{
}
public void UpdateDisplayProcessStatus7(Define.E_ProcessStatus status)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
{
this.SetLabelNumberColor(4, this.ColorNumberUnSelected);
this.SetLabelNumberColor(5, this.ColorNumberUnSelected);
this.SetLabelNumberColor(6, this.ColorNumberSelected);
this.SetLabelNumberColor(7, this.ColorNumberSelected);
}
}
public void UpdateDisplayProcessStatus8(Define.E_ProcessStatus status)
{
}
public void UpdateDisplayProcessStatus9(Define.E_ProcessStatus status)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
{
this.SetLabelNumberColor(6, this.ColorNumberUnSelected);
this.SetLabelNumberColor(7, this.ColorNumberUnSelected);
this.SetLabelNumberColor(8, this.ColorNumberSelected);
this.SetLabelNumberColor(9, this.ColorNumberSelected);
}
}
public void UpdateDisplayProcessStatus10(Define.E_ProcessStatus status)
{
}
// 차압센서 데이터
public void UpdateDisplayDiffData1(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[0], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData2(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[1], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData3(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[2], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData4(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[3], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData5(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[4], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData6(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[5], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData7(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[6], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData8(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[7], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData9(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[8], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData10(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[9], data.DiffData.SecBuf);
}
// 변위센서 데이터
public void UpdateDisplayDispData1(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[0], value);
}
public void UpdateDisplayDispData2(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[1], value);
}
public void UpdateDisplayDispData3(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[2], value);
}
public void UpdateDisplayDispData4(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[3], value);
}
public void UpdateDisplayDispData5(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[4], value);
}
public void UpdateDisplayDispData6(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[5], value);
}
public void UpdateDisplayDispData7(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[6], value);
}
public void UpdateDisplayDispData8(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[7], value);
}
public void UpdateDisplayDispData9(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[8], value);
}
public void UpdateDisplayDispData10(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[9], value);
}
// 압력센서 데이터
public void UpdateDisplayPresData1(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[0], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData2(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[1], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData3(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[2], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData4(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[3], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData5(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[4], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData6(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[5], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData7(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[6], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData8(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[7], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData9(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[8], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData10(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[9], data.PresData.WorkingChamber.Trim());
}
// 판정결과
public void UpdateDisplayJudgmentData1(LeakData1 data)
{
this.CollectionControlResult[0].SetResult(data.Judgment);
this.CollectionControlResult[0].Visible = true;
}
public void UpdateDisplayJudgmentData2(LeakData1 data)
{
this.CollectionControlResult[1].SetResult(data.Judgment);
this.CollectionControlResult[1].Visible = true;
}
public void UpdateDisplayJudgmentData3(LeakData1 data)
{
this.CollectionControlResult[2].SetResult(data.Judgment);
this.CollectionControlResult[2].Visible = true;
}
public void UpdateDisplayJudgmentData4(LeakData1 data)
{
this.CollectionControlResult[3].SetResult(data.Judgment);
this.CollectionControlResult[3].Visible = true;
}
public void UpdateDisplayJudgmentData5(LeakData1 data)
{
this.CollectionControlResult[4].SetResult(data.Judgment);
this.CollectionControlResult[4].Visible = true;
}
public void UpdateDisplayJudgmentData6(LeakData1 data)
{
this.CollectionControlResult[5].SetResult(data.Judgment);
this.CollectionControlResult[5].Visible = true;
}
public void UpdateDisplayJudgmentData7(LeakData1 data)
{
this.CollectionControlResult[6].SetResult(data.Judgment);
this.CollectionControlResult[6].Visible = true;
}
public void UpdateDisplayJudgmentData8(LeakData1 data)
{
this.CollectionControlResult[7].SetResult(data.Judgment);
this.CollectionControlResult[7].Visible = true;
}
public void UpdateDisplayJudgmentData9(LeakData1 data)
{
this.CollectionControlResult[8].SetResult(data.Judgment);
this.CollectionControlResult[8].Visible = true;
}
public void UpdateDisplayJudgmentData10(LeakData1 data)
{
this.CollectionControlResult[9].SetResult(data.Judgment);
this.CollectionControlResult[9].Visible = true;
}
#endregion
}
}

View File

@ -0,0 +1,432 @@
<?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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
j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAPHBJREFUeF7tnbGLHGe2
9qX9C6687G5w/V347Pq+4F7LfHd94e5uUPfezM4M7sh2oMBUIIOSBTcYJYOCHhCsElWiZLAbGWGwXRMo
GGgQDMKU5UBYtAMJiUJ4JVDDCAXNKCt97JzdV+Xz1Ns9fab7nbfaz48nmK6pc2pGvz7V1dWjqhMnCCGE
EEIIIYQQQgg5Bk6e/NUrp3772v/+19On//jW7//rP976H4ZhlpLf/3v6xr/952v/+19PnfrtyZO/0rNn
4NQ//eb0G3/ALTEMs9ycfuMPp/7pN3oCD8/Jkydf/efXsS/DMKvLq//8+smTJ/U0HgaOK8McS17959f1
NM7l1KnfYCOGYcLk1KlFDo9PnvzVm6f/hF0YhgmTN9/80wInon79yu+wBcMwIfPrV36nJ9PH66+9gfUM
w4TM66+9oSfTx5un/4j18efrr7b395/jcobpYt48/Uc9mT4W+jOJjz/+897e3osD7t699/HHf8Z1wmRv
b+/27R/Uwq+/2r57957L119tv/P2e1hry+3bP9y9ew+XM8zR89bv/0tPpg8s9uWdt9/b33++t7eX51fu
3r334sWLn376q3zr0083vv5qG0uayfMrn366gcsN+fjjP7948SLPr6jld+/e29vb+/qr7a+/2r5581vZ
rWC5LbIXkK+//mp7Wb8Lw0j0ZPrASl8+/XTjxYsXm5t/kYdff7XtHsrXWNKMvOjhckN2dkYvXrzA18/m
ULnVsNyWZvMXL14s63dhGImeTB9Y6YtM7OeffaGWf/3Vthwq3717zw2wPL9v3vz2nbff++D9j+7evSev
z3fv3vvg/Y/kZVDK5bsfvP/Rf7z1P5ubf3HHtDNexPb29m7e/BaXz5jYd95+7+bNb/Fo2f2ot2//ID/D
xx//WTWRX0pWk5/2xYsXrYflDGOOnkwfWOmLHBW/ePHi5s1vm+9gd3ZGbmLz/Mrnn33x4sWL/f3nOzuj
/f3nMglqYpujJTuCTz/d+OD9j9w7ZOmAr6Iy1c2X+mbwqNgNtvwAOzsjGWMZtjy/Ihv66ae/ukNo+Xma
PWXnIj+zzLNM7BIPuRlGT6YPrJyRD97/SCZBnrLqCNl97V6vZGhlefOouHVi5Qt5d7q5+Zevv9qWJio3
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
</value>
</data>
<metadata name="$this.FormFactorShadowProperty" xml:space="preserve">
<value>WEBPAD</value>
</metadata>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,612 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using SmartX;
using INT_LKD.DataStore;
using INT_LKD.Forms;
namespace INT_LKD.Controls.MainDisplay
{
public partial class ControlMainStatus12 : UserControl
{
#region Field
private FormMainDisplay m_ParentForm;
private Collection<SmartLabel> CollectionLabelPressureWorking;
private Collection<SmartLabel> CollectionLabelLeakRatePerSec;
private Collection<SmartLabel> CollectionLabelDisplacement;
private Collection<SmartLabel> CollectionLabelSbAlarm;
private Collection<SmartLabel> CollectionLabelNumber;
private Collection<SmartLabel> CollectionLabelDispAlarm;
private Collection<ControlMainResult12> CollectionControlResult;
private Color ColorSensorNormal;
private Color ColorSensorError;
private Color ColorNumberSelected;
private Color ColorNumberUnSelected;
#endregion
#region Constructor
public ControlMainStatus12(FormMainDisplay parent)
{
InitializeComponent();
this.ParentForm = parent;
this.Initialize();
this.InitializeData();
this.InitializeDesign();
}
#endregion
#region Property
public FormMainDisplay ParentForm
{
get { return this.m_ParentForm; }
set { this.m_ParentForm = value; }
}
#endregion
#region Method
private void Initialize()
{
this.ColorSensorNormal = Color.FromArgb(39, 200, 64);
this.ColorSensorError = Color.FromArgb(254, 70, 70);
this.ColorNumberSelected = Color.Teal;
this.ColorNumberUnSelected = Color.FromArgb(80, 92, 118);
this.CollectionLabelPressureWorking = new Collection<SmartLabel>();
this.CollectionLabelPressureWorking.Clear();
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking1);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking2);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking3);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking4);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking5);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking6);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking7);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking8);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking9);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking10);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking11);
this.CollectionLabelPressureWorking.Add(this.labelPressureWorking12);
this.CollectionLabelDisplacement = new Collection<SmartLabel>();
this.CollectionLabelDisplacement.Clear();
this.CollectionLabelDisplacement.Add(this.labelDisplacement1);
this.CollectionLabelDisplacement.Add(this.labelDisplacement2);
this.CollectionLabelDisplacement.Add(this.labelDisplacement3);
this.CollectionLabelDisplacement.Add(this.labelDisplacement4);
this.CollectionLabelDisplacement.Add(this.labelDisplacement5);
this.CollectionLabelDisplacement.Add(this.labelDisplacement6);
this.CollectionLabelDisplacement.Add(this.labelDisplacement7);
this.CollectionLabelDisplacement.Add(this.labelDisplacement8);
this.CollectionLabelDisplacement.Add(this.labelDisplacement9);
this.CollectionLabelDisplacement.Add(this.labelDisplacement10);
this.CollectionLabelDisplacement.Add(this.labelDisplacement11);
this.CollectionLabelDisplacement.Add(this.labelDisplacement12);
this.CollectionLabelLeakRatePerSec = new Collection<SmartLabel>();
this.CollectionLabelLeakRatePerSec.Clear();
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec1);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec2);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec3);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec4);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec5);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec6);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec7);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec8);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec9);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec10);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec11);
this.CollectionLabelLeakRatePerSec.Add(this.labelLrSec12);
this.CollectionLabelSbAlarm = new Collection<SmartLabel>();
this.CollectionLabelSbAlarm.Clear();
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm1);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm2);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm3);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm4);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm5);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm6);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm7);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm8);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm9);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm10);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm11);
this.CollectionLabelSbAlarm.Add(this.labelSbAlarm12);
this.CollectionLabelNumber = new Collection<SmartLabel>();
this.CollectionLabelNumber.Clear();
this.CollectionLabelNumber.Add(this.labelNumber1);
this.CollectionLabelNumber.Add(this.labelNumber2);
this.CollectionLabelNumber.Add(this.labelNumber3);
this.CollectionLabelNumber.Add(this.labelNumber4);
this.CollectionLabelNumber.Add(this.labelNumber5);
this.CollectionLabelNumber.Add(this.labelNumber6);
this.CollectionLabelNumber.Add(this.labelNumber7);
this.CollectionLabelNumber.Add(this.labelNumber8);
this.CollectionLabelNumber.Add(this.labelNumber9);
this.CollectionLabelNumber.Add(this.labelNumber10);
this.CollectionLabelNumber.Add(this.labelNumber11);
this.CollectionLabelNumber.Add(this.labelNumber12);
this.CollectionLabelDispAlarm = new Collection<SmartLabel>();
this.CollectionLabelDispAlarm.Clear();
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm1);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm2);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm3);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm4);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm5);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm6);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm7);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm8);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm9);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm10);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm11);
this.CollectionLabelDispAlarm.Add(this.labeldispAlarm12);
this.CollectionControlResult = new Collection<ControlMainResult12>();
for (int i = 0; i < 12; i++)
this.CollectionControlResult.Add(new ControlMainResult12(this.ParentForm));
for (int i = 0; i < 12; i++)
{
this.Controls.Add(this.CollectionControlResult[i]);
this.CollectionControlResult[i].BringToFront();
this.CollectionControlResult[i].Visible = false;
}
this.CollectionControlResult[0].Location = new Point(610, 205);
this.CollectionControlResult[1].Location = new Point(755, 205);
this.CollectionControlResult[2].Location = new Point(610, 299);
this.CollectionControlResult[3].Location = new Point(755, 299);
this.CollectionControlResult[4].Location = new Point(610, 393);
this.CollectionControlResult[5].Location = new Point(755, 393);
this.CollectionControlResult[6].Location = new Point(610, 487);
this.CollectionControlResult[7].Location = new Point(755, 487);
this.CollectionControlResult[8].Location = new Point(610, 581);
this.CollectionControlResult[9].Location = new Point(755, 581);
this.CollectionControlResult[10].Location = new Point(610, 675);
this.CollectionControlResult[11].Location = new Point(755, 675);
}
public void InitializeData()
{
for (int i = 0; i < this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_LANE; i++)
{
this.CollectionControlResult[i].Visible = false;
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[i], "0.0");
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[i], "0.0");
this.SetLabelDisplacement(this.CollectionLabelDisplacement[i], "0.00/0.00");
this.CollectionLabelSbAlarm[i].Visible = false;
this.CollectionLabelDispAlarm[i].Visible = false;
this.SetLabelNumberColor(i, this.ColorNumberUnSelected);
}
}
public void InitializeDesign()
{
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
{
case Define.E_LanguageID.Chinese:
this.labelTitleStatusResult.Text = "地位 / 结果";
break;
default:
this.labelTitleStatusResult.Text = "Status / Result";
break;
}
}
private void SetLabelNumberColor(int index, Color c)
{
if (this.CollectionLabelNumber[index].BackGroundColor != c)
{
this.CollectionLabelNumber[index].BackGroundColor = c;
this.CollectionLabelSbAlarm[index].BackGroundColor = c;
}
}
private void SetLabelPressureWorking(SmartLabel label, string data)
{
label.Text = string.Format("W{0,15} kPa", data);
}
private void SetLabelLeakRatePerSec(SmartLabel label, string data)
{
label.Text = string.Format("{0,12} Pa", data);
}
private void SetLabelDisplacement(SmartLabel label, string data)
{
label.Text = string.Format("{0,15} mm", data);
}
public void UpdateDisplayRecipeData(Recipe data)
{
if (data.DISP_JUDG_ENABLE == false)
{
for (int i = 0; i < this.CollectionLabelDisplacement.Count; i++)
this.CollectionLabelDisplacement[i].TextColor = Color.Gray;
}
else
{
for (int i = 0; i < this.CollectionLabelDisplacement.Count; i++)
this.CollectionLabelDisplacement[i].TextColor = Color.White;
}
}
// 진행상태 데이터
public void UpdateDisplayProcessStatus(Define.E_ProcessStatus status)
{
switch (status)
{
case Define.E_ProcessStatus._0_None:
break;
case Define.E_ProcessStatus._1_Ready:
break;
case Define.E_ProcessStatus._2_ProductEntry:
this.InitializeData();
break;
case Define.E_ProcessStatus._3_MoveToLeak:
break;
case Define.E_ProcessStatus._4_MoveToCheck:
break;
case Define.E_ProcessStatus._5_ChamberMerge:
break;
case Define.E_ProcessStatus._6_VacuumStart:
break;
case Define.E_ProcessStatus._7_VacuumHold:
break;
case Define.E_ProcessStatus._8_Judgment:
break;
case Define.E_ProcessStatus._9_VacuumBreak:
break;
case Define.E_ProcessStatus._10_ChamberRelease:
break;
case Define.E_ProcessStatus._11_MoveToReady:
break;
default:
break;
}
}
public void UpdateDisplayProcessStatus1(Define.E_ProcessStatus status)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
{
this.SetLabelNumberColor(10, this.ColorNumberUnSelected);
this.SetLabelNumberColor(11, this.ColorNumberUnSelected);
this.SetLabelNumberColor(0, this.ColorNumberSelected);
this.SetLabelNumberColor(1, this.ColorNumberSelected);
}
}
public void UpdateDisplayProcessStatus2(Define.E_ProcessStatus status)
{
}
public void UpdateDisplayProcessStatus3(Define.E_ProcessStatus status)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
{
this.SetLabelNumberColor(0, this.ColorNumberUnSelected);
this.SetLabelNumberColor(1, this.ColorNumberUnSelected);
this.SetLabelNumberColor(2, this.ColorNumberSelected);
this.SetLabelNumberColor(3, this.ColorNumberSelected);
}
}
public void UpdateDisplayProcessStatus4(Define.E_ProcessStatus status)
{
}
public void UpdateDisplayProcessStatus5(Define.E_ProcessStatus status)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
{
this.SetLabelNumberColor(2, this.ColorNumberUnSelected);
this.SetLabelNumberColor(3, this.ColorNumberUnSelected);
this.SetLabelNumberColor(4, this.ColorNumberSelected);
this.SetLabelNumberColor(5, this.ColorNumberSelected);
}
}
public void UpdateDisplayProcessStatus6(Define.E_ProcessStatus status)
{
}
public void UpdateDisplayProcessStatus7(Define.E_ProcessStatus status)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
{
this.SetLabelNumberColor(4, this.ColorNumberUnSelected);
this.SetLabelNumberColor(5, this.ColorNumberUnSelected);
this.SetLabelNumberColor(6, this.ColorNumberSelected);
this.SetLabelNumberColor(7, this.ColorNumberSelected);
}
}
public void UpdateDisplayProcessStatus8(Define.E_ProcessStatus status)
{
}
public void UpdateDisplayProcessStatus9(Define.E_ProcessStatus status)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
{
this.SetLabelNumberColor(6, this.ColorNumberUnSelected);
this.SetLabelNumberColor(7, this.ColorNumberUnSelected);
this.SetLabelNumberColor(8, this.ColorNumberSelected);
this.SetLabelNumberColor(9, this.ColorNumberSelected);
}
}
public void UpdateDisplayProcessStatus10(Define.E_ProcessStatus status)
{
}
public void UpdateDisplayProcessStatus11(Define.E_ProcessStatus status)
{
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
{
if (status == Define.E_ProcessStatus._4_MoveToCheck || status == Define.E_ProcessStatus._5_ChamberMerge)
{
this.SetLabelNumberColor(8, this.ColorNumberUnSelected);
this.SetLabelNumberColor(9, this.ColorNumberUnSelected);
this.SetLabelNumberColor(10, this.ColorNumberSelected);
this.SetLabelNumberColor(11, this.ColorNumberSelected);
}
}
}
public void UpdateDisplayProcessStatus12(Define.E_ProcessStatus status)
{
}
// 차압센서 데이터
public void UpdateDisplayDiffData1(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[0], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData2(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[1], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData3(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[2], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData4(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[3], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData5(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[4], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData6(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[5], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData7(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[6], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData8(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[7], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData9(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[8], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData10(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[9], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData11(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[10], data.DiffData.SecBuf);
}
public void UpdateDisplayDiffData12(LeakData1 data)
{
this.SetLabelLeakRatePerSec(this.CollectionLabelLeakRatePerSec[11], data.DiffData.SecBuf);
}
// 변위센서 데이터
public void UpdateDisplayDispData1(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[0], value);
}
public void UpdateDisplayDispData2(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[1], value);
}
public void UpdateDisplayDispData3(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[2], value);
}
public void UpdateDisplayDispData4(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[3], value);
}
public void UpdateDisplayDispData5(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[4], value);
}
public void UpdateDisplayDispData6(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[5], value);
}
public void UpdateDisplayDispData7(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[6], value);
}
public void UpdateDisplayDispData8(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[7], value);
}
public void UpdateDisplayDispData9(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[8], value);
}
public void UpdateDisplayDispData10(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[9], value);
}
public void UpdateDisplayDispData11(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[10], value);
}
public void UpdateDisplayDispData12(LeakData1 data)
{
string value = "";
value = string.Format("{0}/{1}", data.DispData.MData, data.DispData.MDataMax);
this.SetLabelDisplacement(this.CollectionLabelDisplacement[11], value);
}
// 압력센서 데이터
public void UpdateDisplayPresData1(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[0], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData2(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[1], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData3(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[2], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData4(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[3], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData5(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[4], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData6(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[5], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData7(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[6], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData8(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[7], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData9(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[8], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData10(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[9], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData11(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[10], data.PresData.WorkingChamber.Trim());
}
public void UpdateDisplayPresData12(LeakData1 data)
{
this.SetLabelPressureWorking(this.CollectionLabelPressureWorking[11], data.PresData.WorkingChamber.Trim());
}
// 판정결과
public void UpdateDisplayJudgmentData1(LeakData1 data)
{
this.CollectionControlResult[0].SetResult(data.Judgment);
this.CollectionControlResult[0].Visible = true;
}
public void UpdateDisplayJudgmentData2(LeakData1 data)
{
this.CollectionControlResult[1].SetResult(data.Judgment);
this.CollectionControlResult[1].Visible = true;
}
public void UpdateDisplayJudgmentData3(LeakData1 data)
{
this.CollectionControlResult[2].SetResult(data.Judgment);
this.CollectionControlResult[2].Visible = true;
}
public void UpdateDisplayJudgmentData4(LeakData1 data)
{
this.CollectionControlResult[3].SetResult(data.Judgment);
this.CollectionControlResult[3].Visible = true;
}
public void UpdateDisplayJudgmentData5(LeakData1 data)
{
this.CollectionControlResult[4].SetResult(data.Judgment);
this.CollectionControlResult[4].Visible = true;
}
public void UpdateDisplayJudgmentData6(LeakData1 data)
{
this.CollectionControlResult[5].SetResult(data.Judgment);
this.CollectionControlResult[5].Visible = true;
}
public void UpdateDisplayJudgmentData7(LeakData1 data)
{
this.CollectionControlResult[6].SetResult(data.Judgment);
this.CollectionControlResult[6].Visible = true;
}
public void UpdateDisplayJudgmentData8(LeakData1 data)
{
this.CollectionControlResult[7].SetResult(data.Judgment);
this.CollectionControlResult[7].Visible = true;
}
public void UpdateDisplayJudgmentData9(LeakData1 data)
{
this.CollectionControlResult[8].SetResult(data.Judgment);
this.CollectionControlResult[8].Visible = true;
}
public void UpdateDisplayJudgmentData10(LeakData1 data)
{
this.CollectionControlResult[9].SetResult(data.Judgment);
this.CollectionControlResult[9].Visible = true;
}
public void UpdateDisplayJudgmentData11(LeakData1 data)
{
this.CollectionControlResult[10].SetResult(data.Judgment);
this.CollectionControlResult[10].Visible = true;
}
public void UpdateDisplayJudgmentData12(LeakData1 data)
{
this.CollectionControlResult[11].SetResult(data.Judgment);
this.CollectionControlResult[11].Visible = true;
}
#endregion
}
}

View File

@ -0,0 +1,241 @@
<?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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
</value>
</data>
<metadata name="$this.FormFactorShadowProperty" xml:space="preserve">
<value>WEBPAD</value>
</metadata>
</root>

View File

@ -67,6 +67,36 @@ namespace INT_LKD.Controls
for (int i = 0; i < this.CollLabelInput.Count; i++)
this.CollLabelInput[i].RoundRectFillColor = this.ColorDisable;
if (this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_TYPE == Define.E_EquipmentType.Type2)
{
this.labelMotorReady.Visible = false;
this.buttonMotorReady.Visible = false;
this.labelMotorChamber6.Visible = false;
this.buttonMotorChamber6.Visible = false;
this.labelMotorChamber7.Visible = false;
this.buttonMotorChamber7.Visible = false;
this.labelMotorDischarge.Visible = false;
this.buttonMotorDischarge.Visible = false;
this.labelMotorChamber3.Location = new Point(this.labelMotorChamber2.Location.X, this.labelMotorChamber2.Location.Y);
this.buttonMotorChamber3.Location = new Point(this.buttonMotorChamber2.Location.X, this.buttonMotorChamber2.Location.Y);
this.labelMotorChamber2.Location = new Point(this.labelMotorChamber1.Location.X, this.labelMotorChamber1.Location.Y);
this.buttonMotorChamber2.Location = new Point(this.buttonMotorChamber1.Location.X, this.buttonMotorChamber1.Location.Y);
this.labelMotorChamber1.Location = new Point(this.labelMotorReady.Location.X, this.labelMotorReady.Location.Y);
this.buttonMotorChamber1.Location = new Point(this.buttonMotorReady.Location.X, this.buttonMotorReady.Location.Y);
this.labelMotorChamber4.Location = new Point(this.labelMotorChamber5.Location.X, this.labelMotorChamber5.Location.Y);
this.buttonMotorChamber4.Location = new Point(this.buttonMotorChamber5.Location.X, this.buttonMotorChamber5.Location.Y);
this.labelMotorChamber5.Location = new Point(this.labelMotorChamber6.Location.X, this.labelMotorChamber6.Location.Y);
this.buttonMotorChamber5.Location = new Point(this.buttonMotorChamber6.Location.X, this.buttonMotorChamber6.Location.Y);
}
}
public void InitializeDesign()
{

View File

@ -85,6 +85,15 @@ namespace INT_LKD.Controls
this.button1.ButtonDown();
this.button2.ButtonUp();
if (this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_LANE == 10)
{
this.radioButton6.Visible = false;
this.radioButton2.Location = new Point(this.radioButton2.Location.X + 2, this.radioButton2.Location.Y);
this.radioButton3.Location = new Point(this.radioButton3.Location.X + 4, this.radioButton3.Location.Y);
this.radioButton4.Location = new Point(this.radioButton4.Location.X + 6, this.radioButton4.Location.Y);
this.radioButton5.Location = new Point(this.radioButton5.Location.X + 8, this.radioButton5.Location.Y);
}
}
public void InitializeDesign()
{

View File

@ -50,6 +50,8 @@
this.labelTitleSBDiffFilter = new SmartX.SmartLabel();
this.labelBuzzer = new SmartX.SmartLabel();
this.smartTimerMessageShow = new SmartX.SmartTimer();
this.comboBoxEquipmentType = new System.Windows.Forms.ComboBox();
this.smartLabel1 = new SmartX.SmartLabel();
this.smartGroupBox1.SuspendLayout();
this.SuspendLayout();
//
@ -58,6 +60,8 @@
this.smartGroupBox1.BackGround = null;
this.smartGroupBox1.BackGroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(52)))), ((int)(((byte)(51)))), ((int)(((byte)(65)))));
this.smartGroupBox1.BackImage = null;
this.smartGroupBox1.Controls.Add(this.comboBoxEquipmentType);
this.smartGroupBox1.Controls.Add(this.smartLabel1);
this.smartGroupBox1.Controls.Add(this.comboBoxLanguage);
this.smartGroupBox1.Controls.Add(this.labelTitleLanguage);
this.smartGroupBox1.Controls.Add(this.labelCheckLane);
@ -544,6 +548,38 @@
this.smartTimerMessageShow.TimeFormStringSeparator = ":";
this.smartTimerMessageShow.Tick += new System.EventHandler(this.smartTimerMessageShow_Tick);
//
// comboBoxEquipmentType
//
this.comboBoxEquipmentType.Font = new System.Drawing.Font("New Gulim", 14F, System.Drawing.FontStyle.Bold);
this.comboBoxEquipmentType.Location = new System.Drawing.Point(267, 381);
this.comboBoxEquipmentType.Name = "comboBoxEquipmentType";
this.comboBoxEquipmentType.Size = new System.Drawing.Size(120, 28);
this.comboBoxEquipmentType.TabIndex = 139;
this.comboBoxEquipmentType.SelectedIndexChanged += new System.EventHandler(this.comboBoxEquipmentType_SelectedIndexChanged);
//
// smartLabel1
//
this.smartLabel1.BackGround = null;
this.smartLabel1.BackGroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(52)))), ((int)(((byte)(51)))), ((int)(((byte)(65)))));
this.smartLabel1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(42)))), ((int)(((byte)(82)))));
this.smartLabel1.BorderStyle = SmartX.SmartLabel.BorderStyles.None;
this.smartLabel1.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular);
this.smartLabel1.LineSpacing = 0F;
this.smartLabel1.Location = new System.Drawing.Point(111, 379);
this.smartLabel1.Name = "smartLabel1";
this.smartLabel1.OverlapOptimize = true;
this.smartLabel1.PasswordChar = '\0';
this.smartLabel1.Radius = 3;
this.smartLabel1.RoundRectFillColor = System.Drawing.Color.LightBlue;
this.smartLabel1.Size = new System.Drawing.Size(150, 30);
this.smartLabel1.TabIndex = 138;
this.smartLabel1.Text = "Equipment Type";
this.smartLabel1.TextColor = System.Drawing.Color.White;
this.smartLabel1.TextColorDisable = System.Drawing.Color.Gray;
this.smartLabel1.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel1.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel1.Wordwrap = false;
//
// ControlMenuSystemSetting
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -580,5 +616,7 @@
private SmartX.SmartLabel labelTitleEquipmentLane;
private System.Windows.Forms.ComboBox comboBoxLanguage;
private SmartX.SmartLabel labelTitleLanguage;
private System.Windows.Forms.ComboBox comboBoxEquipmentType;
private SmartX.SmartLabel smartLabel1;
}
}

View File

@ -62,6 +62,12 @@ namespace INT_LKD.Controls
this.comboBoxLanguage.Items.Add("English");
this.comboBoxLanguage.Items.Add("中文");
this.comboBoxLanguage.SelectedIndexChanged += new EventHandler(this.comboBoxLanguage_SelectedIndexChanged);
this.comboBoxEquipmentType.SelectedIndexChanged -= new EventHandler(this.comboBoxEquipmentType_SelectedIndexChanged);
this.comboBoxEquipmentType.Items.Clear();
this.comboBoxEquipmentType.Items.Add("Type1");
this.comboBoxEquipmentType.Items.Add("Type2");
this.comboBoxEquipmentType.SelectedIndexChanged += new EventHandler(this.comboBoxEquipmentType_SelectedIndexChanged);
}
public void InitializeDesign()
{
@ -179,6 +185,15 @@ namespace INT_LKD.Controls
this.comboBoxLanguage.SelectedIndex = iValue;
this.comboBoxLanguage.SelectedIndexChanged += new EventHandler(this.comboBoxLanguage_SelectedIndexChanged);
}
// 타입
iValue = (int)item.EQUIPMENT_TYPE;
if (this.comboBoxEquipmentType.SelectedIndex != iValue)
{
this.comboBoxEquipmentType.SelectedIndexChanged -= new EventHandler(this.comboBoxEquipmentType_SelectedIndexChanged);
this.comboBoxEquipmentType.SelectedIndex = iValue;
this.comboBoxEquipmentType.SelectedIndexChanged += new EventHandler(this.comboBoxEquipmentType_SelectedIndexChanged);
}
}
public void DisplayRefresh()
@ -445,15 +460,27 @@ namespace INT_LKD.Controls
if (this.ParentForm.ParentForm.ChildFormMainDisplay != null)
this.ParentForm.ParentForm.ChildFormMainDisplay.InitializeDesign();
if (this.ParentForm.ParentForm.ChildFormMainDisplay.ChildMainDisplay10 != null)
this.ParentForm.ParentForm.ChildFormMainDisplay.ChildMainDisplay10.InitializeDesign();
if (this.ParentForm.ParentForm.ChildFormMainDisplay.ChildModbus != null)
this.ParentForm.ParentForm.ChildFormMainDisplay.ChildModbus.InitializeDesign();
if (this.ParentForm != null)
this.ParentForm.InitializeDesign();
SmartSplash.Finish();
}
private void comboBoxEquipmentType_SelectedIndexChanged(object sender, EventArgs e)
{
string before = "", after = "";
before = this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_TYPE.ToString();
if (this.comboBoxEquipmentType.SelectedIndex == 0)
this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_TYPE = Define.E_EquipmentType.Type1;
else
this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_TYPE = Define.E_EquipmentType.Type2;
this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig);
after = this.ParentForm.ParentForm.SystemConfig.EQUIPMENT_TYPE.ToString();
if (before != after)
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingParameter.Language, "", before, after);
}
private void smartTimerMessageShow_Tick(object sender, EventArgs e)
{

View File

@ -20,6 +20,15 @@ namespace INT_LKD.DataStore
public delegate void EventHandlerAlarmStateChange(Define.E_TrackingAlarm alarm, string status);
/// <summary>
/// 장비 타입
/// </summary>
public enum E_EquipmentType
{
Type1 = 0, // 중국 타입 12열
Type2, // 미국 타입 10열
}
public enum E_EquipmentStatus
{
Stop = 0,

View File

@ -35,9 +35,6 @@ namespace INT_LKD.DataStore
private int m_AUTOMATIC_LOGOUT;
private int m_NUMBER_OF_LOGIN_FAILURE;
private int m_EQUIPMENT_LANE;
private int m_CHECK_LANE;
private int m_ETHERNET_COMM_MODE;
private int m_ETHERNET_OP_MODE;
private int m_ETHERNET_LOCAL_PORT;
@ -52,6 +49,10 @@ namespace INT_LKD.DataStore
private string m_LEVEL3_NAME;
private string m_ETHERNET_SERVER_IP;
private int m_EQUIPMENT_LANE;
private int m_CHECK_LANE;
private Define.E_EquipmentType m_EQUIPMENT_TYPE;
#endregion
#region Constructor
@ -223,6 +224,11 @@ namespace INT_LKD.DataStore
get { return this.m_CHECK_LANE; }
set { this.m_CHECK_LANE = value; }
}
public Define.E_EquipmentType EQUIPMENT_TYPE
{
get { return this.m_EQUIPMENT_TYPE; }
set { this.m_EQUIPMENT_TYPE = value; }
}
#endregion
#region Method
@ -259,9 +265,6 @@ namespace INT_LKD.DataStore
this.MODBUS_TCP_SELECTFUNCTION = (int)Define.E_ModbusFunction._04_ReadInputRegister;
this.MODBUS_TCP_START_ADDRESS = 10;
this.EQUIPMENT_LANE = 12;
this.CHECK_LANE = 2;
this.SERIAL_NUMBER = "24D0000";
this.LEVEL1_NAME = "Level 1";
@ -269,6 +272,10 @@ namespace INT_LKD.DataStore
this.LEVEL3_NAME = "Level 3";
this.ETHERNET_SERVER_IP = "0.0.0.0";
this.EQUIPMENT_LANE = 12;
this.CHECK_LANE = 2;
this.EQUIPMENT_TYPE = Define.E_EquipmentType.Type1;
}
public bool IsEthernetEnable
@ -328,7 +335,7 @@ namespace INT_LKD.DataStore
public int MODBUS_TCP_SELECTFUNCTION;
public int MODBUS_TCP_START_ADDRESS;
public int DummyInt1;
public int EQUIPMENT_TYPE;
public int DummyInt2;
public int DummyInt3;
public int DummyInt4;

View File

@ -552,7 +552,7 @@ namespace INT_LKD.Forms
structItem.DummyBool9 = false;
structItem.DummyBool10 = false;
structItem.DummyInt1 = 0;
structItem.EQUIPMENT_TYPE = (int)this.SystemConfig.EQUIPMENT_TYPE;
structItem.DummyInt2 = 0;
structItem.DummyInt3 = 0;
structItem.DummyInt4 = 0;
@ -644,7 +644,7 @@ namespace INT_LKD.Forms
structItem.DummyBool9 = false;
structItem.DummyBool10 = false;
structItem.DummyInt1 = 0;
structItem.EQUIPMENT_TYPE = (int)item.EQUIPMENT_TYPE;
structItem.DummyInt2 = 0;
structItem.DummyInt3 = 0;
structItem.DummyInt4 = 0;
@ -714,9 +714,6 @@ namespace INT_LKD.Forms
this.SystemConfig.MODBUS_TCP_SELECTFUNCTION = structItem.MODBUS_TCP_SELECTFUNCTION;
this.SystemConfig.MODBUS_TCP_START_ADDRESS = structItem.MODBUS_TCP_START_ADDRESS;
this.SystemConfig.EQUIPMENT_LANE = structItem.EQUIPMENT_LANE;
this.SystemConfig.CHECK_LANE = structItem.CHECK_LANE;
this.SystemConfig.SERIAL_NUMBER = structItem.SERIAL_NUMBER;
this.SystemConfig.LEVEL1_NAME = structItem.LEVEL1_NAME;
@ -725,6 +722,10 @@ namespace INT_LKD.Forms
this.SystemConfig.ETHERNET_SERVER_IP = structItem.ETHERNET_SERVER_IP;
this.SystemConfig.EQUIPMENT_LANE = structItem.EQUIPMENT_LANE;
this.SystemConfig.CHECK_LANE = structItem.CHECK_LANE;
this.SystemConfig.EQUIPMENT_TYPE = (Define.E_EquipmentType)Enum.ToObject(typeof(Define.E_EquipmentType), structItem.EQUIPMENT_TYPE);
this.smartFileIO.Close();
}
#endregion
@ -1746,7 +1747,7 @@ namespace INT_LKD.Forms
{
// MainDisplay
this.ChildFormMainDisplay.UpdateDisplayProcessStatus(this.CurrentLeakDatas[2].ProcessStatus);
this.ChildFormMainDisplay.UpdateDisplayProcessStatus2(this.CurrentLeakDatas[2].ProcessStatus);
this.ChildFormMainDisplay.UpdateDisplayProcessStatus3(this.CurrentLeakDatas[2].ProcessStatus);
}
else if (this.CurrentSystemStatus.CurrentForm == Define.E_FormStore.FormMenu)
{
@ -1767,7 +1768,7 @@ namespace INT_LKD.Forms
{
// MainDisplay
this.ChildFormMainDisplay.UpdateDisplayProcessStatus(this.CurrentLeakDatas[4].ProcessStatus);
this.ChildFormMainDisplay.UpdateDisplayProcessStatus3(this.CurrentLeakDatas[4].ProcessStatus);
this.ChildFormMainDisplay.UpdateDisplayProcessStatus5(this.CurrentLeakDatas[4].ProcessStatus);
}
else if (this.CurrentSystemStatus.CurrentForm == Define.E_FormStore.FormMenu)
{
@ -1788,7 +1789,7 @@ namespace INT_LKD.Forms
{
// MainDisplay
this.ChildFormMainDisplay.UpdateDisplayProcessStatus(this.CurrentLeakDatas[6].ProcessStatus);
this.ChildFormMainDisplay.UpdateDisplayProcessStatus4(this.CurrentLeakDatas[6].ProcessStatus);
this.ChildFormMainDisplay.UpdateDisplayProcessStatus7(this.CurrentLeakDatas[6].ProcessStatus);
}
else if (this.CurrentSystemStatus.CurrentForm == Define.E_FormStore.FormMenu)
{
@ -1809,7 +1810,7 @@ namespace INT_LKD.Forms
{
// MainDisplay
this.ChildFormMainDisplay.UpdateDisplayProcessStatus(this.CurrentLeakDatas[8].ProcessStatus);
this.ChildFormMainDisplay.UpdateDisplayProcessStatus5(this.CurrentLeakDatas[8].ProcessStatus);
this.ChildFormMainDisplay.UpdateDisplayProcessStatus9(this.CurrentLeakDatas[8].ProcessStatus);
}
else if (this.CurrentSystemStatus.CurrentForm == Define.E_FormStore.FormMenu)
{
@ -1830,7 +1831,7 @@ namespace INT_LKD.Forms
{
// MainDisplay
this.ChildFormMainDisplay.UpdateDisplayProcessStatus(this.CurrentLeakDatas[10].ProcessStatus);
this.ChildFormMainDisplay.UpdateDisplayProcessStatus6(this.CurrentLeakDatas[10].ProcessStatus);
this.ChildFormMainDisplay.UpdateDisplayProcessStatus11(this.CurrentLeakDatas[10].ProcessStatus);
}
else if (this.CurrentSystemStatus.CurrentForm == Define.E_FormStore.FormMenu)
{

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -51,17 +51,17 @@
</Reference>
<Reference Include="Microsoft.WindowsCE.Forms" />
<Reference Include="mscorlib" />
<Reference Include="SmartXNCommon, Version=5.0.0.11, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="SmartXNCommon, Version=5.0.0.13, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\HNS\Embedded SmartX Component\V5.0.0.11_20240426\SmartX_New_5.0.0.11_IEC1000_DOTNETCF3.5수동설치파일\SmartXNCommon.dll</HintPath>
<HintPath>C:\Program Files (x86)\HNS\Embedded SmartX Component\V5.0.0.13_20250821\SmartXNCommon.dll</HintPath>
</Reference>
<Reference Include="SmartXNFDCommon, Version=5.0.0.11, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="SmartXNFDCommon, Version=5.0.0.13, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\HNS\Embedded SmartX Component\V5.0.0.11_20240426\SmartX_New_5.0.0.11_IEC1000_DOTNETCF3.5수동설치파일\SmartXNFDCommon.dll</HintPath>
<HintPath>C:\Program Files (x86)\HNS\Embedded SmartX Component\V5.0.0.13_20250821\SmartXNFDCommon.dll</HintPath>
</Reference>
<Reference Include="SmartXN_IEC1000, Version=5.0.0.11, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="SmartXN_IEC1000, Version=5.0.0.13, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\HNS\Embedded SmartX Component\V5.0.0.11_20240426\SmartX_New_5.0.0.11_IEC1000_DOTNETCF3.5수동설치파일\SmartXN_IEC1000.dll</HintPath>
<HintPath>C:\Program Files (x86)\HNS\Embedded SmartX Component\V5.0.0.13_20250821\SmartXN_IEC1000.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
@ -73,17 +73,41 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Controls\MainDisplay\ControlMainDisplay10.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\MainDisplay\ControlMainDisplay10.Designer.cs">
<DependentUpon>ControlMainDisplay10.cs</DependentUpon>
</Compile>
<Compile Include="Controls\MainDisplay\ControlMainDisplay12.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\MainDisplay\ControlMainDisplay12.Designer.cs">
<DependentUpon>ControlMainDisplay12.cs</DependentUpon>
</Compile>
<Compile Include="Controls\MainDisplay\ControlMainResult.cs">
<Compile Include="Controls\MainDisplay\ControlMainResult12.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\MainDisplay\ControlMainResult.Designer.cs">
<DependentUpon>ControlMainResult.cs</DependentUpon>
<Compile Include="Controls\MainDisplay\ControlMainResult12.Designer.cs">
<DependentUpon>ControlMainResult12.cs</DependentUpon>
</Compile>
<Compile Include="Controls\MainDisplay\ControlMainStatus10.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\MainDisplay\ControlMainStatus10.Designer.cs">
<DependentUpon>ControlMainStatus10.cs</DependentUpon>
</Compile>
<Compile Include="Controls\MainDisplay\ControlMainStatus12.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\MainDisplay\ControlMainStatus12.Designer.cs">
<DependentUpon>ControlMainStatus12.cs</DependentUpon>
</Compile>
<Compile Include="Controls\MainDisplay\ControlMainResult10.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\MainDisplay\ControlMainResult10.Designer.cs">
<DependentUpon>ControlMainResult10.cs</DependentUpon>
</Compile>
<Compile Include="Controls\Recipe\ControlMenuRecipeData.cs">
<SubType>UserControl</SubType>
@ -277,12 +301,28 @@
<DependentUpon>ControlMainDisplayDotGraph.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\MainDisplay\ControlMainDisplay10.resx">
<DependentUpon>ControlMainDisplay10.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\MainDisplay\ControlMainDisplay12.resx">
<DependentUpon>ControlMainDisplay12.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\MainDisplay\ControlMainResult.resx">
<DependentUpon>ControlMainResult.cs</DependentUpon>
<EmbeddedResource Include="Controls\MainDisplay\ControlMainResult12.resx">
<DependentUpon>ControlMainResult12.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\MainDisplay\ControlMainStatus10.resx">
<DependentUpon>ControlMainStatus10.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\MainDisplay\ControlMainStatus12.resx">
<DependentUpon>ControlMainStatus12.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\MainDisplay\ControlMainResult10.resx">
<DependentUpon>ControlMainResult10.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\Recipe\ControlMenuRecipeData.resx">

View File

@ -5,6 +5,7 @@
H/W : HNS IEC1000-1xx (1024*768)
O/S : WinCE 6.0
Framework : SmartX Framework V5.0.0.11(update: 2024.04.26)
SmartX Framework V5.0.0.13(update: 2025.08.21)
Program by LeeSeonJae
@ -24,6 +25,11 @@
리크디텍터 12열 통합타입
*/
@ Ver 1.1.0 by LSJ
- 2025.10.16
- Ver 1.0.0 Modify
- SmartX Framework V5.0.0.13(update: 2025.08.21)
- 10열 추가 (미국 리크)
@ Ver 1.0.0 by LSJ
- 2025.08.11