Browse Source

update boat speed limit
update auto backup

jiangjy 1 month ago
parent
commit
cb909ce61f

+ 1 - 0
FrameworkLocal/UIClient/CenterViews/Configs/SystemConfig/SystemConfigViewModel.cs

@@ -438,6 +438,7 @@ namespace MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig
                 if (item.Name == "PressureUnit")
                     ChangePressureUnit(value);
 
+                InvokeClient.Instance.Service.DoOperation($"System.BackUpFileData");
                 string key = String.Format("{0}{1}{2}", _CurrentNodeName, ".", item.Name);
                 valueList.Add(new PageValue() { Path = key, CurrentValue = value });
                 InvokeClient.Instance.Service.DoOperation($"{SystemName}.SetConfig", key, value);

+ 2 - 4
Furnace/FurnaceRT/Config/IO/ELK/DeviceModelPM.xml

@@ -695,7 +695,7 @@
 		<IoPressureMeter id="PS14AnalogValue" display="PS14AnalogValue"  schematicId="PS14AnalogValue" unit="kPa" aiFeedback="AI_PS14AnalogValue"  physical="1500,7500" scale="-99.9,99.9" aioType="float"/>
 
 		<IoPressureMeter id="VG11" display="VG11"  schematicId="VG11" unit="Torr" aiFeedback="AI_VG11Pressure"  physical="0,15000" scale="0,1000" aioType="float" unSigned="True"/>
-		<!--<IoPressureMeter id="VG12" display="VG12"  schematicId="VG12" unit="Torr" aiFeedback="AI_VG12Pressure"  physical="0,15000" scale="0,1000" aioType="float"/>-->
+		<IoPressureMeter id="VG12" display="VG12"  schematicId="VG12" unit="Torr" aiFeedback="AI_VG12Pressure"  physical="0,15000" scale="0,1000" aioType="float"/>
 		<IoPressureMeter id="VG13" display="VG13"  schematicId="VG13" unit="Torr" aiFeedback="AI_VG13Pressure"  physical="0,15000" scale="0,1000" aioType="float" unSigned="True"/>
 		<IoPressureMeter id="VG21" display="VG21"  schematicId="VG21" unit="Torr" aiFeedback="AI_VG21Pressure"  physical="0,15000" scale="0,1000" aioType="float"/>
 		<IoPressureMeter id="VG22" display="VG22"  schematicId="VG22" unit="Torr" aiFeedback="AI_VG22Pressure"  physical="0,15000" scale="0,1000" aioType="float"/>
@@ -899,9 +899,7 @@
 		<IoAlarmSignal id="AlarmSignalPS17ValueLowLimitAlarm2"		diSignalsplay="PS17ValueLowLimitAlarm2"			diSignal="DI_PS17ValueLowLimitAlarm2"		alarmTrigValue="true"/>
 
 
-		<!--<IoAlarmSignal id="AlarmSignalFilterBox1Fan1Alarm"		diSignalsplay="FilterBox1Fan1Alarm"			diSignal="DI_FilterBox1Fan1Alarm"		alarmTrigValue="true"/>
-		<IoAlarmSignal id="AlarmSignalFilterBox1Fan2Alarm"		diSignalsplay="FilterBox1Fan2Alarm"			diSignal="DI_FilterBox1Fan2Alarm"		alarmTrigValue="true"/>-->
-
+	
 		<IoAlarmSignal id="AlarmSignalRFAlarm"		diSignalsplay="RFAlarm"			diSignal="DI_RFAlarm"		alarmTrigValue="true"/>
 		<IoAlarmSignal id="AlarmSignalForelineHeaterJacketLightAlarm"		diSignalsplay="ForelineHeaterJacketLightAlarm"			diSignal="DI_ForelineHeaterJacketLightAlarm"		alarmTrigValue="true"/>
 		<IoAlarmSignal id="AlarmSignalForelineHeaterJacketHeavyAlarm"		diSignalsplay="ForelineHeaterJacketHeavyAlarm"			diSignal="DI_ForelineHeaterJacketHeavyAlarm"		alarmTrigValue="true"/>

+ 8 - 4
Furnace/FurnaceRT/Config/System.sccfg

@@ -4,7 +4,7 @@
 		<config default="true" name="IsSimulatorMode" description="Is Simulator Mode" max="" min="" paramter="" tag="" unit="" type="Bool" />
 		<config default="120" name="BackUpFileMaxNumber" description="BackUpFileMaxNumber" max="1000" min="0" paramter="" tag="" unit="" type="Integer"   />
 		<!--主界面MFC setpoint 是否大于零才展示-->
-		<config default="true" name="ShowMFCBySetPoint" description="MFC setpoint greater than 0 display" max="" min="" paramter="" tag="" unit="" type="Bool" />
+		<config default="true" name="ShowMFCBySetPoint" description="MFC setpoint greater than 0 display" max="" min="" paramter="" tag="" unit="" type="Bool"  />
 		<config default="false" name="IsShowRobotDownBtn" description="" max="" min="" paramter="" tag="" unit="" type="Bool"  visible="false"  />
 		<config default="true" name="IsATMMode" description="Is ATM Mode" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false"  />
 		<config default="false" name="IsCycleMode" description="Is Cycle Mode" max="" min="" paramter="" tag="" unit="" type="Bool" />
@@ -14,10 +14,12 @@
 		<config default="true" name="EnablePopupKeyboard" description="Enable Popup Keyboard" max="" min="" paramter="" tag="" unit="" type="Bool" />
 		<config default="0" name="TotalCycledWafer" description="Total Cycled Wafer" max="10000000" min="1" paramter="" tag="" unit="" type="Integer" />
 		<config default="Debug" name="RunningMode" description="" max="" min="" paramter="Debug,Release" tag="" unit="" type="String" visible="false" />
-
+		<!--CreateZIP 是否生成到桌面文件-->
+		<config default="true" name="ZIPToDesktop" description="" max="" min="" paramter="" tag="" unit="" type="Bool" />
 		<config default="true" name="EnableScheduleMaintenance" description="" max="" min="" paramter="" tag="" unit="" type="Bool" visible="false"/>
 		<config default="true" name="IsServiceControlMode" description="Is Service Control Mode" max="" min="" paramter="" tag="" unit="" type="Bool" />
-
+		<config default="20" name="N2PurgeData" description="N2PurgeData" max="999999" min="0" paramter="" tag="" unit="rpm" type="Double" visible="false" />
+		<config default="185000" name="N2ToAirData" description="N2ToAirData" max="9999999" min="0" paramter="" tag="" unit="rpm" type="Double"  visible="false"/>
 		<config default="false" name="BypassInterlock" description="Bypass Interlock" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
 
 		<config default="1000" name="DataCollectionInterval" description="Data Collection Interval" max="99999" min="20" paramter="" tag="" unit="ms" type="Integer" />
@@ -699,6 +701,7 @@
 			<config default="30" name="MotionTimeout" description="Motion Time Out" max="12000" min="1" paramter="" tag="" unit="s" type="Integer" />
 			<config default="3" name="CycleCount" description="Cycle Count" max="999999" min="1" paramter="" tag="" unit="" type="Integer" />
 			<config default="1" name="IntervalTime" description="Interval Time" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
+			<config default="1000" name="BoatZAxisLimitSpeed" description="Boat ZAxis Limit Speed" max="1000" min="1" paramter="" tag="" unit="" type="Double" />
 			<config default="0" name="Position1" description="Position1" max="100000" min="-100000" paramter="" tag="" unit="" type="Double"  visible="false"/>
 			<config default="0" name="Position2" description="Position2" max="100000" min="-100000" paramter="" tag="" unit="" type="Double"  visible="false"/>
 			<config default="0" name="Position3" description="Position3" max="100000" min="-100000" paramter="" tag="" unit="" type="Double"  visible="false"/>
@@ -717,6 +720,7 @@
 			<config default="30" name="MotionTimeout" description="Motion Time Out" max="360" min="1" paramter="" tag="" unit="s" type="Integer" />
 			<config default="3" name="CycleCount" description="Cycle Count" max="999999" min="1" paramter="" tag="" unit="" type="Integer" />
 			<config default="3" name="RotateTime" description="RotateTime" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
+			<config default="5" name="BoatRAxisLimitSpeed" description="Boat RAxis Limit Speed" max="1000" min="1" paramter="" tag="" unit="" type="Double" />
 			<config default="1" name="IntervalTime" description="Interval Time" max="999999" min="0" paramter="" tag="" unit="s" type="Double" />
 			<config default="0" name="Position1" description="Position1" max="100000" min="-100000" paramter="" tag="" unit="" type="Double"  visible="false"/>
 			<config default="0" name="Position2" description="Position2" max="100000" min="-100000" paramter="" tag="" unit="" type="Double"  visible="false"/>
@@ -728,7 +732,7 @@
 			<config default="0" name="Position8" description="Position8" max="100000" min="-100000" paramter="" tag="" unit="" type="Double"  visible="false"/>
 			<config default="0" name="Position9" description="Position9" max="100000" min="-100000" paramter="" tag="" unit="" type="Double"  visible="false"/>
 			<config default="0" name="Position10" description="Position10" max="100000" min="-100000" paramter="" tag="" unit="" type="Double"  visible="false"/>
-			<config default="10" name="MoveSpeed" description="MoveSpeed" max="100000" min="-100000" paramter="" tag="" unit="" type="Double"  visible="false"/>
+			<config default="1" name="MoveSpeed" description="MoveSpeed" max="100000" min="-100000" paramter="" tag="" unit="" type="Double"  visible="false"/>
 			<config default="10" name="Acc" description="Acc" max="100000" min="-100000" paramter="" tag="" unit="mm/min" type="Double"  visible="false"/>
 			<config default="10" name="Dec" description="Dec" max="100000" min="-100000" paramter="" tag="" unit="mm/min" type="Double"  visible="false"/>
 		</configs>

+ 2 - 0
Furnace/FurnaceRT/Equipments/PMs/PMModuleDevice.cs

@@ -1838,6 +1838,8 @@ namespace FurnaceRT.Equipments.PMs
             PLCCPUReset?.Reset();
             InitN2PurgeConfigData();
             InitSCToAODO();
+            BackUpFileDataMethod();
+            CreateZIPMethod();
         }
         private void InitSCToAODO()
         {

+ 46 - 1
Furnace/FurnaceUI/Views/Maintenances/BoatRobotViewModel.cs

@@ -12,6 +12,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows.Controls;
+using OpenSEMI.ClientBase;
 
 
 namespace FurnaceUI.Views.Maintenances
@@ -169,7 +170,8 @@ namespace FurnaceUI.Views.Maintenances
         public double RAxisJogSpeed { get; set; }
         public double RAxisAccTime { get; set; }
         public double RAxisDecTime { get; set; }
-
+        public double BoatRAxisLimitSpeed { get; set; }
+        public double BoatZAxisLimitSpeed { get; set; }
         #endregion
 
         #region Shutter Data
@@ -225,11 +227,41 @@ namespace FurnaceUI.Views.Maintenances
             BoatModifyViewModel boatModifyViewModel = new BoatModifyViewModel(ModuleName.PM1.ToString());
             (windowManager as WindowManager)?.ShowDialogWithTitle(boatModifyViewModel, null, "Boat Wafer");
         }
+        private BoatRobotView _view;
         protected override void InvokeAfterUpdateProperty(Dictionary<string, object> data)
         {
             InitData();
+            if (_view != null)
+            {
+                var rsetValueBool = double.TryParse(_view?.tbMoveSpeed.Text, out double setZValue);
+                if (!rsetValueBool)
+                    _view.tbMoveSpeed.Text = "0";
+
+                var zsetValueBool = double.TryParse(_view?.tbSetSpeed.Text, out double setRValue);
+                if (!rsetValueBool)
+                    _view.tbSetSpeed.Text = "0";
+
+
+                if (!string.IsNullOrEmpty(_view?.tbMoveSpeed.Text) && rsetValueBool && setZValue > BoatZAxisLimitSpeed)
+                {
+                    _view.tbMoveSpeed.Text = "0";
+                    DialogBox.ShowWarning($"Max Move Speed is {BoatZAxisLimitSpeed}");
+                }
+                if (!string.IsNullOrEmpty(_view?.tbSetSpeed.Text) && zsetValueBool && setRValue > BoatRAxisLimitSpeed)
+                {
+                    _view.tbSetSpeed.Text = "0";
+                    DialogBox.ShowWarning($"Max Roat Speed is {BoatRAxisLimitSpeed}");
+                }
+            }
         }
+        protected override void OnViewLoaded(object view)
+        {
+            base.OnViewLoaded(view);
+            _view = view as BoatRobotView;
+            BoatZAxisLimitSpeed = (double)QueryDataClient.Instance.Service.GetConfig($"Boat.BoatElevatorServo.BoatZAxisLimitSpeed");
+            BoatRAxisLimitSpeed = (double)QueryDataClient.Instance.Service.GetConfig($"Boat.BoatRotationServo.BoatRAxisLimitSpeed");
 
+        }
         private void InitData()
         {
             ZAxisPosition1 = (double)QueryDataClient.Instance.Service.GetConfig($"Boat.BoatElevatorServo.Position1");
@@ -286,6 +318,12 @@ namespace FurnaceUI.Views.Maintenances
                 case "MoveSpeed":
                 case "Acc":
                 case "Dec":
+                    var setValue = double.Parse((tb as TextBox)?.Text);
+                    if (setValue > BoatZAxisLimitSpeed)
+                    {
+                        DialogBox.ShowWarning($"Max MoveSpeed is {BoatZAxisLimitSpeed}");
+                        break;
+                    }
                     InvokeClient.Instance.Service.DoOperation("System.SetConfig", $"Boat.BoatElevatorServo.{obj}", (tb as TextBox)?.Text);
                     break;
             }
@@ -309,6 +347,13 @@ namespace FurnaceUI.Views.Maintenances
                     InvokeClient.Instance.Service.DoOperation("System.SetConfig", $"Boat.BoatRotationServo.{obj}", (tb as TextBox)?.Text);
                     break;
                 case "MoveSpeed":
+                    var textValue = string.IsNullOrEmpty((tb as TextBox)?.Text) ? "0" : (tb as TextBox)?.Text;
+                    var setValue = double.Parse(textValue);
+                    if (setValue > BoatRAxisLimitSpeed)
+                    {
+                        DialogBox.ShowWarning($"Max Roat Speed is {BoatRAxisLimitSpeed}");
+                        return;
+                    }
                     InvokeClient.Instance.Service.DoOperation("System.SetConfig", $"Boat.BoatRotationServo.{obj}", (tb as TextBox)?.Text);
                     break;
             }