private void btnNext_Click(object sender, EventArgs e) { try { errorProvider1.Clear(); if (string.IsNullOrEmpty(txtChannelName.Text) || string.IsNullOrWhiteSpace(txtChannelName.Text)) { errorProvider1.SetError(txtChannelName, "The channel name is empty"); return; } DIEthernet die = null; die = new DIEthernet { ChannelName = txtChannelName.Text, ChannelTypes = "OPC", CPU = serversComboBox.Text, Rack = 0, Slot = 0, IPAddress = "127.0.0.1", Port = 502, ConnectionType = "Ethernet", Mode = serverTextBox.Text }; if (ch == null) { die.ChannelId = objChannelManager.Channels.Count + 1; die.Devices = new List <Device>(); if (eventChannelChanged != null) { eventChannelChanged(die, true); } //this.DialogResult = System.Windows.Forms.DialogResult.OK; EventscadaLogger?.Invoke(1, "ChannelManager", $"{DateTime.Now}", "Add Channel"); } else { die.ChannelId = ch.ChannelId; die.Devices = ch.Devices; if (eventChannelChanged != null) { eventChannelChanged(die, false); } //this.DialogResult = System.Windows.Forms.DialogResult.OK; EventscadaLogger?.Invoke(1, "ChannelManager", $"{DateTime.Now}", "Editor Channel"); } btnNext.Text = "Finish"; btnBlack.Enabled = true; } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } }
public void InitializeService(Channel ch) { try { lock (this) { Channels.Add(ch); if (Channels == null) { return; } // Initialize #region opc. DIEthernet die = (DIEthernet)ch; opcDaCom = new OpcDaCom(ch.Mode, ch.CPU.Trim()); _OpcDaCom.Add(ch.ChannelName, opcDaCom); #endregion Initialize foreach (Device dv in ch.Devices) { foreach (DataBlock db in dv.DataBlocks) { DataBlockCollection.DataBlocks.Add($"{ch.ChannelName}.{dv.DeviceName}.{db.DataBlockName}", db); foreach (Tag tg in db.Tags) { TagCollection.Tags.Add( $"{ch.ChannelName}.{dv.DeviceName}.{db.DataBlockName}.{tg.TagName}", tg); } } } } } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } }
private void btnNext_Click(object sender, EventArgs e) { try { errorProvider1.Clear(); if (string.IsNullOrEmpty(txtChannelName.Text) || string.IsNullOrWhiteSpace(txtChannelName.Text)) { errorProvider1.SetError(txtChannelName, "The channel name is empty"); return; } string ConnType = $"{cboxConnType.SelectedItem}"; TabControlSiemens.SelectedIndex = cboxConnType.SelectedIndex; errorProvider1.Clear(); switch (ConnType) { case "SerialPort": if ("Finish".Equals(btnNext.Text)) { DISerialPort dis = new DISerialPort() { ChannelId = objChannelManager.Channels.Count + 1, ChannelName = txtChannelName.Text, ChannelTypes = _DriverTypes, CPU = $"{cboxModel.Text}", PortName = $"{cboxPort.SelectedItem}", BaudRate = int.Parse($"{cboxBaudRate.SelectedItem}"), DataBits = int.Parse($"{cboxDataBits.SelectedItem}"), StopBits = (StopBits)System.Enum.Parse(typeof(StopBits), $"{cboxStopBits.SelectedItem}"), Parity = (Parity)System.Enum.Parse(typeof(Parity), $"{cboxParity.SelectedItem}"), Handshake = (Handshake)System.Enum.Parse(typeof(Handshake), $"{cboxHandshake.SelectedItem}"), ConnectionType = ConnType, Mode = $"PPI", Description = txtDesc.Text }; if (ch == null) { dis.ChannelId = objChannelManager.Channels.Count + 1; if (eventChannelChanged != null) { eventChannelChanged(dis, true); } EventscadaLogger?.Invoke(1, "ChannelManager", $"{DateTime.Now}", "Add Channel"); } else { dis.ChannelId = ch.ChannelId; dis.Devices = ch.Devices; if (eventChannelChanged != null) { eventChannelChanged(dis, false); } EventscadaLogger?.Invoke(1, "ChannelManager", $"{DateTime.Now}", "Editor Channel"); } Close(); } btnNext.Text = "Finish"; btnBlack.Enabled = true; break; case "Ethernet": if ("Finish".Equals(btnNext.Text)) { DIEthernet die = null; die = new DIEthernet() { ChannelName = txtChannelName.Text, ChannelTypes = _DriverTypes, CPU = $"{cboxModel.Text}", Rack = (short)txtRack.Value, Slot = int.Parse($"{ txtSlot.Value}"), IPAddress = txtIPAddress.Text, Port = (short)txtPort.Value, ConnectionType = ConnType, Mode = $"TCP", }; if (ch == null) { die.ChannelId = objChannelManager.Channels.Count + 1; die.Devices = new List <Device>(); eventChannelChanged?.Invoke(die, true); EventscadaLogger?.Invoke(1, "ChannelManager", $"{DateTime.Now}", "Add Channel"); } else { die.ChannelId = ch.ChannelId; die.Devices = ch.Devices; eventChannelChanged?.Invoke(die, false); EventscadaLogger?.Invoke(1, "ChannelManager", $"{DateTime.Now}", "Editor Channel"); } Close(); } btnNext.Text = "Finish"; btnBlack.Enabled = true; break; } } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } }
private void XChannelForm_Load(object sender, EventArgs e) { try { cboxPort.Items.Clear(); cboxBaudRate.Items.Clear(); cboxPort.Items.AddRange(SerialPort.GetPortNames()); cboxBaudRate.Items.AddRange(new string[] { "1200", "2400", "4800", "9600", "14400", "19200", "28800", "38400", "56000", "57600", "115200" }); cboxDataBits.Items.AddRange(new string[] { "7", "8" }); cboxParity.Items.AddRange(System.Enum.GetNames(typeof(Parity))); cboxStopBits.Items.AddRange(System.Enum.GetNames(typeof(StopBits))); cboxHandshake.Items.AddRange(System.Enum.GetNames(typeof(Handshake))); cboxModel.DataSource = System.Enum.GetNames(typeof(SiemensPLCS)); if (ch != null) { cboxConnType.Enabled = false; Text = "Edit Channel " + ch.ChannelTypes; txtChannelName.Text = ch.ChannelName; cboxConnType.SelectedItem = $"{ch.ConnectionType}"; cboxModel.SelectedItem = $"{ch.CPU}"; txtDesc.Text = ch.ChannelName; switch (ch.ConnectionType) { case "SerialPort": DISerialPort dis = (DISerialPort)ch; cboxPort.SelectedItem = dis.PortName; cboxBaudRate.SelectedItem = $"{dis.BaudRate}"; cboxDataBits.SelectedItem = $"{dis.DataBits}"; cboxParity.SelectedItem = $"{dis.Parity}"; cboxStopBits.SelectedItem = $"{dis.StopBits}"; cboxHandshake.SelectedItem = $"{dis.Handshake}"; break; case "Ethernet": DIEthernet die = (DIEthernet)ch; txtIPAddress.Text = die.IPAddress; txtPort.Value = die.Port; txtSlot.Value = die.Slot; txtRack.Value = die.Rack; break; } } else { cboxConnType.Enabled = true; Text = "Add Channel " + _DriverTypes; cboxConnType.SelectedIndex = 0; cboxPort.SelectedIndex = 0; cboxBaudRate.SelectedIndex = 3; cboxDataBits.SelectedIndex = 1; cboxParity.SelectedIndex = 0; cboxStopBits.SelectedIndex = 1; cboxHandshake.SelectedIndex = 0; } } catch (Exception) { return; } }
public void InitializeService(Channel ch) { try { //================================================================= if (Channels == null) { return; } Channels.Add(ch); IModbusAdapter DriverAdapter = null; foreach (Device dv in ch.Devices) { try { switch (ch.ConnectionType) { case "SerialPort": DISerialPort dis = (DISerialPort)ch; SerialPort sp = new SerialPort(dis.PortName, dis.BaudRate, dis.Parity, dis.DataBits, dis.StopBits) { Handshake = dis.Handshake }; switch (dis.Mode) { case "RTU": DriverAdapter = new ModbusRTUMaster(dv.SlaveId, sp); rtu.Add(ch.ChannelName, (ModbusRTUMaster)DriverAdapter); break; case "ASCII": DriverAdapter = new ModbusASCIIMaster(dv.SlaveId, sp); ascii.Add(ch.ChannelName, (ModbusASCIIMaster)DriverAdapter); break; } break; case "Ethernet": DIEthernet die = (DIEthernet)ch; DriverAdapter = new ModbusTCPMaster(dv.SlaveId, die.IPAddress, die.Port); mbe.Add(ch.ChannelName, (ModbusTCPMaster)DriverAdapter); break; } } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } foreach (DataBlock db in dv.DataBlocks) { DataBlockCollection.DataBlocks.Add($"{ch.ChannelName}.{dv.DeviceName}.{db.DataBlockName}", db); foreach (Tag tg in db.Tags) { TagCollection.Tags.Add( $"{ch.ChannelName}.{dv.DeviceName}.{db.DataBlockName}.{tg.TagName}", tg); } } } } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } }
private void btnNext_Click(object sender, EventArgs e) { try { dxErrorProvider1.ClearErrors(); if (string.IsNullOrEmpty(txtChannelName.Text) || string.IsNullOrWhiteSpace(txtChannelName.Text)) { dxErrorProvider1.SetError(txtChannelName, "The channel name is empty"); return; } var ConnType = $"{cboxConnType.SelectedItem}"; xtraTabControl1.SelectedTabPageIndex = cboxConnType.SelectedIndex + 1; dxErrorProvider1.ClearErrors(); switch (ConnType) { case "SerialPort": if ("Finish".Equals(btnNext.Text)) { DISerialPort dis = new DISerialPort() { ChannelId = objChannelManager.Channels.Count + 1, ChannelName = txtChannelName.Text, ChannelTypes = "Panasonic", CPU = string.Empty, PortName = $"{cboxPort.SelectedItem}", BaudRate = int.Parse($"{cboxBaudRate.SelectedItem}"), DataBits = int.Parse($"{cboxDataBits.SelectedItem}"), StopBits = (StopBits)System.Enum.Parse(typeof(StopBits), $"{cboxStopBits.SelectedItem}"), Parity = (Parity)System.Enum.Parse(typeof(Parity), $"{cboxParity.SelectedItem}"), Handshake = (Handshake)System.Enum.Parse(typeof(Handshake), $"{cboxHandshake.SelectedItem}"), ConnectionType = ConnType, Mode = $"SerialPort", Description = txtDesc.Text }; if (ch == null) { dis.ChannelId = objChannelManager.Channels.Count + 1; if (eventChannelChanged != null) { eventChannelChanged(dis, true); } } else { dis.ChannelId = ch.ChannelId; dis.Devices = ch.Devices; if (eventChannelChanged != null) { eventChannelChanged(dis, false); } } } btnNext.Text = "Finish"; btnBlack.Enabled = true; break; case "Ethernet": if ("Finish".Equals(btnNext.Text)) { DIEthernet die = null; die = new DIEthernet() { ChannelName = txtChannelName.Text, ChannelTypes = "Panasonic", CPU = "Panasonic", Rack = 0, Slot = 0, IPAddress = txtIPAddress.Text, Port = (short)txtPort.Value, ConnectionType = ConnType, Mode = "TCP" }; if (ch == null) { die.ChannelId = objChannelManager.Channels.Count + 1; die.Devices = new List <Device>(); if (eventChannelChanged != null) { eventChannelChanged(die, true); } } else { die.ChannelId = ch.ChannelId; die.Devices = ch.Devices; if (eventChannelChanged != null) { eventChannelChanged(die, false); } } } btnNext.Text = "Finish"; btnBlack.Enabled = true; break; } } catch (Exception ex) { EventscadaException?.Invoke(this.GetType().Name, ex.Message); } }
public void InitializeService(Channel ch) { try { //================================================================= if (Channels == null) { return; } Channels.Add(ch); IDriverAdapter DriverAdapter = null; foreach (Device dv in ch.Devices) { try { switch (ch.ConnectionType) { case "SerialPort": DISerialPort dis = (DISerialPort)ch; SerialPort sp = new SerialPort(dis.PortName, dis.BaudRate, dis.Parity, dis.DataBits, dis.StopBits) { Handshake = dis.Handshake }; DriverAdapter = new LS_CNET(dv.SlaveId, sp); cnet.Add(ch.ChannelName, (LS_CNET)DriverAdapter); break; case "Ethernet": DIEthernet die = (DIEthernet)ch; DriverAdapter = new LS_FENET(die.CPU, die.IPAddress, die.Port, (byte)die.Slot); FENET.Add(ch.ChannelName, (LS_FENET)DriverAdapter); break; } } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } foreach (DataBlock db in dv.DataBlocks) { DataBlockCollection.DataBlocks.Add($"{ch.ChannelName}.{dv.DeviceName}.{db.DataBlockName}", db); foreach (Tag tg in db.Tags) { TagCollection.Tags.Add( $"{ch.ChannelName}.{dv.DeviceName}.{db.DataBlockName}.{tg.TagName}", tg); } } } } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } }
private void XUserChannelForm_Load(object sender, EventArgs e) { try { cboxPort.Items.Clear(); cboxBaudRate.Items.Clear(); cboxPort.Items.AddRange(SerialPort.GetPortNames()); cboxBaudRate.Items.AddRange(new string[] { "1200", "2400", "4800", "9600", "14400", "19200", "28800", "38400", "56000", "57600", "115200" }); cboxDataBits.Items.AddRange(new string[] { "7", "8" }); cboxParity.Items.AddRange(System.Enum.GetNames(typeof(Parity))); cboxStopBits.Items.AddRange(System.Enum.GetNames(typeof(StopBits))); cboxHandshake.Items.AddRange(System.Enum.GetNames(typeof(Handshake))); if (ch != null) { cboxConnType.Enabled = false; this.Text = "Edit Channel"; this.txtChannelName.Text = ch.ChannelName; this.cboxConnType.SelectedItem = string.Format("{0}", ch.ConnectionType); cboxModel.SelectedItem = string.Format("{0}", ch.CPU); txtRack.Text = string.Format("{0}", ch.Rack); txtSlot.Text = string.Format("{0}", ch.Slot); txtDesc.Text = ch.ChannelName; switch (ch.ConnectionType) { case "SerialPort": DISerialPort dis = (DISerialPort)ch; cboxPort.SelectedItem = dis.PortName; cboxBaudRate.SelectedItem = string.Format("{0}", dis.BaudRate); cboxDataBits.SelectedItem = string.Format("{0}", dis.DataBits); cboxParity.SelectedItem = string.Format("{0}", dis.Parity); cboxStopBits.SelectedItem = string.Format("{0}", dis.StopBits); cboxHandshake.SelectedItem = string.Format("{0}", dis.Handshake); cboxModeSP.SelectedItem = string.Format("{0}", dis.Mode); break; case "Ethernet": DIEthernet die = (DIEthernet)ch; txtIPAddress.Text = die.IPAddress; txtPort.Value = die.Port; break; } } else { cboxConnType.Enabled = true; this.Text = "Add Channel"; this.cboxConnType.SelectedIndex = 0; cboxPort.SelectedIndex = 0; cboxBaudRate.SelectedIndex = 3; cboxDataBits.SelectedIndex = 1; cboxParity.SelectedIndex = 0; cboxStopBits.SelectedIndex = 1; cboxHandshake.SelectedIndex = 0; cboxModeSP.SelectedIndex = 0; cboxModel.SelectedIndex = 1; } } catch (Exception) { return; } }
private void treeViewSI_AfterSelect(object sender, TreeViewEventArgs e) { try { if (treeViewSI.SelectedNode == null) { return; } int Level = treeViewSI.SelectedNode.Level; string selectedNode = treeViewSI.SelectedNode.Text; DataBlock dbCurrent = null; //Node: DataBlock Device dvCurrent = null; //Node: Device Channel chCurrent = null; //Node: Channel switch (Level) { case 0: DGMonitorForm.Rows.Clear(); break; case 1: DGMonitorForm.Rows.Clear(); break; case 2: chCurrent = objChannelManager.GetByChannelName(treeViewSI.SelectedNode.Parent.Parent.Text); dvCurrent = objDeviceManager.GetByDeviceName(chCurrent, treeViewSI.SelectedNode.Parent.Text); dbCurrent = objDataBlockManager.GetByDataBlockName(dvCurrent, treeViewSI.SelectedNode.Text); DGMonitorForm.Rows.Clear(); string[] row = new string[7]; foreach (Tag tg in dbCurrent.Tags) { if (tg.Value == null) { row[0] = string.Format("{0}", tg.TagId); row[1] = tg.TagName; row[2] = string.Format("{0}", tg.Address); row[3] = string.Format("{0}", tg.DataType); row[4] = "0"; row[5] = string.Format("{0}", tg.TimeSpan); row[6] = tg.Description; DGMonitorForm.Rows.Add(row); } else { string[] row1 = { string.Format("{0}", tg.TagId), tg.TagName, string.Format("{0}", tg.Address), string.Format("{0}", tg.DataType), string.Format("{0}", tg.Value), string.Format("{0}", tg.TimeSpan), tg.Description }; DGMonitorForm.Rows.Add(row1); } } break; default: DGMonitorForm.Rows.Clear(); break; } if (chCurrent == null) { EventPvGridChannelGet?.Invoke(chCurrent, false); } else { switch (chCurrent.ConnectionType) { case "SerialPort": DISerialPort dis = (DISerialPort)chCurrent; EventPvGridChannelGet?.Invoke(dis, true); break; case "Ethernet": DIEthernet die = (DIEthernet)chCurrent; EventPvGridChannelGet?.Invoke(die, true); break; } } if (dvCurrent != null) { EventPvGridDeviceGet?.Invoke(dvCurrent, true); } else { EventPvGridDeviceGet?.Invoke(dvCurrent, false); } if (dbCurrent != null) { EventPvGridDataBlockGet?.Invoke(dbCurrent, true); } else { EventPvGridDataBlockGet?.Invoke(dbCurrent, false); lblSelectedTagName.Text = string.Format("Selected tag: {0}", "None"); } } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } }
public void InitializeService(Channel ch) { try { //================================================================= if (Channels == null) { return; } Channels.Add(ch); IPLCS7Adapter DriverAdapter = null; foreach (Device dv in ch.Devices) { try { switch (ch.ConnectionType) { case "SerialPort": DISerialPort dis = (DISerialPort)ch; SerialPort sp = new SerialPort(dis.PortName, dis.BaudRate, dis.Parity, dis.DataBits, dis.StopBits) { Handshake = dis.Handshake }; DriverAdapter = new SiemensComPPI(dv.SlaveId, sp); _PLCPPI.Add(ch.ChannelName, (SiemensComPPI)DriverAdapter); break; case "Ethernet": DIEthernet die = (DIEthernet)ch; SiemensPLCS cpu = (SiemensPLCS)Enum.Parse(typeof(SiemensPLCS), die.CPU); DriverAdapter = new SiemensNet(cpu, die.IPAddress, (short)die.Rack, (short)die.Slot); _PLCS7.Add(ch.ChannelName, (SiemensNet)DriverAdapter); break; } } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } foreach (DataBlock db in dv.DataBlocks) { DataBlockCollection.DataBlocks.Add($"{ch.ChannelName}.{dv.DeviceName}.{db.DataBlockName}", db); foreach (Tag tg in db.Tags) { TagCollection.Tags.Add( $"{ch.ChannelName}.{dv.DeviceName}.{db.DataBlockName}.{tg.TagName}", tg); } } } } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); } }