- InModbus V2.0.4.0

- Modbus 항목 속도(ea/m), 금속검출, 이중진입 추가
 - (버그수정) 기타로그 - 'Data\\Others' 폴더 내 'Log' 폴더 정렬 예외처리함
master V3.3.0
DESKTOP-999R8N3\CJY 2024-02-07 09:42:03 +09:00
parent a151bd378b
commit 5755987667
30 changed files with 4948 additions and 2463 deletions

View File

@ -1227,7 +1227,6 @@ namespace ITC81DB_0H.Controls
{ {
if (this.labelServerStatus.Text != ">Start") if (this.labelServerStatus.Text != ">Start")
this.labelServerStatus.Text = ">Start"; this.labelServerStatus.Text = ">Start";
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.EthernetConnect, "Server");
this.smartListBoxClientList.ClearAll(); this.smartListBoxClientList.ClearAll();
this.labelClientCount.Text = "-"; this.labelClientCount.Text = "-";
@ -1250,7 +1249,6 @@ namespace ITC81DB_0H.Controls
{ {
if (this.labelServerStatus.Text != ">Stop") if (this.labelServerStatus.Text != ">Stop")
this.labelServerStatus.Text = ">Stop"; this.labelServerStatus.Text = ">Stop";
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.EthernetDisconnect, "Server");
this.smartListBoxClientList.ClearAll(); this.smartListBoxClientList.ClearAll();
this.labelClientCount.Text = "-"; this.labelClientCount.Text = "-";

View File

@ -204,6 +204,8 @@ namespace ITC81DB_0H.Controls
this.CopyFolder(this.ParentForm.ParentForm.PathFlashDiskSystemFile2Folder, this.ParentForm.ParentForm.PathSDCardSystemFile2Folder); this.CopyFolder(this.ParentForm.ParentForm.PathFlashDiskSystemFile2Folder, this.ParentForm.ParentForm.PathSDCardSystemFile2Folder);
this.progressBarInitialize.Value += 20; this.progressBarInitialize.Value += 20;
this.DeleteCounterFile(); this.DeleteCounterFile();
this.progressBarInitialize.Value += 10;
this.InitializeCount(this.ParentForm.ParentForm.SystemConfig1.ProductNumber);
this.progressBarInitialize.Value = 100; this.progressBarInitialize.Value = 100;
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Init_LCD, ""); this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Init_LCD, "");
@ -222,19 +224,21 @@ namespace ITC81DB_0H.Controls
this.UpdateLabelStatus(this.InitializeStep, this.ParentForm.ParentForm.SystemConfig1.Language); this.UpdateLabelStatus(this.InitializeStep, this.ParentForm.ParentForm.SystemConfig1.Language);
this.progressBarInitialize.Value = 0; this.progressBarInitialize.Value = 0;
this.progressBarInitialize.Value += 15; this.progressBarInitialize.Value += 10;
// SD Card - SystemFile2를 RemoveFiles로 이동 // SD Card - SystemFile2를 RemoveFiles로 이동
this.MoveToRemoveFileFolder(this.ParentForm.ParentForm.PathSDCardSystemFile2Folder); this.MoveToRemoveFileFolder(this.ParentForm.ParentForm.PathSDCardSystemFile2Folder);
this.progressBarInitialize.Value += 15; this.progressBarInitialize.Value += 10;
// Flash Disk - SystemFile2 이동 // Flash Disk - SystemFile2 이동
this.CopyFolder(this.ParentForm.ParentForm.PathFlashDiskSystemFile2Folder, this.ParentForm.ParentForm.PathSDCardSystemFile2Folder); this.CopyFolder(this.ParentForm.ParentForm.PathFlashDiskSystemFile2Folder, this.ParentForm.ParentForm.PathSDCardSystemFile2Folder);
this.progressBarInitialize.Value += 10; this.progressBarInitialize.Value += 10;
// User 삭제 // User 삭제
UserManager.UserManager_UserAllDel(); UserManager.UserManager_UserAllDel();
this.progressBarInitialize.Value += 5; this.progressBarInitialize.Value += 10;
this.DeleteCounterFile(); this.DeleteCounterFile();
this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Init_LCD, ""); this.ParentForm.ParentForm.SetTrackingHistoryData(Define.E_TrackingOperation.Init_LCD, "");
this.progressBarInitialize.Value += 15; this.progressBarInitialize.Value += 10;
this.InitializeCount(this.ParentForm.ParentForm.SystemConfig1.ProductNumber);
this.progressBarInitialize.Value += 10;
this.timer.Enabled = true; this.timer.Enabled = true;
this.ParentForm.ParentForm.TransferData(CommunicationCommand.Initialization, CommunicationID.MainBoard); this.ParentForm.ParentForm.TransferData(CommunicationCommand.Initialization, CommunicationID.MainBoard);
@ -290,6 +294,23 @@ namespace ITC81DB_0H.Controls
this.ParentForm.Enabled = false; this.ParentForm.Enabled = false;
} }
} }
private void InitializeCount(int productNumber)
{
StringBuilder sb = new StringBuilder();
sb.Append(Helper.StringZeroFillDigits4(productNumber.ToString())); // 품번(4)
sb.Append("0000000"); // ExNG 카운트(7)
sb.Append("0000000"); // 상한 카운트(7)
sb.Append("0000000"); // 기준 카운트(7)
sb.Append("0000000"); // 하한 카운트(7)
sb.Append("0000000"); // 금속 카운트(7)
sb.Append("0000000"); // 이중 카운트(7)
sb.Append("0000000"); // Dummy3(7)
sb.Append("0000000"); // Dummy4(7)
sb.Append("0000"); // Dummy1(4)
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ParameterCount, sb.ToString());
}
private void UpdateLabelStatus(Define.E_Step3 step, Define.E_LanguageID language) private void UpdateLabelStatus(Define.E_Step3 step, Define.E_LanguageID language)
{ {

View File

@ -143,7 +143,7 @@ namespace ITC81DB_0H.Controls
this.ClearListBox(); this.ClearListBox();
this.ClearData(); this.ClearData();
} }
private void UpdateFileList() public void UpdateFileList()
{ {
int fileCount = 0; int fileCount = 0;
//TreeNode node; //TreeNode node;
@ -653,6 +653,12 @@ namespace ITC81DB_0H.Controls
{ {
this.FileClose(); this.FileClose();
this.ParentForm.Backup(Define.E_DataType.History, this.treeView); this.ParentForm.Backup(Define.E_DataType.History, this.treeView);
if (this.ParentForm.ParentForm.SystemConfig3.IsPart11 == false)
{
this.UpdateFileList();
this.treeView.ExpandAll();
}
} }
private void buttonUp_Click(object sender, EventArgs e) private void buttonUp_Click(object sender, EventArgs e)

View File

@ -676,6 +676,12 @@ namespace ITC81DB_0H.Controls
{ {
this.FileClose(); this.FileClose();
this.ParentForm.Backup(Define.E_DataType.Inspection, this.treeView); this.ParentForm.Backup(Define.E_DataType.Inspection, this.treeView);
if (this.ParentForm.ParentForm.SystemConfig3.IsPart11 == false)
{
this.UpdateFileList();
this.treeView.ExpandAll();
}
} }
private void buttonUp_Click(object sender, EventArgs e) private void buttonUp_Click(object sender, EventArgs e)

View File

@ -604,6 +604,12 @@ namespace ITC81DB_0H.Controls
{ {
this.FileClose(); this.FileClose();
this.ParentForm.Backup(Define.E_DataType.Others, this.treeView); this.ParentForm.Backup(Define.E_DataType.Others, this.treeView);
if (this.ParentForm.ParentForm.SystemConfig3.IsPart11 == false)
{
this.UpdateFileList();
this.treeView.ExpandAll();
}
} }
private void buttonUp_Click(object sender, EventArgs e) private void buttonUp_Click(object sender, EventArgs e)

View File

@ -115,7 +115,7 @@
this.labelBalanceWeight.Name = "labelBalanceWeight"; this.labelBalanceWeight.Name = "labelBalanceWeight";
this.labelBalanceWeight.Size = new System.Drawing.Size(101, 40); this.labelBalanceWeight.Size = new System.Drawing.Size(101, 40);
this.labelBalanceWeight.TabIndex = 495; this.labelBalanceWeight.TabIndex = 495;
this.labelBalanceWeight.Text = "123"; this.labelBalanceWeight.Text = "500.0";
this.labelBalanceWeight.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right; this.labelBalanceWeight.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
this.labelBalanceWeight.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; this.labelBalanceWeight.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelBalanceWeight.Wordwrap = false; this.labelBalanceWeight.Wordwrap = false;

View File

@ -30,13 +30,22 @@
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlConfiEthernetLocalIP)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlConfiEthernetLocalIP));
this.smartGroupBox1 = new SmartX.SmartGroupBox(); this.smartGroupBox1 = new SmartX.SmartGroupBox();
this.buttonSave2 = new SmartX.SmartButton();
this.smartLabel5 = new SmartX.SmartLabel();
this.smartLabel4 = new SmartX.SmartLabel();
this.labelMACAddress6 = new SmartX.SmartLabel();
this.labelMACAddress5 = new SmartX.SmartLabel();
this.labelMACAddress4 = new SmartX.SmartLabel();
this.labelMACAddress1 = new SmartX.SmartLabel();
this.labelTitleMACAddress = new SmartX.SmartLabel();
this.smartSeparatorLine1 = new SmartX.SmartSeparatorLine();
this.buttonSave1 = new SmartX.SmartButton();
this.labelHelp = new SmartX.SmartLabel(); this.labelHelp = new SmartX.SmartLabel();
this.buttonAddon = new SmartX.SmartButton(); this.buttonAddon = new SmartX.SmartButton();
this.panel2 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel();
this.radioButtonLocalIpStatic = new SmartX.SmartRadioButton(); this.radioButtonLocalIpStatic = new SmartX.SmartRadioButton();
this.radioButtonLocalIpDHCP = new SmartX.SmartRadioButton(); this.radioButtonLocalIpDHCP = new SmartX.SmartRadioButton();
this.labelTitleIPConfiguration = new SmartX.SmartLabel(); this.labelTitleIPConfiguration = new SmartX.SmartLabel();
this.buttonSave1 = new SmartX.SmartButton();
this.labelLocalSubnetMask4 = new SmartX.SmartLabel(); this.labelLocalSubnetMask4 = new SmartX.SmartLabel();
this.labelLocalSubnetMask3 = new SmartX.SmartLabel(); this.labelLocalSubnetMask3 = new SmartX.SmartLabel();
this.labelLocalSubnetMask2 = new SmartX.SmartLabel(); this.labelLocalSubnetMask2 = new SmartX.SmartLabel();
@ -60,11 +69,20 @@
// //
this.smartGroupBox1.BackPictureBox = null; this.smartGroupBox1.BackPictureBox = null;
this.smartGroupBox1.BackPictureBox1 = null; this.smartGroupBox1.BackPictureBox1 = null;
this.smartGroupBox1.Controls.Add(this.buttonSave2);
this.smartGroupBox1.Controls.Add(this.smartLabel5);
this.smartGroupBox1.Controls.Add(this.smartLabel4);
this.smartGroupBox1.Controls.Add(this.labelMACAddress6);
this.smartGroupBox1.Controls.Add(this.labelMACAddress5);
this.smartGroupBox1.Controls.Add(this.labelMACAddress4);
this.smartGroupBox1.Controls.Add(this.labelMACAddress1);
this.smartGroupBox1.Controls.Add(this.labelTitleMACAddress);
this.smartGroupBox1.Controls.Add(this.smartSeparatorLine1);
this.smartGroupBox1.Controls.Add(this.buttonSave1);
this.smartGroupBox1.Controls.Add(this.labelHelp); this.smartGroupBox1.Controls.Add(this.labelHelp);
this.smartGroupBox1.Controls.Add(this.buttonAddon); this.smartGroupBox1.Controls.Add(this.buttonAddon);
this.smartGroupBox1.Controls.Add(this.panel2); this.smartGroupBox1.Controls.Add(this.panel2);
this.smartGroupBox1.Controls.Add(this.labelTitleIPConfiguration); this.smartGroupBox1.Controls.Add(this.labelTitleIPConfiguration);
this.smartGroupBox1.Controls.Add(this.buttonSave1);
this.smartGroupBox1.Controls.Add(this.labelLocalSubnetMask4); this.smartGroupBox1.Controls.Add(this.labelLocalSubnetMask4);
this.smartGroupBox1.Controls.Add(this.labelLocalSubnetMask3); this.smartGroupBox1.Controls.Add(this.labelLocalSubnetMask3);
this.smartGroupBox1.Controls.Add(this.labelLocalSubnetMask2); this.smartGroupBox1.Controls.Add(this.labelLocalSubnetMask2);
@ -94,21 +112,249 @@
this.smartGroupBox1.Text = "smartGroupBox1"; this.smartGroupBox1.Text = "smartGroupBox1";
this.smartGroupBox1.TextColor = System.Drawing.Color.Black; this.smartGroupBox1.TextColor = System.Drawing.Color.Black;
// //
// buttonSave2
//
this.buttonSave2.BackPictureBox = null;
this.buttonSave2.BackPictureBox1 = null;
this.buttonSave2.BackPictureBox2 = null;
this.buttonSave2.ButtonColor = System.Drawing.Color.LightGray;
this.buttonSave2.ButtonImageAutoSize = true;
this.buttonSave2.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonSave2.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonSave2.DisableImage")));
this.buttonSave2.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonSave2.DownImage")));
this.buttonSave2.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.buttonSave2.ForeColor = System.Drawing.Color.White;
this.buttonSave2.GroupID = 0;
this.buttonSave2.InitVisible = true;
this.buttonSave2.Location = new System.Drawing.Point(608, 158);
this.buttonSave2.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonSave2.Name = "buttonSave2";
this.buttonSave2.NestedClickEventPrevent = false;
this.buttonSave2.OutlinePixel = 1;
this.buttonSave2.RepeatInterval = 200;
this.buttonSave2.RepeatIntervalAccelerate = null;
this.buttonSave2.SafeInterval = 200;
this.buttonSave2.Size = new System.Drawing.Size(80, 40);
this.buttonSave2.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonSave2.TabIndex = 228;
this.buttonSave2.Text = "Save";
this.buttonSave2.TextColor = System.Drawing.Color.White;
this.buttonSave2.TextDownColor = System.Drawing.Color.White;
this.buttonSave2.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonSave2.TextLocation = new System.Drawing.Point(0, 0);
this.buttonSave2.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonSave2.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonSave2.UpImage")));
this.buttonSave2.Click += new System.EventHandler(this.buttonSave2_Click);
//
// smartLabel5
//
this.smartLabel5.BackColor = System.Drawing.Color.Black;
this.smartLabel5.BackPictureBox = null;
this.smartLabel5.BackPictureBox1 = null;
this.smartLabel5.BackPictureBox2 = null;
this.smartLabel5.BorderColor = System.Drawing.Color.Black;
this.smartLabel5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.smartLabel5.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.smartLabel5.ForeColor = System.Drawing.Color.White;
this.smartLabel5.InitVisible = true;
this.smartLabel5.LineSpacing = 0F;
this.smartLabel5.Location = new System.Drawing.Point(516, 165);
this.smartLabel5.Name = "smartLabel5";
this.smartLabel5.Size = new System.Drawing.Size(10, 28);
this.smartLabel5.TabIndex = 227;
this.smartLabel5.Text = ":";
this.smartLabel5.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel5.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel5.Wordwrap = false;
//
// smartLabel4
//
this.smartLabel4.BackColor = System.Drawing.Color.Black;
this.smartLabel4.BackPictureBox = null;
this.smartLabel4.BackPictureBox1 = null;
this.smartLabel4.BackPictureBox2 = null;
this.smartLabel4.BorderColor = System.Drawing.Color.Black;
this.smartLabel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.smartLabel4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.smartLabel4.ForeColor = System.Drawing.Color.White;
this.smartLabel4.InitVisible = true;
this.smartLabel4.LineSpacing = 0F;
this.smartLabel4.Location = new System.Drawing.Point(460, 165);
this.smartLabel4.Name = "smartLabel4";
this.smartLabel4.Size = new System.Drawing.Size(10, 28);
this.smartLabel4.TabIndex = 226;
this.smartLabel4.Text = ":";
this.smartLabel4.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.smartLabel4.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.smartLabel4.Wordwrap = false;
//
// labelMACAddress6
//
this.labelMACAddress6.BackColor = System.Drawing.SystemColors.Window;
this.labelMACAddress6.BackPictureBox = null;
this.labelMACAddress6.BackPictureBox1 = null;
this.labelMACAddress6.BackPictureBox2 = null;
this.labelMACAddress6.BorderColor = System.Drawing.Color.Black;
this.labelMACAddress6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.labelMACAddress6.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelMACAddress6.InitVisible = true;
this.labelMACAddress6.LineSpacing = 0F;
this.labelMACAddress6.Location = new System.Drawing.Point(529, 165);
this.labelMACAddress6.Name = "labelMACAddress6";
this.labelMACAddress6.Size = new System.Drawing.Size(40, 28);
this.labelMACAddress6.TabIndex = 225;
this.labelMACAddress6.Text = "AA";
this.labelMACAddress6.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelMACAddress6.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelMACAddress6.Wordwrap = false;
this.labelMACAddress6.Click += new System.EventHandler(this.labelMACAddress_Click);
//
// labelMACAddress5
//
this.labelMACAddress5.BackColor = System.Drawing.SystemColors.Window;
this.labelMACAddress5.BackPictureBox = null;
this.labelMACAddress5.BackPictureBox1 = null;
this.labelMACAddress5.BackPictureBox2 = null;
this.labelMACAddress5.BorderColor = System.Drawing.Color.Black;
this.labelMACAddress5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.labelMACAddress5.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelMACAddress5.InitVisible = true;
this.labelMACAddress5.LineSpacing = 0F;
this.labelMACAddress5.Location = new System.Drawing.Point(473, 165);
this.labelMACAddress5.Name = "labelMACAddress5";
this.labelMACAddress5.Size = new System.Drawing.Size(40, 28);
this.labelMACAddress5.TabIndex = 224;
this.labelMACAddress5.Text = "AA";
this.labelMACAddress5.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelMACAddress5.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelMACAddress5.Wordwrap = false;
this.labelMACAddress5.Click += new System.EventHandler(this.labelMACAddress_Click);
//
// labelMACAddress4
//
this.labelMACAddress4.BackColor = System.Drawing.SystemColors.Window;
this.labelMACAddress4.BackPictureBox = null;
this.labelMACAddress4.BackPictureBox1 = null;
this.labelMACAddress4.BackPictureBox2 = null;
this.labelMACAddress4.BorderColor = System.Drawing.Color.Black;
this.labelMACAddress4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.labelMACAddress4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelMACAddress4.InitVisible = true;
this.labelMACAddress4.LineSpacing = 0F;
this.labelMACAddress4.Location = new System.Drawing.Point(417, 165);
this.labelMACAddress4.Name = "labelMACAddress4";
this.labelMACAddress4.Size = new System.Drawing.Size(40, 28);
this.labelMACAddress4.TabIndex = 223;
this.labelMACAddress4.Text = "AA";
this.labelMACAddress4.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelMACAddress4.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelMACAddress4.Wordwrap = false;
this.labelMACAddress4.Click += new System.EventHandler(this.labelMACAddress_Click);
//
// labelMACAddress1
//
this.labelMACAddress1.BackColor = System.Drawing.Color.Black;
this.labelMACAddress1.BackPictureBox = null;
this.labelMACAddress1.BackPictureBox1 = null;
this.labelMACAddress1.BackPictureBox2 = null;
this.labelMACAddress1.BorderColor = System.Drawing.Color.Black;
this.labelMACAddress1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.labelMACAddress1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelMACAddress1.ForeColor = System.Drawing.Color.White;
this.labelMACAddress1.InitVisible = true;
this.labelMACAddress1.LineSpacing = 0F;
this.labelMACAddress1.Location = new System.Drawing.Point(305, 165);
this.labelMACAddress1.Name = "labelMACAddress1";
this.labelMACAddress1.Size = new System.Drawing.Size(112, 28);
this.labelMACAddress1.TabIndex = 222;
this.labelMACAddress1.Text = "AA:AA:AA:";
this.labelMACAddress1.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
this.labelMACAddress1.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelMACAddress1.Wordwrap = false;
//
// labelTitleMACAddress
//
this.labelTitleMACAddress.BackPictureBox1 = null;
this.labelTitleMACAddress.BackPictureBox2 = this.smartGroupBox1;
this.labelTitleMACAddress.BorderColor = System.Drawing.Color.Black;
this.labelTitleMACAddress.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleMACAddress.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelTitleMACAddress.ForeColor = System.Drawing.Color.Red;
this.labelTitleMACAddress.InitVisible = true;
this.labelTitleMACAddress.LineSpacing = 0F;
this.labelTitleMACAddress.Location = new System.Drawing.Point(139, 165);
this.labelTitleMACAddress.Name = "labelTitleMACAddress";
this.labelTitleMACAddress.Size = new System.Drawing.Size(160, 28);
this.labelTitleMACAddress.TabIndex = 221;
this.labelTitleMACAddress.Text = "MAC Address";
this.labelTitleMACAddress.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle;
this.labelTitleMACAddress.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleMACAddress.Wordwrap = false;
//
// smartSeparatorLine1
//
this.smartSeparatorLine1.InitVisible = true;
this.smartSeparatorLine1.Line1Color = System.Drawing.Color.DimGray;
this.smartSeparatorLine1.Line1Width = 1F;
this.smartSeparatorLine1.Line2Color = System.Drawing.Color.LightGray;
this.smartSeparatorLine1.Line2Visible = true;
this.smartSeparatorLine1.Line2Width = 1F;
this.smartSeparatorLine1.LineDirection = SmartX.SmartSeparatorLine.DIR.Horizontal;
this.smartSeparatorLine1.Location = new System.Drawing.Point(132, 150);
this.smartSeparatorLine1.Name = "smartSeparatorLine1";
this.smartSeparatorLine1.Size = new System.Drawing.Size(556, 2);
this.smartSeparatorLine1.TabIndex = 220;
this.smartSeparatorLine1.Text = "smartSeparatorLine1";
//
// buttonSave1
//
this.buttonSave1.BackPictureBox = null;
this.buttonSave1.BackPictureBox1 = null;
this.buttonSave1.BackPictureBox2 = null;
this.buttonSave1.ButtonColor = System.Drawing.Color.LightGray;
this.buttonSave1.ButtonImageAutoSize = true;
this.buttonSave1.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonSave1.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonSave1.DisableImage")));
this.buttonSave1.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonSave1.DownImage")));
this.buttonSave1.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.buttonSave1.ForeColor = System.Drawing.Color.White;
this.buttonSave1.GroupID = 0;
this.buttonSave1.InitVisible = true;
this.buttonSave1.Location = new System.Drawing.Point(608, 60);
this.buttonSave1.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonSave1.Name = "buttonSave1";
this.buttonSave1.NestedClickEventPrevent = false;
this.buttonSave1.OutlinePixel = 1;
this.buttonSave1.RepeatInterval = 200;
this.buttonSave1.RepeatIntervalAccelerate = null;
this.buttonSave1.SafeInterval = 200;
this.buttonSave1.Size = new System.Drawing.Size(80, 40);
this.buttonSave1.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonSave1.TabIndex = 202;
this.buttonSave1.Text = "Save";
this.buttonSave1.TextColor = System.Drawing.Color.White;
this.buttonSave1.TextDownColor = System.Drawing.Color.White;
this.buttonSave1.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonSave1.TextLocation = new System.Drawing.Point(0, 0);
this.buttonSave1.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonSave1.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonSave1.UpImage")));
this.buttonSave1.Click += new System.EventHandler(this.buttonSave1_Click);
//
// labelHelp // labelHelp
// //
this.labelHelp.BackPictureBox1 = null; this.labelHelp.BackPictureBox1 = null;
this.labelHelp.BackPictureBox2 = this.smartGroupBox1; this.labelHelp.BackPictureBox2 = this.smartGroupBox1;
this.labelHelp.BorderColor = System.Drawing.Color.Black; this.labelHelp.BorderColor = System.Drawing.Color.Black;
this.labelHelp.BorderStyle = System.Windows.Forms.BorderStyle.None; this.labelHelp.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelHelp.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelHelp.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold);
this.labelHelp.ForeColor = System.Drawing.Color.Red; this.labelHelp.ForeColor = System.Drawing.Color.Red;
this.labelHelp.InitVisible = true; this.labelHelp.InitVisible = true;
this.labelHelp.LineSpacing = 0F; this.labelHelp.LineSpacing = 0F;
this.labelHelp.Location = new System.Drawing.Point(139, 183); this.labelHelp.Location = new System.Drawing.Point(139, 213);
this.labelHelp.Name = "labelHelp"; this.labelHelp.Name = "labelHelp";
this.labelHelp.Size = new System.Drawing.Size(548, 43); this.labelHelp.Size = new System.Drawing.Size(549, 20);
this.labelHelp.TabIndex = 200; this.labelHelp.TabIndex = 200;
this.labelHelp.Text = "※ IP Configuration 변경 시, 재부팅 후 정상적으로 연결됩니다."; this.labelHelp.Text = "※ 설정 후, 재부팅 필수";
this.labelHelp.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left; this.labelHelp.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelHelp.TextVAlign = SmartX.SmartLabel.TextVerAlign.Top; this.labelHelp.TextVAlign = SmartX.SmartLabel.TextVerAlign.Top;
this.labelHelp.Wordwrap = true; this.labelHelp.Wordwrap = true;
@ -152,7 +398,7 @@
this.panel2.BackColor = System.Drawing.Color.Black; this.panel2.BackColor = System.Drawing.Color.Black;
this.panel2.Controls.Add(this.radioButtonLocalIpStatic); this.panel2.Controls.Add(this.radioButtonLocalIpStatic);
this.panel2.Controls.Add(this.radioButtonLocalIpDHCP); this.panel2.Controls.Add(this.radioButtonLocalIpDHCP);
this.panel2.Location = new System.Drawing.Point(305, 43); this.panel2.Location = new System.Drawing.Point(305, 10);
this.panel2.Name = "panel2"; this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(218, 32); this.panel2.Size = new System.Drawing.Size(218, 32);
// //
@ -217,10 +463,10 @@
this.labelTitleIPConfiguration.BorderColor = System.Drawing.Color.Black; this.labelTitleIPConfiguration.BorderColor = System.Drawing.Color.Black;
this.labelTitleIPConfiguration.BorderStyle = System.Windows.Forms.BorderStyle.None; this.labelTitleIPConfiguration.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitleIPConfiguration.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); this.labelTitleIPConfiguration.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold);
this.labelTitleIPConfiguration.ForeColor = System.Drawing.Color.White; this.labelTitleIPConfiguration.ForeColor = System.Drawing.Color.Red;
this.labelTitleIPConfiguration.InitVisible = true; this.labelTitleIPConfiguration.InitVisible = true;
this.labelTitleIPConfiguration.LineSpacing = 0F; this.labelTitleIPConfiguration.LineSpacing = 0F;
this.labelTitleIPConfiguration.Location = new System.Drawing.Point(139, 47); this.labelTitleIPConfiguration.Location = new System.Drawing.Point(139, 14);
this.labelTitleIPConfiguration.Name = "labelTitleIPConfiguration"; this.labelTitleIPConfiguration.Name = "labelTitleIPConfiguration";
this.labelTitleIPConfiguration.Size = new System.Drawing.Size(160, 28); this.labelTitleIPConfiguration.Size = new System.Drawing.Size(160, 28);
this.labelTitleIPConfiguration.TabIndex = 195; this.labelTitleIPConfiguration.TabIndex = 195;
@ -229,37 +475,6 @@
this.labelTitleIPConfiguration.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; this.labelTitleIPConfiguration.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelTitleIPConfiguration.Wordwrap = false; this.labelTitleIPConfiguration.Wordwrap = false;
// //
// buttonSave1
//
this.buttonSave1.BackPictureBox = null;
this.buttonSave1.BackPictureBox1 = null;
this.buttonSave1.BackPictureBox2 = null;
this.buttonSave1.ButtonColor = System.Drawing.Color.Gray;
this.buttonSave1.ButtonImageAutoSize = true;
this.buttonSave1.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonSave1.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonSave1.DisableImage")));
this.buttonSave1.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonSave1.DownImage")));
this.buttonSave1.GroupID = 0;
this.buttonSave1.InitVisible = true;
this.buttonSave1.Location = new System.Drawing.Point(540, 127);
this.buttonSave1.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonSave1.Name = "buttonSave1";
this.buttonSave1.NestedClickEventPrevent = false;
this.buttonSave1.OutlinePixel = 1;
this.buttonSave1.RepeatInterval = 200;
this.buttonSave1.RepeatIntervalAccelerate = null;
this.buttonSave1.SafeInterval = 200;
this.buttonSave1.Size = new System.Drawing.Size(50, 50);
this.buttonSave1.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonSave1.TabIndex = 194;
this.buttonSave1.TextColor = System.Drawing.Color.Black;
this.buttonSave1.TextDownColor = System.Drawing.Color.White;
this.buttonSave1.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonSave1.TextLocation = new System.Drawing.Point(0, 0);
this.buttonSave1.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonSave1.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonSave1.UpImage")));
this.buttonSave1.Click += new System.EventHandler(this.buttonSave1_Click);
//
// labelLocalSubnetMask4 // labelLocalSubnetMask4
// //
this.labelLocalSubnetMask4.BackColor = System.Drawing.SystemColors.Window; this.labelLocalSubnetMask4.BackColor = System.Drawing.SystemColors.Window;
@ -271,7 +486,7 @@
this.labelLocalSubnetMask4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalSubnetMask4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalSubnetMask4.InitVisible = true; this.labelLocalSubnetMask4.InitVisible = true;
this.labelLocalSubnetMask4.LineSpacing = 0F; this.labelLocalSubnetMask4.LineSpacing = 0F;
this.labelLocalSubnetMask4.Location = new System.Drawing.Point(473, 115); this.labelLocalSubnetMask4.Location = new System.Drawing.Point(473, 82);
this.labelLocalSubnetMask4.Name = "labelLocalSubnetMask4"; this.labelLocalSubnetMask4.Name = "labelLocalSubnetMask4";
this.labelLocalSubnetMask4.Size = new System.Drawing.Size(50, 28); this.labelLocalSubnetMask4.Size = new System.Drawing.Size(50, 28);
this.labelLocalSubnetMask4.TabIndex = 193; this.labelLocalSubnetMask4.TabIndex = 193;
@ -292,7 +507,7 @@
this.labelLocalSubnetMask3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalSubnetMask3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalSubnetMask3.InitVisible = true; this.labelLocalSubnetMask3.InitVisible = true;
this.labelLocalSubnetMask3.LineSpacing = 0F; this.labelLocalSubnetMask3.LineSpacing = 0F;
this.labelLocalSubnetMask3.Location = new System.Drawing.Point(417, 115); this.labelLocalSubnetMask3.Location = new System.Drawing.Point(417, 82);
this.labelLocalSubnetMask3.Name = "labelLocalSubnetMask3"; this.labelLocalSubnetMask3.Name = "labelLocalSubnetMask3";
this.labelLocalSubnetMask3.Size = new System.Drawing.Size(50, 28); this.labelLocalSubnetMask3.Size = new System.Drawing.Size(50, 28);
this.labelLocalSubnetMask3.TabIndex = 192; this.labelLocalSubnetMask3.TabIndex = 192;
@ -313,7 +528,7 @@
this.labelLocalSubnetMask2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalSubnetMask2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalSubnetMask2.InitVisible = true; this.labelLocalSubnetMask2.InitVisible = true;
this.labelLocalSubnetMask2.LineSpacing = 0F; this.labelLocalSubnetMask2.LineSpacing = 0F;
this.labelLocalSubnetMask2.Location = new System.Drawing.Point(361, 115); this.labelLocalSubnetMask2.Location = new System.Drawing.Point(361, 82);
this.labelLocalSubnetMask2.Name = "labelLocalSubnetMask2"; this.labelLocalSubnetMask2.Name = "labelLocalSubnetMask2";
this.labelLocalSubnetMask2.Size = new System.Drawing.Size(50, 28); this.labelLocalSubnetMask2.Size = new System.Drawing.Size(50, 28);
this.labelLocalSubnetMask2.TabIndex = 191; this.labelLocalSubnetMask2.TabIndex = 191;
@ -334,7 +549,7 @@
this.labelLocalSubnetMask1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalSubnetMask1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalSubnetMask1.InitVisible = true; this.labelLocalSubnetMask1.InitVisible = true;
this.labelLocalSubnetMask1.LineSpacing = 0F; this.labelLocalSubnetMask1.LineSpacing = 0F;
this.labelLocalSubnetMask1.Location = new System.Drawing.Point(305, 115); this.labelLocalSubnetMask1.Location = new System.Drawing.Point(305, 82);
this.labelLocalSubnetMask1.Name = "labelLocalSubnetMask1"; this.labelLocalSubnetMask1.Name = "labelLocalSubnetMask1";
this.labelLocalSubnetMask1.Size = new System.Drawing.Size(50, 28); this.labelLocalSubnetMask1.Size = new System.Drawing.Size(50, 28);
this.labelLocalSubnetMask1.TabIndex = 190; this.labelLocalSubnetMask1.TabIndex = 190;
@ -354,7 +569,7 @@
this.labelTitleSubnetMask.ForeColor = System.Drawing.Color.White; this.labelTitleSubnetMask.ForeColor = System.Drawing.Color.White;
this.labelTitleSubnetMask.InitVisible = true; this.labelTitleSubnetMask.InitVisible = true;
this.labelTitleSubnetMask.LineSpacing = 0F; this.labelTitleSubnetMask.LineSpacing = 0F;
this.labelTitleSubnetMask.Location = new System.Drawing.Point(139, 115); this.labelTitleSubnetMask.Location = new System.Drawing.Point(139, 82);
this.labelTitleSubnetMask.Name = "labelTitleSubnetMask"; this.labelTitleSubnetMask.Name = "labelTitleSubnetMask";
this.labelTitleSubnetMask.Size = new System.Drawing.Size(160, 28); this.labelTitleSubnetMask.Size = new System.Drawing.Size(160, 28);
this.labelTitleSubnetMask.TabIndex = 189; this.labelTitleSubnetMask.TabIndex = 189;
@ -374,7 +589,7 @@
this.labelLocalGateway4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalGateway4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalGateway4.InitVisible = true; this.labelLocalGateway4.InitVisible = true;
this.labelLocalGateway4.LineSpacing = 0F; this.labelLocalGateway4.LineSpacing = 0F;
this.labelLocalGateway4.Location = new System.Drawing.Point(473, 149); this.labelLocalGateway4.Location = new System.Drawing.Point(473, 116);
this.labelLocalGateway4.Name = "labelLocalGateway4"; this.labelLocalGateway4.Name = "labelLocalGateway4";
this.labelLocalGateway4.Size = new System.Drawing.Size(50, 28); this.labelLocalGateway4.Size = new System.Drawing.Size(50, 28);
this.labelLocalGateway4.TabIndex = 188; this.labelLocalGateway4.TabIndex = 188;
@ -395,7 +610,7 @@
this.labelLocalGateway3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalGateway3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalGateway3.InitVisible = true; this.labelLocalGateway3.InitVisible = true;
this.labelLocalGateway3.LineSpacing = 0F; this.labelLocalGateway3.LineSpacing = 0F;
this.labelLocalGateway3.Location = new System.Drawing.Point(417, 149); this.labelLocalGateway3.Location = new System.Drawing.Point(417, 116);
this.labelLocalGateway3.Name = "labelLocalGateway3"; this.labelLocalGateway3.Name = "labelLocalGateway3";
this.labelLocalGateway3.Size = new System.Drawing.Size(50, 28); this.labelLocalGateway3.Size = new System.Drawing.Size(50, 28);
this.labelLocalGateway3.TabIndex = 187; this.labelLocalGateway3.TabIndex = 187;
@ -416,7 +631,7 @@
this.labelLocalGateway2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalGateway2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalGateway2.InitVisible = true; this.labelLocalGateway2.InitVisible = true;
this.labelLocalGateway2.LineSpacing = 0F; this.labelLocalGateway2.LineSpacing = 0F;
this.labelLocalGateway2.Location = new System.Drawing.Point(361, 149); this.labelLocalGateway2.Location = new System.Drawing.Point(361, 116);
this.labelLocalGateway2.Name = "labelLocalGateway2"; this.labelLocalGateway2.Name = "labelLocalGateway2";
this.labelLocalGateway2.Size = new System.Drawing.Size(50, 28); this.labelLocalGateway2.Size = new System.Drawing.Size(50, 28);
this.labelLocalGateway2.TabIndex = 186; this.labelLocalGateway2.TabIndex = 186;
@ -437,7 +652,7 @@
this.labelLocalGateway1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalGateway1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalGateway1.InitVisible = true; this.labelLocalGateway1.InitVisible = true;
this.labelLocalGateway1.LineSpacing = 0F; this.labelLocalGateway1.LineSpacing = 0F;
this.labelLocalGateway1.Location = new System.Drawing.Point(305, 149); this.labelLocalGateway1.Location = new System.Drawing.Point(305, 116);
this.labelLocalGateway1.Name = "labelLocalGateway1"; this.labelLocalGateway1.Name = "labelLocalGateway1";
this.labelLocalGateway1.Size = new System.Drawing.Size(50, 28); this.labelLocalGateway1.Size = new System.Drawing.Size(50, 28);
this.labelLocalGateway1.TabIndex = 185; this.labelLocalGateway1.TabIndex = 185;
@ -457,7 +672,7 @@
this.labelTitleGateway.ForeColor = System.Drawing.Color.White; this.labelTitleGateway.ForeColor = System.Drawing.Color.White;
this.labelTitleGateway.InitVisible = true; this.labelTitleGateway.InitVisible = true;
this.labelTitleGateway.LineSpacing = 0F; this.labelTitleGateway.LineSpacing = 0F;
this.labelTitleGateway.Location = new System.Drawing.Point(139, 149); this.labelTitleGateway.Location = new System.Drawing.Point(139, 116);
this.labelTitleGateway.Name = "labelTitleGateway"; this.labelTitleGateway.Name = "labelTitleGateway";
this.labelTitleGateway.Size = new System.Drawing.Size(160, 28); this.labelTitleGateway.Size = new System.Drawing.Size(160, 28);
this.labelTitleGateway.TabIndex = 184; this.labelTitleGateway.TabIndex = 184;
@ -477,7 +692,7 @@
this.labelLocalIP4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalIP4.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalIP4.InitVisible = true; this.labelLocalIP4.InitVisible = true;
this.labelLocalIP4.LineSpacing = 0F; this.labelLocalIP4.LineSpacing = 0F;
this.labelLocalIP4.Location = new System.Drawing.Point(473, 81); this.labelLocalIP4.Location = new System.Drawing.Point(473, 48);
this.labelLocalIP4.Name = "labelLocalIP4"; this.labelLocalIP4.Name = "labelLocalIP4";
this.labelLocalIP4.Size = new System.Drawing.Size(50, 28); this.labelLocalIP4.Size = new System.Drawing.Size(50, 28);
this.labelLocalIP4.TabIndex = 183; this.labelLocalIP4.TabIndex = 183;
@ -498,7 +713,7 @@
this.labelLocalIP3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalIP3.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalIP3.InitVisible = true; this.labelLocalIP3.InitVisible = true;
this.labelLocalIP3.LineSpacing = 0F; this.labelLocalIP3.LineSpacing = 0F;
this.labelLocalIP3.Location = new System.Drawing.Point(417, 81); this.labelLocalIP3.Location = new System.Drawing.Point(417, 48);
this.labelLocalIP3.Name = "labelLocalIP3"; this.labelLocalIP3.Name = "labelLocalIP3";
this.labelLocalIP3.Size = new System.Drawing.Size(50, 28); this.labelLocalIP3.Size = new System.Drawing.Size(50, 28);
this.labelLocalIP3.TabIndex = 182; this.labelLocalIP3.TabIndex = 182;
@ -519,7 +734,7 @@
this.labelLocalIP2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalIP2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalIP2.InitVisible = true; this.labelLocalIP2.InitVisible = true;
this.labelLocalIP2.LineSpacing = 0F; this.labelLocalIP2.LineSpacing = 0F;
this.labelLocalIP2.Location = new System.Drawing.Point(361, 81); this.labelLocalIP2.Location = new System.Drawing.Point(361, 48);
this.labelLocalIP2.Name = "labelLocalIP2"; this.labelLocalIP2.Name = "labelLocalIP2";
this.labelLocalIP2.Size = new System.Drawing.Size(50, 28); this.labelLocalIP2.Size = new System.Drawing.Size(50, 28);
this.labelLocalIP2.TabIndex = 181; this.labelLocalIP2.TabIndex = 181;
@ -540,7 +755,7 @@
this.labelLocalIP1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); this.labelLocalIP1.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.labelLocalIP1.InitVisible = true; this.labelLocalIP1.InitVisible = true;
this.labelLocalIP1.LineSpacing = 0F; this.labelLocalIP1.LineSpacing = 0F;
this.labelLocalIP1.Location = new System.Drawing.Point(305, 81); this.labelLocalIP1.Location = new System.Drawing.Point(305, 48);
this.labelLocalIP1.Name = "labelLocalIP1"; this.labelLocalIP1.Name = "labelLocalIP1";
this.labelLocalIP1.Size = new System.Drawing.Size(50, 28); this.labelLocalIP1.Size = new System.Drawing.Size(50, 28);
this.labelLocalIP1.TabIndex = 180; this.labelLocalIP1.TabIndex = 180;
@ -560,7 +775,7 @@
this.labelTitleIPAddress.ForeColor = System.Drawing.Color.White; this.labelTitleIPAddress.ForeColor = System.Drawing.Color.White;
this.labelTitleIPAddress.InitVisible = true; this.labelTitleIPAddress.InitVisible = true;
this.labelTitleIPAddress.LineSpacing = 0F; this.labelTitleIPAddress.LineSpacing = 0F;
this.labelTitleIPAddress.Location = new System.Drawing.Point(139, 81); this.labelTitleIPAddress.Location = new System.Drawing.Point(139, 48);
this.labelTitleIPAddress.Name = "labelTitleIPAddress"; this.labelTitleIPAddress.Name = "labelTitleIPAddress";
this.labelTitleIPAddress.Size = new System.Drawing.Size(160, 28); this.labelTitleIPAddress.Size = new System.Drawing.Size(160, 28);
this.labelTitleIPAddress.TabIndex = 179; this.labelTitleIPAddress.TabIndex = 179;
@ -589,7 +804,6 @@
private SmartX.SmartRadioButton radioButtonLocalIpStatic; private SmartX.SmartRadioButton radioButtonLocalIpStatic;
private SmartX.SmartRadioButton radioButtonLocalIpDHCP; private SmartX.SmartRadioButton radioButtonLocalIpDHCP;
private SmartX.SmartLabel labelTitleIPConfiguration; private SmartX.SmartLabel labelTitleIPConfiguration;
private SmartX.SmartButton buttonSave1;
public SmartX.SmartLabel labelLocalSubnetMask4; public SmartX.SmartLabel labelLocalSubnetMask4;
public SmartX.SmartLabel labelLocalSubnetMask3; public SmartX.SmartLabel labelLocalSubnetMask3;
public SmartX.SmartLabel labelLocalSubnetMask2; public SmartX.SmartLabel labelLocalSubnetMask2;
@ -607,5 +821,15 @@
private SmartX.SmartLabel labelTitleIPAddress; private SmartX.SmartLabel labelTitleIPAddress;
private SmartX.SmartButton buttonAddon; private SmartX.SmartButton buttonAddon;
private SmartX.SmartLabel labelHelp; private SmartX.SmartLabel labelHelp;
private SmartX.SmartButton buttonSave2;
public SmartX.SmartLabel smartLabel5;
public SmartX.SmartLabel smartLabel4;
public SmartX.SmartLabel labelMACAddress6;
public SmartX.SmartLabel labelMACAddress5;
public SmartX.SmartLabel labelMACAddress4;
public SmartX.SmartLabel labelMACAddress1;
private SmartX.SmartLabel labelTitleMACAddress;
private SmartX.SmartSeparatorLine smartSeparatorLine1;
private SmartX.SmartButton buttonSave1;
} }
} }

View File

@ -18,6 +18,8 @@ namespace ITC81DB_0H.Controls
{ {
#region Field #region Field
private FormMenu m_ParentForm; private FormMenu m_ParentForm;
string[] HexArray;
#endregion #endregion
#region Constructor #region Constructor
@ -49,7 +51,7 @@ namespace ITC81DB_0H.Controls
{ {
this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.korBackgroundBottomEthernet)); this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.korBackgroundBottomEthernet));
this.labelHelp.Text = "※ When IP configuration is changed, it is normally connected after rebooting."; this.labelHelp.Text = "※ After setup, reboot is required.";
this.labelTitleIPConfiguration.Text = "IP Configuration"; this.labelTitleIPConfiguration.Text = "IP Configuration";
this.labelTitleIPAddress.Text = "IP Address"; this.labelTitleIPAddress.Text = "IP Address";
@ -60,7 +62,7 @@ namespace ITC81DB_0H.Controls
{ {
this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.chnBackgroundBottomEthernet)); this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.chnBackgroundBottomEthernet));
this.labelHelp.Text = "※ 更改IP配置后通常在重新启动后即可连接。"; this.labelHelp.Text = "※ 设置完成后需要重启";
this.buttonAddon.Text = "服务器/客户端"; this.buttonAddon.Text = "服务器/客户端";
@ -75,7 +77,8 @@ namespace ITC81DB_0H.Controls
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian) else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
{ {
this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.rusBackgroundBottomEthernet)); this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.rusBackgroundBottomEthernet));
this.labelHelp.Text = "※ Изменив IP-конфигурацию, после перезагрузки соединение будет нормальным";
this.labelHelp.Text = "※ После установки требуется перезагрузка";
this.buttonAddon.Text = "Сервер/Клиент"; this.buttonAddon.Text = "Сервер/Клиент";
@ -88,7 +91,7 @@ namespace ITC81DB_0H.Controls
{ {
this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.gerBackgroundBottomEthernet)); this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.gerBackgroundBottomEthernet));
this.labelHelp.Text = "※ Wenn die IP-Konfiguration geändert wird, wird die Verbindung nach dem Neustart normal hergestellt."; this.labelHelp.Text = "※ Nach der Einrichtung ist ein Neustart erforderlich";
this.labelTitleIPConfiguration.Text = "IP Konfiguration"; this.labelTitleIPConfiguration.Text = "IP Konfiguration";
this.labelTitleIPAddress.Text = "IP-Adresse"; this.labelTitleIPAddress.Text = "IP-Adresse";
@ -99,7 +102,7 @@ namespace ITC81DB_0H.Controls
{ {
this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.korBackgroundBottomEthernet)); this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.korBackgroundBottomEthernet));
//this.labelMessage1.Text = "로컬 데이터 셋팅 후 재부팅 하십시오."; //this.labelMessage1.Text = "로컬 데이터 셋팅 후 재부팅 하십시오.";
this.labelHelp.Text = "※ IP Configuration 변경 시, 재부팅 후 정상적으로 연결됩니다."; this.labelHelp.Text = "※ 설정 후, 재부팅 필수";
this.labelTitleIPConfiguration.Text = "IP Configuration"; this.labelTitleIPConfiguration.Text = "IP Configuration";
this.labelTitleIPAddress.Text = "IP Address"; this.labelTitleIPAddress.Text = "IP Address";
@ -204,6 +207,22 @@ namespace ITC81DB_0H.Controls
this.LocalIPEnable(true); this.LocalIPEnable(true);
} }
} }
private void UpdateMACAddressDisplay()
{
this.buttonSave2.Enabled = false;
byte[] currentMAC = this.ParentForm.ParentForm.smartConfigs.IPSettings.GetMACAddress();
string hex = BitConverter.ToString(currentMAC);
this.HexArray = hex.Split('-');
if (this.HexArray.Length >= 6)
{
this.labelMACAddress1.Text = this.HexArray[0] + ":" + this.HexArray[1] + ":" + this.HexArray[2] + ":";
this.labelMACAddress4.Text = this.HexArray[3];
this.labelMACAddress5.Text = this.HexArray[4];
this.labelMACAddress6.Text = this.HexArray[5];
}
}
public void DisplayRefresh() public void DisplayRefresh()
{ {
@ -212,6 +231,9 @@ namespace ITC81DB_0H.Controls
// Local IP // Local IP
this.UpdateLocalIPAddressDisplay(); this.UpdateLocalIPAddressDisplay();
// MAC Address
this.UpdateMACAddressDisplay();
} }
#endregion #endregion
@ -585,6 +607,33 @@ namespace ITC81DB_0H.Controls
{ {
this.Visible = false; this.Visible = false;
} }
private void labelMACAddress_Click(object sender, EventArgs e)
{
SmartX.SmartLabel label = sender as SmartX.SmartLabel;
DialogFormHexKeyPad myKeyPad = new DialogFormHexKeyPad(label.Text, 2, this.ParentForm.ParentForm.SystemConfig1.Language);
if (myKeyPad.ShowDialog() == DialogResult.OK)
{
label.Text = myKeyPad.StringValue;
this.buttonSave2.Enabled = true;
}
}
private void buttonSave2_Click(object sender, EventArgs e)
{
byte[] changeMAC = new byte[6];
changeMAC[0] = Convert.ToByte(this.HexArray[0], 16);
changeMAC[1] = Convert.ToByte(this.HexArray[1], 16);
changeMAC[2] = Convert.ToByte(this.HexArray[2], 16);
changeMAC[3] = Convert.ToByte(this.labelMACAddress4.Text, 16);
changeMAC[4] = Convert.ToByte(this.labelMACAddress5.Text, 16);
changeMAC[5] = Convert.ToByte(this.labelMACAddress6.Text, 16);
this.ParentForm.ParentForm.smartConfigs.IPSettings.SetMACAddress(changeMAC);
this.buttonSave2.Enabled = false;
}
#endregion #endregion
} }
} }

View File

@ -118,6 +118,398 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="buttonSave2.DisableImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="buttonSave2.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
gg==
</value>
</data>
<data name="buttonSave2.UpImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
rP+Pvzkw/APh/VF8ZccRDgAAAABJRU5ErkJggg==
</value>
</data>
<data name="buttonSave1.DisableImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="buttonSave1.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
gg==
</value>
</data>
<data name="buttonSave1.UpImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
rP+Pvzkw/APh/VF8ZccRDgAAAABJRU5ErkJggg==
</value>
</data>
<data name="buttonAddon.DisableImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="buttonAddon.DisableImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAAFAAAAAoCAYAAABpYH0BAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH iVBORw0KGgoAAAANSUhEUgAAAFAAAAAoCAYAAABpYH0BAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
@ -312,257 +704,6 @@
5VjtuROy7ErI8lrgpe+C55lOp7eNeFOAstxGeKQb8OUWr1dfOP/34LkVn7vCLfEofE5Ww4cHmdcGzwIL 5VjtuROy7ErI8lrgpe+C55lOp7eNeFOAstxGeKQb8OUWr1dfOP/34LkVn7vCLfEofE5Ww4cHmdcGzwIL
PPMt2OokeK28Zq/cq/DJbYbPCTM2qg/g/Y9W2mW14LUTz7vx03WbsI6W9abYg/A4YnRKGzW/Y61CjY/X PPMt2OokeK28Zq/cq/DJbYbPCTM2qg/g/Y9W2mW14LUTz7vx03WbsI6W9abYg/A4YnRKGzW/Y61CjY/X
rP+Pvzkw/APh/VF8ZccRDgAAAABJRU5ErkJggg== rP+Pvzkw/APh/VF8ZccRDgAAAABJRU5ErkJggg==
</value>
</data>
<data name="buttonSave1.DisableImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
fLBk5DtrejrL44+hewAAAABJRU5ErkJggg==
</value>
</data>
<data name="buttonSave1.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
1MYqhMC/NrJ06x77B9IAAAAASUVORK5CYII=
</value>
</data>
<data name="buttonSave1.UpImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value> </value>
</data> </data>
<data name="smartGroupBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="smartGroupBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,7 @@ namespace ITC81DB_0H.Controls
#region Field #region Field
private FormMainDisplay m_ParentForm; private FormMainDisplay m_ParentForm;
private UInt32 ReceiveCount; private UInt32 ReceiveCount;
private static int ModbusCount = 17; private static int ModbusCount = 20;
private Collection<SmartLabel> CollectionOffset; private Collection<SmartLabel> CollectionOffset;
#endregion #endregion
@ -52,26 +52,213 @@ namespace ITC81DB_0H.Controls
if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.English) if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.English)
{ {
this.pictureBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.engMainModbusScreen)); #region 영문
this.labelTitlePort.Text = "Port";
this.labelTitleStartAddr.Text = "Start Addr";
this.labelTitleReceiveCount.Text = "Receive";
this.labelTitleOffset1.Text = this.labelTitleOffset2.Text = this.labelTitleOffset3.Text = "Offset";
this.labelTitleContents1.Text = this.labelTitleContents2.Text = this.labelTitleContents3.Text = "Contents";
this.labelTitleValue1.Text = this.labelTitleValue2.Text = this.labelTitleValue3.Text = "Value";
this.labelContents1.Text = "Update Flag";
this.labelContents2.Text = "Equip-ID";
this.labelContents3.Text = "Current No.";
this.labelContents4.Text = "Under Value";
this.labelContents5.Text = "Pass Value";
this.labelContents6.Text = "Over Value";
this.labelContents7.Text = "Tare Value";
this.labelContents8.Text = "Under Count";
this.labelContents9.Text = "Pass Count";
this.labelContents10.Text = "Over Count";
this.labelContents11.Text = "Faulty Count";
this.labelContents12.Text = "ExNG Count";
this.labelContents13.Text = "Total Count";
this.labelContents14.Text = "Grade";
this.labelContents15.Text = "Weight";
this.labelContents16.Text = "Operation";
this.labelContents17.Text = "Alarm";
this.labelContents18.Text = "Speed(ea/m)";
this.labelContents19.Text = "Metal Count";
this.labelContents20.Text = "Double Count";
this.labelHelp.Text = "※ Grade 0:Over, 1:Pass, 2:Under, 3:Metal, 4:Double, 5:ETC";
#endregion
} }
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese) else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Chinese)
{ {
this.pictureBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.chnMainModbusScreen)); #region 중문
this.labelTitlePort.Text = "Port";
this.labelTitleStartAddr.Text = "Start Addr";
this.labelTitleReceiveCount.Text = "Receive";
this.labelTitleOffset1.Text = this.labelTitleOffset2.Text = this.labelTitleOffset3.Text = "Offset";
this.labelTitleContents1.Text = this.labelTitleContents2.Text = this.labelTitleContents3.Text = "Contents";
this.labelTitleValue1.Text = this.labelTitleValue2.Text = this.labelTitleValue3.Text = "Value";
this.labelContents1.Text = "Update Flag";
this.labelContents2.Text = "Equip-ID";
this.labelContents3.Text = "Current No.";
this.labelContents4.Text = "Under Value";
this.labelContents5.Text = "Pass Value";
this.labelContents6.Text = "Over Value";
this.labelContents7.Text = "Tare Value";
this.labelContents8.Text = "Under Count";
this.labelContents9.Text = "Pass Count";
this.labelContents10.Text = "Over Count";
this.labelContents11.Text = "Faulty Count";
this.labelContents12.Text = "ExNG Count";
this.labelContents13.Text = "Total Count";
this.labelContents14.Text = "Grade";
this.labelContents15.Text = "Weight";
this.labelContents16.Text = "Operation";
this.labelContents17.Text = "Alarm";
this.labelContents18.Text = "Speed(ea/m)";
this.labelContents19.Text = "Metal Count";
this.labelContents20.Text = "Double Count";
this.labelHelp.Text = "※ Grade 0:Over, 1:Pass, 2:Under, 3:Metal, 4:Double, 5:ETC";
#endregion
} }
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Czech) else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Czech)
{ {
#region 체코어
this.labelTitlePort.Text = "Port";
this.labelTitleStartAddr.Text = "Start Addr";
this.labelTitleReceiveCount.Text = "Receive";
this.labelTitleOffset1.Text = this.labelTitleOffset2.Text = this.labelTitleOffset3.Text = "Offset";
this.labelTitleContents1.Text = this.labelTitleContents2.Text = this.labelTitleContents3.Text = "Contents";
this.labelTitleValue1.Text = this.labelTitleValue2.Text = this.labelTitleValue3.Text = "Value";
this.labelContents1.Text = "Update Flag";
this.labelContents2.Text = "Equip-ID";
this.labelContents3.Text = "Current No.";
this.labelContents4.Text = "Under Value";
this.labelContents5.Text = "Pass Value";
this.labelContents6.Text = "Over Value";
this.labelContents7.Text = "Tare Value";
this.labelContents8.Text = "Under Count";
this.labelContents9.Text = "Pass Count";
this.labelContents10.Text = "Over Count";
this.labelContents11.Text = "Faulty Count";
this.labelContents12.Text = "ExNG Count";
this.labelContents13.Text = "Total Count";
this.labelContents14.Text = "Grade";
this.labelContents15.Text = "Weight";
this.labelContents16.Text = "Operation";
this.labelContents17.Text = "Alarm";
this.labelContents18.Text = "Speed(ea/m)";
this.labelContents19.Text = "Metal Count";
this.labelContents20.Text = "Double Count";
this.labelHelp.Text = "※ Grade 0:Over, 1:Pass, 2:Under, 3:Metal, 4:Double, 5:ETC";
#endregion
} }
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian) else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.Russian)
{ {
this.pictureBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.rusMainModbusScreen)); #region 러시아어
this.labelTitlePort.Text = "Port";
this.labelTitleStartAddr.Text = "Start Addr";
this.labelTitleReceiveCount.Text = "Receive";
this.labelTitleOffset1.Text = this.labelTitleOffset2.Text = this.labelTitleOffset3.Text = "Offset";
this.labelTitleContents1.Text = this.labelTitleContents2.Text = this.labelTitleContents3.Text = "Contents";
this.labelTitleValue1.Text = this.labelTitleValue2.Text = this.labelTitleValue3.Text = "Value";
this.labelContents1.Text = "Update Flag";
this.labelContents2.Text = "Equip-ID";
this.labelContents3.Text = "Current No.";
this.labelContents4.Text = "Under Value";
this.labelContents5.Text = "Pass Value";
this.labelContents6.Text = "Over Value";
this.labelContents7.Text = "Tare Value";
this.labelContents8.Text = "Under Count";
this.labelContents9.Text = "Pass Count";
this.labelContents10.Text = "Over Count";
this.labelContents11.Text = "Faulty Count";
this.labelContents12.Text = "ExNG Count";
this.labelContents13.Text = "Total Count";
this.labelContents14.Text = "Grade";
this.labelContents15.Text = "Weight";
this.labelContents16.Text = "Operation";
this.labelContents17.Text = "Alarm";
this.labelContents18.Text = "Speed(ea/m)";
this.labelContents19.Text = "Metal Count";
this.labelContents20.Text = "Double Count";
this.labelHelp.Text = "※ Grade 0:Over, 1:Pass, 2:Under, 3:Metal, 4:Double, 5:ETC";
#endregion
} }
else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German) else if (this.ParentForm.ParentForm.SystemConfig1.Language == Define.E_LanguageID.German)
{ {
this.pictureBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.gerMainModbusScreen)); #region 독일어
this.labelTitlePort.Text = "Port";
this.labelTitleStartAddr.Text = "Start Addr";
this.labelTitleReceiveCount.Text = "Receive";
this.labelTitleOffset1.Text = this.labelTitleOffset2.Text = this.labelTitleOffset3.Text = "Offset";
this.labelTitleContents1.Text = this.labelTitleContents2.Text = this.labelTitleContents3.Text = "Contents";
this.labelTitleValue1.Text = this.labelTitleValue2.Text = this.labelTitleValue3.Text = "Value";
this.labelContents1.Text = "Update Flag";
this.labelContents2.Text = "Equip-ID";
this.labelContents3.Text = "Current No.";
this.labelContents4.Text = "Under Value";
this.labelContents5.Text = "Pass Value";
this.labelContents6.Text = "Over Value";
this.labelContents7.Text = "Tare Value";
this.labelContents8.Text = "Under Count";
this.labelContents9.Text = "Pass Count";
this.labelContents10.Text = "Over Count";
this.labelContents11.Text = "Faulty Count";
this.labelContents12.Text = "ExNG Count";
this.labelContents13.Text = "Total Count";
this.labelContents14.Text = "Grade";
this.labelContents15.Text = "Weight";
this.labelContents16.Text = "Operation";
this.labelContents17.Text = "Alarm";
this.labelContents18.Text = "Speed(ea/m)";
this.labelContents19.Text = "Metal Count";
this.labelContents20.Text = "Double Count";
this.labelHelp.Text = "※ Grade 0:Over, 1:Pass, 2:Under, 3:Metal, 4:Double, 5:ETC";
#endregion
} }
else else
{ {
this.pictureBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.korMainModbusScreen)); #region 한글
this.labelTitlePort.Text = "Port";
this.labelTitleStartAddr.Text = "Start Addr";
this.labelTitleReceiveCount.Text = "Receive";
this.labelTitleOffset1.Text = this.labelTitleOffset2.Text = this.labelTitleOffset3.Text = "Offset";
this.labelTitleContents1.Text = this.labelTitleContents2.Text = this.labelTitleContents3.Text = "항목";
this.labelTitleValue1.Text = this.labelTitleValue2.Text = this.labelTitleValue3.Text = "Value";
this.labelContents1.Text = "갱신 Flag";
this.labelContents2.Text = "장비 ID";
this.labelContents3.Text = "현재 품번";
this.labelContents4.Text = "하한값";
this.labelContents5.Text = "기준값";
this.labelContents6.Text = "상한값";
this.labelContents7.Text = "용기값";
this.labelContents8.Text = "경량 개수";
this.labelContents9.Text = "정량 개수";
this.labelContents10.Text = "과량 개수";
this.labelContents11.Text = "불량 개수";
this.labelContents12.Text = "기타불량 개수";
this.labelContents13.Text = "총 개수";
this.labelContents14.Text = "판정등급";
this.labelContents15.Text = "현재 중량값";
this.labelContents16.Text = "운전 상태";
this.labelContents17.Text = "알람 상태";
this.labelContents18.Text = "속도(ea/m)";
this.labelContents19.Text = "금속검출 개수";
this.labelContents20.Text = "이중진입 개수";
this.labelHelp.Text = "※ 판정등급 0:과량, 1:정량, 2:경량, 3:금속검출, 4:이중진입, 5:기타";
#endregion
} }
} }
private void DefaultSetting() private void DefaultSetting()
@ -95,6 +282,9 @@ namespace ITC81DB_0H.Controls
this.CollectionOffset.Add(this.labelOffset15); this.CollectionOffset.Add(this.labelOffset15);
this.CollectionOffset.Add(this.labelOffset16); this.CollectionOffset.Add(this.labelOffset16);
this.CollectionOffset.Add(this.labelOffset17); this.CollectionOffset.Add(this.labelOffset17);
this.CollectionOffset.Add(this.labelOffset18);
this.CollectionOffset.Add(this.labelOffset19);
this.CollectionOffset.Add(this.labelOffset20);
this.buttonBypassDirection.ButtonUp(); this.buttonBypassDirection.ButtonUp();
@ -121,6 +311,9 @@ namespace ITC81DB_0H.Controls
this.labelWeight.Text = ""; this.labelWeight.Text = "";
this.labelOperationStatus.Text = ""; this.labelOperationStatus.Text = "";
this.labelAlarmStatus.Text = ""; this.labelAlarmStatus.Text = "";
this.labelSpeed.Text = "";
this.labelMetal.Text = "";
this.labelDouble.Text = "";
} }
public void UpdateEquipmentStatusDisplay(Define.E_EquipmentStatus status) public void UpdateEquipmentStatusDisplay(Define.E_EquipmentStatus status)
@ -176,6 +369,9 @@ namespace ITC81DB_0H.Controls
this.labelWeight.Text = mData.Weight.ToString(); this.labelWeight.Text = mData.Weight.ToString();
this.labelOperationStatus.Text = mData.OperationStatus.ToString(); this.labelOperationStatus.Text = mData.OperationStatus.ToString();
this.labelAlarmStatus.Text = mData.AlarmStatus.ToString(); this.labelAlarmStatus.Text = mData.AlarmStatus.ToString();
this.labelSpeed.Text = mData.Speed.ToString();
this.labelMetal.Text = mData.MetalDetectionCount.ToString();
this.labelDouble.Text = mData.DoubleEntryCount.ToString();
} }
else else
{ {
@ -199,6 +395,9 @@ namespace ITC81DB_0H.Controls
this.labelWeight.Text = mData.HexStringWeight; this.labelWeight.Text = mData.HexStringWeight;
this.labelOperationStatus.Text = mData.HexStringOperationStatus; this.labelOperationStatus.Text = mData.HexStringOperationStatus;
this.labelAlarmStatus.Text = mData.HexStringAlarmStatus; this.labelAlarmStatus.Text = mData.HexStringAlarmStatus;
this.labelSpeed.Text = mData.HexStringSpeed;
this.labelMetal.Text = mData.HexStringMetalDetectionCount;
this.labelDouble.Text = mData.HexStringDoubleEntryCount;
} }
} }
public void UpdateOffset(bool master, int startAddress) public void UpdateOffset(bool master, int startAddress)

View File

@ -118,513 +118,6 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
QmCC
</value>
</data>
<data name="buttonBypassDirection.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="buttonBypassDirection.DownImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAAFAAAAAcCAYAAAD2izi6AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH iVBORw0KGgoAAAANSUhEUgAAAFAAAAAcCAYAAAD2izi6AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
@ -779,6 +272,243 @@
Dp9LmhYtWiTPvuJLqvF8RQOiKhuxoaYTL9S+jI1eFL9zbflLCLUUCryN29PlSvtaBEaxCxMc95nsznzl Dp9LmhYtWiTPvuJLqvF8RQOiKhuxoaYTL9S+jI1eFL9zbflLCLUUCryN29PlSvtaBEaxCxMc95nsznzl
b8fyw/rKlSuFssVWgNXbrAjZZMHTG81eF793VXwqLJnZ8s/6WowyJe4XeYfCDTYB8ndi+WHd+Udo8tE2 b8fyw/rKlSuFssVWgNXbrAjZZMHTG81eF793VXwqLJnZ8s/6WowyJe4XeYfCDTYB8ndi+WHd+Udo8tE2
Q5UFUkv/f+UiPz9fuPAOxhl5DpnwDxi4P9nuRTU9AAAAAElFTkSuQmCC Q5UFUkv/f+UiPz9fuPAOxhl5DpnwDxi4P9nuRTU9AAAAAElFTkSuQmCC
</value>
</data>
<data name="smartGroupBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
rkJggg==
</value> </value>
</data> </data>
<metadata name="$this.FormFactorShadowProperty" xml:space="preserve"> <metadata name="$this.FormFactorShadowProperty" xml:space="preserve">

View File

@ -605,6 +605,22 @@ namespace ITC81DB_0H
public const int _32_OperationStatus_Low = 41; public const int _32_OperationStatus_Low = 41;
public const int _33_AlarmStatus_High = 42; public const int _33_AlarmStatus_High = 42;
public const int _34_AlarmStatus_Low = 43; public const int _34_AlarmStatus_Low = 43;
public const int _35_Speed_High = 44;
public const int _36_Speed_Low = 45;
public const int _37_MetalDetectionCount_High = 46;
public const int _38_MetalDetectionCount_Low = 47;
public const int _39_DoubleEntryCount_High = 48;
public const int _40_DoubleEntryCount_Low = 49;
public const int _41_ProductName = 50;
public const int _42_ProductName = 51;
public const int _43_ProductName = 52;
public const int _44_ProductName = 53;
public const int _45_ProductName = 54;
public const int _46_ProductName = 55;
public const int _47_ProductName = 56;
public const int _48_ProductName = 57;
public const int _49_ProductName = 58;
public const int _50_ProductName = 59;
#region V7 #region V7
//public const int _01_EquipmentID = 10; //public const int _01_EquipmentID = 10;
@ -653,6 +669,10 @@ namespace ITC81DB_0H
private double m_Weight; private double m_Weight;
private int m_OperationStatus; private int m_OperationStatus;
private int m_AlarmStatus; private int m_AlarmStatus;
private int m_Speed;
private UInt32 m_MetalDetectionCount;
private UInt32 m_DoubleEntryCount;
private byte[] m_ProductName;
#endregion #endregion
#region Constructor #region Constructor
@ -751,6 +771,26 @@ namespace ITC81DB_0H
get { return this.m_AlarmStatus; } get { return this.m_AlarmStatus; }
set { this.m_AlarmStatus = value; } set { this.m_AlarmStatus = value; }
} }
public int Speed
{
get { return this.m_Speed; }
set { this.m_Speed = value; }
}
public UInt32 MetalDetectionCount
{
get { return this.m_MetalDetectionCount; }
set { this.m_MetalDetectionCount = value; }
}
public UInt32 DoubleEntryCount
{
get { return this.m_DoubleEntryCount; }
set { this.m_DoubleEntryCount = value; }
}
public byte[] ProductName
{
get { return this.m_ProductName; }
set { this.m_ProductName = value; }
}
public string HexStringIsUpdate public string HexStringIsUpdate
{ {
@ -911,6 +951,30 @@ namespace ITC81DB_0H
return hexString; return hexString;
} }
} }
public string HexStringSpeed
{
get
{
string hexString = this.Speed.ToString("X8");
return hexString;
}
}
public string HexStringMetalDetectionCount
{
get
{
string hexString = this.MetalDetectionCount.ToString("X8");
return hexString;
}
}
public string HexStringDoubleEntryCount
{
get
{
string hexString = this.DoubleEntryCount.ToString("X8");
return hexString;
}
}
public byte[] _01_IsUpdate_High public byte[] _01_IsUpdate_High
{ {
@ -1220,7 +1284,7 @@ namespace ITC81DB_0H
return madeData; return madeData;
} }
} }
public byte[] _23_ExNGCount_High public byte[] _23_ETCExNGCount_High
{ {
get get
{ {
@ -1234,7 +1298,7 @@ namespace ITC81DB_0H
return madeData; return madeData;
} }
} }
public byte[] _24_ExNGCount_Low public byte[] _24_ETCExNGCount_Low
{ {
get get
{ {
@ -1388,6 +1452,90 @@ namespace ITC81DB_0H
return madeData; return madeData;
} }
} }
public byte[] _35_Speed_High
{
get
{
byte[] madeData = new byte[2];
byte[] Length4Value = new byte[4];
Length4Value = Modbus.GetBytes(this.Speed);
for (int i = 0; i < 2; i++)
madeData[i] = Length4Value[3 - i];
return madeData;
}
}
public byte[] _36_Speed_Low
{
get
{
byte[] madeData = new byte[2];
byte[] Length4Value = new byte[4];
Length4Value = Modbus.GetBytes(this.Speed);
for (int i = 0; i < 2; i++)
madeData[i] = Length4Value[1 - i];
return madeData;
}
}
public byte[] _37_MetalDetectionCount_High
{
get
{
byte[] madeData = new byte[2];
byte[] Length4Value = new byte[4];
Length4Value = Modbus.GetBytes(this.MetalDetectionCount);
for (int i = 0; i < 2; i++)
madeData[i] = Length4Value[3 - i];
return madeData;
}
}
public byte[] _38_MetalDetectionCount_Low
{
get
{
byte[] madeData = new byte[2];
byte[] Length4Value = new byte[4];
Length4Value = Modbus.GetBytes(this.MetalDetectionCount);
for (int i = 0; i < 2; i++)
madeData[i] = Length4Value[1 - i];
return madeData;
}
}
public byte[] _39_DoubleEntryCount_High
{
get
{
byte[] madeData = new byte[2];
byte[] Length4Value = new byte[4];
Length4Value = Modbus.GetBytes(this.DoubleEntryCount);
for (int i = 0; i < 2; i++)
madeData[i] = Length4Value[3 - i];
return madeData;
}
}
public byte[] _40_DoubleEntryCount_Low
{
get
{
byte[] madeData = new byte[2];
byte[] Length4Value = new byte[4];
Length4Value = Modbus.GetBytes(this.DoubleEntryCount);
for (int i = 0; i < 2; i++)
madeData[i] = Length4Value[1 - i];
return madeData;
}
}
#endregion #endregion
#region Method #region Method
@ -1410,6 +1558,10 @@ namespace ITC81DB_0H
this.Weight = 0.0; this.Weight = 0.0;
this.OperationStatus = 0; this.OperationStatus = 0;
this.AlarmStatus = 0; this.AlarmStatus = 0;
this.Speed = 0;
this.MetalDetectionCount = 0;
this.DoubleEntryCount = 0;
this.ProductName = new byte[20];
} }
#endregion #endregion
} }
@ -3172,7 +3324,6 @@ namespace ITC81DB_0H
private bool m_IsSorterError; private bool m_IsSorterError;
private bool m_IsStackUpSensorError; private bool m_IsStackUpSensorError;
private DateTime m_StartTime; private DateTime m_StartTime;
private DateTime m_StopTime; private DateTime m_StopTime;
@ -3185,8 +3336,10 @@ namespace ITC81DB_0H
private int m_OverCount; private int m_OverCount;
private double m_OverSumWeight; private double m_OverSumWeight;
private int m_ETCExNGCount;
private int m_ExNGCount; private int m_ExNGCount;
private int m_DoubleEntryCount; private int m_DoubleEntryCount;
private int m_MetalDetectionCount;
private double m_Weight; private double m_Weight;
private Define.E_JudgmentStatus m_JudgmentStatus; private Define.E_JudgmentStatus m_JudgmentStatus;
@ -3213,6 +3366,7 @@ namespace ITC81DB_0H
private int m_BoardNGCount; private int m_BoardNGCount;
private int m_BoardTotalCount; private int m_BoardTotalCount;
private int m_BoardDoubleEntryCount; private int m_BoardDoubleEntryCount;
private int m_BoardMetalDetectionCount;
#endregion #endregion
#region Constructor #region Constructor
@ -3433,16 +3587,26 @@ namespace ITC81DB_0H
} }
} }
public int ExNGCount public int ETCExNGCount
{ {
get { return this.m_ExNGCount; } get { return this.m_ETCExNGCount; }
set { this.m_ExNGCount = value; } set { this.m_ETCExNGCount = value; }
} }
public int DoubleEntryCount public int DoubleEntryCount
{ {
get { return this.m_DoubleEntryCount; } get { return this.m_DoubleEntryCount; }
set { this.m_DoubleEntryCount = value; } set { this.m_DoubleEntryCount = value; }
} }
public int MetalDetectionCount
{
get { return this.m_MetalDetectionCount; }
set { this.m_MetalDetectionCount = value; }
}
public int ExNGCount
{
get { return this.MetalDetectionCount + this.DoubleEntryCount + this.ETCExNGCount; }
}
public int TotalUnderOverCount public int TotalUnderOverCount
{ {
@ -3477,43 +3641,49 @@ namespace ITC81DB_0H
{ {
this.m_JudgmentStatus = value; this.m_JudgmentStatus = value;
this.ProductionSpeedCalculation(); switch (value)
if (value == Define.E_JudgmentStatus.Under)
{ {
case Define.E_JudgmentStatus.Under:
if (this.UnderCount < 10000000) if (this.UnderCount < 10000000)
this.UnderCount++; this.UnderCount++;
else else
this.UnderCount = 0; this.UnderCount = 0;
} break;
else if (value == Define.E_JudgmentStatus.Pass) case Define.E_JudgmentStatus.Pass:
{
if (this.PassCount < 10000000) if (this.PassCount < 10000000)
this.PassCount++; this.PassCount++;
else else
this.PassCount = 0; this.PassCount = 0;
} break;
else if (value == Define.E_JudgmentStatus.Over) case Define.E_JudgmentStatus.Over:
{
if (this.OverCount < 10000000) if (this.OverCount < 10000000)
this.OverCount++; this.OverCount++;
else else
this.OverCount = 0; this.OverCount = 0;
} break;
else if (value == Define.E_JudgmentStatus.Metal || value == Define.E_JudgmentStatus.ExNg case Define.E_JudgmentStatus.Double:
|| value == Define.E_JudgmentStatus.ExNg1 || value == Define.E_JudgmentStatus.ExNg2)
{
if (this.ExNGCount < 10000000)
this.ExNGCount++;
else
this.ExNGCount = 0;
}
else if (value == Define.E_JudgmentStatus.Double)
{
if (this.DoubleEntryCount < 10000000) if (this.DoubleEntryCount < 10000000)
this.DoubleEntryCount++; this.DoubleEntryCount++;
else else
this.DoubleEntryCount = 0; this.DoubleEntryCount = 0;
break;
case Define.E_JudgmentStatus.Metal:
if (this.MetalDetectionCount < 10000000)
this.MetalDetectionCount++;
else
this.MetalDetectionCount = 0;
break;
case Define.E_JudgmentStatus.ExNg:
case Define.E_JudgmentStatus.ExNg1:
case Define.E_JudgmentStatus.ExNg2:
case Define.E_JudgmentStatus.LengthError:
if (this.ETCExNGCount < 10000000)
this.ETCExNGCount++;
else
this.ETCExNGCount = 0;
break;
default:
break;
} }
} }
} }
@ -3597,6 +3767,11 @@ namespace ITC81DB_0H
get { return this.m_BoardDoubleEntryCount; } get { return this.m_BoardDoubleEntryCount; }
set { this.m_BoardDoubleEntryCount = value; } set { this.m_BoardDoubleEntryCount = value; }
} }
public int BoardMetalDetectionCount
{
get { return this.m_BoardMetalDetectionCount; }
set { this.m_BoardMetalDetectionCount = value; }
}
#endregion #endregion
#region Mehtod #region Mehtod
@ -3608,8 +3783,9 @@ namespace ITC81DB_0H
this.PassSumWeight = 0.0; this.PassSumWeight = 0.0;
this.OverCount = 0; this.OverCount = 0;
this.OverSumWeight = 0.0; this.OverSumWeight = 0.0;
this.ExNGCount = 0; this.ETCExNGCount = 0;
this.DoubleEntryCount = 0; this.DoubleEntryCount = 0;
this.MetalDetectionCount = 0;
this.StartTime = new DateTime(1111, 11, 11, 11, 11, 11); this.StartTime = new DateTime(1111, 11, 11, 11, 11, 11);
this.StopTime = new DateTime(1111, 11, 11, 11, 11, 11); this.StopTime = new DateTime(1111, 11, 11, 11, 11, 11);
@ -3637,8 +3813,9 @@ namespace ITC81DB_0H
this.PassSumWeight = 0.0; this.PassSumWeight = 0.0;
this.OverCount = 0; this.OverCount = 0;
this.OverSumWeight = 0.0; this.OverSumWeight = 0.0;
this.ExNGCount = 0;
this.DoubleEntryCount = 0; this.DoubleEntryCount = 0;
this.MetalDetectionCount = 0;
this.ETCExNGCount = 0;
this.Weight = 0.0; this.Weight = 0.0;
this.ADCValue = "12345"; this.ADCValue = "12345";
this.JudgmentStatus = Define.E_JudgmentStatus.Empty; this.JudgmentStatus = Define.E_JudgmentStatus.Empty;
@ -3660,6 +3837,7 @@ namespace ITC81DB_0H
this.BoardUnderCount = 0; this.BoardUnderCount = 0;
this.BoardExNGCount = 0; this.BoardExNGCount = 0;
this.BoardDoubleEntryCount = 0; this.BoardDoubleEntryCount = 0;
this.BoardMetalDetectionCount = 0;
} }
private void ProductionSpeedCalculation() private void ProductionSpeedCalculation()
@ -3755,10 +3933,10 @@ namespace ITC81DB_0H
public DateTime StopTime; public DateTime StopTime;
public int DoubleEntryCount; public int DoubleEntryCount;
public int MetalDetectionCount;
public int ETCExNGCount;
public int DummyInt1; public int DummyInt1;
public int DummyInt2; public int DummyInt2;
public int DummyInt3;
public int DummyInt4;
} }
#endregion #endregion

View File

@ -0,0 +1,750 @@
namespace ITC81DB_0H.DialogForms
{
partial class DialogFormHexKeyPad
{
/// <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 Windows Form 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.labelTitle = new SmartX.SmartLabel();
this.labelScreen = new SmartX.SmartLabel();
this.buttonEnter = new SmartX.SmartButton();
this.buttonCancel = new SmartX.SmartButton();
this.buttonNumber0 = new SmartX.SmartButton();
this.buttonNumber9 = new SmartX.SmartButton();
this.buttonNumber8 = new SmartX.SmartButton();
this.buttonNumber7 = new SmartX.SmartButton();
this.buttonNumber6 = new SmartX.SmartButton();
this.buttonNumber5 = new SmartX.SmartButton();
this.buttonNumber4 = new SmartX.SmartButton();
this.buttonNumber3 = new SmartX.SmartButton();
this.buttonNumber2 = new SmartX.SmartButton();
this.buttonNumber1 = new SmartX.SmartButton();
this.buttonCharF = new SmartX.SmartButton();
this.buttonCharE = new SmartX.SmartButton();
this.buttonCharD = new SmartX.SmartButton();
this.buttonCharC = new SmartX.SmartButton();
this.buttonCharB = new SmartX.SmartButton();
this.buttonCharA = new SmartX.SmartButton();
this.SuspendLayout();
//
// labelTitle
//
this.labelTitle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.labelTitle.BackPictureBox = null;
this.labelTitle.BackPictureBox1 = null;
this.labelTitle.BackPictureBox2 = null;
this.labelTitle.BorderColor = System.Drawing.Color.Black;
this.labelTitle.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelTitle.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular);
this.labelTitle.ForeColor = System.Drawing.Color.White;
this.labelTitle.InitVisible = true;
this.labelTitle.LineSpacing = 0F;
this.labelTitle.Location = new System.Drawing.Point(3, 3);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(200, 20);
this.labelTitle.TabIndex = 75;
this.labelTitle.Text = "Hex Keypad";
this.labelTitle.TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
this.labelTitle.TextVAlign = SmartX.SmartLabel.TextVerAlign.Top;
this.labelTitle.Wordwrap = false;
//
// labelScreen
//
this.labelScreen.BackColor = System.Drawing.Color.White;
this.labelScreen.BackPictureBox = null;
this.labelScreen.BackPictureBox1 = null;
this.labelScreen.BackPictureBox2 = null;
this.labelScreen.BorderColor = System.Drawing.Color.Black;
this.labelScreen.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.labelScreen.Font = new System.Drawing.Font("Arial", 40F, System.Drawing.FontStyle.Bold);
this.labelScreen.InitVisible = true;
this.labelScreen.LineSpacing = 0F;
this.labelScreen.Location = new System.Drawing.Point(16, 29);
this.labelScreen.Name = "labelScreen";
this.labelScreen.Size = new System.Drawing.Size(420, 70);
this.labelScreen.TabIndex = 74;
this.labelScreen.Text = "123.45";
this.labelScreen.TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
this.labelScreen.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
this.labelScreen.Wordwrap = false;
//
// buttonEnter
//
this.buttonEnter.BackPictureBox = null;
this.buttonEnter.BackPictureBox1 = null;
this.buttonEnter.BackPictureBox2 = null;
this.buttonEnter.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonEnter.ButtonImageAutoSize = true;
this.buttonEnter.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonEnter.DisableImage = null;
this.buttonEnter.DownImage = null;
this.buttonEnter.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold);
this.buttonEnter.GroupID = 0;
this.buttonEnter.InitVisible = true;
this.buttonEnter.Location = new System.Drawing.Point(300, 227);
this.buttonEnter.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonEnter.Name = "buttonEnter";
this.buttonEnter.NestedClickEventPrevent = false;
this.buttonEnter.OutlinePixel = 1;
this.buttonEnter.RepeatInterval = 200;
this.buttonEnter.RepeatIntervalAccelerate = null;
this.buttonEnter.SafeInterval = 200;
this.buttonEnter.Size = new System.Drawing.Size(136, 116);
this.buttonEnter.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonEnter.TabIndex = 107;
this.buttonEnter.Text = "Enter";
this.buttonEnter.TextColor = System.Drawing.Color.White;
this.buttonEnter.TextDownColor = System.Drawing.Color.White;
this.buttonEnter.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonEnter.TextLocation = new System.Drawing.Point(0, 0);
this.buttonEnter.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonEnter.UpImage = null;
this.buttonEnter.Click += new System.EventHandler(this.buttonEnter_Click);
//
// buttonCancel
//
this.buttonCancel.BackPictureBox = null;
this.buttonCancel.BackPictureBox1 = null;
this.buttonCancel.BackPictureBox2 = null;
this.buttonCancel.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonCancel.ButtonImageAutoSize = true;
this.buttonCancel.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonCancel.DisableImage = null;
this.buttonCancel.DownImage = null;
this.buttonCancel.Font = new System.Drawing.Font("새굴림", 15F, System.Drawing.FontStyle.Bold);
this.buttonCancel.GroupID = 0;
this.buttonCancel.InitVisible = true;
this.buttonCancel.Location = new System.Drawing.Point(229, 227);
this.buttonCancel.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.NestedClickEventPrevent = false;
this.buttonCancel.OutlinePixel = 1;
this.buttonCancel.RepeatInterval = 200;
this.buttonCancel.RepeatIntervalAccelerate = null;
this.buttonCancel.SafeInterval = 200;
this.buttonCancel.Size = new System.Drawing.Size(65, 116);
this.buttonCancel.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonCancel.TabIndex = 106;
this.buttonCancel.Text = "ESC";
this.buttonCancel.TextColor = System.Drawing.Color.White;
this.buttonCancel.TextDownColor = System.Drawing.Color.White;
this.buttonCancel.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonCancel.TextLocation = new System.Drawing.Point(0, 0);
this.buttonCancel.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonCancel.UpImage = null;
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
// buttonNumber0
//
this.buttonNumber0.BackPictureBox = null;
this.buttonNumber0.BackPictureBox1 = null;
this.buttonNumber0.BackPictureBox2 = null;
this.buttonNumber0.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber0.ButtonImageAutoSize = true;
this.buttonNumber0.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonNumber0.DisableImage = null;
this.buttonNumber0.DownImage = null;
this.buttonNumber0.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonNumber0.GroupID = 0;
this.buttonNumber0.InitVisible = true;
this.buttonNumber0.Location = new System.Drawing.Point(16, 288);
this.buttonNumber0.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonNumber0.Name = "buttonNumber0";
this.buttonNumber0.NestedClickEventPrevent = false;
this.buttonNumber0.OutlinePixel = 1;
this.buttonNumber0.RepeatInterval = 200;
this.buttonNumber0.RepeatIntervalAccelerate = null;
this.buttonNumber0.SafeInterval = 200;
this.buttonNumber0.Size = new System.Drawing.Size(207, 55);
this.buttonNumber0.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonNumber0.TabIndex = 105;
this.buttonNumber0.Text = "0";
this.buttonNumber0.TextColor = System.Drawing.Color.White;
this.buttonNumber0.TextDownColor = System.Drawing.Color.White;
this.buttonNumber0.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonNumber0.TextLocation = new System.Drawing.Point(0, 0);
this.buttonNumber0.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonNumber0.UpImage = null;
this.buttonNumber0.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonNumber9
//
this.buttonNumber9.BackPictureBox = null;
this.buttonNumber9.BackPictureBox1 = null;
this.buttonNumber9.BackPictureBox2 = null;
this.buttonNumber9.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber9.ButtonImageAutoSize = true;
this.buttonNumber9.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonNumber9.DisableImage = null;
this.buttonNumber9.DownImage = null;
this.buttonNumber9.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonNumber9.GroupID = 0;
this.buttonNumber9.InitVisible = true;
this.buttonNumber9.Location = new System.Drawing.Point(158, 227);
this.buttonNumber9.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonNumber9.Name = "buttonNumber9";
this.buttonNumber9.NestedClickEventPrevent = false;
this.buttonNumber9.OutlinePixel = 1;
this.buttonNumber9.RepeatInterval = 200;
this.buttonNumber9.RepeatIntervalAccelerate = null;
this.buttonNumber9.SafeInterval = 200;
this.buttonNumber9.Size = new System.Drawing.Size(65, 55);
this.buttonNumber9.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonNumber9.TabIndex = 104;
this.buttonNumber9.Text = "9";
this.buttonNumber9.TextColor = System.Drawing.Color.White;
this.buttonNumber9.TextDownColor = System.Drawing.Color.White;
this.buttonNumber9.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonNumber9.TextLocation = new System.Drawing.Point(0, 0);
this.buttonNumber9.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonNumber9.UpImage = null;
this.buttonNumber9.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonNumber8
//
this.buttonNumber8.BackPictureBox = null;
this.buttonNumber8.BackPictureBox1 = null;
this.buttonNumber8.BackPictureBox2 = null;
this.buttonNumber8.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber8.ButtonImageAutoSize = true;
this.buttonNumber8.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonNumber8.DisableImage = null;
this.buttonNumber8.DownImage = null;
this.buttonNumber8.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonNumber8.GroupID = 0;
this.buttonNumber8.InitVisible = true;
this.buttonNumber8.Location = new System.Drawing.Point(87, 227);
this.buttonNumber8.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonNumber8.Name = "buttonNumber8";
this.buttonNumber8.NestedClickEventPrevent = false;
this.buttonNumber8.OutlinePixel = 1;
this.buttonNumber8.RepeatInterval = 200;
this.buttonNumber8.RepeatIntervalAccelerate = null;
this.buttonNumber8.SafeInterval = 200;
this.buttonNumber8.Size = new System.Drawing.Size(65, 55);
this.buttonNumber8.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonNumber8.TabIndex = 103;
this.buttonNumber8.Text = "8";
this.buttonNumber8.TextColor = System.Drawing.Color.White;
this.buttonNumber8.TextDownColor = System.Drawing.Color.White;
this.buttonNumber8.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonNumber8.TextLocation = new System.Drawing.Point(0, 0);
this.buttonNumber8.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonNumber8.UpImage = null;
this.buttonNumber8.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonNumber7
//
this.buttonNumber7.BackPictureBox = null;
this.buttonNumber7.BackPictureBox1 = null;
this.buttonNumber7.BackPictureBox2 = null;
this.buttonNumber7.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber7.ButtonImageAutoSize = true;
this.buttonNumber7.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonNumber7.DisableImage = null;
this.buttonNumber7.DownImage = null;
this.buttonNumber7.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonNumber7.GroupID = 0;
this.buttonNumber7.InitVisible = true;
this.buttonNumber7.Location = new System.Drawing.Point(16, 227);
this.buttonNumber7.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonNumber7.Name = "buttonNumber7";
this.buttonNumber7.NestedClickEventPrevent = false;
this.buttonNumber7.OutlinePixel = 1;
this.buttonNumber7.RepeatInterval = 200;
this.buttonNumber7.RepeatIntervalAccelerate = null;
this.buttonNumber7.SafeInterval = 200;
this.buttonNumber7.Size = new System.Drawing.Size(65, 55);
this.buttonNumber7.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonNumber7.TabIndex = 102;
this.buttonNumber7.Text = "7";
this.buttonNumber7.TextColor = System.Drawing.Color.White;
this.buttonNumber7.TextDownColor = System.Drawing.Color.White;
this.buttonNumber7.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonNumber7.TextLocation = new System.Drawing.Point(0, 0);
this.buttonNumber7.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonNumber7.UpImage = null;
this.buttonNumber7.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonNumber6
//
this.buttonNumber6.BackPictureBox = null;
this.buttonNumber6.BackPictureBox1 = null;
this.buttonNumber6.BackPictureBox2 = null;
this.buttonNumber6.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber6.ButtonImageAutoSize = true;
this.buttonNumber6.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonNumber6.DisableImage = null;
this.buttonNumber6.DownImage = null;
this.buttonNumber6.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonNumber6.GroupID = 0;
this.buttonNumber6.InitVisible = true;
this.buttonNumber6.Location = new System.Drawing.Point(158, 166);
this.buttonNumber6.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonNumber6.Name = "buttonNumber6";
this.buttonNumber6.NestedClickEventPrevent = false;
this.buttonNumber6.OutlinePixel = 1;
this.buttonNumber6.RepeatInterval = 200;
this.buttonNumber6.RepeatIntervalAccelerate = null;
this.buttonNumber6.SafeInterval = 200;
this.buttonNumber6.Size = new System.Drawing.Size(65, 55);
this.buttonNumber6.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonNumber6.TabIndex = 101;
this.buttonNumber6.Text = "6";
this.buttonNumber6.TextColor = System.Drawing.Color.White;
this.buttonNumber6.TextDownColor = System.Drawing.Color.White;
this.buttonNumber6.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonNumber6.TextLocation = new System.Drawing.Point(0, 0);
this.buttonNumber6.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonNumber6.UpImage = null;
this.buttonNumber6.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonNumber5
//
this.buttonNumber5.BackPictureBox = null;
this.buttonNumber5.BackPictureBox1 = null;
this.buttonNumber5.BackPictureBox2 = null;
this.buttonNumber5.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber5.ButtonImageAutoSize = true;
this.buttonNumber5.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonNumber5.DisableImage = null;
this.buttonNumber5.DownImage = null;
this.buttonNumber5.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonNumber5.GroupID = 0;
this.buttonNumber5.InitVisible = true;
this.buttonNumber5.Location = new System.Drawing.Point(87, 166);
this.buttonNumber5.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonNumber5.Name = "buttonNumber5";
this.buttonNumber5.NestedClickEventPrevent = false;
this.buttonNumber5.OutlinePixel = 1;
this.buttonNumber5.RepeatInterval = 200;
this.buttonNumber5.RepeatIntervalAccelerate = null;
this.buttonNumber5.SafeInterval = 200;
this.buttonNumber5.Size = new System.Drawing.Size(65, 55);
this.buttonNumber5.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonNumber5.TabIndex = 100;
this.buttonNumber5.Text = "5";
this.buttonNumber5.TextColor = System.Drawing.Color.White;
this.buttonNumber5.TextDownColor = System.Drawing.Color.White;
this.buttonNumber5.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonNumber5.TextLocation = new System.Drawing.Point(0, 0);
this.buttonNumber5.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonNumber5.UpImage = null;
this.buttonNumber5.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonNumber4
//
this.buttonNumber4.BackPictureBox = null;
this.buttonNumber4.BackPictureBox1 = null;
this.buttonNumber4.BackPictureBox2 = null;
this.buttonNumber4.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber4.ButtonImageAutoSize = true;
this.buttonNumber4.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonNumber4.DisableImage = null;
this.buttonNumber4.DownImage = null;
this.buttonNumber4.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonNumber4.GroupID = 0;
this.buttonNumber4.InitVisible = true;
this.buttonNumber4.Location = new System.Drawing.Point(16, 166);
this.buttonNumber4.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonNumber4.Name = "buttonNumber4";
this.buttonNumber4.NestedClickEventPrevent = false;
this.buttonNumber4.OutlinePixel = 1;
this.buttonNumber4.RepeatInterval = 200;
this.buttonNumber4.RepeatIntervalAccelerate = null;
this.buttonNumber4.SafeInterval = 200;
this.buttonNumber4.Size = new System.Drawing.Size(65, 55);
this.buttonNumber4.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonNumber4.TabIndex = 99;
this.buttonNumber4.Text = "4";
this.buttonNumber4.TextColor = System.Drawing.Color.White;
this.buttonNumber4.TextDownColor = System.Drawing.Color.White;
this.buttonNumber4.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonNumber4.TextLocation = new System.Drawing.Point(0, 0);
this.buttonNumber4.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonNumber4.UpImage = null;
this.buttonNumber4.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonNumber3
//
this.buttonNumber3.BackPictureBox = null;
this.buttonNumber3.BackPictureBox1 = null;
this.buttonNumber3.BackPictureBox2 = null;
this.buttonNumber3.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber3.ButtonImageAutoSize = true;
this.buttonNumber3.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonNumber3.DisableImage = null;
this.buttonNumber3.DownImage = null;
this.buttonNumber3.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonNumber3.GroupID = 0;
this.buttonNumber3.InitVisible = true;
this.buttonNumber3.Location = new System.Drawing.Point(158, 105);
this.buttonNumber3.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonNumber3.Name = "buttonNumber3";
this.buttonNumber3.NestedClickEventPrevent = false;
this.buttonNumber3.OutlinePixel = 1;
this.buttonNumber3.RepeatInterval = 200;
this.buttonNumber3.RepeatIntervalAccelerate = null;
this.buttonNumber3.SafeInterval = 200;
this.buttonNumber3.Size = new System.Drawing.Size(65, 55);
this.buttonNumber3.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonNumber3.TabIndex = 98;
this.buttonNumber3.Text = "3";
this.buttonNumber3.TextColor = System.Drawing.Color.White;
this.buttonNumber3.TextDownColor = System.Drawing.Color.White;
this.buttonNumber3.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonNumber3.TextLocation = new System.Drawing.Point(0, 0);
this.buttonNumber3.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonNumber3.UpImage = null;
this.buttonNumber3.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonNumber2
//
this.buttonNumber2.BackPictureBox = null;
this.buttonNumber2.BackPictureBox1 = null;
this.buttonNumber2.BackPictureBox2 = null;
this.buttonNumber2.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber2.ButtonImageAutoSize = true;
this.buttonNumber2.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonNumber2.DisableImage = null;
this.buttonNumber2.DownImage = null;
this.buttonNumber2.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonNumber2.GroupID = 0;
this.buttonNumber2.InitVisible = true;
this.buttonNumber2.Location = new System.Drawing.Point(87, 105);
this.buttonNumber2.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonNumber2.Name = "buttonNumber2";
this.buttonNumber2.NestedClickEventPrevent = false;
this.buttonNumber2.OutlinePixel = 1;
this.buttonNumber2.RepeatInterval = 200;
this.buttonNumber2.RepeatIntervalAccelerate = null;
this.buttonNumber2.SafeInterval = 200;
this.buttonNumber2.Size = new System.Drawing.Size(65, 55);
this.buttonNumber2.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonNumber2.TabIndex = 97;
this.buttonNumber2.Text = "2";
this.buttonNumber2.TextColor = System.Drawing.Color.White;
this.buttonNumber2.TextDownColor = System.Drawing.Color.White;
this.buttonNumber2.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonNumber2.TextLocation = new System.Drawing.Point(0, 0);
this.buttonNumber2.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonNumber2.UpImage = null;
this.buttonNumber2.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonNumber1
//
this.buttonNumber1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber1.BackPictureBox = null;
this.buttonNumber1.BackPictureBox1 = null;
this.buttonNumber1.BackPictureBox2 = null;
this.buttonNumber1.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber1.ButtonImageAutoSize = true;
this.buttonNumber1.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonNumber1.DisableImage = null;
this.buttonNumber1.DownImage = null;
this.buttonNumber1.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonNumber1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonNumber1.GroupID = 0;
this.buttonNumber1.InitVisible = true;
this.buttonNumber1.Location = new System.Drawing.Point(16, 105);
this.buttonNumber1.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonNumber1.Name = "buttonNumber1";
this.buttonNumber1.NestedClickEventPrevent = false;
this.buttonNumber1.OutlinePixel = 1;
this.buttonNumber1.RepeatInterval = 200;
this.buttonNumber1.RepeatIntervalAccelerate = null;
this.buttonNumber1.SafeInterval = 200;
this.buttonNumber1.Size = new System.Drawing.Size(65, 55);
this.buttonNumber1.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonNumber1.TabIndex = 96;
this.buttonNumber1.Text = "1";
this.buttonNumber1.TextColor = System.Drawing.Color.White;
this.buttonNumber1.TextDownColor = System.Drawing.Color.White;
this.buttonNumber1.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonNumber1.TextLocation = new System.Drawing.Point(0, 0);
this.buttonNumber1.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonNumber1.UpImage = null;
this.buttonNumber1.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonCharF
//
this.buttonCharF.BackPictureBox = null;
this.buttonCharF.BackPictureBox1 = null;
this.buttonCharF.BackPictureBox2 = null;
this.buttonCharF.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonCharF.ButtonImageAutoSize = true;
this.buttonCharF.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonCharF.DisableImage = null;
this.buttonCharF.DownImage = null;
this.buttonCharF.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonCharF.GroupID = 0;
this.buttonCharF.InitVisible = true;
this.buttonCharF.Location = new System.Drawing.Point(371, 166);
this.buttonCharF.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonCharF.Name = "buttonCharF";
this.buttonCharF.NestedClickEventPrevent = false;
this.buttonCharF.OutlinePixel = 1;
this.buttonCharF.RepeatInterval = 200;
this.buttonCharF.RepeatIntervalAccelerate = null;
this.buttonCharF.SafeInterval = 200;
this.buttonCharF.Size = new System.Drawing.Size(65, 55);
this.buttonCharF.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonCharF.TabIndex = 113;
this.buttonCharF.Text = "F";
this.buttonCharF.TextColor = System.Drawing.Color.White;
this.buttonCharF.TextDownColor = System.Drawing.Color.White;
this.buttonCharF.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonCharF.TextLocation = new System.Drawing.Point(0, 0);
this.buttonCharF.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonCharF.UpImage = null;
this.buttonCharF.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonCharE
//
this.buttonCharE.BackPictureBox = null;
this.buttonCharE.BackPictureBox1 = null;
this.buttonCharE.BackPictureBox2 = null;
this.buttonCharE.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonCharE.ButtonImageAutoSize = true;
this.buttonCharE.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonCharE.DisableImage = null;
this.buttonCharE.DownImage = null;
this.buttonCharE.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonCharE.GroupID = 0;
this.buttonCharE.InitVisible = true;
this.buttonCharE.Location = new System.Drawing.Point(300, 166);
this.buttonCharE.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonCharE.Name = "buttonCharE";
this.buttonCharE.NestedClickEventPrevent = false;
this.buttonCharE.OutlinePixel = 1;
this.buttonCharE.RepeatInterval = 200;
this.buttonCharE.RepeatIntervalAccelerate = null;
this.buttonCharE.SafeInterval = 200;
this.buttonCharE.Size = new System.Drawing.Size(65, 55);
this.buttonCharE.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonCharE.TabIndex = 112;
this.buttonCharE.Text = "E";
this.buttonCharE.TextColor = System.Drawing.Color.White;
this.buttonCharE.TextDownColor = System.Drawing.Color.White;
this.buttonCharE.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonCharE.TextLocation = new System.Drawing.Point(0, 0);
this.buttonCharE.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonCharE.UpImage = null;
this.buttonCharE.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonCharD
//
this.buttonCharD.BackPictureBox = null;
this.buttonCharD.BackPictureBox1 = null;
this.buttonCharD.BackPictureBox2 = null;
this.buttonCharD.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonCharD.ButtonImageAutoSize = true;
this.buttonCharD.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonCharD.DisableImage = null;
this.buttonCharD.DownImage = null;
this.buttonCharD.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonCharD.GroupID = 0;
this.buttonCharD.InitVisible = true;
this.buttonCharD.Location = new System.Drawing.Point(229, 166);
this.buttonCharD.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonCharD.Name = "buttonCharD";
this.buttonCharD.NestedClickEventPrevent = false;
this.buttonCharD.OutlinePixel = 1;
this.buttonCharD.RepeatInterval = 200;
this.buttonCharD.RepeatIntervalAccelerate = null;
this.buttonCharD.SafeInterval = 200;
this.buttonCharD.Size = new System.Drawing.Size(65, 55);
this.buttonCharD.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonCharD.TabIndex = 111;
this.buttonCharD.Text = "D";
this.buttonCharD.TextColor = System.Drawing.Color.White;
this.buttonCharD.TextDownColor = System.Drawing.Color.White;
this.buttonCharD.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonCharD.TextLocation = new System.Drawing.Point(0, 0);
this.buttonCharD.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonCharD.UpImage = null;
this.buttonCharD.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonCharC
//
this.buttonCharC.BackPictureBox = null;
this.buttonCharC.BackPictureBox1 = null;
this.buttonCharC.BackPictureBox2 = null;
this.buttonCharC.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonCharC.ButtonImageAutoSize = true;
this.buttonCharC.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonCharC.DisableImage = null;
this.buttonCharC.DownImage = null;
this.buttonCharC.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonCharC.GroupID = 0;
this.buttonCharC.InitVisible = true;
this.buttonCharC.Location = new System.Drawing.Point(371, 105);
this.buttonCharC.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonCharC.Name = "buttonCharC";
this.buttonCharC.NestedClickEventPrevent = false;
this.buttonCharC.OutlinePixel = 1;
this.buttonCharC.RepeatInterval = 200;
this.buttonCharC.RepeatIntervalAccelerate = null;
this.buttonCharC.SafeInterval = 200;
this.buttonCharC.Size = new System.Drawing.Size(65, 55);
this.buttonCharC.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonCharC.TabIndex = 110;
this.buttonCharC.Text = "C";
this.buttonCharC.TextColor = System.Drawing.Color.White;
this.buttonCharC.TextDownColor = System.Drawing.Color.White;
this.buttonCharC.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonCharC.TextLocation = new System.Drawing.Point(0, 0);
this.buttonCharC.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonCharC.UpImage = null;
this.buttonCharC.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonCharB
//
this.buttonCharB.BackPictureBox = null;
this.buttonCharB.BackPictureBox1 = null;
this.buttonCharB.BackPictureBox2 = null;
this.buttonCharB.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonCharB.ButtonImageAutoSize = true;
this.buttonCharB.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonCharB.DisableImage = null;
this.buttonCharB.DownImage = null;
this.buttonCharB.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonCharB.GroupID = 0;
this.buttonCharB.InitVisible = true;
this.buttonCharB.Location = new System.Drawing.Point(300, 105);
this.buttonCharB.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonCharB.Name = "buttonCharB";
this.buttonCharB.NestedClickEventPrevent = false;
this.buttonCharB.OutlinePixel = 1;
this.buttonCharB.RepeatInterval = 200;
this.buttonCharB.RepeatIntervalAccelerate = null;
this.buttonCharB.SafeInterval = 200;
this.buttonCharB.Size = new System.Drawing.Size(65, 55);
this.buttonCharB.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonCharB.TabIndex = 109;
this.buttonCharB.Text = "B";
this.buttonCharB.TextColor = System.Drawing.Color.White;
this.buttonCharB.TextDownColor = System.Drawing.Color.White;
this.buttonCharB.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonCharB.TextLocation = new System.Drawing.Point(0, 0);
this.buttonCharB.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonCharB.UpImage = null;
this.buttonCharB.Click += new System.EventHandler(this.buttonNumber_Click);
//
// buttonCharA
//
this.buttonCharA.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonCharA.BackPictureBox = null;
this.buttonCharA.BackPictureBox1 = null;
this.buttonCharA.BackPictureBox2 = null;
this.buttonCharA.ButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonCharA.ButtonImageAutoSize = true;
this.buttonCharA.ColorKeySamplePosition = new System.Drawing.Point(0, 0);
this.buttonCharA.DisableImage = null;
this.buttonCharA.DownImage = null;
this.buttonCharA.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold);
this.buttonCharA.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(51)))), ((int)(((byte)(51)))));
this.buttonCharA.GroupID = 0;
this.buttonCharA.InitVisible = true;
this.buttonCharA.Location = new System.Drawing.Point(229, 105);
this.buttonCharA.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
this.buttonCharA.Name = "buttonCharA";
this.buttonCharA.NestedClickEventPrevent = false;
this.buttonCharA.OutlinePixel = 1;
this.buttonCharA.RepeatInterval = 200;
this.buttonCharA.RepeatIntervalAccelerate = null;
this.buttonCharA.SafeInterval = 200;
this.buttonCharA.Size = new System.Drawing.Size(65, 55);
this.buttonCharA.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
this.buttonCharA.TabIndex = 108;
this.buttonCharA.Text = "A";
this.buttonCharA.TextColor = System.Drawing.Color.White;
this.buttonCharA.TextDownColor = System.Drawing.Color.White;
this.buttonCharA.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
this.buttonCharA.TextLocation = new System.Drawing.Point(0, 0);
this.buttonCharA.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
this.buttonCharA.UpImage = null;
this.buttonCharA.Click += new System.EventHandler(this.buttonNumber_Click);
//
// DialogFormHexKeyPad
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
this.ClientSize = new System.Drawing.Size(455, 360);
this.ControlBox = false;
this.Controls.Add(this.buttonCharF);
this.Controls.Add(this.buttonCharE);
this.Controls.Add(this.buttonCharD);
this.Controls.Add(this.buttonCharC);
this.Controls.Add(this.buttonCharB);
this.Controls.Add(this.buttonCharA);
this.Controls.Add(this.buttonEnter);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.buttonNumber0);
this.Controls.Add(this.buttonNumber9);
this.Controls.Add(this.buttonNumber8);
this.Controls.Add(this.buttonNumber7);
this.Controls.Add(this.buttonNumber6);
this.Controls.Add(this.buttonNumber5);
this.Controls.Add(this.buttonNumber4);
this.Controls.Add(this.buttonNumber3);
this.Controls.Add(this.buttonNumber2);
this.Controls.Add(this.buttonNumber1);
this.Controls.Add(this.labelTitle);
this.Controls.Add(this.labelScreen);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "DialogFormHexKeyPad";
this.Text = "DialogFormPasswordKeyPad1";
this.ResumeLayout(false);
}
#endregion
private SmartX.SmartLabel labelTitle;
private SmartX.SmartLabel labelScreen;
private SmartX.SmartButton buttonEnter;
private SmartX.SmartButton buttonCancel;
private SmartX.SmartButton buttonNumber0;
private SmartX.SmartButton buttonNumber9;
private SmartX.SmartButton buttonNumber8;
private SmartX.SmartButton buttonNumber7;
private SmartX.SmartButton buttonNumber6;
private SmartX.SmartButton buttonNumber5;
private SmartX.SmartButton buttonNumber4;
private SmartX.SmartButton buttonNumber3;
private SmartX.SmartButton buttonNumber2;
private SmartX.SmartButton buttonNumber1;
private SmartX.SmartButton buttonCharF;
private SmartX.SmartButton buttonCharE;
private SmartX.SmartButton buttonCharD;
private SmartX.SmartButton buttonCharC;
private SmartX.SmartButton buttonCharB;
private SmartX.SmartButton buttonCharA;
}
}

View File

@ -0,0 +1,191 @@
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using SmartX;
using ITC81DB_2H.Datastore;
using ITC81DB_2H_ImageDll;
namespace ITC81DB_0H.DialogForms
{
public partial class DialogFormHexKeyPad : Form
{
#region Field
private string m_InputKey;
private int m_Digit;
private string m_StringValue;
#endregion
#region Property
public string InputKey
{
get { return this.m_InputKey; }
set { this.m_InputKey = value; }
}
private int Digit
{
get { return this.m_Digit; }
set { this.m_Digit = value; }
}
public string StringValue
{
get { return this.m_StringValue; }
private set { this.m_StringValue = value; }
}
#endregion
#region Constructor
public DialogFormHexKeyPad(string value, int digit, Define.E_LanguageID language)
{
InitializeComponent();
this.InitializeDesign(language);
this.Digit = digit;
this.labelScreen.Text = value;
}
#endregion
#region Method
private void InputNum(string key)
{
if (this.InputKey.Length >= this.Digit)
{
this.InputKey = key;
this.labelScreen.Text = this.InputKey;
}
else
{
this.InputKey += key;
this.labelScreen.Text = this.InputKey;
}
}
private void InitializeDesign(Define.E_LanguageID language)
{
Class1 images = new Class1();
if (language == Define.E_LanguageID.English)
{
this.buttonCancel.Text = "ESC";
this.buttonEnter.Text = "Enter";
}
else if (language == Define.E_LanguageID.Chinese)
{
this.labelTitle.Text = "键盘";
this.buttonCancel.Text = "取消";
this.buttonEnter.Text = "确认";
}
else if (language == Define.E_LanguageID.Czech)
{
}
else if (language == Define.E_LanguageID.Russian)
{
this.labelTitle.Text = "Клавиатура";
this.buttonCancel.Text = "X";
this.buttonEnter.Text = "Ввод";
}
else if (language == Define.E_LanguageID.German)
{
this.buttonCancel.Text = "X";
this.buttonEnter.Text = "Enter";
}
else if (language == Define.E_LanguageID.Spanish)
{
this.buttonCancel.Text = "X";
this.buttonEnter.Text = "Entrar";
}
else
{
this.buttonCancel.Text = "ESC";
this.buttonEnter.Text = "Enter";
}
}
private void InitializeControl()
{
int x = 0, y = 0;
x = Screen.PrimaryScreen.Bounds.Width / 2 - this.Size.Width / 2;
y = Screen.PrimaryScreen.Bounds.Height / 2 - this.Size.Height / 2;
this.Location = new Point(x, y);
this.Size = new Size(455, 360);
this.InputKey = "";
}
#endregion
#region Override Member
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
this.InitializeControl();
}
#endregion
#region Event Handler
private void buttonEnter_Click(object sender, EventArgs e)
{
if (this.labelScreen.Text.Length == this.Digit)
{
this.StringValue = this.labelScreen.Text;
this.DialogResult = DialogResult.OK;
}
}
private void buttonNumber_Click(object sender, EventArgs e)
{
SmartButton bt = sender as SmartButton;
if (bt == null)
return;
if (bt == this.buttonNumber0)
this.InputNum("0");
else if (bt == this.buttonNumber1)
this.InputNum("1");
else if (bt == this.buttonNumber2)
this.InputNum("2");
else if (bt == this.buttonNumber3)
this.InputNum("3");
else if (bt == this.buttonNumber4)
this.InputNum("4");
else if (bt == this.buttonNumber5)
this.InputNum("5");
else if (bt == this.buttonNumber6)
this.InputNum("6");
else if (bt == this.buttonNumber7)
this.InputNum("7");
else if (bt == this.buttonNumber8)
this.InputNum("8");
else if (bt == this.buttonNumber9)
this.InputNum("9");
else if (bt == this.buttonCharA)
this.InputNum("A");
else if (bt == this.buttonCharB)
this.InputNum("B");
else if (bt == this.buttonCharC)
this.InputNum("C");
else if (bt == this.buttonCharD)
this.InputNum("D");
else if (bt == this.buttonCharE)
this.InputNum("E");
else if (bt == this.buttonCharF)
this.InputNum("F");
}
private void buttonCancel_Click(object sender, EventArgs e)
{
this.Close();
}
#endregion
}
}

View File

@ -25,8 +25,8 @@ namespace ITC81DB_0H.Forms
public partial class FormMain : Form public partial class FormMain : Form
{ {
#region Field #region Field
public static string DisplayVersion = "3.2.0"; public static string DisplayVersion = "3.3.0";
public static string ReleaseDate = "2023.11.08"; public static string ReleaseDate = "2024.02.01";
private SmartSplash SmartSplashProgramLoad; private SmartSplash SmartSplashProgramLoad;
public bool IsCommunicationLogOpen; public bool IsCommunicationLogOpen;
@ -204,7 +204,7 @@ namespace ITC81DB_0H.Forms
private int HMEthernet_Step; private int HMEthernet_Step;
// OPC // OPC
private static int ModbusTotalBytes = 68; // 전체 bytes private static int ModbusTotalBytes = 80; // 전체 bytes
// Ethernet // Ethernet
private bool IsEthernetThreadStop; private bool IsEthernetThreadStop;
@ -610,8 +610,8 @@ namespace ITC81DB_0H.Forms
if (string.Compare(this.smartConfigs.IPSettings.DeviceIP, "0.0.0.0") != 0) if (string.Compare(this.smartConfigs.IPSettings.DeviceIP, "0.0.0.0") != 0)
this.EthernetServerStart(); this.EthernetServerStart();
if (this.SystemConfig2.EthernetOperationMode == 1 && this.smartTCPMultiServer.IsStart == true) if (this.smartTCPMultiServer.IsStart == true)
this.ChildFormMainDisplay.TimerDetectConnected(true); this.ChildFormMainDisplay.TimerServer(true);
} }
catch catch
{ {
@ -619,9 +619,7 @@ namespace ITC81DB_0H.Forms
} }
} }
else if (this.SystemConfig2.EthernetOperationMode == 2) else if (this.SystemConfig2.EthernetOperationMode == 2)
{
this.EthernetClientDisconnect(); this.EthernetClientDisconnect();
}
if (this.SystemConfig2.EthernetCommMode != (int)Define.E_CommMode.f0_None) if (this.SystemConfig2.EthernetCommMode != (int)Define.E_CommMode.f0_None)
{ {
@ -1043,7 +1041,13 @@ namespace ITC81DB_0H.Forms
if (this.SystemConfig1.ProductNumber == wData.BoardProductNumber) if (this.SystemConfig1.ProductNumber == wData.BoardProductNumber)
{ {
if (wData.ExNGCount != wData.BoardExNGCount) if (wData.ExNGCount != wData.BoardExNGCount)
this.CurrentWeightData.ExNGCount = wData.BoardExNGCount; this.CurrentWeightData.ETCExNGCount = wData.BoardExNGCount - wData.BoardMetalDetectionCount - wData.BoardDoubleEntryCount;
if (wData.MetalDetectionCount != wData.BoardMetalDetectionCount)
this.CurrentWeightData.MetalDetectionCount = wData.BoardMetalDetectionCount;
if (wData.DoubleEntryCount != wData.BoardDoubleEntryCount)
this.CurrentWeightData.DoubleEntryCount = wData.BoardDoubleEntryCount;
if (wData.OverCount != wData.BoardOverCount) if (wData.OverCount != wData.BoardOverCount)
this.CurrentWeightData.OverCount = wData.BoardOverCount; this.CurrentWeightData.OverCount = wData.BoardOverCount;
@ -2571,9 +2575,6 @@ namespace ITC81DB_0H.Forms
if (this.SystemConfig1.IsBarcodeEnable == true && this.CurrentSystemStatus.Equipment == Define.E_EquipmentStatus.Start) if (this.SystemConfig1.IsBarcodeEnable == true && this.CurrentSystemStatus.Equipment == Define.E_EquipmentStatus.Start)
return ret; return ret;
if (this.SystemConfig2.EthernetOperationMode == 1 && this.smartTCPMultiServer.IsStart == true)
this.ChildFormMainDisplay.TimerDetectConnected(true);
// Save System File // Save System File
this.SaveSystemConfigurationFile1(this.SystemConfig1); this.SaveSystemConfigurationFile1(this.SystemConfig1);
// 생산속도 Clear // 생산속도 Clear
@ -2672,6 +2673,8 @@ namespace ITC81DB_0H.Forms
this.CurrentWeightData.BoardOverCount = int.Parse(receiveData.Substring(11, 7).Trim()); this.CurrentWeightData.BoardOverCount = int.Parse(receiveData.Substring(11, 7).Trim());
this.CurrentWeightData.BoardPassCount = int.Parse(receiveData.Substring(18, 7).Trim()); this.CurrentWeightData.BoardPassCount = int.Parse(receiveData.Substring(18, 7).Trim());
this.CurrentWeightData.BoardUnderCount = int.Parse(receiveData.Substring(25, 7).Trim()); this.CurrentWeightData.BoardUnderCount = int.Parse(receiveData.Substring(25, 7).Trim());
this.CurrentWeightData.BoardMetalDetectionCount = int.Parse(receiveData.Substring(32, 7).Trim());
this.CurrentWeightData.BoardDoubleEntryCount = int.Parse(receiveData.Substring(39, 7).Trim());
this.UpdateCountData(this.CurrentWeightData); this.UpdateCountData(this.CurrentWeightData);
#endregion #endregion
@ -4945,6 +4948,7 @@ namespace ITC81DB_0H.Forms
{ {
byte[] madeData = new byte[ModbusTotalBytes]; byte[] madeData = new byte[ModbusTotalBytes];
byte[] Length4Value = new byte[4]; byte[] Length4Value = new byte[4];
byte[] productName = new UTF8Encoding().GetBytes(this.CurrentProductItem.Name);
double underValue = Helper.StringToWeight(this.CurrentProductItem.UnderRange, this.SystemConfig1.DecimalPlaces); double underValue = Helper.StringToWeight(this.CurrentProductItem.UnderRange, this.SystemConfig1.DecimalPlaces);
double passValue = Helper.StringToWeight(this.CurrentProductItem.PassRange, this.SystemConfig1.DecimalPlaces); double passValue = Helper.StringToWeight(this.CurrentProductItem.PassRange, this.SystemConfig1.DecimalPlaces);
@ -5054,6 +5058,24 @@ namespace ITC81DB_0H.Forms
for (int i = 0; i < 4; i++) for (int i = 0; i < 4; i++)
madeData[64 + i] = Length4Value[3 - i]; madeData[64 + i] = Length4Value[3 - i];
Length4Value = GetBytes(this.CurrentWeightData.ProductionSpeed);
for (int i = 0; i < 4; i++)
madeData[68 + i] = Length4Value[3 - i];
Length4Value = GetBytes(this.CurrentWeightData.MetalDetectionCount);
for (int i = 0; i < 4; i++)
madeData[72 + i] = Length4Value[3 - i];
Length4Value = GetBytes(this.CurrentWeightData.DoubleEntryCount);
for (int i = 0; i < 4; i++)
madeData[76 + i] = Length4Value[3 - i];
//int nameLength = productName.Length;
//for (int i = 0; i < nameLength; i++)
// madeData[80 + i] = productName[i];
//for (int i = 0; i < 20 - nameLength; i++)
// madeData[80 + nameLength + i] = 0x00;
return madeData; return madeData;
} }
private byte[] Transfer_22_Modbus_Read_RTU(byte[] readByte) private byte[] Transfer_22_Modbus_Read_RTU(byte[] readByte)
@ -5225,6 +5247,8 @@ namespace ITC81DB_0H.Forms
break; break;
} }
byte[] productName = this.Current30000ModbusData.ProductName;
for (int j = startAddressInt; j < startAddressInt + numberOfRegisterInt; j++) for (int j = startAddressInt; j < startAddressInt + numberOfRegisterInt; j++)
{ {
switch (j) switch (j)
@ -5406,6 +5430,49 @@ namespace ITC81DB_0H.Forms
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[1 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._35_Speed_High:
length4Value = GetBytes(this.CurrentWeightData.ProductionSpeed);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[3 - i];
break;
case _30000_ModbusAddress._36_Speed_Low:
length4Value = GetBytes(this.CurrentWeightData.ProductionSpeed);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[1 - i];
break;
case _30000_ModbusAddress._37_MetalDetectionCount_High:
length4Value = GetBytes(this.CurrentWeightData.MetalDetectionCount);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[3 - i];
break;
case _30000_ModbusAddress._38_MetalDetectionCount_Low:
length4Value = GetBytes(this.CurrentWeightData.MetalDetectionCount);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[1 - i];
break;
case _30000_ModbusAddress._39_DoubleEntryCount_High:
length4Value = GetBytes(this.CurrentWeightData.DoubleEntryCount);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[3 - i];
break;
case _30000_ModbusAddress._40_DoubleEntryCount_Low:
length4Value = GetBytes(this.CurrentWeightData.DoubleEntryCount);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[1 - i];
break;
case _30000_ModbusAddress._41_ProductName:
case _30000_ModbusAddress._42_ProductName:
case _30000_ModbusAddress._43_ProductName:
case _30000_ModbusAddress._44_ProductName:
case _30000_ModbusAddress._45_ProductName:
case _30000_ModbusAddress._46_ProductName:
case _30000_ModbusAddress._47_ProductName:
case _30000_ModbusAddress._48_ProductName:
case _30000_ModbusAddress._49_ProductName:
case _30000_ModbusAddress._50_ProductName:
for (int i = 0; i < 20; i++)
madeData[madeDataIndex + i] = productName[i];
break;
default: default:
break; break;
#endregion #endregion
@ -5587,6 +5654,8 @@ namespace ITC81DB_0H.Forms
break; break;
} }
byte[] productName = this.Current30000ModbusData.ProductName;
for (int j = startAddressInt; j < startAddressInt + numberOfRegisterInt; j++) for (int j = startAddressInt; j < startAddressInt + numberOfRegisterInt; j++)
{ {
switch (j) switch (j)
@ -5768,6 +5837,49 @@ namespace ITC81DB_0H.Forms
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[1 - i]; madeData[madeDataIndex + i] = length4Value[1 - i];
break; break;
case _30000_ModbusAddress._35_Speed_High:
length4Value = GetBytes(this.CurrentWeightData.ProductionSpeed);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[3 - i];
break;
case _30000_ModbusAddress._36_Speed_Low:
length4Value = GetBytes(this.CurrentWeightData.ProductionSpeed);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[1 - i];
break;
case _30000_ModbusAddress._37_MetalDetectionCount_High:
length4Value = GetBytes(this.CurrentWeightData.MetalDetectionCount);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[3 - i];
break;
case _30000_ModbusAddress._38_MetalDetectionCount_Low:
length4Value = GetBytes(this.CurrentWeightData.MetalDetectionCount);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[1 - i];
break;
case _30000_ModbusAddress._39_DoubleEntryCount_High:
length4Value = GetBytes(this.CurrentWeightData.DoubleEntryCount);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[3 - i];
break;
case _30000_ModbusAddress._40_DoubleEntryCount_Low:
length4Value = GetBytes(this.CurrentWeightData.DoubleEntryCount);
for (int i = 0; i < 2; i++)
madeData[madeDataIndex + i] = length4Value[1 - i];
break;
case _30000_ModbusAddress._41_ProductName:
case _30000_ModbusAddress._42_ProductName:
case _30000_ModbusAddress._43_ProductName:
case _30000_ModbusAddress._44_ProductName:
case _30000_ModbusAddress._45_ProductName:
case _30000_ModbusAddress._46_ProductName:
case _30000_ModbusAddress._47_ProductName:
case _30000_ModbusAddress._48_ProductName:
case _30000_ModbusAddress._49_ProductName:
case _30000_ModbusAddress._50_ProductName:
for (int i = 0; i < 20; i++)
madeData[madeDataIndex + i] = productName[i];
break;
default: default:
break; break;
#endregion #endregion
@ -7033,6 +7145,13 @@ namespace ITC81DB_0H.Forms
else else
this.Current30000ModbusData.AlarmStatus = 0; this.Current30000ModbusData.AlarmStatus = 0;
this.Current30000ModbusData.Speed = this.CurrentWeightData.ProductionSpeed;
this.Current30000ModbusData.MetalDetectionCount = (UInt32)this.CurrentWeightData.MetalDetectionCount;
this.Current30000ModbusData.DoubleEntryCount = (UInt32)this.CurrentWeightData.DoubleEntryCount;
byte[] productName = new UTF8Encoding().GetBytes(this.CurrentProductItem.Name);
for (int i = 0; i < productName.Length; i++)
this.Current30000ModbusData.ProductName[i] = productName[i];
this.ChildFormMainDisplay.MainDisplayModbus.UpdateData(this.Current30000ModbusData); this.ChildFormMainDisplay.MainDisplayModbus.UpdateData(this.Current30000ModbusData);
} }
/// <summary> /// <summary>
@ -7755,12 +7874,12 @@ namespace ITC81DB_0H.Forms
#region Ethernet #region Ethernet
public void IsUsingTimerEthernetPing(bool bValue) public void IsUsingTimerEthernetPing(bool bValue)
{ {
if (this.SystemConfig2.IsDisconnectDetection == true) //if (this.SystemConfig2.IsDisconnectDetection == true)
{ //{
this.timerEthernetPing.Enabled = bValue; // this.timerEthernetPing.Enabled = bValue;
} //}
else //else
this.timerEthernetPing.Enabled = false; // this.timerEthernetPing.Enabled = false;
} }
#region Client #region Client
@ -9920,11 +10039,11 @@ namespace ITC81DB_0H.Forms
sb.Append(Helper.StringZeroFillDigits7(wItem.OverCount.ToString())); // 상한카운트(7) sb.Append(Helper.StringZeroFillDigits7(wItem.OverCount.ToString())); // 상한카운트(7)
sb.Append(Helper.StringZeroFillDigits7(wItem.PassCount.ToString())); // 기준카운트(7) sb.Append(Helper.StringZeroFillDigits7(wItem.PassCount.ToString())); // 기준카운트(7)
sb.Append(Helper.StringZeroFillDigits7(wItem.UnderCount.ToString())); // 하한카운트(7) sb.Append(Helper.StringZeroFillDigits7(wItem.UnderCount.ToString())); // 하한카운트(7)
sb.Append("0000"); // Dummy1(4) sb.Append(Helper.StringZeroFillDigits7(wItem.MetalDetectionCount.ToString())); // 금속카운트(7)
sb.Append("0000000"); // Dummy1(7) sb.Append(Helper.StringZeroFillDigits7(wItem.DoubleEntryCount.ToString())); // 이중카운트(7)
sb.Append("0000000"); // Dummy2(7)
sb.Append("0000000"); // Dummy3(7) sb.Append("0000000"); // Dummy3(7)
sb.Append("0000000"); // Dummy4(7) sb.Append("0000000"); // Dummy4(7)
sb.Append("0000"); // Dummy1(4)
this.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ParameterCount, sb.ToString()); this.TransferDataStream(CommunicationCommand.Write, CommunicationID.MainBoard, CommunicationAddress.ParameterCount, sb.ToString());
} }
@ -11063,10 +11182,10 @@ namespace ITC81DB_0H.Forms
structItem.StopTime = item.StopTime; structItem.StopTime = item.StopTime;
structItem.DoubleEntryCount = item.DoubleEntryCount; structItem.DoubleEntryCount = item.DoubleEntryCount;
structItem.MetalDetectionCount = item.MetalDetectionCount;
structItem.ETCExNGCount = item.ETCExNGCount;
structItem.DummyInt1 = 0; structItem.DummyInt1 = 0;
structItem.DummyInt2 = 0; structItem.DummyInt2 = 0;
structItem.DummyInt3 = 0;
structItem.DummyInt4 = 0;
this.smartFileIO.WriteStructure_Begin(structItem, i); this.smartFileIO.WriteStructure_Begin(structItem, i);
} }
@ -11116,10 +11235,10 @@ namespace ITC81DB_0H.Forms
structItem.StopTime = item.StopTime; structItem.StopTime = item.StopTime;
structItem.DoubleEntryCount = item.DoubleEntryCount; structItem.DoubleEntryCount = item.DoubleEntryCount;
structItem.MetalDetectionCount = item.MetalDetectionCount;
structItem.ETCExNGCount = item.ETCExNGCount;
structItem.DummyInt1 = 0; structItem.DummyInt1 = 0;
structItem.DummyInt2 = 0; structItem.DummyInt2 = 0;
structItem.DummyInt3 = 0;
structItem.DummyInt4 = 0;
this.smartFileIO.WriteStructure_Begin(structItem, index); this.smartFileIO.WriteStructure_Begin(structItem, index);
this.smartFileIO.WriteStructure_End(); this.smartFileIO.WriteStructure_End();
@ -11172,10 +11291,10 @@ namespace ITC81DB_0H.Forms
structItem.StopTime = items[i].StopTime; structItem.StopTime = items[i].StopTime;
structItem.DoubleEntryCount = items[i].DoubleEntryCount; structItem.DoubleEntryCount = items[i].DoubleEntryCount;
structItem.MetalDetectionCount = items[i].MetalDetectionCount;
structItem.ETCExNGCount = items[i].ETCExNGCount;
structItem.DummyInt1 = 0; structItem.DummyInt1 = 0;
structItem.DummyInt2 = 0; structItem.DummyInt2 = 0;
structItem.DummyInt3 = 0;
structItem.DummyInt4 = 0;
this.smartFileIO.WriteStructure_Begin(structItem, i); this.smartFileIO.WriteStructure_Begin(structItem, i);
} }
@ -11213,7 +11332,6 @@ namespace ITC81DB_0H.Forms
item.PassSumWeight = structItem.PassSumWeight; item.PassSumWeight = structItem.PassSumWeight;
item.OverCount = structItem.OverCount; item.OverCount = structItem.OverCount;
item.OverSumWeight = structItem.OverSumWeight; item.OverSumWeight = structItem.OverSumWeight;
item.ExNGCount = structItem.ExNGCount;
item.CollectionNormalDistributionCount[0] = structItem.NormalDistribution1; item.CollectionNormalDistributionCount[0] = structItem.NormalDistribution1;
item.CollectionNormalDistributionCount[1] = structItem.NormalDistribution2; item.CollectionNormalDistributionCount[1] = structItem.NormalDistribution2;
@ -11230,6 +11348,8 @@ namespace ITC81DB_0H.Forms
item.StopTime = structItem.StopTime; item.StopTime = structItem.StopTime;
item.DoubleEntryCount = structItem.DoubleEntryCount; item.DoubleEntryCount = structItem.DoubleEntryCount;
item.MetalDetectionCount = structItem.MetalDetectionCount;
item.ETCExNGCount = structItem.ETCExNGCount;
} }
catch catch
{ {
@ -11274,7 +11394,6 @@ namespace ITC81DB_0H.Forms
items[i].PassSumWeight = structItem.PassSumWeight; items[i].PassSumWeight = structItem.PassSumWeight;
items[i].OverCount = structItem.OverCount; items[i].OverCount = structItem.OverCount;
items[i].OverSumWeight = structItem.OverSumWeight; items[i].OverSumWeight = structItem.OverSumWeight;
items[i].ExNGCount = structItem.ExNGCount;
items[i].CollectionNormalDistributionCount[0] = structItem.NormalDistribution1; items[i].CollectionNormalDistributionCount[0] = structItem.NormalDistribution1;
items[i].CollectionNormalDistributionCount[1] = structItem.NormalDistribution2; items[i].CollectionNormalDistributionCount[1] = structItem.NormalDistribution2;
@ -11291,6 +11410,8 @@ namespace ITC81DB_0H.Forms
items[i].StopTime = structItem.StopTime; items[i].StopTime = structItem.StopTime;
items[i].DoubleEntryCount = structItem.DoubleEntryCount; items[i].DoubleEntryCount = structItem.DoubleEntryCount;
items[i].MetalDetectionCount = structItem.MetalDetectionCount;
items[i].ETCExNGCount = structItem.ETCExNGCount;
} }
} }
} }
@ -13677,6 +13798,7 @@ namespace ITC81DB_0H.Forms
{ {
readByte = datas.receiveDatas; readByte = datas.receiveDatas;
strRecData = SmartTCPMultiServer.ConvertAsciiByteToString(readByte); strRecData = SmartTCPMultiServer.ConvertAsciiByteToString(readByte);
//Console.Write("\n" + string.Format("{0:yyyy-MM-dd HH:mm:ss}: Receive : {1}", DateTime.Now, BitConverter.ToString(readByte)));
} }
catch catch
{ {
@ -13849,6 +13971,7 @@ namespace ITC81DB_0H.Forms
foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.smartTCPMultiServer.ClientInfoList) foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.smartTCPMultiServer.ClientInfoList)
{ {
this.smartTCPMultiServer.SendByteByClientID(client.strID, responseData); this.smartTCPMultiServer.SendByteByClientID(client.strID, responseData);
//Console.Write("\n" + string.Format("{0:yyyy-MM-dd HH:mm:ss}: Send3 : {1}", DateTime.Now, BitConverter.ToString(responseData)));
} }
// 로그 // 로그
@ -13935,6 +14058,7 @@ namespace ITC81DB_0H.Forms
foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.smartTCPMultiServer.ClientInfoList) foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.smartTCPMultiServer.ClientInfoList)
{ {
this.smartTCPMultiServer.SendByteByClientID(client.strID, responseData); this.smartTCPMultiServer.SendByteByClientID(client.strID, responseData);
//Console.Write("\n" + string.Format("{0:yyyy-MM-dd HH:mm:ss}: Send4 : {1}", DateTime.Now, BitConverter.ToString(responseData)));
} }
// 로그 // 로그

View File

@ -59,7 +59,6 @@
this.labelBarcode = new SmartX.SmartLabel(); this.labelBarcode = new SmartX.SmartLabel();
this.buttonMemory = new System.Windows.Forms.Button(); this.buttonMemory = new System.Windows.Forms.Button();
this.labelSorterAlarm = new SmartX.SmartLabel(); this.labelSorterAlarm = new SmartX.SmartLabel();
this.timerClientConnectCheck = new System.Windows.Forms.Timer();
this.buttonConveyorUpDown = new SmartX.SmartButton(); this.buttonConveyorUpDown = new SmartX.SmartButton();
this.buttonHiddenMenu = new SmartX.SmartButton(); this.buttonHiddenMenu = new SmartX.SmartButton();
this.labelExpireOfPassword = new SmartX.SmartLabel(); this.labelExpireOfPassword = new SmartX.SmartLabel();
@ -69,6 +68,7 @@
this.labelMissingCount = new SmartX.SmartLabel(); this.labelMissingCount = new SmartX.SmartLabel();
this.labelBufferCNT = new SmartX.SmartLabel(); this.labelBufferCNT = new SmartX.SmartLabel();
this.labelOverrun = new SmartX.SmartLabel(); this.labelOverrun = new SmartX.SmartLabel();
this.timerServerIcon = new System.Windows.Forms.Timer();
((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
@ -712,11 +712,6 @@
this.labelSorterAlarm.Wordwrap = false; this.labelSorterAlarm.Wordwrap = false;
this.labelSorterAlarm.Click += new System.EventHandler(this.labelSorterAlarm_Click); this.labelSorterAlarm.Click += new System.EventHandler(this.labelSorterAlarm_Click);
// //
// timerClientConnectCheck
//
this.timerClientConnectCheck.Interval = 1000;
this.timerClientConnectCheck.Tick += new System.EventHandler(this.timerClientConnectCheck_Tick);
//
// buttonConveyorUpDown // buttonConveyorUpDown
// //
this.buttonConveyorUpDown.BackPictureBox = null; this.buttonConveyorUpDown.BackPictureBox = null;
@ -931,6 +926,11 @@
this.labelOverrun.Visible = false; this.labelOverrun.Visible = false;
this.labelOverrun.Wordwrap = false; this.labelOverrun.Wordwrap = false;
// //
// timerServerIcon
//
this.timerServerIcon.Interval = 1000;
this.timerServerIcon.Tick += new System.EventHandler(this.timerServerIcon_Tick);
//
// FormMainDisplay // FormMainDisplay
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -1003,7 +1003,6 @@
private SmartX.SmartLabel labelSorterAlarm; private SmartX.SmartLabel labelSorterAlarm;
public SmartX.SmartLabel labelBarcode; public SmartX.SmartLabel labelBarcode;
private System.Windows.Forms.Button buttonMemory; private System.Windows.Forms.Button buttonMemory;
public System.Windows.Forms.Timer timerClientConnectCheck;
private SmartX.SmartButton buttonFeedback; private SmartX.SmartButton buttonFeedback;
private SmartX.SmartButton buttonConveyorUpDown; private SmartX.SmartButton buttonConveyorUpDown;
private SmartX.SmartButton buttonHiddenMenu; private SmartX.SmartButton buttonHiddenMenu;
@ -1015,5 +1014,6 @@
public SmartX.SmartLabel labelMissingCount; public SmartX.SmartLabel labelMissingCount;
public SmartX.SmartLabel labelBufferCNT; public SmartX.SmartLabel labelBufferCNT;
public SmartX.SmartLabel labelOverrun; public SmartX.SmartLabel labelOverrun;
private System.Windows.Forms.Timer timerServerIcon;
} }
} }

View File

@ -413,20 +413,6 @@ namespace ITC81DB_0H.Forms
this.ParentForm.TransferData(CommunicationCommand.Clear, CommunicationID.SubBoard1); this.ParentForm.TransferData(CommunicationCommand.Clear, CommunicationID.SubBoard1);
} }
public void TimerDetectConnected(bool bValue)
{
if (bValue == true)
{
//this.timerClientConnectCheck.Enabled = false;
if (this.timerClientConnectCheck.Enabled == false)
this.timerClientConnectCheck.Enabled = true;
}
else
{
if (this.timerClientConnectCheck.Enabled == true)
this.timerClientConnectCheck.Enabled = false;
}
}
public void UpdateDisplayUser(SystemStatus status) public void UpdateDisplayUser(SystemStatus status)
{ {
string id = "", group = "", expireDate = ""; string id = "", group = "", expireDate = "";
@ -1421,13 +1407,13 @@ namespace ITC81DB_0H.Forms
{ {
if (value == false) if (value == false)
{ {
if (this.timerClientConnectCheck.Enabled == true) if (this.timerServerIcon.Enabled == true)
this.timerClientConnectCheck.Enabled = false; this.timerServerIcon.Enabled = false;
} }
else else
{ {
if (this.timerClientConnectCheck.Enabled == false) if (this.timerServerIcon.Enabled == false)
this.timerClientConnectCheck.Enabled = true; this.timerServerIcon.Enabled = true;
} }
} }
public void UpdateTimeDisplay() public void UpdateTimeDisplay()
@ -1587,7 +1573,7 @@ namespace ITC81DB_0H.Forms
//this.buttonPrint.Enabled = true; //this.buttonPrint.Enabled = true;
//this.buttonClear.Enabled = true; //this.buttonClear.Enabled = true;
} }
private void timerClientConnectCheck_Tick(object sender, EventArgs e) private void timerServerIcon_Tick(object sender, EventArgs e)
{ {
if (this.ParentForm.smartTCPMultiServer.IsStart == true) if (this.ParentForm.smartTCPMultiServer.IsStart == true)
{ {
@ -1600,44 +1586,6 @@ namespace ITC81DB_0H.Forms
this.UpdateEthernetStatusDisplay(true); this.UpdateEthernetStatusDisplay(true);
} }
} }
//try
//{
// if (this.ParentForm.smartTCPMultiServer.IsStart == true)
// {
// if (this.ParentForm.smartTCPMultiServer.ClientInfoList == null)
// {
// this.ParentForm.DelegateUISeverStatus(false);
// // 로그
// if (this.ParentForm.IsCommunicationLogOpen == true)
// this.ParentForm.smartFileCommunicationLog.WriteString(string.Format("ClientConnectCheck ({0:yyyy-MM-dd HH:mm:ss}): false", DateTime.Now));
// }
// else
// {
// this.ParentForm.DelegateUISeverStatus(true);
// // 로그
// if (this.ParentForm.IsCommunicationLogOpen == true)
// this.ParentForm.smartFileCommunicationLog.WriteString(string.Format("ClientConnectCheck ({0:yyyy-MM-dd HH:mm:ss}): true", DateTime.Now));
// }
// //this.ThreadClientConnected.Join();
// //if (this.GCCount > 1800)
// //{
// // System.GC.Collect();
// // System.GC.WaitForPendingFinalizers();
// // this.GCCount = 0;
// //}
// //else
// // this.GCCount++;
// }
//}
//catch (Exception ex)
//{
// FormMain.Exception(ex);
//}
} }
private void pictureBoxIconAlarm_Click(object sender, EventArgs e) private void pictureBoxIconAlarm_Click(object sender, EventArgs e)

File diff suppressed because it is too large Load Diff

View File

@ -623,6 +623,7 @@ namespace ITC81DB_0H.Forms
else else
{ {
File.Copy(sourceFilePath, destFilePath); File.Copy(sourceFilePath, destFilePath);
File.Delete(sourceFilePath); // 존재하는 파일 삭제
} }
} }
@ -847,6 +848,7 @@ namespace ITC81DB_0H.Forms
Dictionary<string, int> dirNames = new Dictionary<string, int>(); Dictionary<string, int> dirNames = new Dictionary<string, int>();
foreach (DirectoryInfo dir in directorys) foreach (DirectoryInfo dir in directorys)
if (dir.Name != "Log")
dirNames.Add(dir.Name, int.Parse(dir.Name)); dirNames.Add(dir.Name, int.Parse(dir.Name));
// 순서데로 오름차순 정렬 // 순서데로 오름차순 정렬

View File

@ -425,6 +425,12 @@
<Compile Include="Datastore\Define.cs" /> <Compile Include="Datastore\Define.cs" />
<Compile Include="Datastore\IniFile.cs" /> <Compile Include="Datastore\IniFile.cs" />
<Compile Include="Datastore\Log.cs" /> <Compile Include="Datastore\Log.cs" />
<Compile Include="DialogForms\DialogFormHexKeyPad.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DialogForms\DialogFormHexKeyPad.designer.cs">
<DependentUpon>DialogFormHexKeyPad.cs</DependentUpon>
</Compile>
<Compile Include="Part11_UserManager\UserItem.cs" /> <Compile Include="Part11_UserManager\UserItem.cs" />
<Compile Include="DialogForms\DialogFormLogOn.cs"> <Compile Include="DialogForms\DialogFormLogOn.cs">
<SubType>Form</SubType> <SubType>Form</SubType>

View File

@ -12,6 +12,13 @@
기본형 컨베어 고정밀센서 계량기 기본형 컨베어 고정밀센서 계량기
*/ */
@ Ver 3.3.0 by CJY
- 2024.02.01
- Ver 3.2.0 Modify
- InModbus V2.0.4.0
- Modbus 항목 속도(ea/m), 금속검출, 이중진입 추가
- (버그수정) 기타로그 - 'Data\\Others' 폴더 내 'Log' 폴더 정렬 예외처리함
@ Ver 3.2.0 by CJY @ Ver 3.2.0 by CJY
- 2023.11.08 - 2023.11.08
- Ver 3.1.2 Modify - Ver 3.1.2 Modify

Binary file not shown.

View File

@ -3124,9 +3124,6 @@
<ItemGroup> <ItemGroup>
<None Include="Resources\korBackgroundAutoZero.png" /> <None Include="Resources\korBackgroundAutoZero.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="Resources\korMainModbusScreen.png" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="Resources\engMainModbusScreen.png" /> <None Include="Resources\engMainModbusScreen.png" />
</ItemGroup> </ItemGroup>
@ -3424,6 +3421,12 @@
<ItemGroup> <ItemGroup>
<None Include="Resources\korHelpBLDCDisable.png" /> <None Include="Resources\korHelpBLDCDisable.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="Resources\MainModbus.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\korMainModbusScreen.png" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
<ProjectExtensions> <ProjectExtensions>
<VisualStudio> <VisualStudio>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 37 KiB