레시피등 수정

main
Seonjae 2023-03-29 11:48:47 +09:00
parent 2f04fa1bf6
commit abfdbd2c7f
11 changed files with 2323 additions and 568 deletions

File diff suppressed because it is too large Load Diff

View File

@ -45,7 +45,7 @@ namespace INT_PT002.Controls
this.SelectedRecipe = new Recipe(); this.SelectedRecipe = new Recipe();
} }
private void UpdateDisplayContnrolData(Recipe item) private void UpdateDisplayControlData(Recipe item)
{ {
string value = ""; string value = "";
@ -112,7 +112,35 @@ namespace INT_PT002.Controls
if (this.labelVacuumBlowoff.Text != value) if (this.labelVacuumBlowoff.Text != value)
this.labelVacuumBlowoff.Text = value; this.labelVacuumBlowoff.Text = value;
} }
private void UpdateDisplayControlData(SystemConfiguration item)
{
string value = "";
// LCD data period
value = item.LCD_DATA_PERIOD.ToString();
if (this.labelLcdDataPeriod.Text != value)
this.labelLcdDataPeriod.Text = value;
// Chattering
value = item.CHATTERING.ToString();
if (this.labelChattering.Text != value)
this.labelChattering.Text = value;
// Cut wait
value = item.JUDGMENT_DELAY_MSEC.ToString();
if (this.labelCutWait.Text != value)
this.labelCutWait.Text = value;
// Buzzer
value = item.BUZZER_OP.ToString();
if (this.labelBuzzer.Text != value)
this.labelBuzzer.Text = value;
// Diff filter
value = item.SB_DIFF_FILTER.ToString();
if (this.labelSbDiffFilter.Text != value)
this.labelSbDiffFilter.Text = value;
}
public void UpdateDisplayRecipeData(int no) public void UpdateDisplayRecipeData(int no)
{ {
Recipe item = new Recipe(); Recipe item = new Recipe();
@ -139,7 +167,7 @@ namespace INT_PT002.Controls
this.SelectedRecipe.VACUUM_BLOWOFF = item.VACUUM_BLOWOFF; this.SelectedRecipe.VACUUM_BLOWOFF = item.VACUUM_BLOWOFF;
this.SelectedRecipe.VACUUM_GUAGE_LEVEL = item.VACUUM_GUAGE_LEVEL; this.SelectedRecipe.VACUUM_GUAGE_LEVEL = item.VACUUM_GUAGE_LEVEL;
this.UpdateDisplayContnrolData(this.SelectedRecipe); this.UpdateDisplayControlData(this.SelectedRecipe);
} }
public void DisplayRefresh() public void DisplayRefresh()
@ -147,6 +175,7 @@ namespace INT_PT002.Controls
this.ParentForm.ParentForm.CurrentSystemStatus.CurrentDisplay = Define.E_FormStore.FormProduct; this.ParentForm.ParentForm.CurrentSystemStatus.CurrentDisplay = Define.E_FormStore.FormProduct;
this.ParentForm.ParentForm.SetDisplayMode(Define.E_DisplayMode.Menu); this.ParentForm.ParentForm.SetDisplayMode(Define.E_DisplayMode.Menu);
this.UpdateDisplayRecipeData(this.ParentForm.ParentForm.SystemConfig.RECIPE_NUMBER); this.UpdateDisplayRecipeData(this.ParentForm.ParentForm.SystemConfig.RECIPE_NUMBER);
this.UpdateDisplayControlData(this.ParentForm.ParentForm.SystemConfig);
} }
#endregion #endregion
@ -157,12 +186,22 @@ namespace INT_PT002.Controls
} }
private void labelPressureLevel_Click(object sender, EventArgs e) private void labelPressureLevel_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelPressureLevel.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel15.Text, this.labelPressureLevel.Text, 5, 1, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel15.Text, this.labelPressureLevel.Text, 5, 1, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.IntValue < 50 || myKeypad.IntValue > 100)
{
range = "50 ~ 100";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelPressureLevel.Text = afterValue;
return;
}
this.labelPressureLevel.Text = myKeypad.StringValue; this.labelPressureLevel.Text = myKeypad.StringValue;
this.SelectedRecipe.VACUUM_GUAGE_LEVEL = myKeypad.StringValue; this.SelectedRecipe.VACUUM_GUAGE_LEVEL = myKeypad.StringValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -175,12 +214,22 @@ namespace INT_PT002.Controls
// 밸브 // 밸브
private void labelVacuumRelief_Click(object sender, EventArgs e) private void labelVacuumRelief_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelVacuumRelief.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel22.Text, this.labelVacuumRelief.Text, 4, 0, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel22.Text, this.labelVacuumRelief.Text, 4, 0, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.IntValue < 0 || myKeypad.IntValue > 9999)
{
range = "0 ~ 9999";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelVacuumRelief.Text = afterValue;
return;
}
this.labelVacuumRelief.Text = myKeypad.StringValue; this.labelVacuumRelief.Text = myKeypad.StringValue;
this.SelectedRecipe.VACUUM_RELIEF = myKeypad.IntValue; this.SelectedRecipe.VACUUM_RELIEF = myKeypad.IntValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -191,12 +240,22 @@ namespace INT_PT002.Controls
} }
private void labelVacuumHold1_Click(object sender, EventArgs e) private void labelVacuumHold1_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelVacuumHold1.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel24.Text, this.labelVacuumHold1.Text, 4, 0, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel24.Text, this.labelVacuumHold1.Text, 4, 0, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.IntValue < 0 || myKeypad.IntValue > 9999)
{
range = "0 ~ 9999";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelVacuumHold1.Text = afterValue;
return;
}
this.labelVacuumHold1.Text = myKeypad.StringValue; this.labelVacuumHold1.Text = myKeypad.StringValue;
this.SelectedRecipe.VACUUM_HOLD1 = myKeypad.IntValue; this.SelectedRecipe.VACUUM_HOLD1 = myKeypad.IntValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -207,12 +266,22 @@ namespace INT_PT002.Controls
} }
private void labelVacuumHold2_Click(object sender, EventArgs e) private void labelVacuumHold2_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelVacuumHold2.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel26.Text, this.labelVacuumHold2.Text, 4, 0, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel26.Text, this.labelVacuumHold2.Text, 4, 0, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.IntValue < 0 || myKeypad.IntValue > this.SelectedRecipe.VACUUM_HOLD1 - 1)
{
range = string.Format("0 ~ {0}", this.SelectedRecipe.VACUUM_HOLD1 - 1);
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelVacuumHold2.Text = afterValue;
return;
}
this.labelVacuumHold2.Text = myKeypad.StringValue; this.labelVacuumHold2.Text = myKeypad.StringValue;
this.SelectedRecipe.VACUUM_HOLD2 = myKeypad.IntValue; this.SelectedRecipe.VACUUM_HOLD2 = myKeypad.IntValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -223,12 +292,22 @@ namespace INT_PT002.Controls
} }
private void labelVacuumBlowoff_Click(object sender, EventArgs e) private void labelVacuumBlowoff_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelVacuumBlowoff.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel2.Text, this.labelVacuumBlowoff.Text, 4, 0, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel2.Text, this.labelVacuumBlowoff.Text, 4, 0, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.IntValue < 0 || myKeypad.IntValue > 9999)
{
range = "0 ~ 9999";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelVacuumBlowoff.Text = afterValue;
return;
}
this.labelVacuumBlowoff.Text = myKeypad.StringValue; this.labelVacuumBlowoff.Text = myKeypad.StringValue;
this.SelectedRecipe.VACUUM_BLOWOFF = myKeypad.IntValue; this.SelectedRecipe.VACUUM_BLOWOFF = myKeypad.IntValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -241,12 +320,22 @@ namespace INT_PT002.Controls
// 변위센서 // 변위센서
private void labelDispStdLevel_Click(object sender, EventArgs e) private void labelDispStdLevel_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelDispStdLevel.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel9.Text, this.labelDispStdLevel.Text, 5, 2, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel9.Text, this.labelDispStdLevel.Text, 5, 2, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.IntValue < 0 || myKeypad.IntValue > 100)
{
range = "0.00 ~ 100.00";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelDispStdLevel.Text = afterValue;
return;
}
this.labelDispStdLevel.Text = myKeypad.StringValue; this.labelDispStdLevel.Text = myKeypad.StringValue;
this.SelectedRecipe.DISP_JUDG_STD_LEVEL = myKeypad.StringValue; this.SelectedRecipe.DISP_JUDG_STD_LEVEL = myKeypad.StringValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -257,12 +346,22 @@ namespace INT_PT002.Controls
} }
private void labelDispMinLevel_Click(object sender, EventArgs e) private void labelDispMinLevel_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelDispMinLevel.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel7.Text, this.labelDispMinLevel.Text, 5, 2, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel7.Text, this.labelDispMinLevel.Text, 5, 2, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.IntValue < 0 || myKeypad.IntValue > 100)
{
range = "0.00 ~ 100.00";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelDispMinLevel.Text = afterValue;
return;
}
this.labelDispMinLevel.Text = myKeypad.StringValue; this.labelDispMinLevel.Text = myKeypad.StringValue;
this.SelectedRecipe.DISP_JUDG_MIN_LEVEL = myKeypad.StringValue; this.SelectedRecipe.DISP_JUDG_MIN_LEVEL = myKeypad.StringValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -273,12 +372,22 @@ namespace INT_PT002.Controls
} }
private void labelDispEmptyLevel_Click(object sender, EventArgs e) private void labelDispEmptyLevel_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelDispEmptyLevel.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel5.Text, this.labelDispEmptyLevel.Text, 5, 2, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel5.Text, this.labelDispEmptyLevel.Text, 5, 2, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.IntValue < 0 || myKeypad.IntValue > 100)
{
range = "0.00 ~ 100.00";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelDispEmptyLevel.Text = afterValue;
return;
}
this.labelDispEmptyLevel.Text = myKeypad.StringValue; this.labelDispEmptyLevel.Text = myKeypad.StringValue;
this.SelectedRecipe.DISP_JUDG_EMPTY_LEVEL = myKeypad.StringValue; this.SelectedRecipe.DISP_JUDG_EMPTY_LEVEL = myKeypad.StringValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -289,12 +398,22 @@ namespace INT_PT002.Controls
} }
private void labelDispHoldDelay_Click(object sender, EventArgs e) private void labelDispHoldDelay_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelDispHoldDelay.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel3.Text, this.labelDispHoldDelay.Text, 4, 0, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel3.Text, this.labelDispHoldDelay.Text, 4, 0, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.IntValue < 0 || myKeypad.IntValue > 9999)
{
range = "0 ~ 9999";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelDispHoldDelay.Text = afterValue;
return;
}
this.labelDispHoldDelay.Text = myKeypad.StringValue; this.labelDispHoldDelay.Text = myKeypad.StringValue;
this.SelectedRecipe.DISP_HOLD_DELAY_MSEC = myKeypad.IntValue; this.SelectedRecipe.DISP_HOLD_DELAY_MSEC = myKeypad.IntValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -307,12 +426,22 @@ namespace INT_PT002.Controls
// 차압센서 // 차압센서
private void labelDiffLrSecond_Click(object sender, EventArgs e) private void labelDiffLrSecond_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelDiffLrSecond.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel13.Text, this.labelDiffLrSecond.Text, 7, 2, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel13.Text, this.labelDiffLrSecond.Text, 7, 2, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.doubleValue < 0 || myKeypad.doubleValue > 99999.99)
{
range = "0.00 ~ 99999.99";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelDiffLrSecond.Text = afterValue;
return;
}
this.labelDiffLrSecond.Text = myKeypad.StringValue; this.labelDiffLrSecond.Text = myKeypad.StringValue;
this.SelectedRecipe.DIFF_LR_SECOND = myKeypad.StringValue; this.SelectedRecipe.DIFF_LR_SECOND = myKeypad.StringValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -323,12 +452,22 @@ namespace INT_PT002.Controls
} }
private void labelDiffLrTotal_Click(object sender, EventArgs e) private void labelDiffLrTotal_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelDiffLrTotal.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel11.Text, this.labelDiffLrTotal.Text, 7, 2, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel11.Text, this.labelDiffLrTotal.Text, 7, 2, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.doubleValue < 0 || myKeypad.doubleValue > 99999.99)
{
range = "0.00 ~ 99999.99";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelDiffLrTotal.Text = afterValue;
return;
}
this.labelDiffLrTotal.Text = myKeypad.StringValue; this.labelDiffLrTotal.Text = myKeypad.StringValue;
this.SelectedRecipe.DIFF_LR_TOTAL = myKeypad.StringValue; this.SelectedRecipe.DIFF_LR_TOTAL = myKeypad.StringValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -339,12 +478,22 @@ namespace INT_PT002.Controls
} }
private void labelDiffLrMean_Click(object sender, EventArgs e) private void labelDiffLrMean_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelDiffLrMean.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel8.Text, this.labelDiffLrMean.Text, 7, 2, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel8.Text, this.labelDiffLrMean.Text, 7, 2, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.doubleValue < 0 || myKeypad.doubleValue > 99999.99)
{
range = "0.00 ~ 99999.99";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelDiffLrMean.Text = afterValue;
return;
}
this.labelDiffLrMean.Text = myKeypad.StringValue; this.labelDiffLrMean.Text = myKeypad.StringValue;
this.SelectedRecipe.DIFF_LR_MEAN = myKeypad.StringValue; this.SelectedRecipe.DIFF_LR_MEAN = myKeypad.StringValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -355,12 +504,22 @@ namespace INT_PT002.Controls
} }
private void labelDiffHoldDelay_Click(object sender, EventArgs e) private void labelDiffHoldDelay_Click(object sender, EventArgs e)
{ {
string value = ""; string value = "", afterValue = "", range = "";
afterValue = this.labelDiffHoldDelay.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel4.Text, this.labelDiffHoldDelay.Text, 4, 0, false); DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel4.Text, this.labelDiffHoldDelay.Text, 4, 0, false);
if (myKeypad.ShowDialog() == DialogResult.OK) if (myKeypad.ShowDialog() == DialogResult.OK)
{ {
if (myKeypad.IntValue < 0 || myKeypad.IntValue > 9999)
{
range = "0 ~ 9999";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelDiffHoldDelay.Text = afterValue;
return;
}
this.labelDiffHoldDelay.Text = myKeypad.StringValue; this.labelDiffHoldDelay.Text = myKeypad.StringValue;
this.SelectedRecipe.DIFF_HOLD_DELAY_MSEC = myKeypad.IntValue; this.SelectedRecipe.DIFF_HOLD_DELAY_MSEC = myKeypad.IntValue;
this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1); this.ParentForm.ParentForm.SaveRecipeFile(this.SelectedRecipe, this.SelectedRecipe.NUMBER - 1);
@ -369,6 +528,138 @@ namespace INT_PT002.Controls
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._5516_DiffHoldDelay, value); this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._5516_DiffHoldDelay, value);
} }
} }
// SysteConfiguration
private void labelLcdDataPeriod_Click(object sender, EventArgs e)
{
string value = "", afterValue = "", range = "";
afterValue = this.labelLcdDataPeriod.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel14.Text, this.labelLcdDataPeriod.Text, 4, 0, false);
if (myKeypad.ShowDialog() == DialogResult.OK)
{
if (myKeypad.IntValue < 100 || myKeypad.IntValue > 5000)
{
range = "100 ~ 5000";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelLcdDataPeriod.Text = afterValue;
return;
}
this.labelLcdDataPeriod.Text = myKeypad.StringValue;
this.ParentForm.ParentForm.SystemConfig.LCD_DATA_PERIOD = myKeypad.IntValue;
this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig);
value = Helper.StringBlankFillDigits4(myKeypad.StringValue);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._1710_LcdDataPeriod, value);
}
}
private void labelChattering_Click(object sender, EventArgs e)
{
string value = "", afterValue = "", range = "";
afterValue = this.labelChattering.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel18.Text, this.labelChattering.Text, 4, 0, false);
if (myKeypad.ShowDialog() == DialogResult.OK)
{
if (myKeypad.IntValue < 50 || myKeypad.IntValue > 500)
{
range = "50 ~ 500";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelChattering.Text = afterValue;
return;
}
this.labelChattering.Text = myKeypad.StringValue;
this.ParentForm.ParentForm.SystemConfig.CHATTERING = myKeypad.IntValue;
this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig);
value = Helper.StringBlankFillDigits4(myKeypad.StringValue);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._6006_Chattering, value);
}
}
private void labelCutWait_Click(object sender, EventArgs e)
{
string value = "", afterValue = "", range = "";
afterValue = this.labelCutWait.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel20.Text, this.labelCutWait.Text, 4, 0, false);
if (myKeypad.ShowDialog() == DialogResult.OK)
{
if (myKeypad.IntValue < 100 || myKeypad.IntValue > 9999)
{
range = "100 ~ 9999";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelCutWait.Text = afterValue;
return;
}
this.labelCutWait.Text = myKeypad.StringValue;
this.ParentForm.ParentForm.SystemConfig.JUDGMENT_DELAY_MSEC = myKeypad.IntValue;
this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig);
value = Helper.StringBlankFillDigits4(myKeypad.StringValue);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._5508_CuttingWait, value);
}
}
private void labelBuzzer_Click(object sender, EventArgs e)
{
string value = "", afterValue = "", range = "";
afterValue = this.labelBuzzer.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel23.Text, this.labelBuzzer.Text, 4, 0, false);
if (myKeypad.ShowDialog() == DialogResult.OK)
{
if (myKeypad.IntValue < 0 || myKeypad.IntValue > 9999)
{
range = "0 ~ 9999";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelBuzzer.Text = afterValue;
return;
}
this.labelBuzzer.Text = myKeypad.StringValue;
this.ParentForm.ParentForm.SystemConfig.BUZZER_OP = myKeypad.IntValue;
this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig);
value = Helper.StringBlankFillDigits4(myKeypad.StringValue);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._6001_BuzzerOP, value);
}
}
private void labelSbDiffFilter_Click(object sender, EventArgs e)
{
string value = "", afterValue = "", range = "";
afterValue = this.labelSbDiffFilter.Text;
DialogFormNumKeyPad myKeypad = new DialogFormNumKeyPad(this.smartLabel27.Text, this.labelSbDiffFilter.Text, 2, 0, false);
if (myKeypad.ShowDialog() == DialogResult.OK)
{
if (myKeypad.IntValue < 1 || myKeypad.IntValue > 16)
{
range = "1 ~ 16";
DialogFormMessage msg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig.LANGUAGE, range);
msg.ShowDialog();
this.labelSbDiffFilter.Text = afterValue;
return;
}
this.labelSbDiffFilter.Text = myKeypad.StringValue;
this.ParentForm.ParentForm.SystemConfig.SB_DIFF_FILTER = myKeypad.IntValue;
this.ParentForm.ParentForm.SaveSystemConfigurationFile(this.ParentForm.ParentForm.SystemConfig);
value = Helper.StringBlankFillDigits4(myKeypad.StringValue);
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress._1706_SbDiffFilter, value);
}
}
#endregion #endregion
} }
} }

View File

@ -128,17 +128,17 @@ namespace INT_PT002.Controls
} }
else if (check == Define.E_UpdateCheck.NoUsbMomery) else if (check == Define.E_UpdateCheck.NoUsbMomery)
{ {
DialogFormMessage message = new DialogFormMessage(5, Define.E_LanguageID.Korean); DialogFormMessage message = new DialogFormMessage(5, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
message.ShowDialog(); message.ShowDialog();
} }
else if (check == Define.E_UpdateCheck.NoUpdateFolder) else if (check == Define.E_UpdateCheck.NoUpdateFolder)
{ {
DialogFormMessage message = new DialogFormMessage(9, Define.E_LanguageID.Korean); DialogFormMessage message = new DialogFormMessage(9, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
message.ShowDialog(); message.ShowDialog();
} }
else if (check == Define.E_UpdateCheck.NoFile) else if (check == Define.E_UpdateCheck.NoFile)
{ {
DialogFormMessage message = new DialogFormMessage(7, Define.E_LanguageID.Korean); DialogFormMessage message = new DialogFormMessage(7, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
message.ShowDialog(); message.ShowDialog();
} }
} }
@ -242,17 +242,17 @@ namespace INT_PT002.Controls
} }
else if (check == Define.E_UpdateCheck.NoUsbMomery) else if (check == Define.E_UpdateCheck.NoUsbMomery)
{ {
DialogFormMessage message = new DialogFormMessage(5, Define.E_LanguageID.Korean); DialogFormMessage message = new DialogFormMessage(5, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
message.ShowDialog(); message.ShowDialog();
} }
else if (check == Define.E_UpdateCheck.NoUpdateFolder) else if (check == Define.E_UpdateCheck.NoUpdateFolder)
{ {
DialogFormMessage message = new DialogFormMessage(9, Define.E_LanguageID.Korean); DialogFormMessage message = new DialogFormMessage(9, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
message.ShowDialog(); message.ShowDialog();
} }
else if (check == Define.E_UpdateCheck.NoFile) else if (check == Define.E_UpdateCheck.NoFile)
{ {
DialogFormMessage message = new DialogFormMessage(7, Define.E_LanguageID.Korean); DialogFormMessage message = new DialogFormMessage(7, this.ParentForm.ParentForm.SystemConfig.LANGUAGE);
message.ShowDialog(); message.ShowDialog();
} }
} }

View File

@ -74,6 +74,10 @@ namespace INT_PT002.DataStore
// 시스템설정 - 업데이트 // 시스템설정 - 업데이트
public static readonly string _1651_UpdateForMain = "1651"; public static readonly string _1651_UpdateForMain = "1651";
// 시스템설정 - 센서보드_차압센서 필터
public static readonly string _1706_SbDiffFilter = "1706";
// 시스템설정 - 데이터 전송 주기
public static readonly string _1710_LcdDataPeriod = "1710";
// 품번 // 품번
public static readonly string _2001_ProductNumber = "2001"; public static readonly string _2001_ProductNumber = "2001";
@ -110,6 +114,11 @@ namespace INT_PT002.DataStore
// 압력게이지 기준압력 // 압력게이지 기준압력
public static readonly string _5517_VacuumGaugeStdLevel = "5517"; public static readonly string _5517_VacuumGaugeStdLevel = "5517";
// 옵션 - 부저 동작 시간
public static readonly string _6001_BuzzerOP = "6001";
// 옵션 - 채터링
public static readonly string _6006_Chattering = "6006";
// 통신,IO설정 - INPUT ALL // 통신,IO설정 - INPUT ALL
public static readonly string _7500_InputAll = "7500"; public static readonly string _7500_InputAll = "7500";
// 통신,IO설정 = OUTPUT1 // 통신,IO설정 = OUTPUT1

View File

@ -196,32 +196,6 @@ namespace INT_PT002.DialogForms
this.labelMessage1.Text = "메인보드 통신 상태 확인해주세요"; this.labelMessage1.Text = "메인보드 통신 상태 확인해주세요";
this.labelMessage2.Text = ""; this.labelMessage2.Text = "";
break; break;
case 23:
this.smartGroupBox1.Text = "Error 23";
this.labelMessage1.Text = "장비 정지 : 카운터출력";
this.labelMessage2.Text = "";
break;
case 24:
this.smartGroupBox1.Text = "Error 24";
this.labelMessage1.Text = "MACSA 통신전송이 실패하였습니다.";
this.labelMessage2.Text = "";
break;
case 25:
this.smartGroupBox1.Text = "Error 25";
this.labelMessage1.Text = "바코드 연결상태를 확인하세요.";
this.labelMessage2.Text = "";
break;
case 26:
this.smartGroupBox1.Text = "OPC";
this.labelMessage1.Text = "OPC 동작 모드 : Server";
this.labelMessage2.Text = "";
break;
case 27:
this.smartGroupBox1.Text = "Error 27";
this.labelMessage1.Text = "996~1000번 : 랜덤모드 기능 할당";
this.labelMessage2.Text = "설정위치 : [메뉴]-[기본]-[품목설정]-[랜덤모드]";
break;
// 28 사용
case 31: case 31:
this.smartGroupBox1.Text = "Error 31"; this.smartGroupBox1.Text = "Error 31";
this.labelMessage1.Text = "유저 파일 에러"; this.labelMessage1.Text = "유저 파일 에러";
@ -247,13 +221,6 @@ namespace INT_PT002.DialogForms
this.labelMessage1.Text = "4~10자 입력 하세요!"; this.labelMessage1.Text = "4~10자 입력 하세요!";
this.labelMessage2.Text = ""; this.labelMessage2.Text = "";
break; break;
case 36:
this.PictureBoxVisible(false);
this.smartGroupBox1.Text = "";
this.labelMessage1.Text = "No Data";
this.labelMessage2.Text = "";
break;
default: default:
this.smartGroupBox1.Text = "Error 99"; this.smartGroupBox1.Text = "Error 99";
this.labelMessage1.Text = "제조사에 문의하세요"; this.labelMessage1.Text = "제조사에 문의하세요";

View File

@ -71,7 +71,7 @@
// buttonCancel // buttonCancel
// //
this.buttonCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); this.buttonCancel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.buttonCancel.Font = new System.Drawing.Font("Arial", 18F, System.Drawing.FontStyle.Bold); this.buttonCancel.Font = new System.Drawing.Font("Arial", 18F, System.Drawing.FontStyle.Bold);
this.buttonCancel.ForeColor = System.Drawing.Color.White; this.buttonCancel.ForeColor = System.Drawing.Color.White;
this.buttonCancel.Location = new System.Drawing.Point(165, 282); this.buttonCancel.Location = new System.Drawing.Point(165, 282);
this.buttonCancel.Name = "buttonCancel"; this.buttonCancel.Name = "buttonCancel";
@ -172,19 +172,6 @@
this.buttonNumber2.Text = "2"; this.buttonNumber2.Text = "2";
this.buttonNumber2.Click += new System.EventHandler(this.buttonNumber_Click); this.buttonNumber2.Click += new System.EventHandler(this.buttonNumber_Click);
// //
// buttonSign
//
this.buttonSign.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.buttonSign.Font = new System.Drawing.Font("New Gulim", 18F, System.Drawing.FontStyle.Bold);
this.buttonSign.ForeColor = System.Drawing.Color.White;
this.buttonSign.Location = new System.Drawing.Point(13, 306);
this.buttonSign.Name = "buttonSign";
this.buttonSign.Size = new System.Drawing.Size(70, 70);
this.buttonSign.TabIndex = 6;
this.buttonSign.TabStop = false;
this.buttonSign.Text = "+/-";
this.buttonSign.Click += new System.EventHandler(this.buttonSign_Click);
//
// buttonNumber7 // buttonNumber7
// //
this.buttonNumber7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); this.buttonNumber7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
@ -224,14 +211,6 @@
this.buttonNumber1.Text = "1"; this.buttonNumber1.Text = "1";
this.buttonNumber1.Click += new System.EventHandler(this.buttonNumber_Click); this.buttonNumber1.Click += new System.EventHandler(this.buttonNumber_Click);
// //
// labelCaption
//
this.labelCaption.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular);
this.labelCaption.Location = new System.Drawing.Point(3, 3);
this.labelCaption.Name = "labelCaption";
this.labelCaption.Size = new System.Drawing.Size(237, 20);
this.labelCaption.Text = "keypad";
//
// buttonSign // buttonSign
// //
this.buttonSign.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); this.buttonSign.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
@ -245,6 +224,15 @@
this.buttonSign.Text = "+/-"; this.buttonSign.Text = "+/-";
this.buttonSign.Click += new System.EventHandler(this.buttonSign_Click); this.buttonSign.Click += new System.EventHandler(this.buttonSign_Click);
// //
// labelCaption
//
this.labelCaption.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelCaption.ForeColor = System.Drawing.Color.White;
this.labelCaption.Location = new System.Drawing.Point(3, 6);
this.labelCaption.Name = "labelCaption";
this.labelCaption.Size = new System.Drawing.Size(237, 20);
this.labelCaption.Text = "keypad";
//
// DialogFormNumKeyPad // DialogFormNumKeyPad
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);

View File

@ -802,7 +802,7 @@ namespace INT_PT002.Forms
bool fileCheck = false; bool fileCheck = false;
StructRecipe structItem; StructRecipe structItem;
fullFilePath = this.PathSystemFileFolder + "RecipeItem.cfg"; fullFilePath = this.PathSystemFileFolder + "RecipeItem.int";
this.smartFileIO.FilePathName = fullFilePath; this.smartFileIO.FilePathName = fullFilePath;
FileInfo fileInfo = new FileInfo(fullFilePath); FileInfo fileInfo = new FileInfo(fullFilePath);

View File

@ -101,7 +101,12 @@
this.labelProgress2 = new SmartX.SmartLabel(); this.labelProgress2 = new SmartX.SmartLabel();
this.labelProgress1 = new SmartX.SmartLabel(); this.labelProgress1 = new SmartX.SmartLabel();
this.labelProgress0 = new SmartX.SmartLabel(); this.labelProgress0 = new SmartX.SmartLabel();
this.smartGroupBox1 = new SmartX.SmartGroupBox();
this.smartTimer1 = new SmartX.SmartTimer();
this.smartButton1 = new SmartX.SmartButton();
this.label1 = new System.Windows.Forms.Label();
this.smartForm1.SuspendLayout(); this.smartForm1.SuspendLayout();
this.smartGroupBox1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// smartForm1 // smartForm1
@ -110,6 +115,8 @@
this.smartForm1.BackGroundFillStyle = SmartXUIBase.SmartUIControlFormBase.BackGroundFillStyles.UseBackImage; this.smartForm1.BackGroundFillStyle = SmartXUIBase.SmartUIControlFormBase.BackGroundFillStyles.UseBackImage;
this.smartForm1.BackImage = ((System.Drawing.Image)(resources.GetObject("smartForm1.BackImage"))); this.smartForm1.BackImage = ((System.Drawing.Image)(resources.GetObject("smartForm1.BackImage")));
this.smartForm1.CenterLocation = false; this.smartForm1.CenterLocation = false;
this.smartForm1.Controls.Add(this.smartButton1);
this.smartForm1.Controls.Add(this.smartGroupBox1);
this.smartForm1.Controls.Add(this.labelPressure10); this.smartForm1.Controls.Add(this.labelPressure10);
this.smartForm1.Controls.Add(this.labelPressure9); this.smartForm1.Controls.Add(this.labelPressure9);
this.smartForm1.Controls.Add(this.labelPressure8); this.smartForm1.Controls.Add(this.labelPressure8);
@ -162,7 +169,6 @@
this.smartForm1.Controls.Add(this.labelSensorStatus1); this.smartForm1.Controls.Add(this.labelSensorStatus1);
this.smartForm1.Controls.Add(this.labelProgress4sec); this.smartForm1.Controls.Add(this.labelProgress4sec);
this.smartForm1.Controls.Add(this.labelProgress3sec); this.smartForm1.Controls.Add(this.labelProgress3sec);
this.smartForm1.Controls.Add(this.labelAlarm);
this.smartForm1.Controls.Add(this.labelTime); this.smartForm1.Controls.Add(this.labelTime);
this.smartForm1.Controls.Add(this.labelProgress5); this.smartForm1.Controls.Add(this.labelProgress5);
this.smartForm1.Controls.Add(this.labelStop); this.smartForm1.Controls.Add(this.labelStop);
@ -470,7 +476,7 @@
this.labelResult10.BorderStyle = SmartX.SmartLabel.BorderStyles.None; this.labelResult10.BorderStyle = SmartX.SmartLabel.BorderStyles.None;
this.labelResult10.Font = new System.Drawing.Font("Arial", 20F, System.Drawing.FontStyle.Bold); this.labelResult10.Font = new System.Drawing.Font("Arial", 20F, System.Drawing.FontStyle.Bold);
this.labelResult10.LineSpacing = 0F; this.labelResult10.LineSpacing = 0F;
this.labelResult10.Location = new System.Drawing.Point(570, 359); this.labelResult10.Location = new System.Drawing.Point(570, 364);
this.labelResult10.Name = "labelResult10"; this.labelResult10.Name = "labelResult10";
this.labelResult10.OverlapOptimize = true; this.labelResult10.OverlapOptimize = true;
this.labelResult10.PasswordChar = '\0'; this.labelResult10.PasswordChar = '\0';
@ -1528,23 +1534,23 @@
// //
// labelAlarm // labelAlarm
// //
this.labelAlarm.BackGround = this.smartForm1; this.labelAlarm.BackGround = this.smartGroupBox1;
this.labelAlarm.BackGroundColor = System.Drawing.Color.SkyBlue; this.labelAlarm.BackGroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(49)))), ((int)(((byte)(51)))), ((int)(((byte)(53)))));
this.labelAlarm.BorderColor = System.Drawing.Color.White; this.labelAlarm.BorderColor = System.Drawing.Color.White;
this.labelAlarm.BorderStyle = SmartX.SmartLabel.BorderStyles.None; this.labelAlarm.BorderStyle = SmartX.SmartLabel.BorderStyles.None;
this.labelAlarm.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); this.labelAlarm.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelAlarm.LineSpacing = 0F; this.labelAlarm.LineSpacing = 0F;
this.labelAlarm.Location = new System.Drawing.Point(221, 115); this.labelAlarm.Location = new System.Drawing.Point(3, 27);
this.labelAlarm.Name = "labelAlarm"; this.labelAlarm.Name = "labelAlarm";
this.labelAlarm.OverlapOptimize = true; this.labelAlarm.OverlapOptimize = true;
this.labelAlarm.PasswordChar = '\0'; this.labelAlarm.PasswordChar = '\0';
this.labelAlarm.Radius = 3; this.labelAlarm.Radius = 3;
this.labelAlarm.RoundRectFillColor = System.Drawing.Color.LightBlue; this.labelAlarm.RoundRectFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(49)))), ((int)(((byte)(51)))), ((int)(((byte)(53)))));
this.labelAlarm.Size = new System.Drawing.Size(670, 20); this.labelAlarm.Size = new System.Drawing.Size(496, 20);
this.labelAlarm.TabIndex = 73; this.labelAlarm.TabIndex = 73;
this.labelAlarm.TextColor = System.Drawing.Color.White; this.labelAlarm.TextColor = System.Drawing.Color.White;
this.labelAlarm.TextColorDisable = System.Drawing.Color.Gray; this.labelAlarm.TextColorDisable = System.Drawing.Color.Gray;
this.labelAlarm.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle; this.labelAlarm.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelAlarm.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; this.labelAlarm.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelAlarm.Wordwrap = false; this.labelAlarm.Wordwrap = false;
// //
@ -1554,7 +1560,7 @@
this.labelTime.BackGroundColor = System.Drawing.Color.SkyBlue; this.labelTime.BackGroundColor = System.Drawing.Color.SkyBlue;
this.labelTime.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(42)))), ((int)(((byte)(82))))); this.labelTime.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(42)))), ((int)(((byte)(82)))));
this.labelTime.BorderStyle = SmartX.SmartLabel.BorderStyles.None; this.labelTime.BorderStyle = SmartX.SmartLabel.BorderStyles.None;
this.labelTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); this.labelTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold);
this.labelTime.LineSpacing = 0F; this.labelTime.LineSpacing = 0F;
this.labelTime.Location = new System.Drawing.Point(24, 115); this.labelTime.Location = new System.Drawing.Point(24, 115);
this.labelTime.Name = "labelTime"; this.labelTime.Name = "labelTime";
@ -2048,6 +2054,80 @@
this.labelProgress0.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; this.labelProgress0.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelProgress0.Wordwrap = false; this.labelProgress0.Wordwrap = false;
// //
// smartGroupBox1
//
this.smartGroupBox1.BackGround = this.smartForm1;
this.smartGroupBox1.BackGroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.smartGroupBox1.BackImage = ((System.Drawing.Image)(resources.GetObject("smartGroupBox1.BackImage")));
this.smartGroupBox1.Controls.Add(this.label1);
this.smartGroupBox1.Controls.Add(this.labelAlarm);
this.smartGroupBox1.FrameLineColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(58)))), ((int)(((byte)(110)))), ((int)(((byte)(165)))));
this.smartGroupBox1.FrameLineColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(58)))), ((int)(((byte)(110)))), ((int)(((byte)(165)))));
this.smartGroupBox1.FrameLineThickness = 2;
this.smartGroupBox1.FrameStyle = SmartX.SmartGroupBox.FRAMESTYLES.None;
this.smartGroupBox1.HeaderHeightOffset = 12;
this.smartGroupBox1.Location = new System.Drawing.Point(215, 88);
this.smartGroupBox1.Name = "smartGroupBox1";
this.smartGroupBox1.RoundRadius = 5;
this.smartGroupBox1.Size = new System.Drawing.Size(678, 50);
this.smartGroupBox1.TabIndex = 134;
this.smartGroupBox1.Text = "smartGroupBox1";
this.smartGroupBox1.TextColor = System.Drawing.Color.White;
//
// smartTimer1
//
this.smartTimer1.CounterMode = SmartX.SmartTimer.CounterModes.Up_Counter;
this.smartTimer1.Interval = 100;
this.smartTimer1.IntervalSeries = null;
this.smartTimer1.TimeCount = ((long)(1000000));
this.smartTimer1.TimeFormStringSeparator = ":";
this.smartTimer1.Tick += new System.EventHandler(this.smartTimer1_Tick);
//
// smartButton1
//
this.smartButton1.BackGround = this.smartForm1;
this.smartButton1.BackGroundColor = System.Drawing.Color.LightBlue;
this.smartButton1.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(58)))), ((int)(((byte)(110)))), ((int)(((byte)(165)))));
this.smartButton1.ButtonDownColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(76)))), ((int)(((byte)(129)))));
this.smartButton1.ButtonImageAutoSize = true;
this.smartButton1.ButtonStyle = SmartX.SmartButton.ButtonStyles.FlatRound;
this.smartButton1.ButtonText = "smartButton1";
this.smartButton1.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.smartButton1.GroupID = 0;
this.smartButton1.ImageDisable = null;
this.smartButton1.ImageDown = null;
this.smartButton1.ImageUp = null;
this.smartButton1.Location = new System.Drawing.Point(917, 342);
this.smartButton1.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.smartButton1.Name = "smartButton1";
this.smartButton1.NestedClickEventPrevent = false;
this.smartButton1.OutlinePixel = 2;
this.smartButton1.OverlapOptimize = true;
this.smartButton1.RepeatInterval = 200;
this.smartButton1.RepeatIntervalAccelerate = null;
this.smartButton1.RoundSize = 10;
this.smartButton1.SafeInterval = 200;
this.smartButton1.Size = new System.Drawing.Size(100, 43);
this.smartButton1.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.smartButton1.TabIndex = 74;
this.smartButton1.Text = null;
this.smartButton1.TextColor = System.Drawing.Color.White;
this.smartButton1.TextColorDisable = System.Drawing.Color.Gray;
this.smartButton1.TextDownColor = System.Drawing.Color.FromArgb(((int)(((byte)(233)))), ((int)(((byte)(238)))), ((int)(((byte)(255)))));
this.smartButton1.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.smartButton1.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.smartButton1.Click += new System.EventHandler(this.smartButton1_Click);
//
// label1
//
this.label1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(49)))), ((int)(((byte)(51)))), ((int)(((byte)(53)))));
this.label1.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Regular);
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(3, 25);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(655, 25);
this.label1.Text = "a1_Servo emergency stop";
//
// FormMainDisplay2 // FormMainDisplay2
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -2059,6 +2139,7 @@
this.Name = "FormMainDisplay2"; this.Name = "FormMainDisplay2";
this.Text = "FormMainDisplay1"; this.Text = "FormMainDisplay1";
this.smartForm1.ResumeLayout(false); this.smartForm1.ResumeLayout(false);
this.smartGroupBox1.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@ -2137,5 +2218,9 @@
private SmartX.SmartLabel labelPressure3; private SmartX.SmartLabel labelPressure3;
private SmartX.SmartLabel labelPressure2; private SmartX.SmartLabel labelPressure2;
private SmartX.SmartLabel labelPressure1; private SmartX.SmartLabel labelPressure1;
private SmartX.SmartGroupBox smartGroupBox1;
private SmartX.SmartTimer smartTimer1;
private SmartX.SmartButton smartButton1;
private System.Windows.Forms.Label label1;
} }
} }

View File

@ -473,90 +473,100 @@ namespace INT_PT002.Forms
} }
public void UpdateDisplayAlarmView(AlarmList alarm) public void UpdateDisplayAlarmView(AlarmList alarm)
{ {
this.labelAlarm.Text = ""; string value = "";
if (alarm.IsServoEmergencyStop == true) if (alarm.IsServoEmergencyStop == true)
this.labelAlarm.Text = "a1_Servo emergency stop "; value = "a1_Servo emergency stop ";
if (alarm.IsServo1Alarm == true) if (alarm.IsServo1Alarm == true)
this.labelAlarm.Text += "a2_Servo1 "; value += "a2_Servo1 ";
if (alarm.IsServo2Alarm == true) if (alarm.IsServo2Alarm == true)
this.labelAlarm.Text += "a3_Servo2 "; value += "a3_Servo2 ";
if (alarm.IsServoTorque1AlarmTorque == true) if (alarm.IsServoTorque1AlarmTorque == true)
this.labelAlarm.Text += "a4_Servo1 Torque "; value += "a4_Servo1 Torque ";
if (alarm.IsServoTorque2AlarmTorque == true) if (alarm.IsServoTorque2AlarmTorque == true)
this.labelAlarm.Text += "a5_Servo2 Torque "; value += "a5_Servo2 Torque ";
if (alarm.IsPressureError == true) if (alarm.IsPressureError == true)
this.labelAlarm.Text += "a6_Pressure "; value += "a6_Pressure ";
if (alarm.CollectionIsSensorBoardError[0] == true) if (alarm.CollectionIsSensorBoardError[0] == true)
{ {
this.labelAlarm.Text += "a7_Sensor board 1 "; //this.labelAlarm.Text += "a7_Sensor board 1 ";
this.CollectionLabelSensorStatus[0].BackGroundColor = this.ColorSensorError; this.CollectionLabelSensorStatus[0].BackGroundColor = this.ColorSensorError;
} }
else else
this.CollectionLabelSensorStatus[0].BackGroundColor = this.ColorSensorNormal; this.CollectionLabelSensorStatus[0].BackGroundColor = this.ColorSensorNormal;
if (alarm.CollectionIsSensorBoardError[1] == true) if (alarm.CollectionIsSensorBoardError[1] == true)
{ {
this.labelAlarm.Text += "a8_Sensor board 2 "; //this.labelAlarm.Text += "a8_Sensor board 2 ";
this.CollectionLabelSensorStatus[1].BackGroundColor = this.ColorSensorError; this.CollectionLabelSensorStatus[1].BackGroundColor = this.ColorSensorError;
} }
else else
this.CollectionLabelSensorStatus[1].BackGroundColor = this.ColorSensorNormal; this.CollectionLabelSensorStatus[1].BackGroundColor = this.ColorSensorNormal;
if (alarm.CollectionIsSensorBoardError[2] == true) if (alarm.CollectionIsSensorBoardError[2] == true)
{ {
this.labelAlarm.Text += "a9_Sensor board 3 "; //this.labelAlarm.Text += "a9_Sensor board 3 ";
this.CollectionLabelSensorStatus[2].BackGroundColor = this.ColorSensorError; this.CollectionLabelSensorStatus[2].BackGroundColor = this.ColorSensorError;
} }
else else
this.CollectionLabelSensorStatus[2].BackGroundColor = this.ColorSensorNormal; this.CollectionLabelSensorStatus[2].BackGroundColor = this.ColorSensorNormal;
if (alarm.CollectionIsSensorBoardError[3] == true) if (alarm.CollectionIsSensorBoardError[3] == true)
{ {
this.labelAlarm.Text += "a10_Sensor board 4 "; //this.labelAlarm.Text += "a10_Sensor board 4 ";
this.CollectionLabelSensorStatus[3].BackGroundColor = this.ColorSensorError; this.CollectionLabelSensorStatus[3].BackGroundColor = this.ColorSensorError;
} }
else else
this.CollectionLabelSensorStatus[3].BackGroundColor = this.ColorSensorNormal; this.CollectionLabelSensorStatus[3].BackGroundColor = this.ColorSensorNormal;
if (alarm.CollectionIsSensorBoardError[4] == true) if (alarm.CollectionIsSensorBoardError[4] == true)
{ {
this.labelAlarm.Text += "a11_Sensor board 5 "; //this.labelAlarm.Text += "a11_Sensor board 5 ";
this.CollectionLabelSensorStatus[4].BackGroundColor = this.ColorSensorError; this.CollectionLabelSensorStatus[4].BackGroundColor = this.ColorSensorError;
} }
else else
this.CollectionLabelSensorStatus[4].BackGroundColor = this.ColorSensorNormal; this.CollectionLabelSensorStatus[4].BackGroundColor = this.ColorSensorNormal;
if (alarm.CollectionIsSensorBoardError[5] == true) if (alarm.CollectionIsSensorBoardError[5] == true)
{ {
this.labelAlarm.Text += "a12_Sensor board 6 "; //this.labelAlarm.Text += "a12_Sensor board 6 ";
this.CollectionLabelSensorStatus[5].BackGroundColor = this.ColorSensorError; this.CollectionLabelSensorStatus[5].BackGroundColor = this.ColorSensorError;
} }
else else
this.CollectionLabelSensorStatus[5].BackGroundColor = this.ColorSensorNormal; this.CollectionLabelSensorStatus[5].BackGroundColor = this.ColorSensorNormal;
if (alarm.CollectionIsSensorBoardError[6] == true) if (alarm.CollectionIsSensorBoardError[6] == true)
{ {
this.labelAlarm.Text += "a13_Sensor board 7 "; //this.labelAlarm.Text += "a13_Sensor board 7 ";
this.CollectionLabelSensorStatus[6].BackGroundColor = this.ColorSensorError; this.CollectionLabelSensorStatus[6].BackGroundColor = this.ColorSensorError;
} }
else else
this.CollectionLabelSensorStatus[6].BackGroundColor = this.ColorSensorNormal; this.CollectionLabelSensorStatus[6].BackGroundColor = this.ColorSensorNormal;
if (alarm.CollectionIsSensorBoardError[7] == true) if (alarm.CollectionIsSensorBoardError[7] == true)
{ {
this.labelAlarm.Text += "a14_Sensor board 8 "; //this.labelAlarm.Text += "a14_Sensor board 8 ";
this.CollectionLabelSensorStatus[7].BackGroundColor = this.ColorSensorError; this.CollectionLabelSensorStatus[7].BackGroundColor = this.ColorSensorError;
} }
else else
this.CollectionLabelSensorStatus[7].BackGroundColor = this.ColorSensorNormal; this.CollectionLabelSensorStatus[7].BackGroundColor = this.ColorSensorNormal;
if (alarm.CollectionIsSensorBoardError[8] == true) if (alarm.CollectionIsSensorBoardError[8] == true)
{ {
this.labelAlarm.Text += "a15_Sensor board 9 "; //this.labelAlarm.Text += "a15_Sensor board 9 ";
this.CollectionLabelSensorStatus[8].BackGroundColor = this.ColorSensorError; this.CollectionLabelSensorStatus[8].BackGroundColor = this.ColorSensorError;
} }
else else
this.CollectionLabelSensorStatus[8].BackGroundColor = this.ColorSensorNormal; this.CollectionLabelSensorStatus[8].BackGroundColor = this.ColorSensorNormal;
if (alarm.CollectionIsSensorBoardError[9] == true) if (alarm.CollectionIsSensorBoardError[9] == true)
{ {
this.labelAlarm.Text += "a16_Sensor board 10 "; //this.labelAlarm.Text += "a16_Sensor board 10 ";
this.CollectionLabelSensorStatus[9].BackGroundColor = this.ColorSensorError; this.CollectionLabelSensorStatus[9].BackGroundColor = this.ColorSensorError;
} }
else else
this.CollectionLabelSensorStatus[9].BackGroundColor = this.ColorSensorNormal; this.CollectionLabelSensorStatus[9].BackGroundColor = this.ColorSensorNormal;
value = value.Trim();
this.label1.Size = new Size(value.Length * 7, 20);
this.label1.Text = value;
if (this.label1.Width > 655)
{
if (this.label1.Text != "")
this.smartTimer1.Start();
}
} }
private void UpdateProgressBarPressure() private void UpdateProgressBarPressure()
@ -711,5 +721,31 @@ namespace INT_PT002.Forms
this.ParentForm.Close(); this.ParentForm.Close();
} }
#endregion #endregion
private void smartTimer1_Tick(object sender, EventArgs e)
{
this.label1.Left = this.label1.Left - 5;
if (this.label1.Left < 0 - this.label1.Width - 20)
this.label1.Left = this.smartGroupBox1.Width - 10;
}
private void smartButton1_Click(object sender, EventArgs e)
{
string value = "";
value = "a1_Servo emergency stop ";
value += "a2_Servo1 ";
value += "a3_Servo2 ";
//value += "a4_Servo1 Torque ";
//value += "a5_Servo2 Torque ";
//value += "a6_Pressure ";
value = value.Trim();
this.label1.Size = new Size(value.Length * 7, 20);
this.label1.Text = value;
if (this.label1.Text != "")
this.smartTimer1.Start();
}
} }
} }

View File

@ -447,6 +447,337 @@
0Lzw4kv37z949M1vvmkYhmEYhmEYTx/pGNM3XvTNn4UAcJDbBAAAADiaAHAQAQAAgIoEgIMIAAAAVCQA 0Lzw4kv37z949M1vvmkYhmEYhmEYTx/pGNM3XvTNn4UAcJDbBAAAADiaAHAQAQAAgIoEgIMIAAAAVCQA
HEQAAACgIgHgIAIAAAAVCQAHEQAAAKhIADiIAAAAQEUCwEEEAAAAKhIADiIAAABQkQBwEAEAAICKBICD HEQAAACgIgHgIAIAAAAVCQAHEQAAAKhIADiIAAAAQEUCwEEEAAAAKhIADiIAAABQkQBwEAEAAICKBICD
CAAAAFQkABziv/3x/w+xVMf7Pm3LzwAAAABJRU5ErkJggg== CAAAAFQkABziv/3x/w+xVMf7Pm3LzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="smartGroupBox1.BackImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
k/Zt/ty8fYq/fLcnwSALuZjJXJUV2mrLbwy6GwIAUIQAUMHhAQAAABoBoAIBAACAQQSACgQAAAAGEQAq
EAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQA
AAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACA
QQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBAB
oAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhA
AAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAA
ABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAG
EQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSA
CgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIB
AACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAA
YBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhE
AKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAq
EAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQA
AAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACA
QQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBAB
oAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhA
AAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAA
ABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAG
EQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSA
CgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIB
AACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAA
YBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhE
AKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAq
EAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQA
AAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACA
QQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBAB
oAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhA
AAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAA
ABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAG
EQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSA
CgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIB
AACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAA
YBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhE
AKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAq
EAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQA
AAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACA
QQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBAB
oAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhA
AAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAA
ABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAG
EQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSA
CgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIB
AACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAA
YBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhE
AKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAq
EAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQA
AAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACA
QQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBAB
oAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhA
AAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAA
ABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAG
EQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSA
CgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIB
AACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAA
YBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhE
AKhAAAAAYBABoAIBAACAQQSACgQAAAAGEQAqEAAAABhEAKhAAAAAYBABoIILAsCjR48+/6df6qoIAAB7
pJNMP9l1mBsEgINcEADu339w78svd4UEAIA90kmmn+w6zA0CwEEuCAAvvPjSg4evd4UEAIA90kmmn+w6
zA0CwEEuCADx6muvvfraV7paAgDAtvSQ6SS73nKbAHCQywLAZz77uVTuwcOH9778sr8HAABgWzrG9I0P
Hr6eHjKdZNdbbhMADnJZAGheePGl+/cfPPrmN980DMMwDMMwjKePdIzpGy/65s9CADjIbQIAAAAcTQA4
iAAAAEBFAsBBBAAAACoSAA4iAAAAUJEAcBABAACAigSAgwgAAABUJAAcRAAAAKAiAeAgAgAAABUJAAcR
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
4MxnU+0oj+xq1smauZessL6XdvP8bFtry22yzbRXUVsG4Jly/ky/9aQf+bj3aifb9bk05+F2MbLQzrc5
Y7eT9nJCbj1QttDeZWJ9cl6Wc5Nlsi23LbflPQ1Z3lmWmzR5j1iuXe95FnJxfVXe5vJzPZnHvqwfSyPb
3hDXDVmTyeUhtwe1XGwyk9G6zGVmeU6ywdx7rso+515y1+3Jb9cuWle3flyLzOces/22b7l5FpZHmrfU
3FcuLu+kmWzvyBnL09uuavvf3qnbcrt22dp6clnOtSl9m8y9LDufhVzVlhe5SSbbDmShyTOcn+snoR1L
WT8byZp5UK03WFs/J1k/d52FPNi2hdwwIzNtOQv52ba5LGeb2UJ7uiIbaWtuaw88P9vF3GMuLtdGNpgd
zo5lg3lo53vedPuzvut2VX62mja5l7aTy63aZNuBZbI9Lcvu7SQAVHBsAMiR0V7bkRfbcqLJobMcwVnO
IZvDLpbJ5XhaXvPdcl5y2Vou5mebWcu5KbrJWG8h8gJuq2Wvsg/5uYy228u9ZCYX283bjkVbXm8zq61f
KgBsW59UF+tzaVZo7x1ttJN2TtE5gee8nWtbW5m3mCykX8lM62PWJ+dl+fzd57Tdj8fSKN9aNrLsedv+
clXrpVq7tkxmZ5b1O8u751rWb483Wl+7XNVkJqPr5JZnOPPZwyxkHzLyHOZnm1nLXeRWS4RYa1trd906
2lzMQ2gbyXIecmqUmeV+s50sZyyPqF0VWWgz6+X11s5XWK7tlrOQi215kZtkMrKQFZaRQmevUpH2JCxt
bq7Kmpm88bG31qLtSXssuZjbtmc1IzPLLuXnsj9tud3wyXq/H8sKG3JHudVyZOYmubhc27lxt5v13bW6
L1dlg7mq7VKbaSXLYZCZ5Vhayp0SL5tqDyo/28WdBIAKjg0AOXTWB1kOo3YkLUdwO7JbYF0f1svx1I6t
tsISfHPqaS+Gdg5azoZN22auWk82bWvLxeUe1y+G3DC7nXtc7qWdCvOzbbnt2PJKWG8zN1xeFQA803JS
XVufS9Ng5RTdlrOQq9Kd5NqchLOQDixbyHJm2hk762QmJ/B2cm4t0fL2sZz2I2f1pUHPFrLltoVF28JF
Z/X1nrd3qGw5y21TmWlvKK19bHt1/vA35K0qD7kt5/00T85yVdN2OD+Xvq3NZKF1dbl59mG5YTaYfW7L
i/W9dNoOt01lI2072X7bSC7mMWZh/dByVTa4vqN2VXtO2sx6edlamzyv4LKd9XIW2sNcy00y2W7btpNy
5KFlJ3OctJ2PLLTbZiOZz1GRvW3rr7XtZJ2M5WIrZZ7tNrnsUn4uz2G2lvncddbPrTKTjefa5cBetO13
k9mfpZq5NltbrtovN1yen/VB2J7k7FWuzUJ71Muhuz7G2gq5VfZ82Yf2cmvL+wkAFYz4I+AcQDm28jPL
OdSW+RyC7chraTI/l8Oovfxy8OVYzGSOtmwhM22FXGyTbSbbabdq2pF9/tKN9SlmfbEtZIPttrn39uJs
k+1e2kktV2Vm2ZnccL3N9srMTLsIwLZ2Iu0m181Ke3fIz3ZOzltJe19oy+2NI01JOye3fiULOUuv3z7a
am1rbSFyq3ZKb5NZbi3RIhezJ7n5enLbes+zA9lmdiwz+ZnlzLQ7bZNZWLqrndquputqjddyX4tM5vlc
3nzbTO4oa7YnMNe2jeRie1/OPq+3kD3MZHvLO9e2kIW2tdbCZoNtI7mjjEy2ciz3lXfz9sDbDrerIgu5
GOvlZWttT3JH2Znctq2wXNstZ6FtfC03yeRSiGU7ubv22POzPZB227aR7G1bPzdcby3a0dWenPYkt1Jm
oe1JlttCnoRsJOu0a5ftZwvpNNrz07azlp1pa661LWSDbVfPb7XH+vlZH5nZn4xMLs92Jtu1mWx1yWT2
OZPtoeUV0SbbQdiOgYsIABUc/jcA7fDKcdMOoDaZgy+HUSbzMsuhnOOsHYjt2IpM5tp28lpWyM3bCrl5
ttaOxeWAXmTNXNtNNrm75S6Wi+0V3nr6tp+Zz8yN99JWyyPKXmU+L5j1NjOZq7JCuwjAtpw/2yl3LS1F
Tqfri+3UmjeF5YydG7bzc2vQs5HzM3Z7+2gz+dluuH6DSH+zbCfLy/ytdXve3iBat7Q8zNxR9qqb3C+P
Jc9Gxo2NV+6ubXN5k2otWu4rF9u+5TnMM5kt5Geu6raT7ecJWc+sLdtvT122n+Vstm2k1SVbbu/X7eEv
T0jbpSy0q9q17ar18rK1ttxVsLt2Wc5CLrblRR71+vDIU5GNtJn2Ft+ehGjHzLKRtj9tzbVcm1stF7N+
tpCZLLT5ZZfW2182e2NfsUe2kFtlaxfdam3ZhyYP8PwgzONdJtsLLXKrTObe80CWyexGdqab3E8AqGDE
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
</value> </value>
</data> </data>
<data name="pictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="pictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -2060,6 +2391,9 @@
BhgAAAAASUVORK5CYII= BhgAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<metadata name="smartTimer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.FormFactorShadowProperty" xml:space="preserve"> <metadata name="$this.FormFactorShadowProperty" xml:space="preserve">
<value>WEBPAD</value> <value>WEBPAD</value>
</metadata> </metadata>

View File

@ -0,0 +1,365 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{37DB9023-1C6E-4094-9777-C626E6885290}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>INT_PT002</RootNamespace>
<AssemblyName>INT_PT002</AssemblyName>
<ProjectTypeGuids>{4D628B5B-2FBC-4AA6-8C16-197242AEB884};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<PlatformFamilyName>WindowsCE</PlatformFamilyName>
<PlatformID>E2BECB1F-8C8C-41ba-B736-9BE7D946A398</PlatformID>
<OSVersion>5.0</OSVersion>
<DeployDirSuffix>INT_PT002</DeployDirSuffix>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<NativePlatformName>Windows CE</NativePlatformName>
<FormFactorID>
</FormFactorID>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;$(PlatformFamilyName)</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<FileAlignment>512</FileAlignment>
<WarningLevel>4</WarningLevel>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;$(PlatformFamilyName)</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<FileAlignment>512</FileAlignment>
<WarningLevel>4</WarningLevel>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.WindowsCE.Forms" />
<Reference Include="mscorlib" />
<Reference Include="SmartXNCommon, Version=5.0.0.6, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\HNS\Embedded SmartX Component\V5.0.0.6_20221115\SmartX_New_5.0.0.6_IEC1000_DOTNETCF3.5수동설치파일\SmartXNCommon.dll</HintPath>
</Reference>
<Reference Include="SmartXNFDCommon, Version=5.0.0.6, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\HNS\Embedded SmartX Component\V5.0.0.6_20221115\SmartX_New_5.0.0.6_IEC1000_DOTNETCF3.5수동설치파일\SmartXNFDCommon.dll</HintPath>
</Reference>
<Reference Include="SmartXN_IEC1000, Version=5.0.0.6, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\HNS\Embedded SmartX Component\V5.0.0.6_20221115\SmartX_New_5.0.0.6_IEC1000_DOTNETCF3.5수동설치파일\SmartXN_IEC1000.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Controls\Bottom\ControlBottomManual.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\Bottom\ControlBottomManual.Designer.cs">
<DependentUpon>ControlBottomManual.cs</DependentUpon>
</Compile>
<Compile Include="Controls\Bottom\ControlBottomSetting.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\Bottom\ControlBottomSetting.Designer.cs">
<DependentUpon>ControlBottomSetting.cs</DependentUpon>
</Compile>
<Compile Include="Controls\Log\ControlMenuLogTemporary.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\Log\ControlMenuLogTemporary.Designer.cs">
<DependentUpon>ControlMenuLogTemporary.cs</DependentUpon>
</Compile>
<Compile Include="Controls\System\ControlMenuSystemInformation.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\System\ControlMenuSystemInformation.Designer.cs">
<DependentUpon>ControlMenuSystemInformation.cs</DependentUpon>
</Compile>
<Compile Include="Controls\Log\ControlMenuLogAlarm.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\Log\ControlMenuLogAlarm.Designer.cs">
<DependentUpon>ControlMenuLogAlarm.cs</DependentUpon>
</Compile>
<Compile Include="Controls\Log\ControlMenuLogHistory.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\Log\ControlMenuLogHistory.Designer.cs">
<DependentUpon>ControlMenuLogHistory.cs</DependentUpon>
</Compile>
<Compile Include="Controls\Log\ControlMenuLogInspection.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\Log\ControlMenuLogInspection.Designer.cs">
<DependentUpon>ControlMenuLogInspection.cs</DependentUpon>
</Compile>
<Compile Include="Controls\Manual\ControlMenuManualIoTest.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\Manual\ControlMenuManualIoTest.Designer.cs">
<DependentUpon>ControlMenuManualIoTest.cs</DependentUpon>
</Compile>
<Compile Include="Controls\Recipe\ControlMenuRecipeSetting.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\Recipe\ControlMenuRecipeSetting.Designer.cs">
<DependentUpon>ControlMenuRecipeSetting.cs</DependentUpon>
</Compile>
<Compile Include="Controls\ControlMainDisplay.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\ControlMainDisplay.Designer.cs">
<DependentUpon>ControlMainDisplay.cs</DependentUpon>
</Compile>
<Compile Include="Controls\ControlMainDisplayDotGraph.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\ControlMainDisplayDotGraph.Designer.cs">
<DependentUpon>ControlMainDisplayDotGraph.cs</DependentUpon>
</Compile>
<Compile Include="Controls\System\ControlMenuSystemStatus.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\System\ControlMenuSystemStatus.Designer.cs">
<DependentUpon>ControlMenuSystemStatus.cs</DependentUpon>
</Compile>
<Compile Include="Controls\User\ControlMenuUserGroupEditor.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\User\ControlMenuUserGroupEditor.Designer.cs">
<DependentUpon>ControlMenuUserGroupEditor.cs</DependentUpon>
</Compile>
<Compile Include="Controls\User\ControlMenuUserUserEditor.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\User\ControlMenuUserUserEditor.Designer.cs">
<DependentUpon>ControlMenuUserUserEditor.cs</DependentUpon>
</Compile>
<Compile Include="DataStore\Communication.cs" />
<Compile Include="DataStore\Define.cs" />
<Compile Include="DataStore\DiffData.cs" />
<Compile Include="DataStore\DispData.cs" />
<Compile Include="DataStore\LeakData.cs" />
<Compile Include="DataStore\Recipe.cs" />
<Compile Include="DataStore\SystemConfiguration.cs" />
<Compile Include="DataStore\PressureData.cs" />
<Compile Include="DataStore\SystemStatus.cs" />
<Compile Include="DialogForms\DialogFormNumKeyPad.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DialogForms\DialogFormNumKeyPad.designer.cs">
<DependentUpon>DialogFormNumKeyPad.cs</DependentUpon>
</Compile>
<Compile Include="DialogForms\DialogFormProgressBar.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DialogForms\DialogFormProgressBar.Designer.cs">
<DependentUpon>DialogFormProgressBar.cs</DependentUpon>
</Compile>
<Compile Include="DialogForms\DialogFormYesNo.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DialogForms\DialogFormYesNo.Designer.cs">
<DependentUpon>DialogFormYesNo.cs</DependentUpon>
</Compile>
<Compile Include="DialogForms\DialogFormMessage.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DialogForms\DialogFormMessage.Designer.cs">
<DependentUpon>DialogFormMessage.cs</DependentUpon>
</Compile>
<Compile Include="DialogForms\DialogFormPasswordKeyPad.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DialogForms\DialogFormPasswordKeyPad.designer.cs">
<DependentUpon>DialogFormPasswordKeyPad.cs</DependentUpon>
</Compile>
<Compile Include="DialogForms\DialogFormLogOn.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DialogForms\DialogFormLogOn.Designer.cs">
<DependentUpon>DialogFormLogOn.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormConfiguration.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormConfiguration.Designer.cs">
<DependentUpon>FormConfiguration.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormMainDisplay.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormMainDisplay.Designer.cs">
<DependentUpon>FormMainDisplay.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormMain.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormMain.Designer.cs">
<DependentUpon>FormMain.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormMainDisplay1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormMainDisplay1.Designer.cs">
<DependentUpon>FormMainDisplay1.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormMainDisplay2.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormMainDisplay2.Designer.cs">
<DependentUpon>FormMainDisplay2.cs</DependentUpon>
</Compile>
<Compile Include="Forms\FormMenu.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\FormMenu.Designer.cs">
<DependentUpon>FormMenu.cs</DependentUpon>
</Compile>
<Compile Include="Helper.cs" />
<Compile Include="Part11_UserManager\UserManager.cs" />
<Compile Include="Part11_UserManager\UserManager.Define.cs" />
<Compile Include="Part11_UserManager\UserManager.Structure.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Controls\ControlMainDisplay.resx">
<DependentUpon>ControlMainDisplay.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\ControlMainDisplayDotGraph.resx">
<DependentUpon>ControlMainDisplayDotGraph.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\Log\ControlMenuLogTemporary.resx">
<DependentUpon>ControlMenuLogTemporary.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\System\ControlMenuSystemInformation.resx">
<DependentUpon>ControlMenuSystemInformation.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\Log\ControlMenuLogAlarm.resx">
<DependentUpon>ControlMenuLogAlarm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\Log\ControlMenuLogHistory.resx">
<DependentUpon>ControlMenuLogHistory.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\Log\ControlMenuLogInspection.resx">
<DependentUpon>ControlMenuLogInspection.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\Manual\ControlMenuManualIoTest.resx">
<DependentUpon>ControlMenuManualIoTest.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\Recipe\ControlMenuRecipeSetting.resx">
<DependentUpon>ControlMenuRecipeSetting.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\System\ControlMenuSystemStatus.resx">
<DependentUpon>ControlMenuSystemStatus.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\User\ControlMenuUserGroupEditor.resx">
<DependentUpon>ControlMenuUserGroupEditor.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Controls\User\ControlMenuUserUserEditor.resx">
<DependentUpon>ControlMenuUserUserEditor.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DialogForms\DialogFormLogOn.resx">
<DependentUpon>DialogFormLogOn.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DialogForms\DialogFormNumKeyPad.resx">
<DependentUpon>DialogFormNumKeyPad.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DialogForms\DialogFormProgressBar.resx">
<DependentUpon>DialogFormProgressBar.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DialogForms\DialogFormYesNo.resx">
<DependentUpon>DialogFormYesNo.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DialogForms\DialogFormMessage.resx">
<DependentUpon>DialogFormMessage.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DialogForms\DialogFormPasswordKeyPad.resx">
<DependentUpon>DialogFormPasswordKeyPad.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms\FormConfiguration.resx">
<DependentUpon>FormConfiguration.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms\FormMainDisplay.resx">
<DependentUpon>FormMainDisplay.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms\FormMain.resx">
<DependentUpon>FormMain.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms\FormMainDisplay1.resx">
<DependentUpon>FormMainDisplay1.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms\FormMainDisplay2.resx">
<DependentUpon>FormMainDisplay2.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms\FormMenu.resx">
<DependentUpon>FormMenu.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}">
<HostingProcess disable="1" />
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>