Ejemplo n.º 1
0
        /// <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;
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取硬件选择情况
        /// </summary>
        public void GetHardwareStatus()
        {
            if (a320_Glare == null)
            {
                a320_Glare = new HardwareObject();
                a320_Glare.HardwareName = HardwareObject.HardwareID.Glare;
                a320_Glare.HardwareCreate();
            }
            a320_Glare.HardwareChecked = checkBox_Glare.Checked;
            if (a320_Glare.HardwareChecked)
            {
                a320_Glare.m_portID = textBox_Glare.Text;
                bool ret = a320_Glare.Connect(ref connection);
                if (!ret)
                {
                    WriteLine("打开Glare错误");
                }
            }

            if (a320_TQ == null)
            {
                a320_TQ = new HardwareObject();
                a320_TQ.HardwareName = HardwareObject.HardwareID.TQ;
                a320_TQ.HardwareCreate();
            }
            a320_TQ.HardwareChecked = checkBox_Glare.Checked;
            if (a320_TQ.HardwareChecked)
            {
                a320_TQ.m_portID = textBox_TQ.Text;
                bool ret = a320_TQ.Connect(ref connection);
                if (!ret)
                {
                    WriteLine("打开TQ错误");
                }
            }

            if (a320_YokeL == null)
            {
                a320_YokeL = new HardwareObject();
                a320_YokeL.HardwareName = HardwareObject.HardwareID.YokeL;
                a320_YokeL.HardwareCreate();
            }
            a320_YokeL.HardwareChecked = checkBox_YokeL.Checked;
            if (a320_YokeL.HardwareChecked)
            {
                a320_YokeL.m_portID = textBox_YokeL.Text;
                bool ret = a320_YokeL.Connect(ref connection);
                if (!ret)
                {
                    WriteLine("打开YokeL错误");
                }
            }

            if (a320_YokeR == null)
            {
                a320_YokeR = new HardwareObject();
                a320_YokeR.HardwareName = HardwareObject.HardwareID.YokeR;
                a320_YokeR.HardwareCreate();
            }
            a320_YokeR.HardwareChecked = checkBox_YokeR.Checked;
            if (a320_YokeR.HardwareChecked)
            {
                a320_YokeR.m_portID = textBox_YokeR.Text;
                bool ret = a320_YokeR.Connect(ref connection);
                if (!ret)
                {
                    WriteLine("打开YokeR错误");
                }
            }
        }