using DataBlockHelper.DBHelpers; using DataBlockHelper.Entity.DB2104Entity; using Mesnac.Action.Base; using Mesnac.Action.ChemicalWeighing.AutoControl.DB; using Mesnac.Action.ChemicalWeighing.AutoControl.Entity; using Mesnac.Action.ChemicalWeighing.LjMixManager; using System; using System.Collections.Generic; using System.Windows.Forms; using Mesnac.Action.ChemicalWeighing.LjPlanning; using IAction = Mesnac.Action.Base.IAction; using Mesnac.Core.Service; using static Mesnac.Action.ChemicalWeighing.AutoControl.AutoLogHelper; using static Mesnac.Action.ChemicalWeighing.AutoControl.PlcAutoWriteHelper; using Mesnac.Controls.Default; namespace Mesnac.Action.ChemicalWeighing.AutoControl { internal class AutoControl : ChemicalWeighingAction, IAction { private List McControls; MCTextBoxEntity TextE = new MCTextBoxEntity(); ButtonEntity ButtonE = new ButtonEntity(); MCLabelEntity LabelE = new MCLabelEntity(); MCComboBoxEntity ComboE = new MCComboBoxEntity(); MCRadioButtonEntity RadioE = new MCRadioButtonEntity(); public void Run(RuntimeParameter runtime) { base.RunIni(runtime); //必须要调用 McControls = GetAllControls(); ControlsHelper.ControlImport(TextE, McControls); ControlsHelper.ControlImport(ButtonE, McControls); ControlsHelper.ControlImport(ComboE, McControls); ControlsHelper.ControlImport(LabelE, McControls); ControlsHelper.ControlImport(RadioE, McControls); try { BottomSelect(runtime); } catch(Exception e) { MessageBox.Show("请检查输入内容格式是否正确!"); } } private void BottomSelect(RuntimeParameter runtime) { #region 自动参数下传 #region 湿混机糊化机参数下传 if (ButtonE.Download == runtime.Sender) { if (MessageBox.Show("确认下传数据?", "下传确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } GelWetDownload(TextE, ComboE, RadioE); MessageBox.Show("数据下传成功!"); } #endregion #region 水称参数下传 if (ButtonE.WaterDownload == runtime.Sender) { if (MessageBox.Show("确认下发水称数据?", "下发确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } WaterDownload(TextE); } #endregion #region 干混机参数下传 if(ButtonE.DryDownload == runtime.Sender) { if (MessageBox.Show("确认下传干混机数据?", "下传确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } DryDownload(TextE, ComboE, RadioE); MessageBox.Show("数据下传成功!"); } #endregion #endregion #region 手动控制 if (ButtonE.GelManualPowder == runtime.Sender) { if (MessageBox.Show("确认手动下粉料?", "下粉确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } bool isReady = GelPowderDownload(RadioE); if (!isReady) { MessageBox.Show("信号未准备好!"); } else { SingleLog("手动下粉料", RadioE); MessageBox.Show("信号下达成功!"); } } if (ButtonE.GelManualColdWater == runtime.Sender) { if (MessageBox.Show("确认下冷水?", "下水确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } bool isReady = GelColdWaterDownload(RadioE); if (!isReady) { MessageBox.Show("信号未准备好!"); } else { SingleLog("手动下冷水", RadioE); MessageBox.Show("信号下达成功!"); } } if (ButtonE.GelManualHotWater == runtime.Sender) { if (MessageBox.Show("确认下热水?", "下水确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } bool isReady = GelHotWaterDownload(RadioE); if (!isReady) { MessageBox.Show("信号未准备好!"); } else { SingleLog("手动下热水", RadioE); MessageBox.Show("信号下达成功!"); } } if (ButtonE.WetManualGel == runtime.Sender) { if (MessageBox.Show("确认下糊化料?", "下糊化料确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } bool isReady = WetGelatDownload(RadioE); if (!isReady) { MessageBox.Show("信号未准备好!"); } else { SingleLog("手动下糊化料", RadioE); MessageBox.Show("信号下达成功!"); } } if (ButtonE.WetManualControl == runtime.Sender) { if (MessageBox.Show("确认下传数据?", "下传确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } WetGelatDownload(TextE, RadioE); MessageBox.Show("数据下传成功!"); } #endregion #region 自动启停 if (ButtonE.LineStart == runtime.Sender) { if (MessageBox.Show("确认启动生产?", "启动确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } LineStart(RadioE); MessageBox.Show("产线已启动!"); } if (ButtonE.LineStop == runtime.Sender) { LineStop(RadioE); MessageBox.Show("已经停止生产"); } #endregion #region 维修模式 if(ButtonE.RepairMode == runtime.Sender) { RepairOnOff(LabelE, RadioE); } #endregion } } }