/// <summary> /// AddDeviceItem fügt DeviceItem an ausgewähltem Device (TreeView) hinzu /// </summary> /// <param name="nodes">Einstieg mit Angabe des Device Knotens -> nodes[Projektknoten].Nodes[Device]</param> /// <param name="project"></param> void AddDeviceItem(TreeNodeCollection nodes, Project project) { btn_AddHW.Enabled = false; string MLFB = "OrderNumber:" + txt_OrderNo.Text + "/" + txt_Version.Text; string name = txt_AddDevice.Text; string devname = "station" + txt_AddDevice.Text; //In TreeView nach checked Nodes suchen foreach (TreeNode node1 in nodes) // Achtung Einstieg schon mit nodes[Projektknoten].Nodes[Device] => Device { if (node1 != null) { if (node1.Checked) //Deviceknoten { AddDeviceItem1.Add(node1); //Schreibe in Liste } } else { txt_Status.Text = "No node is checked!"; } } foreach (TreeNode checkedNode in AddDeviceItem1) //Für jeden TreeView checked Node wird ein passender Device im Projekt zugeordnet { if (checkedNode != null) { string _devname = checkedNode.Text; //Device Name von TreeView Auswahl foreach (Device device in project.Devices) // Zuordnung der Devices in neuer Liste { if (device.Name == _devname) { DeviceToAddItem.Add(device); } } } }//Jetzt stehen alle gewählten Devices als Typ Device in einer Liste try { foreach (Device device in DeviceToAddItem) //jetzt wird für jeden Device das gewünschte DeviceItem hinzugefügt { HardwareObject hwObject = device; string name_braeak = hwObject.Name; string typeIdentifier = MLFB; int positionNumber = int.Parse(txt_rackPosition.Text); //String zu Int aus Textbox if (hwObject.CanPlugNew(typeIdentifier, name, positionNumber)) //Gibt als Wert True oder False zurück (prüfen ob überhaupt möglich) { DeviceItem newPluggedDeviceItem = hwObject.PlugNew(typeIdentifier, name, positionNumber); } } GenerateTreeView(); } catch (Exception e) { MessageBox.Show("Error generating new DeviceItem: " + e.Message); } btn_AddHW.Enabled = true; }
private void button8_Click(object sender, EventArgs e) { Device PLC_1 = MyProject.Devices.CreateWithItem("OrderNumber:6ES7 517-3FP00-0AB0/V2.1", "PLC_1", "PLC_1_station"); //DeviceItemComposition deviceItems = PLC_1.DeviceItems; HardwareObject hwObject = PLC_1.DeviceItems[0]; if (hwObject.CanPlugNew("OrderNumber:6ES7 521-1BH10-0AA0/V1.0", "DI 16x24VDC BA_1", 3)) { DeviceItem newPluggedDeviceItem = hwObject.PlugNew("OrderNumber:6ES7 521-1BH10-0AA0/V1.0", "DI 16x24VDC BA_1", 3); SetTextInRichTextBox(Color.Black, "Bingo!"); } else { SetTextInRichTextBox(Color.Black, PLC_1.DeviceItems[0].Name); } }