using System; using System.Linq; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Threading; using System.Windows.Forms; using System.Net; using SmartX; using ITC81DB_ImageDll; using ITC81DB.DialogForms; using ITC81DB.Forms; namespace ITC81DB.Controls { public partial class ControlCenterConfiEthernet : UserControl { #region Field private static int ModeSTD2 = 4; private FormMenu m_ParentForm; public ControlConfiEthernetLocalIP ControlEthernetLocalIP; public ControlConfiHitachi ControlHitachi; public ControlConfiMarkoPrint ControlMarkoprint; public ControlConfiModbus ControlModbusTCP; public ControlConfiMULTiJET ControlMultiJet; private delegate void ConnetedIPStatusCallback(string value); #endregion #region Constructor public ControlCenterConfiEthernet(FormMenu parent) { InitializeComponent(); this.ParentForm = parent; this.DefaultSetting(); this.InitializeDesign(); } #endregion #region Property public FormMenu ParentForm { get { return this.m_ParentForm; } private set { this.m_ParentForm = value; } } #endregion #region Method public void InitializeDesign() { Class1 images = new Class1(); this.labelTitleConnectedIP.Text = "Connceted IP"; this.labelTitleServerPort.Text = "Port"; this.labelTitleClientServerIP.Text = "Server IP"; this.labelTitleClientServerPort.Text = "Server Port"; this.buttonLocalIP.Font = new Font("새굴림", 13, FontStyle.Bold); this.buttonLocalIP.Text = "Local IP"; this.buttonStart.Text = "Start"; this.buttonStop.Text = "Stop"; if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.English) { this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.engBackgroundEthernet)); this.comboBoxEthernetOpMode.Items.Clear(); this.comboBoxEthernetOpMode.SelectedIndexChanged -= new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); this.comboBoxEthernetOpMode.Items.Add("None"); this.comboBoxEthernetOpMode.Items.Add("Server"); this.comboBoxEthernetOpMode.Items.Add("Client"); this.comboBoxEthernetOpMode.SelectedIndex = 0; this.comboBoxEthernetOpMode.SelectedIndexChanged += new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); } else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Chinese) { this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.chnBackgroundEthernet)); this.labelTitleConnectedIP.Text = "连接的IP"; this.labelTitleServerPort.Text = "端口"; this.labelTitleClientServerIP.Text = "服务器IP"; this.labelTitleClientServerPort.Text = "服务器端口"; this.buttonLocalIP.Font = new Font("새굴림", 11, FontStyle.Bold); this.buttonLocalIP.Text = "设备IP地址"; this.buttonStart.Text = "开启"; this.buttonStop.Text = "停止"; this.comboBoxEthernetOpMode.Items.Clear(); this.comboBoxEthernetOpMode.SelectedIndexChanged -= new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); this.comboBoxEthernetOpMode.Items.Add("不使用"); this.comboBoxEthernetOpMode.Items.Add("服务器"); this.comboBoxEthernetOpMode.Items.Add("客户端"); this.comboBoxEthernetOpMode.SelectedIndex = 0; this.comboBoxEthernetOpMode.SelectedIndexChanged += new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); } else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Czech) { } else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Russian) { this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.rusBackgroundEthernet)); this.labelTitleConnectedIP.Text = "Подключенный IP"; this.labelTitleServerPort.Text = "Порт"; this.labelTitleClientServerIP.Text = "Сервер IP"; this.labelTitleClientServerPort.Text = "Сервер Порт"; this.buttonLocalIP.Font = new Font("새굴림", 13, FontStyle.Bold); this.buttonLocalIP.Text = "IP адрес"; this.buttonStart.Text = "Старт"; this.buttonStop.Text = "Стоп"; this.comboBoxEthernetOpMode.Items.Clear(); this.comboBoxEthernetOpMode.SelectedIndexChanged -= new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); this.comboBoxEthernetOpMode.Items.Add("Нет"); this.comboBoxEthernetOpMode.Items.Add("Сервер"); this.comboBoxEthernetOpMode.Items.Add("Клиент"); this.comboBoxEthernetOpMode.SelectedIndex = 0; this.comboBoxEthernetOpMode.SelectedIndexChanged += new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); } else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.German) { this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.gerBackgroundEthernet)); this.comboBoxEthernetOpMode.Items.Clear(); this.comboBoxEthernetOpMode.SelectedIndexChanged -= new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); this.comboBoxEthernetOpMode.Items.Add("None"); this.comboBoxEthernetOpMode.Items.Add("Server"); this.comboBoxEthernetOpMode.Items.Add("Client"); this.comboBoxEthernetOpMode.SelectedIndex = 0; this.comboBoxEthernetOpMode.SelectedIndexChanged += new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); } else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Spanish) { this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.engBackgroundEthernet)); this.comboBoxEthernetOpMode.Items.Clear(); this.comboBoxEthernetOpMode.SelectedIndexChanged -= new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); this.comboBoxEthernetOpMode.Items.Add("Ninguna"); this.comboBoxEthernetOpMode.Items.Add("Servidor"); this.comboBoxEthernetOpMode.Items.Add("Cliente"); this.comboBoxEthernetOpMode.SelectedIndex = 0; this.comboBoxEthernetOpMode.SelectedIndexChanged += new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); } else { this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.korBackgroundEthernet)); this.comboBoxEthernetOpMode.Items.Clear(); this.comboBoxEthernetOpMode.SelectedIndexChanged -= new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); this.comboBoxEthernetOpMode.Items.Add("None"); this.comboBoxEthernetOpMode.Items.Add("Server"); this.comboBoxEthernetOpMode.Items.Add("Client"); this.comboBoxEthernetOpMode.SelectedIndex = 0; this.comboBoxEthernetOpMode.SelectedIndexChanged += new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); } } private void DefaultSetting() { string[] sValue; this.ControlEthernetLocalIP = new ControlConfiEthernetLocalIP(this.ParentForm); this.Controls.Add(this.ControlEthernetLocalIP); this.ControlEthernetLocalIP.Location = new Point(0, 217); this.ControlHitachi = new ControlConfiHitachi(this.ParentForm); this.Controls.Add(this.ControlHitachi); this.ControlHitachi.Location = new Point(0, 217); this.ControlMarkoprint = new ControlConfiMarkoPrint(this.ParentForm); this.Controls.Add(this.ControlMarkoprint); this.ControlMarkoprint.Location = new Point(0, 217); this.ControlModbusTCP = new ControlConfiModbus(this.ParentForm); this.Controls.Add(this.ControlModbusTCP); this.ControlModbusTCP.Location = new Point(0, 217); this.ControlMultiJet = new ControlConfiMULTiJET(this.ParentForm); this.Controls.Add(this.ControlMultiJet); this.ControlMultiJet.Location = new Point(0, 217); this.ControlVisible(false); if (this.ParentForm.ParentForm.SystemConfig2.IsEthernetEnable == true) { this.buttonStart.Enabled = true; this.buttonStop.Enabled = true; } else { this.buttonStart.Enabled = false; this.buttonStop.Enabled = false; } this.labelServerStatus.Text = "-"; this.labelClientStatus.Text = "-"; this.labelConnectedIP.Text = "-"; // Host IP sValue = this.ParentForm.ParentForm.SystemConfig2.EthernetAddress.Split('.'); this.labelHostIP1.Text = sValue[0]; this.labelHostIP2.Text = sValue[1]; this.labelHostIP3.Text = sValue[2]; this.labelHostIP4.Text = sValue[3]; this.labelHostPort.Text = this.ParentForm.ParentForm.SystemConfig2.EthernetHostPort.ToString(); this.labelLocalPort.Text = this.ParentForm.ParentForm.SystemConfig2.EthernetLocalPort.ToString(); this.ChangeCommunicationMode(); this.buttonSaveClient.Enabled = false; } public void ChangeCommunicationMode() { this.comboBoxEthernetMode.Items.Clear(); this.comboBoxEthernetMode.SelectedIndexChanged -= new EventHandler(this.comboBoxEthernetMode_SelectedIndexChanged); if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == true) { this.comboBoxEthernetMode.Items.Add("None"); this.comboBoxEthernetMode.Items.Add("STD1"); this.comboBoxEthernetMode.Items.Add("Remote"); this.comboBoxEthernetMode.Items.Add("Printer"); this.comboBoxEthernetMode.Items.Add("imaje 9410 OPT1"); // 한맥 4 this.comboBoxEthernetMode.Items.Add("imaje 9028 OPT1"); // 한맥 5 this.comboBoxEthernetMode.Items.Add("OPT0"); // 대주 6 this.comboBoxEthernetMode.Items.Add("imaje 9410 OPT2"); // 한맥 7 this.comboBoxEthernetMode.Items.Add("imaje 9028 OPT2"); // 한맥 8 this.comboBoxEthernetMode.Items.Add("Hitachi"); // 히타치 9 this.comboBoxEthernetMode.Items.Add("MACSA Laser"); // MACSA 10 this.comboBoxEthernetMode.Items.Add("Markoprint"); // Markoprint 11 this.comboBoxEthernetMode.Items.Add("alphaJET"); // alphaJET 12 this.comboBoxEthernetMode.Items.Add("Marking(VJ1510)"); // VJ1510 13 this.comboBoxEthernetMode.Items.Add("OPT1"); // 금속검출기(액트라 - 안리쯔) 14 this.comboBoxEthernetMode.Items.Add("OPT2"); // NOW1(Now PPI에 사용) 15 this.comboBoxEthernetMode.Items.Add("OPC"); // 16 this.comboBoxEthernetMode.Items.Add("OPT3"); // 17 this.comboBoxEthernetMode.Items.Add("HP-200"); // 18 this.comboBoxEthernetMode.Items.Add("Smart Jet"); // 19 this.comboBoxEthernetMode.Items.Add("imaje 9410 OPT3"); // 한맥 20 this.comboBoxEthernetMode.Items.Add("RFID Speedway R420"); // Impinj Speedway-R420(RFID) 21 this.comboBoxEthernetMode.Items.Add("Modbus TCP"); // 모드버스 TCP 22 this.comboBoxEthernetMode.Items.Add("STD2"); // STD2 23 this.comboBoxEthernetMode.Items.Add("MULTi-JET"); // MULTi-JET 24 this.comboBoxEthernetMode.Items.Add("DJ(VIDEOJET)"); // DJ VIDEOJET 25 this.comboBoxEthernetMode.Items.Add("LINX8830"); // LINX8830 잉크젯 프린터 26 this.comboBoxEthernetMode.Items.Add("MYJET"); // MYJET 잉크젯 프린터 27 this.comboBoxEthernetMode.Items.Add("OPT4"); // 바코드 값과 함께 전송(Tasco건) 28 } else { this.comboBoxEthernetMode.Items.Add("None"); this.comboBoxEthernetMode.Items.Add("STD1"); this.comboBoxEthernetMode.Items.Add("Remote"); this.comboBoxEthernetMode.Items.Add("Printer"); this.comboBoxEthernetMode.Items.Add("STD2"); // STD2 23 } this.comboBoxEthernetMode.SelectedIndexChanged += new EventHandler(this.comboBoxEthernetMode_SelectedIndexChanged); } public void DisplayLabelReceive(string sValue) { this.labelReceive.Text = sValue; } public void DisplayLabelLocalPort(bool bValue) { if (bValue == false) { this.labelLocalPort.Enabled = false; this.labelLocalPort.BackColor = Color.Silver; } else { this.labelLocalPort.Enabled = true; this.labelLocalPort.BackColor = Color.White; } } public void UpdateEthernetStatusDisplay(string value) { if (this.labelClientStatus.Text != value) this.labelClientStatus.Text = value; } private void UpdateLabelFormatDisplay() { this.buttonTestSend.Enabled = true; if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false) { switch (this.comboBoxEthernetMode.SelectedIndex) { case 0: // None this.labelFormat.Text = ""; break; case 1: // STD1 this.labelFormat.Text = "STX[1],ID[5],No[4],U[6],P[6],O[6],Grd[1],Sign[1],Weight[6],ETX[1]"; break; case 2: // Remote this.labelFormat.Text = "STX[1],No[2],Grd[1],Weight[6],ETX[1]"; break; case 3: // Printer this.labelFormat.Text = "No[4],Grd[8],Weight[10],CNT[10]"; break; case 4: // STD2 this.labelFormat.Text = "STX[1],ID[5],No[4],U[6],P[6],O[6],UC[7],PC[7],OC[7],ExC[7],TC[9],Grd[1],Sign[1],Weight[6],ETX[1]"; break; default: this.labelFormat.Text = ""; break; } } else { switch (this.comboBoxEthernetMode.SelectedIndex) { case 0: // None this.labelFormat.Text = ""; break; case 1: // STD1 this.labelFormat.Text = "STX[1],ID[5],No[4],U[6],P[6],O[6],Grd[1],Sign[1],Weight[6],ETX[1]"; break; case 2: // Remote this.labelFormat.Text = "STX[1],No[2],Grd[1],Weight[6],ETX[1]"; break; case 3: // Printer this.labelFormat.Text = "No[4],Grd[8],Weight[10],CNT[10]"; break; case 4: // markem-imaje 9410 OPT1 this.labelFormat.Text = "0xE8,0x00,0x08,0x01,0x00,0x05,W[5],Chksum[1]"; break; case 5: // markem-imaje 9028 OPT1 this.labelFormat.Text = "0x99,0x00,0x07,0x12,W[5],0x12,Chksum[1]"; break; case 6: // 노바렉스 대주 this.labelFormat.Text = "0x1B,EW----;1.00I,0x0D,0x1B,P1-0-000000000;A9mm;,W[6],0x0D,0x1B,EX----;,0x0D,0x02,TZ1.00I;13,0x0D,0x03"; break; case 7: // markem-imaje 9410 OPT2 this.labelFormat.Text = "0xE8,0x00,0x08,0x01,0x00,0x05,W[5],Chksum[1]"; break; case 8: // markem-imaje 9028 OPT2 this.labelFormat.Text = "0x05/0x99,0x00,0x07,0x12,W[5],0x12,Chksum[1]"; break; case 9: // Hitachi this.labelFormat.Text = "STX[1],Length[1],Room Number[1],W[5],ETX[1]"; break; case 10: // MACSA Laser this.labelFormat.Text = "STX[1],0xFE,0x41,0x30,0x06,W[6],Chk[1],(Chk[1]&0xff)[1],ETX[1]"; break; case 11: // Markoprint this.labelFormat.Text = "STX[1],TZcosmax.;00I;13,0x0D,W[6],Unit[1],0x0D,ETX[1]"; break; case 12: // alphaJET this.labelFormat.Text = "label\\1234.txt,W[6],Unit[1],"; break; case (int)DataStore.SerialMode.f13_Marking_VJ1510: case (int)DataStore.SerialMode.f25_DJ_VIDEOJET: this.labelFormat.Text = "STX[1],0x55,0x4B,0x0A,Weight[4](No Decimal point),ETX[1]"; break; case 14: // OPT1 this.labelFormat.Text = "Start:STX[1],12,ETX[1], Stop:STX[1],13,ETX[1], Number change:STX[1],200,No[2],ETX[1]"; break; case 15: break; case 16: // OPC this.buttonTestSend.Enabled = false; this.labelFormat.Text = "OPC : opc.tcp://192.168.4.10"; break; case 17: // OPT3 this.labelFormat.Text = "STX[1],Date[9],Time[9],Count[9],grd[9],W[9],Lot[9],O[9],U[9],P[9],ETX[1]"; break; case 18: // HP-200 this.labelFormat.Text = "Pass : 02 4a 30 2c W[6] 0d 04 / NG : 02 4a 30 2c 20 20 20 20 20 20 0d 04 -> Screen Update : 02 5a 04"; break; case 19: // Smart Jet this.labelFormat.Text = "STX[1], A01, WeightData[6], EOT[1]"; break; case 20: // markem-imaje 9410 OPT3 this.labelFormat.Text = "0xE8,0x00,0x08,0x01,0x00,0x05,W[5],Chksum[1]"; break; case (int)DataStore.EthernetMode.f22_Modbus_TCP: // Modbus_TCP this.labelFormat.Text = "ID, Product No, Under, Pass, Over, Under Count, Pass Count, Over Count, NG Count, ExNG Count, Total Count, Grade, Weight, Status(Run/Stop)"; break; case (int)DataStore.EthernetMode.f23_STD2: // STD2 this.labelFormat.Text = "STX[1],ID[5],No[4],U[6],P[6],O[6],UC[7],PC[7],OC[7],ExC[7],TC[9],Grd[1],Sign[1],Weight[6],ETX[1]"; break; case (int)DataStore.EthernetMode.f24_MULTi_JET: // Multi-jet this.labelFormat.Text = "0x1B,0x02,Slave Address[1],0x1D,0x02,0x01,0x0A,Date[10],0x02,0x07,Weight[6],'g',0x1B,0x03,Chksum[1]"; break; case (int)DataStore.EthernetMode.f26_LINX8830: // LINX8830 this.labelFormat.Text = "0x1B,0x02,0x1D,0x06,0x00,Weight[6],0x1B,0x03"; break; case (int)DataStore.EthernetMode.f27_MYJET: // MYJET this.labelFormat.Text = "0x1B,0x02,IP[1],0x1D,0x01,0x01,0x06,Weight[6],0x1B,0x03,Checksum[1]"; break; case (int)DataStore.EthernetMode.f28_OPT4: // OPT4 this.labelFormat.Text = "0x02,Date[yyyy-MM-dd HH:mm:ss, 19];Grade[1];Weight[6];Data,0x03"; break; default: this.buttonTestSend.Enabled = false; this.labelFormat.Text = "Private use"; break; } } } public void DisplayHiddenMenu(bool bValue) { if (bValue == true) { this.buttonPingTimer.Visible = true; } else { this.buttonPingTimer.Visible = false; } } private void ButtonAddOnDisplay() { this.DisplayBottomSettingMenu(); if (this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f9_Hitachi || this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f11_Markoprint || this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f16_OPC || this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f22_Modbus_TCP || this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f24_MULTi_JET) this.buttonAddon.Visible = true; else this.buttonAddon.Visible = false; } private void ControlVisible(bool visible) { this.ControlHitachi.Visible = visible; this.ControlMarkoprint.Visible = visible; this.ControlModbusTCP.Visible = visible; this.ControlMultiJet.Visible = visible; } private void DisplayBottomSettingMenu() { this.ControlVisible(false); this.buttonTestSend.Enabled = true; if (this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f9_Hitachi) { this.ControlHitachi.Visible = true; this.ControlHitachi.BringToFront(); this.ControlHitachi.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu()); } else if (this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f11_Markoprint) { this.ControlMarkoprint.Visible = true; this.ControlMarkoprint.BringToFront(); this.ControlMarkoprint.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu()); } else if (this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f22_Modbus_TCP || this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f16_OPC) { this.ControlModbusTCP.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu()); this.ControlModbusTCP.Visible = true; this.ControlModbusTCP.BringToFront(); } else if (this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f24_MULTi_JET) { this.ControlMultiJet.Visible = true; this.ControlMultiJet.BringToFront(); this.ControlMultiJet.DisplayRefresh(this.ParentForm.CurrentConfigurationMenu()); } else { } } private void ConnectedIPStatusOut(string value) { this.labelConnectedIP.Text = value; } public void DelegateConnectedIPStatusOut(string value) { this.Invoke(new ConnetedIPStatusCallback(this.ConnectedIPStatusOut), value); } public void DisplayRefresh(SystemStatus status) { this.ParentForm.ParentForm.CurrentSystemStatus.CurrentDisplay = DataStore.DisplayStore.ConfiEthernet; this.ParentForm.ParentForm.SetDisplayMode(DataStore.DisplayMode.Menu); this.ParentForm.DisplayTitleRoot(this.ParentForm.ParentForm.CurrentSystemStatus); this.comboBoxEthernetMode.SelectedIndexChanged -= new EventHandler(this.comboBoxEthernetMode_SelectedIndexChanged); this.comboBoxEthernetOpMode.SelectedIndexChanged -= new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); this.comboBoxEthernetOpMode.SelectedIndex = this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode; if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false) { if (this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)DataStore.EthernetMode.f23_STD2) this.comboBoxEthernetMode.SelectedIndex = ModeSTD2; else if (this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode > this.comboBoxEthernetMode.Items.Count - 1) { this.comboBoxEthernetMode.SelectedIndex = 0; this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode = this.comboBoxEthernetMode.SelectedIndex; this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2); } else this.comboBoxEthernetMode.SelectedIndex = this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode; } else this.comboBoxEthernetMode.SelectedIndex = this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode; if (this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)DataStore.EthernetMode.f16_OPC) this.comboBoxEthernetOpMode.Enabled = false; this.comboBoxEthernetMode.SelectedIndexChanged += new EventHandler(this.comboBoxEthernetMode_SelectedIndexChanged); this.comboBoxEthernetOpMode.SelectedIndexChanged += new EventHandler(this.comboBoxEthernetOpMode_SelectedIndexChanged); this.UpdateLabelFormatDisplay(); this.DisplayHiddenMenu(false); if (this.ParentForm.ParentForm.SystemConfig3.IsEthernetPingTimer == true) { this.buttonPingTimer.Text = "Ping Close"; this.buttonPingTimer.ButtonDown(); } else { this.buttonPingTimer.Text = "Ping Open"; this.buttonPingTimer.ButtonUp(); } if (this.comboBoxEthernetOpMode.SelectedIndex == 1) { this.buttonStart.Enabled = true; this.buttonStop.Enabled = true; if (string.Compare(this.ParentForm.ParentForm.smartConfigs.IPSettings.DeviceIP, "0.0.0.0") == 0) { if (this.labelServerStatus.Text != ">Addr Err") this.labelServerStatus.Text = ">Addr Err"; this.timerServer.Enabled = false; } else { this.ParentForm.ParentForm.EthernetServerStart(); if (this.timerServer.Enabled != true) this.timerServer.Enabled = true; } } else if (this.comboBoxEthernetOpMode.SelectedIndex == 2) { this.buttonStart.Enabled = true; this.buttonStop.Enabled = true; this.ParentForm.ParentForm.EthernetClientConnect(); } else { this.buttonStart.Enabled = false; this.buttonStop.Enabled = false; this.labelServerStatus.Text = "-"; this.labelClientStatus.Text = "-"; this.labelConnectedIP.Text = "-"; } this.labelLocalPort.Text = this.ParentForm.ParentForm.SystemConfig2.EthernetLocalPort.ToString(); this.ButtonAddOnDisplay(); this.buttonSave.Enabled = false; } #endregion #region Event Handler private void buttonClientStart_Click(object sender, EventArgs e) { this.ParentForm.ParentForm.EthernetClientConnect(); } private void buttonClientStop_Click(object sender, EventArgs e) { this.ParentForm.ParentForm.EthernetClientDisconnect(); } private void buttonTestSend_Click(object sender, EventArgs e) { int tempStringLength = 0; string tempString = ""; string str = ""; bool isFillZero = this.ParentForm.ParentForm.SystemConfig3.IsCharToFillZeroEthernet; StringBuilder sb = new StringBuilder(); byte[] byteArray = new byte[12]; byte[] weightBytes = new byte[4]; byte[] bytes = new byte[100]; if (this.comboBoxEthernetMode.SelectedIndex == 0) return; switch (this.comboBoxEthernetMode.SelectedIndex) { case 1: #region STD1 sb.Append((char)0x02); sb.Append("IN001"); sb.Append("0001"); sb.Append(Helper.StringZeroFillDigits6(Helper.StringToDecimalPlaces("1000", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append(Helper.StringZeroFillDigits6(Helper.StringToDecimalPlaces("2000", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append(Helper.StringZeroFillDigits6(Helper.StringToDecimalPlaces("3000", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append("P"); sb.Append(" "); sb.Append(string.Format("{0, 6}", Helper.DoubleToString(123.4, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append((char)0x03); #endregion break; case 2: #region Remote sb.Append((char)0x02); sb.Append("01"); sb.Append("P"); sb.Append("0"); sb.Append(Helper.StringToDecimalPlaces("1234", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces)); sb.Append((char)0x03); #endregion break; case 3: #region Printer sb.Append("0001"); sb.Append(" Pass"); sb.Append(this.ParentForm.ParentForm.PadLeft(9, Helper.DoubleToString (this.ParentForm.ParentForm.CurrentWeightData.Weight, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append(" "); sb.Append("1234567890"); //sb.Append(Helper.StringZeroFillDigits4(this.ParentForm.ParentForm.CurrentProductItem.Number.ToString())); //sb.Append(" Empty"); //sb.Append(this.ParentForm.ParentForm.PadLeft(10, Helper.DoubleToString // (this.ParentForm.ParentForm.CurrentWeightData.Weight, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); //sb.Append("Balance".PadLeft(10, ' ')); #endregion break; case 4: if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false) { #region STD2 sb.Append((char)0x02); sb.Append("IN001"); sb.Append("0001"); sb.Append(Helper.StringZeroFillDigits6(Helper.StringToDecimalPlaces("1000", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append(Helper.StringZeroFillDigits6(Helper.StringToDecimalPlaces("2000", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append(Helper.StringZeroFillDigits6(Helper.StringToDecimalPlaces("3000", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append(string.Format("{0:0000000}", 11111)); sb.Append(string.Format("{0:0000000}", 22222)); sb.Append(string.Format("{0:0000000}", 33333)); sb.Append(string.Format("{0:0000000}", 11111)); sb.Append(string.Format("{0:000000000}", 77777)); sb.Append("P"); sb.Append(" "); sb.Append(Helper.StringZeroFillDigits6(Helper.DoubleToString(123.4, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append((char)0x03); #endregion } else { #region imaje 9410 OPT1 byteArray = new byte[12]; weightBytes = new byte[5]; // 외부변수사용 : 0xE8 byteArray[0] = 0xE8; // Length : 0x00, 0x08 고정값 byteArray[1] = 0x00; byteArray[2] = 0x08; byteArray[3] = 0x01; // 1번 외부변수 번호 byteArray[4] = 0x00; byteArray[5] = 0x05; // 1번 외부변수 길이 tempString = string.Format("{0,5}", Helper.StringToWeight("1234", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces)); weightBytes = new UTF8Encoding().GetBytes(tempString); for (int i = 0; i < weightBytes.Length; i++) { byteArray[i + 6] = weightBytes[i]; } byteArray[11] = 0x00; byteArray[11] = Helper.ChecksumCalculator(byteArray); #endregion } break; case 5: #region imaje 9028 OPT1 byteArray = new byte[11]; weightBytes = new byte[5]; // byteArray[0] ~ byteArray[3]은 고정 byteArray[0] = 0x99; byteArray[1] = 0x00; byteArray[2] = 0x07; byteArray[3] = 0x12; weightBytes = new UTF8Encoding().GetBytes(string.Format("{0,5}", Helper.StringToWeight("1234", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); for (int i = 0; i < weightBytes.Length; i++) { byteArray[i + 4] = weightBytes[i]; } byteArray[9] = 0x12; byteArray[10] = 0x00; byteArray[10] = Helper.ChecksumCalculator(byteArray); #endregion break; case 6: #region OPT3 - 노바렉스 대주 sb.Append((char)0x1B); sb.Append("EW----;1.00I"); sb.Append((char)0x0D); sb.Append((char)0x1B); sb.Append("P1-0-000000000;A9mm;"); sb.Append(string.Format("{0,6}", Helper.StringToWeight("1234", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append((char)0x0D); sb.Append((char)0x1B); sb.Append("EX----;"); sb.Append((char)0x0D); sb.Append((char)0x02); sb.Append("TZ1.00I;13"); sb.Append((char)0x0D); sb.Append((char)0x03); #endregion break; case 7: #region imaje 9410 OPT2 byteArray = new byte[12]; weightBytes = new byte[5]; // 외부변수사용 : 0xE8 byteArray[0] = 0xE8; // Length : 0x00, 0x08 고정값 byteArray[1] = 0x00; byteArray[2] = 0x08; byteArray[3] = 0x01; // 1번 외부변수 번호 byteArray[4] = 0x00; byteArray[5] = 0x05; // 1번 외부변수 길이 if (this.ParentForm.ParentForm.CurrentWeightData.JudgmentStatus == DataStore.JudgmentStatus.Pass) { tempString = string.Format("{0,5}", Helper.StringToWeight("1234", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces)); weightBytes = new UTF8Encoding().GetBytes(tempString); for (int i = 0; i < weightBytes.Length; i++) { byteArray[i + 6] = weightBytes[i]; } } else { for (int i = 0; i < 5; i++) { byteArray[i + 6] = 0x20; } } byteArray[11] = 0x00; byteArray[11] = Helper.ChecksumCalculator(byteArray); #endregion break; case 8: #region imaje 9028 OPT2 byteArray = new byte[11]; weightBytes = new byte[5]; switch (this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode) { case 1: if (this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList != null) { foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList) { this.ParentForm.ParentForm.EthernetServerSendMessage(client, this.ParentForm.ParentForm.SendChar(DataStore.CharValue.ENQ)); } } break; case 2: this.ParentForm.ParentForm.EthernetWeightData(this.ParentForm.ParentForm.SendChar(DataStore.CharValue.ENQ)); break; default: break; } Thread.Sleep(30); // 중량발송 : 0x99 byteArray[0] = 0x99; // Length : 0x00, 0x02 고정값 byteArray[1] = 0x00; byteArray[2] = 0x07; byteArray[3] = 0x12; if (this.ParentForm.ParentForm.CurrentWeightData.JudgmentStatus == DataStore.JudgmentStatus.Pass) { tempString = string.Format("{0,5}", Helper.StringToWeight("1234", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces)); weightBytes = new UTF8Encoding().GetBytes(tempString); for (int i = 0; i < weightBytes.Length; i++) { byteArray[i + 4] = weightBytes[i]; } } else { for (int i = 0; i < 5; i++) { byteArray[i + 4] = 0x20; } } byteArray[9] = 0x12; byteArray[10] = 0x00; byteArray[10] = Helper.ChecksumCalculator(byteArray); #endregion break; case 9: #region Hitachi sb.Append((char)0x02); sb.Append((char)0x10); sb.Append((char)0x31); sb.Append(string.Format("{0,6}", Helper.StringToWeight("1234", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append((char)0x03); #endregion break; case 10: #region MACSA Laser byteArray = new byte[14]; bytes = new byte[6]; byte sum = 0x00; byteArray[0] = 0x02; byteArray[1] = 0xFE; byteArray[2] = 0x41; byteArray[3] = 0x30; byteArray[4] = 0x06; bytes = new UTF8Encoding().GetBytes(string.Format("{0,6}", Helper.StringToWeight("1234", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); for (int i = 0; i < bytes.Length; i++) { byteArray[i + 5] = bytes[i]; } byteArray[11] = byteArray[12] = byteArray[13] = 0x00; byteArray[11] = Helper.ChecksumCalculator(byteArray); byteArray[12] = (byte)(byteArray[11] & 0x00ff); byteArray[13] = 0x03; #endregion break; case 11: #region Markoprint byteArray = new byte[50]; bytes = new byte[30]; weightBytes = new byte[30]; string strCosmax = "TZcosmax.00I;13"; string strCosmax2 = "TZcosmax2.00I;13"; string strDate = string.Format("{0:yyyy.MM.dd}", DateTime.Now); string str2 = ""; byteArray[0] = 0x02; // bytes = new UTF8Encoding().GetBytes(strCosmax); for (int i = 0; i < bytes.Length; i++) { byteArray[i + 1] = bytes[i]; } byteArray[strCosmax.Length + 1] = 0x0D; weightBytes = new UTF8Encoding().GetBytes(string.Format("{0,6}{1}", Helper.StringToWeight("1234", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces), this.ParentForm.ParentForm.SystemConfig1.Unit)); for (int i = 0; i < weightBytes.Length; i++) { byteArray[i + strCosmax.Length + 2] = weightBytes[i]; } byteArray[strCosmax.Length + weightBytes.Length + 2] = 0x0D; byteArray[strCosmax.Length + weightBytes.Length + 3] = 0x03; #endregion break; case 12: #region alphaJET byteArray = new byte[150]; bytes = new byte[100]; weightBytes = new byte[20]; int length = 0; string fileName = "label\\1234.txt"; bytes = new UTF8Encoding().GetBytes("" + fileName + "" + @""); for (int i = 0; i < bytes.Length; i++) { byteArray[i] = bytes[i]; } length = bytes.Length; /////////////////////////////////////////// weightBytes = new UTF8Encoding().GetBytes(string.Format("{0,6}{1}", Helper.StringToWeight("1234", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces), this.ParentForm.ParentForm.SystemConfig1.Unit)); for (int i = 0; i < weightBytes.Length; i++) { byteArray[i + length] = weightBytes[i]; } length = length + weightBytes.Length; //////////////////////////////////////////// bytes = new UTF8Encoding().GetBytes(""); for (int i = 0; i < bytes.Length; i++) { byteArray[i + length] = bytes[i]; } length = length + bytes.Length; bytes = new UTF8Encoding().GetBytes(""); for (int i = 0; i < bytes.Length; i++) { byteArray[i + length] = bytes[i]; } #endregion break; case (int)DataStore.SerialMode.f13_Marking_VJ1510: case (int)DataStore.SerialMode.f25_DJ_VIDEOJET: #region Marking(VJ1510) byteArray = new byte[9]; sb.Append((char)0x02); sb.Append((char)0x55); // U(고정) sb.Append((char)0x4B); // K(고정) sb.Append((char)0x0A); // LF(고정) sb.Append("1234"); sb.Append((char)0x03); #endregion break; case 14: #region OPT1 sb.Append((char)0x02); sb.Append("20001"); sb.Append((char)0x03); #endregion break; case 15: break; case 16: break; case 17: #region OPT3 string tempValue = ""; DateTime dt = DateTime.Now; sb.Append((char)0x02); sb.Append(string.Format(" {0:yyyyMMdd}", dt)); sb.Append(string.Format(" {0:HH:mm:ss}", dt)); sb.Append(" 12345"); sb.Append(" P"); sb.Append(string.Format("{0,9}", 123.4)); if (this.ParentForm.ParentForm.CurrentProductItem.LotNo.Length > 9) sb.Append(this.ParentForm.ParentForm.CurrentProductItem.LotNo.Substring(0, 9)); else sb.Append(this.ParentForm.ParentForm.CurrentProductItem.LotNo.PadLeft(9, ' ')); sb.Append((Helper.StringToDecimalPlaces(this.ParentForm.ParentForm.CurrentProductItem.OverRange, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces)).PadLeft(9)); sb.Append((Helper.StringToDecimalPlaces(this.ParentForm.ParentForm.CurrentProductItem.UnderRange, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces)).PadLeft(9)); sb.Append((Helper.StringToDecimalPlaces(this.ParentForm.ParentForm.CurrentProductItem.PassRange, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces)).PadLeft(9)); sb.Append((char)0x03); #endregion break; case 18: #region HP-200 sb.Append((char)0x02); sb.Append((char)0x4a); sb.Append((char)0x30); sb.Append((char)0x2c); sb.Append(" 123.4"); sb.Append((char)0x0d); sb.Append((char)0x04); switch (this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode) { case 1: if (this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList != null) { foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList) this.ParentForm.ParentForm.EthernetServerSendMessage(client, sb.ToString()); } break; case 2: this.ParentForm.ParentForm.EthernetWeightData(sb.ToString()); break; default: break; } sb = new StringBuilder(); sb.Append((char)0x02); sb.Append((char)0x5a); sb.Append((char)0x04); #endregion break; case 19: #region Smart Jet sb.Append((char)0x02); sb.Append("A01"); sb.Append(" 12.34"); sb.Append((char)0x04); #endregion break; case 20: #region imaje 9410 OPT3 byteArray = new byte[12]; weightBytes = new byte[5]; // 외부변수사용 : 0xE8 byteArray[0] = 0xE8; // Length : 0x00, 0x08 고정값 byteArray[1] = 0x00; byteArray[2] = 0x08; byteArray[3] = 0x01; // 1번 외부변수 번호 byteArray[4] = 0x00; byteArray[5] = 0x05; // 1번 외부변수 길이 weightBytes = new UTF8Encoding().GetBytes(string.Format("{0,5}", Helper.StringToWeight("1234", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); for (int i = 0; i < weightBytes.Length; i++) { byteArray[i + 6] = weightBytes[i]; } byteArray[11] = 0x00; byteArray[11] = Helper.ChecksumCalculator(byteArray); #endregion break; case (int)DataStore.EthernetMode.f22_Modbus_TCP: #region Modbus TCP(16. Write Multiple Registers) if (this.ParentForm.ParentForm.SystemConfig2.ModbusTCPSelectFunction == (int)DataStore.ModbusFunction._16_WriteMultipleRegister) { byte[] sendData = this.ParentForm.ParentForm.Modbus.MakeTCPSendAllData(this.ParentForm.ParentForm.Transfer_22_Modbus_Write(), this.ParentForm.ParentForm.SystemConfig3.ModbusTCPStartAddress); this.ParentForm.ParentForm.EthernetWeightDataForModbus(sendData); } #endregion break; case (int)DataStore.EthernetMode.f23_STD2: #region STD2 sb.Append((char)0x02); sb.Append("IN001"); sb.Append("0001"); sb.Append(Helper.StringZeroFillDigits6(Helper.StringToDecimalPlaces("1000", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append(Helper.StringZeroFillDigits6(Helper.StringToDecimalPlaces("2000", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append(Helper.StringZeroFillDigits6(Helper.StringToDecimalPlaces("3000", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append(string.Format("{0:0000000}", 11111)); sb.Append(string.Format("{0:0000000}", 22222)); sb.Append(string.Format("{0:0000000}", 33333)); sb.Append(string.Format("{0:0000000}", 11111)); sb.Append(string.Format("{0:000000000}", 77777)); sb.Append("P"); sb.Append(" "); sb.Append(string.Format("{0, 6}", Helper.DoubleToString(123.4, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append((char)0x03); #endregion break; case (int)DataStore.EthernetMode.f24_MULTi_JET: #region MULTi_JET byte slaveAddress = 1; byteArray = new byte[29]; bytes = new byte[7]; byte[] date = new UTF8Encoding().GetBytes(string.Format("{0:yyyy.MM.dd}", DateTime.Now)); byteArray[0] = 0x1B; byteArray[1] = 0x02; slaveAddress = Convert.ToByte(this.ParentForm.ParentForm.SystemConfig2.MULTiJETSlaveAddressEthernet); byteArray[2] = slaveAddress; byteArray[3] = 0x1D; // 고정값, 원격 필드 데이터 다운로드(1D) byteArray[4] = 0x02; // 데이터 개수 byteArray[5] = 0x01; // 필드ID(마킹기 화면에서 설정 가능) byteArray[6] = 0x0A; // 현재 필드ID 자리수 for (int i = 0; i < date.Length; i++) byteArray[7 + i] = date[i]; byteArray[17] = 0x02; // 필드ID(마킹기 화면에서 설정 가능) byteArray[18] = 0x07; // 현재 필드ID 자리수 tempString = "123.4g "; for (int i = 0; i < tempString.Length; i++) { bytes[i] = Convert.ToByte(tempString[i]); byteArray[19 + i] = bytes[i]; } byteArray[26] = 0x1B; byteArray[27] = 0x03; byteArray[28] = this.ParentForm.ParentForm.Checksumcalculator1digit(byteArray); #endregion break; case (int)DataStore.EthernetMode.f26_LINX8830: #region LINX8830 // 0~4 고정값 sb.Append((char)0x1b); sb.Append((char)0x02); sb.Append((char)0x1D); sb.Append((char)0x06); sb.Append((char)0x00); if (isFillZero == true) sb.Append(Helper.StringZeroFillDigits6(Helper.DoubleToString(123.4, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); else sb.Append(this.ParentForm.ParentForm.PadLeft(6, Helper.DoubleToString(123.4, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); // 11~12 고정값 sb.Append((char)0x1b); sb.Append((char)0x03); #endregion break; case (int)DataStore.EthernetMode.f27_MYJET: #region MYJET byteArray = new byte[16]; bytes = new byte[6]; // 0~6 고정값 byteArray[0] = 0x1B; byteArray[1] = 0x02; string[] ethernetAddr = this.ParentForm.ParentForm.SystemConfig2.EthernetAddress.Split('.'); byteArray[2] = Helper.StringToHex(ethernetAddr[ethernetAddr.Length - 1]); // Server IP 맨 마지막자리 byteArray[3] = 0x1D; byteArray[4] = 0x01; byteArray[5] = 0x01; byteArray[6] = 0x06; if (isFillZero == true) bytes = new UTF8Encoding().GetBytes(Helper.StringZeroFillDigits6(Helper.DoubleToString(123.4, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); else bytes = new UTF8Encoding().GetBytes(this.ParentForm.ParentForm.PadLeft(6, Helper.DoubleToString(123.4, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); for (int i = 0; i < bytes.Length; i++) { byteArray[i + 7] = bytes[i]; } // 13~14 고정값 byteArray[13] = 0x1B; byteArray[14] = 0x03; byteArray[15] = 0x00; byteArray[15] = this.ParentForm.ParentForm.Checksumcalculator1digit(byteArray); #endregion break; case (int)DataStore.EthernetMode.f28_OPT4: #region OPT4 sb.Append((char)0x02); sb.Append(string.Format("{0:yyyy-MM-dd-HH:mm:ss}", DateTime.Now)); sb.Append(";"); sb.Append("P"); sb.Append(";"); sb.Append(Helper.StringZeroFillDigits6(Helper.DoubleToString(123.4, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces))); sb.Append(";"); sb.Append(this.ParentForm.ParentForm.CurrentBarcode.BarcodePeek()); sb.Append((char)0x03); #endregion break; default: break; } switch (this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode) { case 1: if (this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList != null) { foreach (SmartTCPMultiServer.CLIENTSINFOS client in this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList) { if (sb.ToString() == "") this.ParentForm.ParentForm.EthernetServerSendMessage(client, byteArray); else this.ParentForm.ParentForm.EthernetServerSendMessage(client, sb.ToString()); } } break; case 2: if (sb.ToString() == "") this.ParentForm.ParentForm.EthernetWeightData(byteArray); else this.ParentForm.ParentForm.EthernetWeightData(sb.ToString()); break; default: break; } } private void buttonSaveClient_Click(object sender, EventArgs e) { try { this.ParentForm.ParentForm.SystemConfig2.EthernetHostPort = int.Parse(this.labelHostPort.Text); } catch { this.ParentForm.ParentForm.SystemConfig2.EthernetHostPort = 0; } this.ParentForm.ParentForm.SystemConfig2.EthernetAddress = string.Format("{0}.{1}.{2}.{3}", this.labelHostIP1.Text, this.labelHostIP2.Text, this.labelHostIP3.Text, this.labelHostIP4.Text); this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2); this.ParentForm.ParentForm.EthernetClientDisconnect(); this.buttonSaveClient.Enabled = false; } private void labelHostPort_Click(object sender, EventArgs e) { DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelHostPort.Text, 5, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language); if (myKeyPad.ShowDialog() == DialogResult.OK) { this.labelHostPort.Text = myKeyPad.StringValue; this.buttonSaveClient.Enabled = true; } } private void labelHostIP1_Click(object sender, EventArgs e) { string temp = ""; DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelHostIP1.Text, 3, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language); if (myKeyPad.ShowDialog() == DialogResult.OK) { if (myKeyPad.IntValue > 255) { temp = "0 ~ 255"; DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig1.Language, temp); myMsg.ShowDialog(); } else { this.labelHostIP1.Text = myKeyPad.StringValue; this.buttonSaveClient.Enabled = true; } } } private void labelHostIP2_Click(object sender, EventArgs e) { string temp = ""; DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelHostIP2.Text, 3, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language); if (myKeyPad.ShowDialog() == DialogResult.OK) { if (myKeyPad.IntValue > 255) { temp = "0 ~ 255"; DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig1.Language, temp); myMsg.ShowDialog(); } else { this.labelHostIP2.Text = myKeyPad.StringValue; this.buttonSaveClient.Enabled = true; } } } private void labelHostIP3_Click(object sender, EventArgs e) { string temp = ""; DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelHostIP3.Text, 3, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language); if (myKeyPad.ShowDialog() == DialogResult.OK) { if (myKeyPad.IntValue > 255) { temp = "0 ~ 255"; DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig1.Language, temp); myMsg.ShowDialog(); } else { this.labelHostIP3.Text = myKeyPad.StringValue; this.buttonSaveClient.Enabled = true; } } } private void labelHostIP4_Click(object sender, EventArgs e) { string temp = ""; DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelHostIP4.Text, 3, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language); if (myKeyPad.ShowDialog() == DialogResult.OK) { if (myKeyPad.IntValue > 255) { temp = "0 ~ 255"; DialogFormMessage myMsg = new DialogFormMessage(1, this.ParentForm.ParentForm.SystemConfig1.Language, temp); myMsg.ShowDialog(); } else { this.labelHostIP4.Text = myKeyPad.StringValue; this.buttonSaveClient.Enabled = true; } } } private void timerServer_Tick(object sender, EventArgs e) { if (this.ParentForm.ParentForm.smartTCPMultiServer.IsStart == true) { if (this.labelServerStatus.Text != ">Start") this.labelServerStatus.Text = ">Start"; this.smartListBoxClientList.ClearAll(); this.labelClientCount.Text = "-"; this.labelConnectedIP.Text = "-"; if (this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList != null) { int length = this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList.Length; for (int i = 0; i < length; i++) { this.smartListBoxClientList.AddItem( this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList[i].strID + ", " + this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList[i].strIPAddress); } this.labelClientCount.Text = length.ToString(); if (this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList == null) this.labelConnectedIP.Text = "-"; else this.labelConnectedIP.Text = this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList[0].strIPAddress; } } else { if (this.labelServerStatus.Text != ">Stop") this.labelServerStatus.Text = ">Stop"; this.smartListBoxClientList.ClearAll(); this.labelClientCount.Text = "-"; } } private void labelLocalPort_Click(object sender, EventArgs e) { DialogFormNumKeyPad myKeyPad = new DialogFormNumKeyPad(this.labelLocalPort.Text, 5, 0, false, this.ParentForm.ParentForm.SystemConfig1.Language); if (myKeyPad.ShowDialog() == DialogResult.OK) { this.labelLocalPort.Text = myKeyPad.StringValue; this.ParentForm.ParentForm.SystemConfig2.EthernetLocalPort = myKeyPad.IntValue; this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2); this.ParentForm.ParentForm.smartTCPMultiServer.Port = myKeyPad.IntValue; } } private void buttonStart_Click(object sender, EventArgs e) { if (this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode == 1) { this.buttonStart.Enabled = true; this.buttonStop.Enabled = true; if (string.Compare(this.ParentForm.ParentForm.smartConfigs.IPSettings.DeviceIP, "0.0.0.0") == 0) { if (this.labelServerStatus.Text != ">Addr Err") this.labelServerStatus.Text = ">Addr Err"; this.timerServer.Enabled = false; } else { this.ParentForm.ParentForm.EthernetServerStart(); if (this.timerServer.Enabled != true) this.timerServer.Enabled = true; } } else if (this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode == 2) { this.buttonStart.Enabled = true; this.buttonStop.Enabled = true; this.ParentForm.ParentForm.EthernetClientConnect(); } } private void buttonStop_Click(object sender, EventArgs e) { if (this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode == 1) { this.timerServer.Enabled = false; this.ParentForm.ParentForm.EthernetServerStop(); if (this.labelServerStatus.Text != ">Stop") this.labelServerStatus.Text = ">Stop"; } else if (this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode == 2) { this.ParentForm.ParentForm.EthernetClientDisconnect(); } } private void buttonLocalIP_Click(object sender, EventArgs e) { this.ControlEthernetLocalIP.Visible = true; this.ControlEthernetLocalIP.BringToFront(); this.ControlEthernetLocalIP.DisplayRefresh(); } private void buttonPingTimer_Click(object sender, EventArgs e) { if (this.buttonPingTimer.ButtonStatus == SmartButton.BUTSTATUS.DOWN) { this.ParentForm.ParentForm.SystemConfig3.IsEthernetPingTimer = true; this.buttonPingTimer.Text = "Ping Close"; this.ParentForm.ParentForm.IsUsingTimerEthernetPing(true); } else { this.ParentForm.ParentForm.SystemConfig3.IsEthernetPingTimer = false; this.buttonPingTimer.Text = "Ping Open"; this.ParentForm.ParentForm.IsUsingTimerEthernetPing(false); } this.ParentForm.ParentForm.SaveSystemConfigurationFile3(this.ParentForm.ParentForm.SystemConfig3); } private void comboBoxEthernetMode_SelectedIndexChanged(object sender, EventArgs e) { if (this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f16_OPC) // OPC this.comboBoxEthernetOpMode.Enabled = false; else this.comboBoxEthernetOpMode.Enabled = true; this.buttonSave.Enabled = true; this.UpdateLabelFormatDisplay(); } private void comboBoxEthernetOpMode_SelectedIndexChanged(object sender, EventArgs e) { this.buttonSave.Enabled = true; } private void buttonSave_Click(object sender, EventArgs e) { int mode = 0; if (this.comboBoxEthernetMode.SelectedIndex == (int)DataStore.EthernetMode.f16_OPC) // OPC { DialogFormMessage msg = new DialogFormMessage(26, this.ParentForm.ParentForm.SystemConfig1.Language); msg.ShowDialog(); this.labelLocalPort.Text = "502"; this.ParentForm.ParentForm.SystemConfig2.EthernetLocalPort = 502; this.ParentForm.ParentForm.smartTCPMultiServer.Port = 502; this.comboBoxEthernetOpMode.SelectedIndex = 1; } if (this.comboBoxEthernetOpMode.SelectedIndex == 1) { this.ParentForm.ParentForm.EthernetClientDisconnect(); this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode = 1; this.buttonStart.Enabled = true; this.buttonStop.Enabled = true; } else if (this.comboBoxEthernetOpMode.SelectedIndex == 2) { this.labelServerStatus.Text = "-"; this.timerServer.Enabled = false; this.ParentForm.ParentForm.EthernetServerStop(); this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode = 2; this.ParentForm.ParentForm.EthernetClientDisconnect(); this.buttonStart.Enabled = true; this.buttonStop.Enabled = true; } else { this.timerServer.Enabled = false; this.ParentForm.ParentForm.EthernetServerStop(); this.ParentForm.ParentForm.EthernetClientDisconnect(); this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode = 0; this.buttonStart.Enabled = false; this.buttonStop.Enabled = false; this.labelServerStatus.Text = "-"; this.labelClientStatus.Text = "-"; this.labelConnectedIP.Text = "-"; } if (this.ParentForm.ParentForm.SystemConfig2.IsCommunicationOption == false && this.comboBoxEthernetMode.SelectedIndex == ModeSTD2) mode = (int)DataStore.EthernetMode.f23_STD2; else mode = this.comboBoxEthernetMode.SelectedIndex; this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode = mode; if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)DataStore.SerialMode.f22_Modbus_RTU || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)DataStore.SerialMode.f22_Modbus_RTU || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)DataStore.SerialMode.f22_Modbus_RTU || this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)DataStore.EthernetMode.f22_Modbus_TCP || this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == (int)DataStore.SerialMode.f16_OPC || this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == (int)DataStore.SerialMode.f16_OPC || this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == (int)DataStore.SerialMode.f16_OPC || this.ParentForm.ParentForm.SystemConfig2.EthernetCommMode == (int)DataStore.EthernetMode.f16_OPC) this.ParentForm.ParentForm.ChildFormMainDisplay.MainBottomModbusIconAdd(true); else this.ParentForm.ParentForm.ChildFormMainDisplay.MainBottomModbusIconAdd(false); this.ParentForm.ParentForm.SaveSystemConfigurationFile2(this.ParentForm.ParentForm.SystemConfig2); this.ButtonAddOnDisplay(); this.buttonSave.Enabled = false; } private void buttonAddon_Click(object sender, EventArgs e) { if (this.ControlHitachi.Visible == false && this.ControlMarkoprint.Visible == false && this.ControlModbusTCP.Visible == false && this.ControlMultiJet.Visible == false) this.DisplayBottomSettingMenu(); else { this.ControlVisible(false); } } #endregion } }