From ef0fbc58b4c3a4e96cc75848be259669f9c68a3b Mon Sep 17 00:00:00 2001 From: wangsr Date: Sun, 24 Dec 2023 22:28:57 +0800 Subject: [PATCH] =?UTF-8?q?add=20-=20=E6=B7=BB=E5=8A=A0=E7=94=B5=E6=9C=BA?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ControlBoardButtonAction.cs | 146 +++++++++- .../LjDeliverControlBoard/ControlsHelper.cs | 50 +++- .../Entity/ControlBoardEntity.cs | 12 + .../LjDeliverControlBoard/InitAction.cs | 189 ++++++++++++- .../nodeForm/DeliverControlBoard.xml | 261 +++++++++++++++++- 5 files changed, 654 insertions(+), 4 deletions(-) diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlBoardButtonAction.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlBoardButtonAction.cs index 494cfc0..9d47902 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlBoardButtonAction.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlBoardButtonAction.cs @@ -1,4 +1,5 @@ -using DataBlockHelper.DBHelpers; +using DataBlockHelper; +using DataBlockHelper.DBHelpers; using Mesnac.Action.Base; using Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard.Entity; using Mesnac.Action.ChemicalWeighing.Util; @@ -21,12 +22,15 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard List Controls; MCButtonEntity ButtonE = new MCButtonEntity(); MCRadioButtonEntity RadioButtonE = new MCRadioButtonEntity(); + MCCombobox MotorSelect; public void Run(RuntimeParameter runtime) { RunIni(runtime); Controls = GetAllControls(); + MotorSelect = Controls.FirstOrDefault(x => x != null && x.Name == "MotorSelect") as MCCombobox; + SetAllControls(); ButtonSelect(runtime); @@ -191,6 +195,146 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard Convert.ToBoolean(RadioButtonE.StoreDC.MCValue) ); } + + if (runtime.Sender == ButtonE.SwitchAutoMode) + { + string name = MotorSelect.Text; + if (MessageBox.Show($"确认将{name}切换到自动模式?", "电机模式切换确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + + string str = MotorSelect.MCValue.ToString(); + int value = Convert.ToInt32(str); + if (value < 32) + { + ControlsHelper.WriteMode(str, false); + } + else + { + ControlsHelper.WriteMode(str, true); + } + } + + if (runtime.Sender == ButtonE.SwitchManualMode) + { + string name = MotorSelect.Text; + if (MessageBox.Show($"确认将{name}切换到手动模式?", "电机模式切换确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + + string str = MotorSelect.MCValue.ToString(); + int value = Convert.ToInt32(str); + if (value < 32) + { + ControlsHelper.WriteMode(str, true); + } + else + { + ControlsHelper.WriteMode(str, false); + } + } + + if (runtime.Sender == ButtonE.ManualModeOnOff) + { + string name = MotorSelect.Text; + string str = MotorSelect.MCValue.ToString(); + byte byt = ControlsHelper.ReadMode(name); + int value = Convert.ToInt32(str); + if (value < 32) + { + if (byt.GetBit(3)) + { + if (MessageBox.Show($"确认开启{name}的手动模式?", "电机模式切换确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + ControlsHelper.WriteModeP1(str, true); + } + else + { + if (MessageBox.Show($"确认关闭{name}的手动模式?", "电机模式切换确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + ControlsHelper.WriteModeP1(str, false); + } + } + else + { + if (byt.GetBit(5)) + { + if (MessageBox.Show($"确认开启{name}的手动模式?", "电机模式切换确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + ControlsHelper.WriteModeP2(str, true); + } + else + { + if (MessageBox.Show($"确认关闭{name}的手动模式?", "电机模式切换确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + ControlsHelper.WriteModeP2(str, false); + } + } + + + + } + + if (runtime.Sender == ButtonE.AutoModeOnOff) + { + string name = MotorSelect.Text; + string str = MotorSelect.MCValue.ToString(); + byte byt = ControlsHelper.ReadMode(name); + int value = Convert.ToInt32(str); + if (value < 32) + { + if (byt.GetBit(5)) + { + if (MessageBox.Show($"确认开启{name}的自动模式?", "电机模式切换确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + ControlsHelper.WriteModeP2(str, true); + } + else + { + if (MessageBox.Show($"确认关闭{name}的自动模式?", "电机模式切换确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + ControlsHelper.WriteModeP2(str, false); + } + } + else + { + if (byt.GetBit(3)) + { + if (MessageBox.Show($"确认开启{name}的自动模式?", "电机模式切换确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + ControlsHelper.WriteModeP1(str, true); + } + else + { + if (MessageBox.Show($"确认关闭{name}的自动模式?", "电机模式切换确认", MessageBoxButtons.YesNo) == DialogResult.No) + { + return; + } + ControlsHelper.WriteModeP1(str, false); + } + } + + + + } + + } private void SetAllControls() diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlsHelper.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlsHelper.cs index 8663458..cf93c3c 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlsHelper.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/ControlsHelper.cs @@ -1,4 +1,6 @@ -using Mesnac.Action.ChemicalWeighing.AutoControl.Entity; +using DataBlockHelper; +using HslCommunication.Profinet.Siemens; +using Mesnac.Action.ChemicalWeighing.AutoControl.Entity; using Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard.Entity; using Mesnac.Action.ChemicalWeighing.Util; using System; @@ -12,6 +14,8 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard { public class ControlsHelper : ControlsImprot { + private static SiemensS7Net siemensS7Net = PlcConnect.Instance; + public static int BottleSelectA(MCRadioButtonEntity RadioButtonE) { int no = 0; @@ -66,5 +70,49 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard return no; } + /// + /// 读取手自动模式状态 + /// + /// + /// + public static byte ReadMode(string str) + { + var bytes = PlcConnect.Instance.Read($"DB91.{str}.0", 1).Content; + return bytes[0]; + } + + /// + /// 写入手自动模式 + /// + /// + /// 第一位为state 第二位相反 + public static void WriteMode(string str, bool state) + { + siemensS7Net.Write($"DB91.{str}.0", state); + siemensS7Net.Write($"DB91.{str}.1", !state); + } + + /// + /// 写入34位置 + /// + /// + /// 第一位为state 第二位相反 + public static void WriteModeP1(string str, bool state) + { + siemensS7Net.Write($"DB91.{str}.2", state); + siemensS7Net.Write($"DB91.{str}.3", !state); + } + + /// + /// 写入56位置 + /// + /// + /// 第一位为state 第二位相反 + public static void WriteModeP2(string str, bool state) + { + siemensS7Net.Write($"DB91.{str}.4", state); + siemensS7Net.Write($"DB91.{str}.5", !state); + } + } } diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/Entity/ControlBoardEntity.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/Entity/ControlBoardEntity.cs index 110d69f..857422b 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/Entity/ControlBoardEntity.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/Entity/ControlBoardEntity.cs @@ -25,6 +25,18 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard.Entity public MCButton BoardStartC { get; set; } public MCButton BoardStopC { get; set; } public MCButton AlarmClearC { get; set; } + public MCButton SwitchAutoMode { get; set; } + public MCButton SwitchManualMode { get; set; } + public MCButton ManualModeOnOff { get; set; } + public MCButton AutoModeOnOff { get; set; } + + } + + public class MCLabelEntity + { + public MCLabel NowMode { get; set; } + public MCLabel NowAuto { get; set; } + public MCLabel NowManual { get; set; } } diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/InitAction.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/InitAction.cs index a8e5420..66f47c3 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/InitAction.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjDeliverControlBoard/InitAction.cs @@ -1,4 +1,5 @@ -using DataBlockHelper.DBHelpers; +using DataBlockHelper; +using DataBlockHelper.DBHelpers; using Mesnac.Action.Base; using Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard.Entity; using Mesnac.Action.ChemicalWeighing.Util; @@ -6,6 +7,7 @@ using Mesnac.Controls.ChemicalWeighing; using Mesnac.Controls.Default; using System; using System.Collections.Generic; +using System.Data; using System.Linq; using System.Text; using System.Threading; @@ -25,6 +27,8 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard MCButtonEntity ButtonE = new MCButtonEntity(); MCRadioButtonEntity RadioButtonE = new MCRadioButtonEntity(); SwitchLightEntity SwitchLightE = new SwitchLightEntity(); + MCLabelEntity LabelE = new MCLabelEntity(); + MCCombobox MotorSelect; public void Run(RuntimeParameter runtime) { @@ -33,6 +37,8 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard Controls = GetAllControls(); SetAllControls(); + MotorSelect = Controls.FirstOrDefault(x => x != null && x.Name == "MotorSelect") as MCCombobox; + InitOnce(); ButtonE.BoardStartA.MouseDown += MouseDown; @@ -182,6 +188,96 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard ButtonE.BoardOnC.Text = "面板启用"; ButtonE.BoardOnC.BackColor = System.Drawing.Color.Yellow; } + + DataTable dataTable = new DataTable(); + dataTable.Columns.Add("CmbValue", typeof(string)); + dataTable.Columns.Add("CmbDisplay", typeof(string)); + DataRow dr = dataTable.NewRow(); + dr[0] = "0"; + dr[1] = "二级除尘器除尘风机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "2"; + dr[1] = "大仓 A 组除尘风机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "4"; + dr[1] = "大仓 B 组除尘风机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "6"; + dr[1] = "大仓 C 组除尘风机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "8"; + dr[1] = "大仓 D 组除尘风机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "10"; + dr[1] = "大仓 E 组除尘风机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "12"; + dr[1] = "磨粉分析机电机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "14"; + dr[1] = "磨粉除尘风机电机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "16"; + dr[1] = "磨粉罗茨风机电机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "18"; + dr[1] = "磨粉皮带正转电机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "20"; + dr[1] = "磨粉皮带反转电机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "22"; + dr[1] = "磨粉主机电机主接触器"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "24"; + dr[1] = "磨粉主机电机星型接触器"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "26"; + dr[1] = "磨粉主机电机三角型接触器"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "28"; + dr[1] = "磨粉风机机电机主接触器"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "30"; + dr[1] = "磨粉风机机电机星型接触器"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "32"; + dr[1] = "磨粉风机机电机三角型接触器"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "34"; + dr[1] = "筛分机 A 电机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "48"; + dr[1] = "筛分机 B 电机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "62"; + dr[1] = "筛分机 C 电机"; + dataTable.Rows.Add(dr); + dr = dataTable.NewRow(); + dr[0] = "76"; + dr[1] = "磨粉旋转阀电机"; + dataTable.Rows.Add(dr); + + MotorSelect.DataSource = dataTable; } private void GetPlcValue(object sender, EventArgs e) @@ -191,6 +287,97 @@ namespace Mesnac.Action.ChemicalWeighing.LjDeliverControlBoard SetPanelA(); SetPanelB(); SetPanelC(); + + GetMotorStatus(); + } + + private void GetMotorStatus() + { + string str = MotorSelect.MCValue.ToString(); + byte byt = ControlsHelper.ReadMode(str); + int value = Convert.ToInt32(str); + if (value < 32) + { + if (!byt.GetBit(0) && byt.GetBit(1)) + { + LabelE.NowMode.MCValue = "自动"; + } + else if (byt.GetBit(0) && !byt.GetBit(1)) + { + LabelE.NowMode.MCValue = "手动"; + } + else + { + LabelE.NowMode.MCValue = "未设置"; + } + + if (!byt.GetBit(2) && byt.GetBit(3)) + { + LabelE.NowManual.MCValue = "关闭"; + } + else if (byt.GetBit(2) && !byt.GetBit(3)) + { + LabelE.NowManual.MCValue = "开启"; + } + else + { + LabelE.NowManual.MCValue = "未设置"; + } + + if (!byt.GetBit(4) && byt.GetBit(5)) + { + LabelE.NowAuto.MCValue = "关闭"; + } + else if (byt.GetBit(4) && !byt.GetBit(5)) + { + LabelE.NowAuto.MCValue = "开启"; + } + else + { + LabelE.NowAuto.MCValue = "未设置"; + } + } + else + { + if (!byt.GetBit(0) && byt.GetBit(1)) + { + LabelE.NowMode.MCValue = "手动"; + } + else if (byt.GetBit(0) && !byt.GetBit(1)) + { + LabelE.NowMode.MCValue = "自动"; + } + else + { + LabelE.NowMode.MCValue = "未设置"; + } + + if (!byt.GetBit(2) && byt.GetBit(3)) + { + LabelE.NowAuto.MCValue = "关闭"; + } + else if (byt.GetBit(2) && !byt.GetBit(3)) + { + LabelE.NowAuto.MCValue = "开启"; + } + else + { + LabelE.NowAuto.MCValue = "未设置"; + } + + if (!byt.GetBit(4) && byt.GetBit(5)) + { + LabelE.NowManual.MCValue = "关闭"; + } + else if (byt.GetBit(4) && !byt.GetBit(5)) + { + LabelE.NowManual.MCValue = "开启"; + } + else + { + LabelE.NowManual.MCValue = "未设置"; + } + } } private void SetPanelA() diff --git a/Main/MCEdit/Data/MCProject/nodeForm/DeliverControlBoard.xml b/Main/MCEdit/Data/MCProject/nodeForm/DeliverControlBoard.xml index 8917308..4b378d8 100644 --- a/Main/MCEdit/Data/MCProject/nodeForm/DeliverControlBoard.xml +++ b/Main/MCEdit/Data/MCProject/nodeForm/DeliverControlBoard.xml @@ -1,5 +1,264 @@ + + + + + Red + DarkGray + + + False + + + + None + True + True + 未设置 + 宋体, 12pt + 212, 238 + NowManual + 56, 16 + + + + + Red + DarkGray + + + False + + + + None + True + True + 当前状态: + 宋体, 12pt + 134, 238 + MCLabel77 + 88, 16 + + + + + Red + DarkGray + + + False + + + + None + True + True + 未设置 + 宋体, 12pt + 212, 186 + NowAuto + 56, 16 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAEAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDZCOEFDN0I0QjQ2QzQxMjZBMjk1RjVCQzJCQkIyQzAyBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== + + + + False + + + + None + True + True + False + + + Red + DarkGray + MiddleRight + 手动模式开关 + 宋体, 12pt + 6, 223 + ManualModeOnOff + 122, 46 + 128 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAGAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDZCOEFDN0I0QjQ2QzQxMjZBMjk1RjVCQzJCQkIyQzAyBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== + + + + False + + + + None + True + True + False + + + Red + DarkGray + MiddleRight + 自动模式开关 + 宋体, 12pt + 6, 171 + AutoModeOnOff + 122, 46 + 127 + + + + + Red + DarkGray + + + False + + + + None + True + True + 当前状态: + 宋体, 12pt + 134, 186 + MCLabel79 + 88, 16 + + + + + Red + DarkGray + + + False + + + + None + True + True + 未设置 + 宋体, 12pt + 159, 140 + NowMode + 56, 16 + + + + + Red + DarkGray + + + False + + + + None + True + True + 当前模式: + 宋体, 12pt + 65, 140 + MCLabel82 + 88, 16 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAEAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDZCOEFDN0I0QjQ2QzQxMjZBMjk1RjVCQzJCQkIyQzAyBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== + + + + False + + + + None + True + True + False + + + Red + DarkGray + MiddleRight + 切换手动模式 + 宋体, 12pt + 157, 80 + SwitchManualMode + 122, 46 + 124 + + + True + + AAEAAAD/////AQAAAAAAAAAMAgAAAE5NZXNuYWMuQ29udHJvbHMuRGVmYXVsdCwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJoBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuRGVmYXVsdC5Db21ib2JveEl0ZW1zLCBNZXNuYWMuQ29udHJvbHMuRGVmYXVsdCwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBAAAJ01lc25hYy5Db250cm9scy5EZWZhdWx0LkNvbWJvYm94SXRlbXNbXQIAAAAICAkDAAAAAAAAAAAAAAAHAwAAAAABAAAAAAAAAAQlTWVzbmFjLkNvbnRyb2xzLkRlZmF1bHQuQ29tYm9ib3hJdGVtcwIAAAAL + + True + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAAAAAAABwMAAAAAAQAAAAAAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAL + + + + False + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAE5NZXNuYWMuQ29udHJvbHMuRGVmYXVsdCwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJoBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuRGVmYXVsdC5Db21ib2JveEl0ZW1zLCBNZXNuYWMuQ29udHJvbHMuRGVmYXVsdCwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGxdXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBAAAJ01lc25hYy5Db250cm9scy5EZWZhdWx0LkNvbWJvYm94SXRlbXNbXQIAAAAICAkDAAAAAAAAAAAAAAAHAwAAAAABAAAAAAAAAAQlTWVzbmFjLkNvbnRyb2xzLkRlZmF1bHQuQ29tYm9ib3hJdGVtcwIAAAAL + + None + True + True + 34, 40 + MotorSelect + 221, 20 + 114 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAEAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDZCOEFDN0I0QjQ2QzQxMjZBMjk1RjVCQzJCQkIyQzAyBgYAAAAM5oyJ6ZKu5LqL5Lu2BgcAAAAM5oyJ6ZKu5LqL5Lu2Cw== + + + + False + + + + None + True + True + False + + + Red + DarkGray + MiddleRight + 切换自动模式 + 宋体, 12pt + 6, 80 + SwitchAutoMode + 122, 46 + 123 + + False + 电机手动控制 + 1403, 13 + GroupBox13 + 285, 275 + 115 + @@ -1840,7 +2099,7 @@ False False Control - 1422, 702 + 1716, 702 WindowsDefaultLocation 输送操作面板 Normal