工艺前后给昂坤发送通知

This commit is contained in:
hanqiangqiang 2026-08-20 17:35:27 +08:00
parent 5554eb4935
commit f58ac6eebb
3 changed files with 45 additions and 4 deletions

View File

@ -137,6 +137,8 @@ namespace SicModules.PMs.RecipeExecutions
} }
_swTimer.Restart(); _swTimer.Restart();
AKunTriggerTempStop();
Notify("Start"); Notify("Start");
return Result.RUN; return Result.RUN;
} }

View File

@ -124,7 +124,7 @@ namespace SicModules.PMs.RecipeExecutions
public override Result Start(params object[] objs) public override Result Start(params object[] objs)
{ {
Reset(); Reset();
AKunTriggerTempStop();//每次开始工艺都触发一次停止确保之前的T状态被清除掉宕机的时候不会停止
if (!RecipeParser.Parse(_recipeName, Module, out var recipeHead, out var recipeSteps, out string reason)) if (!RecipeParser.Parse(_recipeName, Module, out var recipeHead, out var recipeSteps, out string reason))
{ {
Stop($"Load recipe {_recipeName} failed, {reason}"); Stop($"Load recipe {_recipeName} failed, {reason}");
@ -203,6 +203,9 @@ namespace SicModules.PMs.RecipeExecutions
return Result.FAIL; return Result.FAIL;
} }
//AKunTriggerTempRunId(_lotID);
AKunTriggerTempStart();
_rotationSpeed = SC.GetValue<int>($"PM.{Module}.ProcessIdle.RotationSpeed"); _rotationSpeed = SC.GetValue<int>($"PM.{Module}.ProcessIdle.RotationSpeed");
_isDryRun = SC.GetValue<bool>($"PM.{Module}.DryRun.IsDryRun"); _isDryRun = SC.GetValue<bool>($"PM.{Module}.DryRun.IsDryRun");

View File

@ -1,12 +1,14 @@
using System; using Aitex.Core.Common.DeviceData;
using System.Collections.Generic;
using Aitex.Core.Common.DeviceData;
using Aitex.Core.RT.Device.Devices; using Aitex.Core.RT.Device.Devices;
using Aitex.Core.RT.Device.PmDevices; using Aitex.Core.RT.Device.PmDevices;
using Aitex.Core.RT.Event; using Aitex.Core.RT.Event;
using Aitex.Core.RT.OperationCenter;
using Aitex.Core.RT.Routine; using Aitex.Core.RT.Routine;
using Aitex.Core.RT.SCCore;
using MECF.Framework.Common.Equipment; using MECF.Framework.Common.Equipment;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.PMs; using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.PMs;
using System;
using System.Collections.Generic;
using static Aitex.Core.RT.Device.PmDevices.DicMode; using static Aitex.Core.RT.Device.PmDevices.DicMode;
namespace SicModules.PMs.Routines.Base namespace SicModules.PMs.Routines.Base
@ -21,6 +23,7 @@ namespace SicModules.PMs.Routines.Base
protected bool _checkChamberLowThan20 = false; protected bool _checkChamberLowThan20 = false;
protected bool _checkChamberHighThan20 = false; protected bool _checkChamberHighThan20 = false;
protected bool _v72IsOpen = false; protected bool _v72IsOpen = false;
protected bool isSimulator;
protected bool _finalOpen = false; protected bool _finalOpen = false;
protected bool _isTvOpen = false; protected bool _isTvOpen = false;
@ -106,6 +109,7 @@ namespace SicModules.PMs.Routines.Base
{ {
Module = module.ToString(); Module = module.ToString();
_pm = pm1; _pm = pm1;
isSimulator = SC.GetValue<bool>("System.IsSimulatorMode");
} }
@ -2288,5 +2292,37 @@ namespace SicModules.PMs.Routines.Base
return fixedMode; return fixedMode;
} }
protected void AKunTriggerTempRunId(string runId)
{
if (isSimulator)
return;
OP.DoOperation($"{Module}.AKunTriggerTemp.RunID", runId);
}
protected void AKunTriggerTempStepCode(string stepCode)
{
if (isSimulator)
return;
OP.DoOperation($"{Module}.AKunTriggerTemp.StepCode", stepCode);
}
protected void AKunTriggerTempStart()
{
if (isSimulator)
return;
OP.DoOperation($"{Module}.AKunTriggerTemp.MarkerActive", 1);
}
protected void AKunTriggerTempStop()
{
if (isSimulator)
return;
OP.DoOperation($"{Module}.AKunTriggerTemp.MarkerActive", 0);
}
} }
} }