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); }
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); }
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; }
public bool del(s7Plc plc) { plc.Close(); return(plclist.Remove(plc)); }
public void add(s7Plc plc) { plclist.Add(plc); }