using DataBlockHelper.DBHelpers; using DataBlockHelper.Entity; using Mesnac.Action.Base; using Mesnac.Controls.ChemicalWeighing; using Mesnac.Controls.Default; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Mesnac.Action.ChemicalWeighing.Dan { public class InitAction : ChemicalWeighingAction, IAction { MCCheckBox cbkA; MCTextBox txtBoxA; HslLanternSimple HslA; MCLabel Ya; MCCheckBox cbkB; MCTextBox txtBoxB; HslLanternSimple HslB; MCLabel Yb; MCCheckBox cbkC; MCTextBox txtBoxC; HslLanternSimple HslC; MCLabel Yc; MCCheckBox cbkD; MCTextBox txtBoxD; HslLanternSimple HslD; MCLabel Yd; MCCheckBox cbkE; MCTextBox txtBoxE; HslLanternSimple HslE; MCLabel Ye; MCCheckBox cbkF; MCTextBox txtBoxF; HslLanternSimple HslF; MCLabel Yf; MCCheckBox cbkG; MCTextBox txtBoxG; HslLanternSimple HslG; MCLabel Yg; MCCheckBox cbkH; MCTextBox txtBoxH; HslLanternSimple HslH; MCLabel Yh; MCCheckBox cbkI; MCTextBox txtBoxI; HslLanternSimple HslI; MCLabel Yi; MCCheckBox cbkJ; MCTextBox txtBoxJ; HslLanternSimple HslJ; MCLabel Yj; MCCheckBox cbkK; MCTextBox txtBoxK; HslLanternSimple HslK; MCLabel Yk; MCCheckBox cbkL; MCTextBox txtBoxL; HslLanternSimple HslL; MCLabel Yl; MCCheckBox cbkM; MCTextBox txtBoxM; HslLanternSimple HslM; MCLabel Ym; MCCheckBox cbkN; MCTextBox txtBoxN; HslLanternSimple HslN; MCLabel Yn; MCCheckBox cbkO; MCTextBox txtBoxO; HslLanternSimple HslO; MCLabel Yo; MCButton MCButton1; MCButton MCButton2; List controll; Timer timer; Color backColor; public void Run(RuntimeParameter runtime) { RunIni(runtime); controll = GetAllControls(); timer = new Timer(); timer.Interval = 1000; timer.Enabled = true; timer.Tick += GetPlcValue;//添加事件 MCButton1 = controll.FirstOrDefault(x => x.Name == "MCButton1") as MCButton; MCButton2 = controll.FirstOrDefault(x => x.Name == "MCButton2") as MCButton; MCButton1.Click += MCButton1_Click; MCButton2.Click += MCButton2_Click; cbkA = controll.FirstOrDefault(x => x.Name == "cbkA") as MCCheckBox; cbkB = controll.FirstOrDefault(x => x.Name == "cbkB") as MCCheckBox; cbkC = controll.FirstOrDefault(x => x.Name == "cbkC") as MCCheckBox; cbkD = controll.FirstOrDefault(x => x.Name == "cbkD") as MCCheckBox; cbkE = controll.FirstOrDefault(x => x.Name == "cbkE") as MCCheckBox; cbkF = controll.FirstOrDefault(x => x.Name == "cbkF") as MCCheckBox; cbkG = controll.FirstOrDefault(x => x.Name == "cbkG") as MCCheckBox; cbkH = controll.FirstOrDefault(x => x.Name == "cbkH") as MCCheckBox; cbkI = controll.FirstOrDefault(x => x.Name == "cbkI") as MCCheckBox; cbkJ = controll.FirstOrDefault(x => x.Name == "cbkJ") as MCCheckBox; cbkK = controll.FirstOrDefault(x => x.Name == "cbkK") as MCCheckBox; cbkL = controll.FirstOrDefault(x => x.Name == "cbkL") as MCCheckBox; cbkM = controll.FirstOrDefault(x => x.Name == "cbkM") as MCCheckBox; cbkN = controll.FirstOrDefault(x => x.Name == "cbkN") as MCCheckBox; cbkO = controll.FirstOrDefault(x => x.Name == "cbkO") as MCCheckBox; txtBoxA = controll.FirstOrDefault(x => x.Name == "txtBoxA") as MCTextBox; txtBoxB = controll.FirstOrDefault(x => x.Name == "txtBoxB") as MCTextBox; txtBoxC = controll.FirstOrDefault(x => x.Name == "txtBoxC") as MCTextBox; txtBoxD = controll.FirstOrDefault(x => x.Name == "txtBoxD") as MCTextBox; txtBoxE = controll.FirstOrDefault(x => x.Name == "txtBoxE") as MCTextBox; txtBoxF = controll.FirstOrDefault(x => x.Name == "txtBoxF") as MCTextBox; txtBoxG = controll.FirstOrDefault(x => x.Name == "txtBoxG") as MCTextBox; txtBoxH = controll.FirstOrDefault(x => x.Name == "txtBoxH") as MCTextBox; txtBoxI = controll.FirstOrDefault(x => x.Name == "txtBoxI") as MCTextBox; txtBoxJ = controll.FirstOrDefault(x => x.Name == "txtBoxJ") as MCTextBox; txtBoxK = controll.FirstOrDefault(x => x.Name == "txtBoxK") as MCTextBox; txtBoxL = controll.FirstOrDefault(x => x.Name == "txtBoxL") as MCTextBox; txtBoxM = controll.FirstOrDefault(x => x.Name == "txtBoxM") as MCTextBox; txtBoxN = controll.FirstOrDefault(x => x.Name == "txtBoxN") as MCTextBox; txtBoxO = controll.FirstOrDefault(x => x.Name == "txtBoxO") as MCTextBox; HslA = controll.FirstOrDefault(x => x.Name == "HslA") as HslLanternSimple; HslB = controll.FirstOrDefault(x => x.Name == "HslB") as HslLanternSimple; HslC = controll.FirstOrDefault(x => x.Name == "HslC") as HslLanternSimple; HslD = controll.FirstOrDefault(x => x.Name == "HslD") as HslLanternSimple; HslE = controll.FirstOrDefault(x => x.Name == "HslE") as HslLanternSimple; HslF = controll.FirstOrDefault(x => x.Name == "HslF") as HslLanternSimple; HslG = controll.FirstOrDefault(x => x.Name == "HslG") as HslLanternSimple; HslH = controll.FirstOrDefault(x => x.Name == "HslH") as HslLanternSimple; HslI = controll.FirstOrDefault(x => x.Name == "HslI") as HslLanternSimple; HslJ = controll.FirstOrDefault(x => x.Name == "HslJ") as HslLanternSimple; HslK = controll.FirstOrDefault(x => x.Name == "HslK") as HslLanternSimple; HslL = controll.FirstOrDefault(x => x.Name == "HslL") as HslLanternSimple; HslM = controll.FirstOrDefault(x => x.Name == "HslM") as HslLanternSimple; HslN = controll.FirstOrDefault(x => x.Name == "HslN") as HslLanternSimple; HslO = controll.FirstOrDefault(x => x.Name == "HslO") as HslLanternSimple; Ya = controll.FirstOrDefault(x => x.Name == "Ya") as MCLabel; Yb = controll.FirstOrDefault(x => x.Name == "Yb") as MCLabel; Yc = controll.FirstOrDefault(x => x.Name == "Yc") as MCLabel; Yd = controll.FirstOrDefault(x => x.Name == "Yd") as MCLabel; Ye = controll.FirstOrDefault(x => x.Name == "Ye") as MCLabel; Yf = controll.FirstOrDefault(x => x.Name == "Yf") as MCLabel; Yg = controll.FirstOrDefault(x => x.Name == "Yg") as MCLabel; Yh = controll.FirstOrDefault(x => x.Name == "Yh") as MCLabel; Yi = controll.FirstOrDefault(x => x.Name == "Yi") as MCLabel; Yj = controll.FirstOrDefault(x => x.Name == "Yj") as MCLabel; Yk = controll.FirstOrDefault(x => x.Name == "Yk") as MCLabel; Yl = controll.FirstOrDefault(x => x.Name == "Yl") as MCLabel; Ym = controll.FirstOrDefault(x => x.Name == "Ym") as MCLabel; Yn = controll.FirstOrDefault(x => x.Name == "Yn") as MCLabel; Yo = controll.FirstOrDefault(x => x.Name == "Yo") as MCLabel; MCButton2_Click(new object(), new EventArgs()); backColor=txtBoxA.BackColor; cbkA.CheckedChanged += CbkA_CheckedChanged; } private void CbkA_CheckedChanged(object sender, EventArgs e) { //if (sender == cbkA) //{ // if (cbkA.Checked) // { // txtBoxA.BackColor = Color.Green; // } // else // { // txtBoxA.BackColor = backColor; // } //} } private void MCButton2_Click(object sender, EventArgs e) { Db2101Helper db = new Db2101Helper(); Ch(cbkA, txtBoxA, HslA, db.SiloA, true); Ch(cbkB, txtBoxB, HslB, db.SiloB, true); Ch(cbkC, txtBoxC, HslC, db.SiloC, true); Ch(cbkD, txtBoxD, HslD, db.SiloD, true); Ch(cbkE, txtBoxE, HslE, db.SiloE, true); Ch(cbkF, txtBoxF, HslF, db.SiloF, true); Ch(cbkG, txtBoxG, HslG, db.SiloG, true); Ch(cbkH, txtBoxH, HslH, db.SiloH, true); Ch(cbkI, txtBoxI, HslI, db.SiloI, true); Ch(cbkJ, txtBoxJ, HslJ, db.SiloJ, true); Ch(cbkK, txtBoxK, HslK, db.SiloK, true); Ch(cbkL, txtBoxL, HslL, db.SiloL, true); Ch(cbkM, txtBoxM, HslM, db.SiloM, true); Ch(cbkN, txtBoxN, HslN, db.SiloN, true); Ch(cbkO, txtBoxO, HslO, db.Siloo, true); } private void MCButton1_Click(object sender, EventArgs e) { Db2101WriteHelp db2101WriteHelp = new Db2101WriteHelp(); short val = 0; Db2101Entity entityA = new Db2101Entity(); if (cbkA.Checked) { val = short.Parse(txtBoxA.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityA.time = val; } entityA.enable = cbkA.Checked; Db2101Entity entityB = new Db2101Entity(); if (cbkB.Checked) { val = short.Parse(txtBoxB.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityB.time = val; } entityB.enable = cbkB.Checked; Db2101Entity entityC = new Db2101Entity(); if (cbkC.Checked) { val = short.Parse(txtBoxC.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityC.time = val; } entityC.enable = cbkC.Checked; Db2101Entity entityD = new Db2101Entity(); if (cbkD.Checked) { val = short.Parse(txtBoxD.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityD.time = val; } entityD.enable = cbkD.Checked; Db2101Entity entityE = new Db2101Entity(); if (cbkE.Checked) { val = short.Parse(txtBoxE.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityE.time = val; } entityE.enable = cbkE.Checked; Db2101Entity entityF = new Db2101Entity(); if (cbkF.Checked) { val = short.Parse(txtBoxF.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityF.time = val; } entityF.enable = cbkF.Checked; Db2101Entity entityG = new Db2101Entity(); if (cbkG.Checked) { val = short.Parse(txtBoxG.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityG.time = val; } entityG.enable = cbkG.Checked; Db2101Entity entityH = new Db2101Entity(); if (cbkH.Checked) { val = short.Parse(txtBoxH.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityH.time = val; } entityH.enable = cbkH.Checked; Db2101Entity entityI = new Db2101Entity(); if (cbkI.Checked) { val = short.Parse(txtBoxI.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityI.time = val; } entityI.enable = cbkI.Checked; Db2101Entity entityJ = new Db2101Entity(); if (cbkJ.Checked) { val = short.Parse(txtBoxJ.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityJ.time = val; } entityJ.enable = cbkJ.Checked; Db2101Entity entityK = new Db2101Entity(); if (cbkK.Checked) { val = short.Parse(txtBoxK.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityK.time = val; } entityK.enable = cbkK.Checked; Db2101Entity entityL = new Db2101Entity(); if (cbkL.Checked) { val = short.Parse(txtBoxL.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityL.time = val; } entityL.enable = cbkL.Checked; Db2101Entity entityM = new Db2101Entity(); if (cbkM.Checked) { val = short.Parse(txtBoxM.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityM.time = val; } entityM.enable = cbkM.Checked; Db2101Entity entityN = new Db2101Entity(); if (cbkN.Checked) { val = short.Parse(txtBoxN.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityN.time = val; } entityN.enable = cbkN.Checked; Db2101Entity entityO = new Db2101Entity(); if (cbkO.Checked) { val = short.Parse(txtBoxO.MCValue.ToString()); if (val <= 0 || val > 100) { MessageBox.Show("冲氮气时间范围[1-100]"); return; } entityO.time = val; } entityO.enable = cbkO.Checked; db2101WriteHelp.WriteA(entityA); db2101WriteHelp.WriteB(entityB); db2101WriteHelp.WriteC(entityC); db2101WriteHelp.WriteD(entityD); db2101WriteHelp.WriteE(entityE); db2101WriteHelp.WriteF(entityF); db2101WriteHelp.WriteG(entityG); db2101WriteHelp.WriteH(entityH); db2101WriteHelp.WriteI(entityI); db2101WriteHelp.WriteJ(entityJ); db2101WriteHelp.WriteK(entityK); db2101WriteHelp.WriteL(entityL); db2101WriteHelp.WriteM(entityM); db2101WriteHelp.WriteN(entityN); db2101WriteHelp.WriteO(entityO); db2101WriteHelp.WriteStart(); MessageBox.Show("开始充氮气"); } private void GetPlcValue(object sender, EventArgs e) { if (GetAllControls().Count == 0) { timer.Stop(); timer.Dispose(); timer = null; } Db2101Helper db=new Db2101Helper(); Ch(cbkA, txtBoxA, HslA, db.SiloA,false); Ch(cbkB, txtBoxB, HslB, db.SiloB, false); Ch(cbkC, txtBoxC, HslC, db.SiloC, false); Ch(cbkD, txtBoxD, HslD, db.SiloD, false); Ch(cbkE, txtBoxE, HslE, db.SiloE, false); Ch(cbkF, txtBoxF, HslF, db.SiloF, false); Ch(cbkG, txtBoxG, HslG, db.SiloG, false); Ch(cbkH, txtBoxH, HslH, db.SiloH, false); Ch(cbkI, txtBoxI, HslI, db.SiloI, false); Ch(cbkJ, txtBoxJ, HslJ, db.SiloJ, false); Ch(cbkK, txtBoxK, HslK, db.SiloK, false); Ch(cbkL, txtBoxL, HslL, db.SiloL, false); Ch(cbkM, txtBoxM, HslM, db.SiloM, false); Ch(cbkN, txtBoxN, HslN, db.SiloN, false); Ch(cbkO, txtBoxO, HslO, db.Siloo, false); Ya.Text = db.Ya.ToString(); Yb.Text = db.Yb.ToString(); Yc.Text = db.Yc.ToString(); Yd.Text = db.Yd.ToString(); Ye.Text = db.Ye.ToString(); Yf.Text = db.Yf.ToString(); Yg.Text = db.Yg.ToString(); Yh.Text = db.Yh.ToString(); Yi.Text = db.Yi.ToString(); Yj.Text = db.Yj.ToString(); Yk.Text = db.Yk.ToString(); Yl.Text = db.Yl.ToString(); Ym.Text = db.Ym.ToString(); Yn.Text = db.Yn.ToString(); Yo.Text = db.Yo.ToString(); } private void Ch(MCCheckBox cb,MCTextBox cTextBox,HslLanternSimple simple,Db2101Entity entity,bool b) { if (b) { cb.Checked = entity.enable; cTextBox.MCValue = entity.time; } if (entity.finished) { simple.LanternBackground = System.Drawing.Color.Green; } else { simple.LanternBackground = System.Drawing.Color.Gray; } } } }