From be4a28ef5ad2763fb9c677ad0dd5b61ae1c65b06 Mon Sep 17 00:00:00 2001 From: wangsr Date: Fri, 22 Dec 2023 16:59:01 +0800 Subject: [PATCH] =?UTF-8?q?add=20-=20=E6=A6=84=E8=8F=8A=E8=BE=93=E9=80=81?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ControlBoardButtonAction.cs | 187 ++++++++++++++- .../LjDeliverControlBoard/ControlsHelper.cs | 58 ++++- .../Entity/ControlBoardEntity.cs | 6 +- .../LjDeliverControlBoard/InitAction.cs | 227 +++++++++++++++++- .../PLCDownloadControl.cs | 12 - .../Mesnac.Action.ChemicalWeighing.csproj | 1 - DataBlockHelper/DBHelpers/DB191Helper.cs | 2 +- DataBlockHelper/DBHelpers/DB191WriteHelper.cs | 28 ++- .../小料称量/榄菊输送面板.xml | 36 +++ .../nodeForm/DeliverControlBoard.xml | 14 +- Main/MCEdit/MCEdit.csproj | 3 + Main/MCRun/Data/SysConfig/MenuConfig.dat | Bin 8551 -> 8962 bytes 12 files changed, 544 insertions(+), 30 deletions(-) delete mode 100644 Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/PLCDownloadControl.cs create mode 100644 Main/MCEdit/Data/EventConfig/小料称量/榄菊输送面板.xml diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlBoardButtonAction.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlBoardButtonAction.cs index df79475..494cfc0 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlBoardButtonAction.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlBoardButtonAction.cs @@ -1,17 +1,202 @@ -using Mesnac.Action.Base; +using DataBlockHelper.DBHelpers; +using Mesnac.Action.Base; +using Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard.Entity; +using Mesnac.Action.ChemicalWeighing.Util; +using Mesnac.Controls.ChemicalWeighing; +using Mesnac.Controls.Default; using System; using System.Collections.Generic; using System.Linq; using System.Text; +using System.Threading; using System.Threading.Tasks; +using System.Windows.Forms; namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard { public class ControlBoardButtonAction : ChemicalWeighingAction, IAction { + DB191Helper DB191 = new DB191Helper(); + + List Controls; + MCButtonEntity ButtonE = new MCButtonEntity(); + MCRadioButtonEntity RadioButtonE = new MCRadioButtonEntity(); + public void Run(RuntimeParameter runtime) { RunIni(runtime); + Controls = GetAllControls(); + + SetAllControls(); + + ButtonSelect(runtime); + } + + private void ButtonSelect(RuntimeParameter runtime) + { + if (runtime.Sender == ButtonE.BoardOnA) + { + if (!DB191.GetPanelOnOff()[0]) + { + if (MessageBox.Show("确认要启动操作面板A?", "操作面板启动确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + DB191WriteHelper.SetPanelOnOffA(true); + ButtonE.BoardOnA.Text = "关闭面板"; + ButtonE.BoardOnA.BackColor = System.Drawing.Color.LightGreen; + } + else + { + DB191WriteHelper.SetPanelOnOffA(false); + ButtonE.BoardOnA.Text = "面板启用"; + ButtonE.BoardOnA.BackColor = System.Drawing.Color.Yellow; + MessageBox.Show("面板已关闭"); + } + } + + if (runtime.Sender == ButtonE.BoardOnB) + { + if (!DB191.GetPanelOnOff()[1]) + { + if (MessageBox.Show("确认要启动操作面板B?", "操作面板启动确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + DB191WriteHelper.SetPanelOnOffB(true); + ButtonE.BoardOnB.Text = "关闭面板"; + ButtonE.BoardOnB.BackColor = System.Drawing.Color.LightGreen; + + } + else + { + DB191WriteHelper.SetPanelOnOffB(false); + ButtonE.BoardOnB.Text = "面板启用"; + ButtonE.BoardOnB.BackColor = System.Drawing.Color.Yellow; + MessageBox.Show("面板已关闭"); + } + } + + if (runtime.Sender == ButtonE.BoardOnC) + { + if (!DB191.GetPanelOnOff()[2]) + { + if (MessageBox.Show("确认要启动操作面板C?", "操作面板启动确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + DB191WriteHelper.SetPanelOnOffC(true); + ButtonE.BoardOnC.Text = "关闭面板"; + ButtonE.BoardOnC.BackColor = System.Drawing.Color.LightGreen; + + } + else + { + DB191WriteHelper.SetPanelOnOffC(false); + ButtonE.BoardOnC.Text = "面板启用"; + ButtonE.BoardOnC.BackColor = System.Drawing.Color.Yellow; + MessageBox.Show("面板已关闭"); + } + } + + if (runtime.Sender == ButtonE.DownLoadBoardA) + { + if (MessageBox.Show("确认下发A面板数据?", "数据下发确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + + switch (ControlsHelper.BottleSelectA(RadioButtonE)) + { + case 1: DB191WriteHelper.SetVesselModeA(true, false); break; + case 2: DB191WriteHelper.SetVesselModeA(false, true); break; + case 3: DB191WriteHelper.SetVesselModeA(false, false); break; + default: MessageBox.Show("请先选择压送罐模式!"); return; + } + + DB191WriteHelper.SetSiloGroupA( + Convert.ToBoolean(RadioButtonE.StoreGroupAA.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupBA.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupCA.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupDA.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupEA.MCValue) + ); + + DB191WriteHelper.SetSiloA( + Convert.ToBoolean(RadioButtonE.StoreAA.MCValue), + Convert.ToBoolean(RadioButtonE.StoreBA.MCValue), + Convert.ToBoolean(RadioButtonE.StoreCA.MCValue), + Convert.ToBoolean(RadioButtonE.StoreDA.MCValue) + ); + } + + if (runtime.Sender == ButtonE.DownLoadBoardB) + { + if (MessageBox.Show("确认下发B面板数据?", "数据下发确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + + switch (ControlsHelper.BottleSelectB(RadioButtonE)) + { + case 1: DB191WriteHelper.SetVesselModeB(true, false); break; + case 2: DB191WriteHelper.SetVesselModeB(false, true); break; + case 3: DB191WriteHelper.SetVesselModeB(false, false); break; + default: MessageBox.Show("请先选择压送罐模式!"); return; + } + + DB191WriteHelper.SetSiloGroupB( + Convert.ToBoolean(RadioButtonE.StoreGroupAB.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupBB.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupCB.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupDB.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupEB.MCValue) + ); + + DB191WriteHelper.SetSiloB( + Convert.ToBoolean(RadioButtonE.StoreAB.MCValue), + Convert.ToBoolean(RadioButtonE.StoreBB.MCValue), + Convert.ToBoolean(RadioButtonE.StoreCB.MCValue), + Convert.ToBoolean(RadioButtonE.StoreDB.MCValue) + ); + } + + if (runtime.Sender == ButtonE.DownLoadBoardC) + { + if (MessageBox.Show("确认下发C面板数据?", "数据下发确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + + switch (ControlsHelper.BottleSelectC(RadioButtonE)) + { + case 1: DB191WriteHelper.SetVesselModeC(true, false); break; + case 2: DB191WriteHelper.SetVesselModeC(false, true); break; + case 3: DB191WriteHelper.SetVesselModeC(false, false); break; + default: MessageBox.Show("请先选择压送罐模式!"); return; + } + + DB191WriteHelper.SetSiloGroupC( + Convert.ToBoolean(RadioButtonE.StoreGroupAC.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupBC.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupCC.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupDC.MCValue), + Convert.ToBoolean(RadioButtonE.StoreGroupEC.MCValue) + ); + + DB191WriteHelper.SetSiloC( + Convert.ToBoolean(RadioButtonE.StoreAC.MCValue), + Convert.ToBoolean(RadioButtonE.StoreBC.MCValue), + Convert.ToBoolean(RadioButtonE.StoreCC.MCValue), + Convert.ToBoolean(RadioButtonE.StoreDC.MCValue) + ); + } + } + + private void SetAllControls() + { + ControlsImprot.ControlImport(ButtonE, Controls); + ControlsImprot.ControlImport(RadioButtonE, Controls); } } } diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlsHelper.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlsHelper.cs index 84f0b3a..8663458 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlsHelper.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlsHelper.cs @@ -1,14 +1,70 @@ -using Mesnac.Action.ChemicalWeighing.Util; +using Mesnac.Action.ChemicalWeighing.AutoControl.Entity; +using Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard.Entity; +using Mesnac.Action.ChemicalWeighing.Util; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using MCRadioButtonEntity = Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard.Entity.MCRadioButtonEntity; namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard { public class ControlsHelper : ControlsImprot { + public static int BottleSelectA(MCRadioButtonEntity RadioButtonE) + { + int no = 0; + if (Convert.ToBoolean(RadioButtonE.SingleBottle1A.MCValue)) + { + no = 1; + } + else if (Convert.ToBoolean(RadioButtonE.SingleBottle2A.MCValue)) + { + no = 2; + } + else if (Convert.ToBoolean(RadioButtonE.DoubleBottleA.MCValue)) + { + no = 3; + } + return no; + } + + public static int BottleSelectB(MCRadioButtonEntity RadioButtonE) + { + int no = 0; + if (Convert.ToBoolean(RadioButtonE.SingleBottle1B.MCValue)) + { + no = 1; + } + else if (Convert.ToBoolean(RadioButtonE.SingleBottle2B.MCValue)) + { + no = 2; + } + else if (Convert.ToBoolean(RadioButtonE.DoubleBottleB.MCValue)) + { + no = 3; + } + return no; + } + + public static int BottleSelectC(MCRadioButtonEntity RadioButtonE) + { + int no = 0; + if (Convert.ToBoolean(RadioButtonE.SingleBottle1C.MCValue)) + { + no = 1; + } + else if (Convert.ToBoolean(RadioButtonE.SingleBottle2C.MCValue)) + { + no = 2; + } + else if (Convert.ToBoolean(RadioButtonE.DoubleBottleC.MCValue)) + { + no = 3; + } + return no; + } } } diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/Entity/ControlBoardEntity.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/Entity/ControlBoardEntity.cs index 8b4c47b..110d69f 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/Entity/ControlBoardEntity.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/Entity/ControlBoardEntity.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard.Entity { - internal class MCButtonEntity + public class MCButtonEntity { public MCButton BoardOnA { get; set; } public MCButton DownLoadBoardA { get; set; } @@ -28,7 +28,7 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard.Entity } - internal class MCRadioButtonEntity + public class MCRadioButtonEntity { public MCRadioButton SingleBottle1A { get; set; } public MCRadioButton SingleBottle2A { get; set; } @@ -75,7 +75,7 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard.Entity } - internal class SwitchLightEntity + public class SwitchLightEntity { public SwitchLight SGLAA { get; set; } public SwitchLight SGLBA { get; set; } diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/InitAction.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/InitAction.cs index 3edd947..898aacb 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/InitAction.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/InitAction.cs @@ -1,10 +1,16 @@ -using Mesnac.Action.Base; +using DataBlockHelper.DBHelpers; +using Mesnac.Action.Base; +using Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard.Entity; +using Mesnac.Action.ChemicalWeighing.Util; +using Mesnac.Controls.ChemicalWeighing; +using Mesnac.Controls.Default; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; +using System.Windows.Forms; using Timer = System.Windows.Forms.Timer; namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard @@ -13,19 +19,236 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard { Timer timer; + DB191Helper DB191 = new DB191Helper(); + + List Controls; + MCButtonEntity ButtonE = new MCButtonEntity(); + MCRadioButtonEntity RadioButtonE = new MCRadioButtonEntity(); + SwitchLightEntity SwitchLightE = new SwitchLightEntity(); + public void Run(RuntimeParameter runtime) { RunIni(runtime); + Controls = GetAllControls(); + SetAllControls(); + + InitOnce(); + + ButtonE.BoardStartA.MouseDown += MouseDown; + ButtonE.BoardStartB.MouseDown += MouseDown; + ButtonE.BoardStartC.MouseDown += MouseDown; + ButtonE.BoardStopA.MouseDown += MouseDown; + ButtonE.BoardStopB.MouseDown += MouseDown; + ButtonE.BoardStopC.MouseDown += MouseDown; + ButtonE.AlarmClearA.MouseDown += MouseDown; + ButtonE.AlarmClearB.MouseDown += MouseDown; + ButtonE.AlarmClearC.MouseDown += MouseDown; + + ButtonE.BoardStartA.MouseUp += MouseUp; + ButtonE.BoardStartB.MouseUp += MouseUp; + ButtonE.BoardStartC.MouseUp += MouseUp; + ButtonE.BoardStopA.MouseUp += MouseUp; + ButtonE.BoardStopB.MouseUp += MouseUp; + ButtonE.BoardStopC.MouseUp += MouseUp; + ButtonE.AlarmClearA.MouseUp += MouseUp; + ButtonE.AlarmClearB.MouseUp += MouseUp; + ButtonE.AlarmClearC.MouseUp += MouseUp; + timer = new Timer(); timer.Interval = 1000; timer.Enabled = true; timer.Tick += GetPlcValue;//添加事件 } + private void MouseDown(object sender, MouseEventArgs e) + { + if (sender == ButtonE.BoardStartA) + { + DB191WriteHelper.SetStartA(true); + } + else if (sender == ButtonE.BoardStartB) + { + DB191WriteHelper.SetStartB(true); + } + else if (sender == ButtonE.BoardStartC) + { + DB191WriteHelper.SetStartC(true); + } + else if (sender == ButtonE.BoardStopA) + { + DB191WriteHelper.SetStopA(true); + } + else if (sender == ButtonE.BoardStopB) + { + DB191WriteHelper.SetStopB(true); + } + else if (sender == ButtonE.BoardStopC) + { + DB191WriteHelper.SetStopC(true); + } + else if (sender == ButtonE.AlarmClearA) + { + DB191WriteHelper.SetClearAlarmA(true); + } + else if (sender == ButtonE.AlarmClearB) + { + DB191WriteHelper.SetClearAlarmB(true); + } + else if (sender == ButtonE.AlarmClearC) + { + DB191WriteHelper.SetClearAlarmC(true); + } + + } + + private void MouseUp(object sender, MouseEventArgs e) + { + if (sender == ButtonE.BoardStartA) + { + DB191WriteHelper.SetStartA(false); + } + else if (sender == ButtonE.BoardStartB) + { + DB191WriteHelper.SetStartB(false); + } + else if (sender == ButtonE.BoardStartC) + { + DB191WriteHelper.SetStartC(false); + } + else if (sender == ButtonE.BoardStopA) + { + DB191WriteHelper.SetStopA(false); + } + else if (sender == ButtonE.BoardStopB) + { + DB191WriteHelper.SetStopB(false); + } + else if (sender == ButtonE.BoardStopC) + { + DB191WriteHelper.SetStopC(false); + } + else if (sender == ButtonE.AlarmClearA) + { + DB191WriteHelper.SetClearAlarmA(false); + } + else if (sender == ButtonE.AlarmClearB) + { + DB191WriteHelper.SetClearAlarmB(false); + } + else if (sender == ButtonE.AlarmClearC) + { + DB191WriteHelper.SetClearAlarmC(false); + } + + } + + private void SetAllControls() + { + ControlsImprot.ControlImport(ButtonE, Controls); + ControlsImprot.ControlImport(RadioButtonE, Controls); + ControlsImprot.ControlImport(SwitchLightE, Controls); + } + + private void InitOnce() + { + if (DB191.GetPanelOnOff()[0]) + { + ButtonE.BoardOnA.Text = "关闭面板"; + ButtonE.BoardOnA.BackColor = System.Drawing.Color.LightGreen; + } + else + { + ButtonE.BoardOnA.Text = "面板启用"; + ButtonE.BoardOnA.BackColor = System.Drawing.Color.Yellow; + } + if (DB191.GetPanelOnOff()[1]) + { + ButtonE.BoardOnB.Text = "关闭面板"; + ButtonE.BoardOnB.BackColor = System.Drawing.Color.LightGreen; + } + else + { + ButtonE.BoardOnB.Text = "面板启用"; + ButtonE.BoardOnB.BackColor = System.Drawing.Color.Yellow; + } + if (DB191.GetPanelOnOff()[2]) + { + ButtonE.BoardOnC.Text = "关闭面板"; + ButtonE.BoardOnC.BackColor = System.Drawing.Color.LightGreen; + } + else + { + ButtonE.BoardOnC.Text = "面板启用"; + ButtonE.BoardOnC.BackColor = System.Drawing.Color.Yellow; + } + } + private void GetPlcValue(object sender, EventArgs e) { - + DB191 = new DB191Helper(); + + SetPanelA(); + SetPanelB(); + SetPanelC(); + } + + private void SetPanelA() + { + ControlsImprot.SetSwitchLight(SwitchLightE.SGLAA, DB191.ControlPanel_A.siloGroupLamp1); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLBA, DB191.ControlPanel_A.siloGroupLamp2); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLCA, DB191.ControlPanel_A.siloGroupLamp3); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLDA, DB191.ControlPanel_A.siloGroupLamp4); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLEA, DB191.ControlPanel_A.siloGroupLamp5); + ControlsImprot.SetSwitchLight(SwitchLightE.SLAA, DB191.ControlPanel_A.siloLamp1); + ControlsImprot.SetSwitchLight(SwitchLightE.SLBA, DB191.ControlPanel_A.siloLamp2); + ControlsImprot.SetSwitchLight(SwitchLightE.SLCA, DB191.ControlPanel_A.siloLamp3); + ControlsImprot.SetSwitchLight(SwitchLightE.SLDA, DB191.ControlPanel_A.siloLamp4); + ControlsImprot.SetSwitchLight(SwitchLightE.StartLightA, DB191.ControlPanel_A.startLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.StopLightA, DB191.ControlPanel_A.stopLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.RoadCorrectA, DB191.ControlPanel_A.pathOkLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.TubeCleanA, DB191.ControlPanel_A.cleanLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.ActionBottleFullA, DB191.ControlPanel_A.siloFullLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.AlarmLightA, false, DB191.ControlPanel_A.Buzzer); } + + private void SetPanelB() + { + ControlsImprot.SetSwitchLight(SwitchLightE.SGLAB, DB191.ControlPanel_B.siloGroupLamp1); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLBB, DB191.ControlPanel_B.siloGroupLamp2); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLCB, DB191.ControlPanel_B.siloGroupLamp3); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLDB, DB191.ControlPanel_B.siloGroupLamp4); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLEB, DB191.ControlPanel_B.siloGroupLamp5); + ControlsImprot.SetSwitchLight(SwitchLightE.SLAB, DB191.ControlPanel_B.siloLamp1); + ControlsImprot.SetSwitchLight(SwitchLightE.SLBB, DB191.ControlPanel_B.siloLamp2); + ControlsImprot.SetSwitchLight(SwitchLightE.SLCB, DB191.ControlPanel_B.siloLamp3); + ControlsImprot.SetSwitchLight(SwitchLightE.SLDB, DB191.ControlPanel_B.siloLamp4); + ControlsImprot.SetSwitchLight(SwitchLightE.StartLightB, DB191.ControlPanel_B.startLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.StopLightB, DB191.ControlPanel_B.stopLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.RoadCorrectB, DB191.ControlPanel_B.pathOkLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.TubeCleanB, DB191.ControlPanel_B.cleanLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.ActionBottleFullB, DB191.ControlPanel_B.siloFullLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.AlarmLightB, false, DB191.ControlPanel_B.Buzzer); + } + + private void SetPanelC() + { + ControlsImprot.SetSwitchLight(SwitchLightE.SGLAC, DB191.ControlPanel_C.siloGroupLamp1); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLBC, DB191.ControlPanel_C.siloGroupLamp2); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLCC, DB191.ControlPanel_C.siloGroupLamp3); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLDC, DB191.ControlPanel_C.siloGroupLamp4); + ControlsImprot.SetSwitchLight(SwitchLightE.SGLEC, DB191.ControlPanel_C.siloGroupLamp5); + ControlsImprot.SetSwitchLight(SwitchLightE.SLAC, DB191.ControlPanel_C.siloLamp1); + ControlsImprot.SetSwitchLight(SwitchLightE.SLBC, DB191.ControlPanel_C.siloLamp2); + ControlsImprot.SetSwitchLight(SwitchLightE.SLCC, DB191.ControlPanel_C.siloLamp3); + ControlsImprot.SetSwitchLight(SwitchLightE.SLDC, DB191.ControlPanel_C.siloLamp4); + ControlsImprot.SetSwitchLight(SwitchLightE.StartLightC, DB191.ControlPanel_C.startLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.StopLightC, DB191.ControlPanel_C.stopLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.RoadCorrectC, DB191.ControlPanel_C.pathOkLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.TubeCleanC, DB191.ControlPanel_C.cleanLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.ActionBottleFullC, DB191.ControlPanel_C.siloFullLamp); + ControlsImprot.SetSwitchLight(SwitchLightE.AlarmLightC, false, DB191.ControlPanel_C.Buzzer); + } + } } diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/PLCDownloadControl.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/PLCDownloadControl.cs deleted file mode 100644 index b212565..0000000 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/PLCDownloadControl.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard -{ - public class PLCDownloadControl - { - } -} diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj index 7677f5e..346eefd 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj @@ -305,7 +305,6 @@ - diff --git a/DataBlockHelper/DBHelpers/DB191Helper.cs b/DataBlockHelper/DBHelpers/DB191Helper.cs index e16b4e4..c1ef72c 100644 --- a/DataBlockHelper/DBHelpers/DB191Helper.cs +++ b/DataBlockHelper/DBHelpers/DB191Helper.cs @@ -45,7 +45,7 @@ namespace DataBlockHelper.DBHelpers return bools; } - public bool[] GetPanelStart() + public bool[] GetPanelOnOff() { var content = bytes.Skip(30).Take(1).ToArray(); diff --git a/DataBlockHelper/DBHelpers/DB191WriteHelper.cs b/DataBlockHelper/DBHelpers/DB191WriteHelper.cs index dd98e9d..b6a2878 100644 --- a/DataBlockHelper/DBHelpers/DB191WriteHelper.cs +++ b/DataBlockHelper/DBHelpers/DB191WriteHelper.cs @@ -1,4 +1,5 @@ -using System; +using HslCommunication.Profinet.Siemens; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -9,6 +10,7 @@ namespace DataBlockHelper.DBHelpers public class DB191WriteHelper { private static readonly string DbName = "DB191"; + private static SiemensS7Net siemensS7Net = PlcConnect.Instance; public static void SetVesselModeA(bool state1, bool state2) { @@ -100,6 +102,24 @@ namespace DataBlockHelper.DBHelpers AddStop(8, state1); } + public static void SetPanelOnOffA(bool state1) + { + AddPanelOnOff(0, state1); + } + + public static void SetPanelOnOffB(bool state1) + { + AddPanelOnOff(1, state1); + } + + public static void SetPanelOnOffC(bool state1) + { + AddPanelOnOff(2, state1); + } + + + + private static void AddVesselMode(int start, bool state1, bool state2) @@ -140,9 +160,13 @@ namespace DataBlockHelper.DBHelpers AddPanel(1 + start, 6, state1); } + private static void AddPanelOnOff(int bit, bool state) + { + AddPanel(30, bit, state); + } + private static void AddPanel(int start, int bit, bool state) { - var siemensS7Net = PlcConnect.Instance; siemensS7Net.Write($"{DbName}.{start}.{bit}", state); } } diff --git a/Main/MCEdit/Data/EventConfig/小料称量/榄菊输送面板.xml b/Main/MCEdit/Data/EventConfig/小料称量/榄菊输送面板.xml new file mode 100644 index 0000000..d0fb37f --- /dev/null +++ b/Main/MCEdit/Data/EventConfig/小料称量/榄菊输送面板.xml @@ -0,0 +1,36 @@ + + + + + + + + 初始化 + 初始化 + + + 按钮事件 + 按钮事件 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Main/MCEdit/Data/MCProject/nodeForm/DeliverControlBoard.xml b/Main/MCEdit/Data/MCProject/nodeForm/DeliverControlBoard.xml index 46f1229..14dbc45 100644 --- a/Main/MCEdit/Data/MCProject/nodeForm/DeliverControlBoard.xml +++ b/Main/MCEdit/Data/MCProject/nodeForm/DeliverControlBoard.xml @@ -39,7 +39,7 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAMAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIEYwQTk5OUJFRTI5NTQ4N0RBRUEyRkNGM0UwMTA4NEZEBgYAAAAP5Yid5aeL5YyW5Y+C5pWwBgcAAAAP5Yid5aeL5YyW5Y+C5pWwCw== + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAACAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDZCOEFDN0I0QjQ2QzQxMjZBMjk1RjVCQzJCQkIyQzAyBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== @@ -85,7 +85,7 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAMAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIEYwQTk5OUJFRTI5NTQ4N0RBRUEyRkNGM0UwMTA4NEZEBgYAAAAP5Yid5aeL5YyW5Y+C5pWwBgcAAAAP5Yid5aeL5YyW5Y+C5pWwCw== + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAACAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDZCOEFDN0I0QjQ2QzQxMjZBMjk1RjVCQzJCQkIyQzAyBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== @@ -647,7 +647,7 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAMAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIEYwQTk5OUJFRTI5NTQ4N0RBRUEyRkNGM0UwMTA4NEZEBgYAAAAP5Yid5aeL5YyW5Y+C5pWwBgcAAAAP5Yid5aeL5YyW5Y+C5pWwCw== + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAACAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDZCOEFDN0I0QjQ2QzQxMjZBMjk1RjVCQzJCQkIyQzAyBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== @@ -693,7 +693,7 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAMAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIEYwQTk5OUJFRTI5NTQ4N0RBRUEyRkNGM0UwMTA4NEZEBgYAAAAP5Yid5aeL5YyW5Y+C5pWwBgcAAAAP5Yid5aeL5YyW5Y+C5pWwCw== + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAACAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDZCOEFDN0I0QjQ2QzQxMjZBMjk1RjVCQzJCQkIyQzAyBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== @@ -1295,7 +1295,7 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAMAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIEYwQTk5OUJFRTI5NTQ4N0RBRUEyRkNGM0UwMTA4NEZEBgYAAAAP5Yid5aeL5YyW5Y+C5pWwBgcAAAAP5Yid5aeL5YyW5Y+C5pWwCw== + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAACAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDZCOEFDN0I0QjQ2QzQxMjZBMjk1RjVCQzJCQkIyQzAyBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== @@ -1321,7 +1321,7 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAMAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIEYwQTk5OUJFRTI5NTQ4N0RBRUEyRkNGM0UwMTA4NEZEBgYAAAAP5Yid5aeL5YyW5Y+C5pWwBgcAAAAP5Yid5aeL5YyW5Y+C5pWwCw== + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAACAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDZCOEFDN0I0QjQ2QzQxMjZBMjk1RjVCQzJCQkIyQzAyBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== @@ -1825,7 +1825,7 @@ 111 - AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAAAAAAABwMAAAAAAQAAAAAAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAL + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAACAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDFCQkMyODU4QUI4NjQ1NjY4NzBCMEFERjNCNjE5MzJDBgYAAAAJ5Yid5aeL5YyWBgcAAAAJ5Yid5aeL5YyWCw== AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAAAAAAABwMAAAAAAQAAAAAAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAL diff --git a/Main/MCEdit/MCEdit.csproj b/Main/MCEdit/MCEdit.csproj index 0a2711d..38e2c47 100644 --- a/Main/MCEdit/MCEdit.csproj +++ b/Main/MCEdit/MCEdit.csproj @@ -216,6 +216,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest diff --git a/Main/MCRun/Data/SysConfig/MenuConfig.dat b/Main/MCRun/Data/SysConfig/MenuConfig.dat index 6e36314b23da720fb0b802fc056e01a762328040..f767d47bbb4e230d8e3c9d696079c633e7963745 100644 GIT binary patch literal 8962 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 literal 8551 zcmd^E`*Raj6wXREbkp*Xmk&Te5X;cUgf?E7r&a9NbKl1XxS_q*`exbqt}YG8fMn2TdJ}s%&2~)ItTV?p z6|HVTyVIqqsg3Mlr?Hpm&0S4RN<0-`5nI*J$f7G(iFnKWa^R6pld;W4noXw}!A^F- zuI@AptyA3xJ-AuPGAU^#dRS^NONWzLrJE)7G&@kmReIr!4yLh`&C<{AO&>EvbHa%p zRZAxfN4KRERFmn^q82M^%Zpk=QEMz}@uIfkC4meQ=r8F0gsQ5l@y!Ffl{5qPghP`^ z1|%-wOI#}|lW{KyAwq;8_*fM*2_j6QrkX@z6SH(B6?n}-HVw{kgN3|FQFTNJ*-bk9Xncnrk!neZI6lUwaSF|Np}tql3_Q6+Ie!cW zC+3mkn}-eg{23GV>ZOEMGj#RX$mR3H1J{SopX8yJi!y70vtC*TQ3p{E5g{SsJRkp~ zaM-_qRVl+eNS`Pj@6uP!82a&ezP~U3^y`tsM}{wcF>>|0P}FBUM&nZ3o))I5`2Chit=zzs!C%h|^GGKMdbEJ96Sn_zVI|Xf+9m%0xGB^y6a< z%@UCVRstVuVR!DtjoiI{mxC4>2)9x_(~+Xm*w-mqK>~8%N+4l9*&)=s_9sc7P8lgm zfeyA$F%{eJjjJ2M0*Zi2V4;od2#p**oICZ%rD8J;1lJurSxp&wP*$_uA(?th?0_U&J%(u~9GXvBZ|A{%tXd|IS8N7dl2yyKshYGkj%~CV zN_w(P{=js5ikvdCSw&B8S2TxF%}l>wKnPL?AUJ8(SS}*GF$9vTUK>-NqPf*E`f9rU z%9y)};-{dJ5rpSZfk}r7FHRU5T2j<8vm)!6&P+8GX;Urx)7Z|Pg()4j$(Jc>r3_P3 zyZ*|8mGszl@5VPsD5JUeNT_#RjVEmo$UxjN@fP)I{P{rTGI>A9mE}McXMje;oAi($ zO@Dp_FB1acu!!QZ5;o|^WJhT5;caSNxEu5n8VFOYqW+@Jta8OOO$bQ4NQfw&D}jXF zWJf4}_Fj<$nFc_@I=x#{tscKvrO-41%>x7$34I6GInkEzbyMLAc^q67-X&Zn1ujUs z>sSj(sRT}Y$PP*Z?higX=Q`FN8W7iX8IEu0*T4bV3Y<=KAzTvCr0}P+-%IDYQaVv% zR|1_D*)gq3gj>xl_43ix_G9)4O%u^X zs01pGk{vbqpDyIj{9K>{BcWp?3RG-0%67JCLO?n}LPRU25~w&yb`<(axzi`9x|1*x zIz?hCc?EcAcg+1N>-F=DGc;8|Qwe)6)JI}*CLT|*6`6Q_LsK+X-o?JWQJXL>j0XP%8o>l7ByrQ!RWH+A^NMmtF2muLWS;Acscu*VCh zdf^0uLpy`R#YZ3Ioe_y&qDN8+*X4y%ym0tBv;jCAItQ+a=rQ;kyUPo=(*uX3Ojt7t zx4H;|+T0&*yBBU-DIDri{&lEdT@aME{&4MHxQ|NVHjcuf9CSfYB>KaB=!Hv`!l6*& zUx$*)1wpmt57**_OO(PPq2q8!09_E|hW>CLc;T8$;gnH0xd?(R%O7r~7p|!k4yghE zI%E+p2oel`xaD5BSScKiKn~{=L2$tO!_|4=mX*RG?sGVt6D|mj4T)cJ4I9t1$rgLz z7J1OTP3 CeWMcq