Example #1
0
        public void GetPLCValOneByOne(s7Plc plc)
        {
            var t1     = DateTime.Now;
            var result = plc.Read(dt, db, startByteAdr, varType, varCount, bitAdr);
            var t2     = t1 - DateTime.Now;

            MessageBox.Show(t2.TotalMilliseconds.ToString());


            // Node.Nodes[0].Text = result.ToString();
            if (varCount == 1)
            {
                Node.Nodes[0].Tag = result;
                //Node.Nodes[0].Text = result.ToString();
            }
            else
            {
                var count = 0;
                foreach (var i in (Array)result)
                {
                    Node.Nodes[count].Tag = i;

                    //Node.Nodes[count].Text = GetString(i);



                    count++;
                }
            }

            UpdateRows(rows);
        }
Example #2
0
        public s7plcVarItem(DataGridView varGridView1, s7Plc plc, string name1, DataType dataType, int db1, int startByteAdr1, VarType varType1, int varCount1, byte bitAdr1 = 0)
        {
            varGridView  = varGridView1;
            varPlc       = plc;
            name         = name1;
            dt           = dataType;
            db           = db1;
            startByteAdr = startByteAdr1;
            varType      = varType1;
            varCount     = varCount1;
            bitAdr       = bitAdr1;
            //创建Node和子node,用于存储和保存变量;
            Node      = new TreeNode();
            Node.Name = this.name;
            Node.Text = this.name;
            Node.Tag  = this;
            var NodeAry = new TreeNode[varCount];

            for (var i = 0; i < varCount; i++)
            {
                NodeAry[i]      = new TreeNode();
                NodeAry[i].Name = $"{this.name}[{i.ToString()}]";
                NodeAry[i].Text = "unKnown";
                NodeAry[i].Tag  = null;
            }
            Node.Nodes.AddRange(NodeAry);
            //创建DataGridVIew增加文本。
            rows = new DataGridViewRow[varCount];
            SetupRows(rows);
            //UpdateRows(rows);
            varGridView.Rows.AddRange(rows);
        }
Example #3
0
        private void PlcAddCheck_Click(object sender, EventArgs e)
        {
            int tmp1, tmp2;

            if ((!int.TryParse(plcRack.Text, out tmp1)) | (!int.TryParse(plcRack.Text, out tmp2)))
            {
                MessageBox.Show("请正确输入数字");
                return;
            }
            if (checkParaOk())
            {
                MessageBox.Show("plc名称重复!");
                return;
            }

            CpuType cputype = (CpuType)Enum.Parse(typeof(CpuType), S7PLCType.Text);

            s7Plc newplc = new s7Plc(plcName.Text, cputype, plcAddr.Text, (short)tmp1, (short)tmp2);

            newplc.Node.ContextMenuStrip = ParentForm1.plcContextStrip;
            this.ParentForm1.Pmg.add(newplc);
            this.DialogResult = DialogResult.OK;
        }
Example #4
0
 public bool del(s7Plc plc)
 {
     plc.Close();
     return(plclist.Remove(plc));
 }
Example #5
0
 public void add(s7Plc plc)
 {
     plclist.Add(plc);
 }