using DataBlockHelper.DBHelpers; using DevExpress.DataAccess.Wizard.Presenters; using Mesnac.Action.Base; using Mesnac.Action.ChemicalWeighing.AutoControl.DB; using Mesnac.Action.ChemicalWeighing.AutoControl.Entity; using Mesnac.Action.ChemicalWeighing.FreeDb; using Mesnac.Action.ChemicalWeighing.LjMixManager; using Mesnac.Action.ChemicalWeighing.LjPlanning; using Mesnac.Controls.Base; using Mesnac.Controls.Default; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using IAction = Mesnac.Action.Base.IAction; namespace Mesnac.Action.ChemicalWeighing.AutoControl { public class InitAction : ChemicalWeighingAction, IAction { private List McControls; Color backColor = Color.Transparent; MCTextBoxEntity TextE = new MCTextBoxEntity(); MCLabelEntity LabelE = new MCLabelEntity(); MCComboBoxEntity ComboE = new MCComboBoxEntity(); MCRadioButtonEntity RadioE = new MCRadioButtonEntity(); public Timer timer; public void Run(RuntimeParameter runtime) { base.RunIni(runtime); //必须要调用 McControls = GetAllControls(); ControlsHelper.ControlImport(TextE, McControls); ControlsHelper.ControlImport(ComboE, McControls); ControlsHelper.ControlImport(LabelE, McControls); ControlsHelper.ControlImport(RadioE, McControls); ControlInit(); RadioE.Line1.CheckedChanged += Mcradion_CheckedChanged; RadioE.Line2.CheckedChanged += Mcradion_CheckedChanged; RadioE.Line3.CheckedChanged += Mcradion_CheckedChanged; RadioE.Line4.CheckedChanged += Mcradion_CheckedChanged; RadioE.Line5.CheckedChanged += Mcradion_CheckedChanged; RadioE.Line6.CheckedChanged += Mcradion_CheckedChanged; RadioE.Line7.CheckedChanged += Mcradion_CheckedChanged; RadioE.Line8.CheckedChanged += Mcradion_CheckedChanged; RadioE.Dry1.CheckedChanged += DMcradion_CheckedChanged; RadioE.Dry2.CheckedChanged += DMcradion_CheckedChanged; RadioE.Dry3.CheckedChanged += DMcradion_CheckedChanged; RadioE.Dry4.CheckedChanged += DMcradion_CheckedChanged; RadioE.Line1.MCValue = true; RadioE.Dry1.MCValue = true; timer = new Timer(); timer.Interval = 1000; timer.Enabled = true; timer.Tick += new EventHandler(StateRefresh);//添加事件 } #region 前端Timer状态刷新 private void StateRefresh(object sender, EventArgs e) { if (GetAllDbMCControlsByOption(DbOptionTypes.QueryAndModify).Count == 0) { timer.Stop(); timer.Dispose(); } DB2105Helper dB2105Helper = new DB2105Helper(); var startJob = dB2105Helper.GetStartJob; LabelE.State1.MCValue = ConvertOnOff(startJob[0].Val); LabelE.State2.MCValue = ConvertOnOff(startJob[1].Val); LabelE.State3.MCValue = ConvertOnOff(startJob[2].Val); LabelE.State4.MCValue = ConvertOnOff(startJob[3].Val); LabelE.State5.MCValue = ConvertOnOff(startJob[4].Val); LabelE.State6.MCValue = ConvertOnOff(startJob[5].Val); LabelE.State7.MCValue = ConvertOnOff(startJob[6].Val); LabelE.State8.MCValue = ConvertOnOff(startJob[7].Val); LabelE.State1.BackColor = ConvertColor(startJob[0].Val); LabelE.State2.BackColor = ConvertColor(startJob[1].Val); LabelE.State3.BackColor = ConvertColor(startJob[2].Val); LabelE.State4.BackColor = ConvertColor(startJob[3].Val); LabelE.State5.BackColor = ConvertColor(startJob[4].Val); LabelE.State6.BackColor = ConvertColor(startJob[5].Val); LabelE.State7.BackColor = ConvertColor(startJob[6].Val); LabelE.State8.BackColor = ConvertColor(startJob[7].Val); var rd = Db3000Helper.ReadModel(); if (rd[ControlsHelper.SingleSelect(RadioE) - 1]) { LabelE.RepairState.MCValue = "开"; } else { LabelE.RepairState.MCValue = "关"; } } private string ConvertOnOff(bool state) { if (state) { return "启动"; } else { return "停止"; } } private Color ConvertColor(bool state) { if (state) { return Color.LightGreen; } else { return Color.Transparent; } } #endregion #region PLC读数刷新控件 private void Mcradion_CheckedChanged(object sender, EventArgs e) { MCRadioButton mCRadio = sender as MCRadioButton; RadioE.Line1.BackColor = backColor; RadioE.Line2.BackColor = backColor; RadioE.Line3.BackColor = backColor; RadioE.Line4.BackColor = backColor; RadioE.Line5.BackColor = backColor; RadioE.Line6.BackColor = backColor; RadioE.Line7.BackColor = backColor; RadioE.Line8.BackColor = backColor; mCRadio.BackColor = Color.LightSkyBlue; int select = ControlsHelper.SingleSelect(RadioE); ControlsHelper.GWInit(select, ComboE, TextE); switch (select) { case 1: case 2: RadioE.Dry1.MCValue = true; break; case 3: case 4: RadioE.Dry2.MCValue = true; break; case 5: case 6: RadioE.Dry3.MCValue = true; break; case 7: case 8: RadioE.Dry4.MCValue = true; break; default: break; } } private void DMcradion_CheckedChanged(object sender, EventArgs e) { MCRadioButton mCRadio = sender as MCRadioButton; RadioE.Dry1.BackColor = backColor; RadioE.Dry2.BackColor = backColor; RadioE.Dry3.BackColor = backColor; RadioE.Dry4.BackColor = backColor; mCRadio.BackColor = Color.LightSkyBlue; ControlsHelper.DInit(ControlsHelper.DrySelect(RadioE), ComboE, TextE); } /// /// 控件从Plc初始化 /// public void ControlInit() { ComboE.ChooseMaterial1.DataSource = StockMaterrialDbHelp.GetSiloMaterrial(); ComboE.ChooseMaterial2.DataSource = StockMaterrialDbHelp.GetSiloMaterrial(); DB2104Helper waterData = new DB2104Helper(); TextE.ColdValueA.MCValue = waterData.GetAColWater.Set; TextE.ColdValueB.MCValue = waterData.GetBColWater.Set; TextE.HotValueA.MCValue = waterData.GetAHotWater.Set; TextE.HotValueB.MCValue = waterData.GetBHotWater.Set; TextE.ColdToleranceA.MCValue = waterData.GetAColWater.Tolerance; TextE.ColdToleranceB.MCValue = waterData.GetBColWater.Tolerance; TextE.HotToleranceA.MCValue = waterData.GetAHotWater.Tolerance; TextE.HotToleranceB.MCValue = waterData.GetBHotWater.Tolerance; ComboE.DryM1.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); ComboE.DryM2.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); ComboE.DryM3.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); ComboE.DryM4.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); ComboE.DryM5.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); ComboE.DryM6.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); ComboE.DryM7.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); ComboE.DryM8.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); ComboE.DryM9.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); ComboE.DryM10.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); ComboE.DryM11.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); ComboE.DryM12.DataSource = StockMaterrialDbHelp.GetDryerMaterrial(); string[] s = new string[8]; for (int i = 1; i <= 8; i++) { s[i - 1] = "产线" + i; } ComboE.PasteChooseWet.DataSource = s; string[] s1 = new string[4]; for (int i = 1; i <= 4; i++) { s1[i - 1] = "产线" + i; } ComboE.PasteChooseDry.DataSource = s1; } #endregion } }