|
@@ -14,6 +14,7 @@ using System.Diagnostics;
|
|
|
using System.IO;
|
|
|
using System.Linq;
|
|
|
using System.Xml;
|
|
|
+using static Aitex.Core.RT.Device.Unit.IoBoat;
|
|
|
|
|
|
namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
@@ -22,7 +23,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
public bool IsMainRecipeComplete { get; set; }
|
|
|
public bool IsHeaterProfile { get; set; }
|
|
|
public bool IsHeaterProfileSuccess { get; set; }
|
|
|
- public bool IsBoatMoveToLoadPosition{ get; private set; }
|
|
|
+ public bool IsBoatMoveToLoadPosition { get; private set; }
|
|
|
public bool IsWaitBoatMoveComplete { get; private set; }
|
|
|
private string _boatTargetPosition;
|
|
|
private R_TRIG _profileTrig = new R_TRIG();
|
|
@@ -97,7 +98,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
float.TryParse(paramArray[1], out float speed1);
|
|
|
float.TryParse(paramArray[2], out float speed2);
|
|
|
float.TryParse(paramArray[3], out float speed3);
|
|
|
- ZAxisDevice.SetServoMoveTo("Position2", out _, speed1);
|
|
|
+ ZAxisDevice.SetServoMoveTo("Position1", out _, speed1);
|
|
|
}
|
|
|
break;
|
|
|
case "boatunload":
|
|
@@ -166,20 +167,20 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
return false;
|
|
|
}
|
|
|
var paramArray = param[0].ToString().Split(';');
|
|
|
- for(int i=0; i< paramArray.Length;i++)
|
|
|
+ for (int i = 0; i < paramArray.Length; i++)
|
|
|
{
|
|
|
var item = paramArray[i];
|
|
|
if (string.IsNullOrEmpty(item))
|
|
|
continue;
|
|
|
var valveDatas = item.Split(',');
|
|
|
- if(valveDatas != null && valveDatas.Length > 1)
|
|
|
+ if (valveDatas != null && valveDatas.Length > 1)
|
|
|
{
|
|
|
var valveName = valveDatas[0];
|
|
|
var valveSet = valveDatas[1];
|
|
|
if (valveSet == "Continue")
|
|
|
continue;
|
|
|
bool.TryParse(valveSet, out bool set);
|
|
|
- switch(valveName.ToUpper())
|
|
|
+ switch (valveName.ToUpper())
|
|
|
{
|
|
|
case "F2CLN":
|
|
|
IsF2ClnOn = set;
|
|
@@ -276,7 +277,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
LOG.Write($"SetValves exec time {stopwatch.ElapsedMilliseconds}");
|
|
@@ -304,7 +305,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
float.TryParse(paramArray[3], out float speed3);
|
|
|
IsWaitBoatMoveComplete = true;
|
|
|
IsBoatMoveToLoadPosition = true;
|
|
|
- _boatTargetPosition = "Position2";
|
|
|
+ _boatTargetPosition = BoatPosition.Position1.ToString();
|
|
|
//ZAxisDevice.SetServoMoveTo(_boatTargetPosition, out _, speed1);
|
|
|
boatModule.BoatMove("boatload", _boatTargetPosition, speed1);
|
|
|
}
|
|
@@ -316,14 +317,14 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
float.TryParse(paramArray[2], out float speed2);
|
|
|
float.TryParse(paramArray[3], out float speed3);
|
|
|
IsWaitBoatMoveComplete = true;
|
|
|
- _boatTargetPosition = "Position3";
|
|
|
+ _boatTargetPosition = BoatPosition.Position3.ToString();
|
|
|
//ZAxisDevice.SetServoMoveTo(_boatTargetPosition, out _, speed1);
|
|
|
boatModule.BoatMove("boatunload", _boatTargetPosition, speed1);
|
|
|
}
|
|
|
break;
|
|
|
case "boatloaderhome":
|
|
|
IsWaitBoatMoveComplete = true;
|
|
|
- _boatTargetPosition = "HomePosition";
|
|
|
+ _boatTargetPosition = BoatPosition.HomePosition.ToString();
|
|
|
//ZAxisDevice.SetServoMoveTo(_boatTargetPosition, out _);
|
|
|
boatModule.BoatMove("boatloaderhome", _boatTargetPosition, 0);
|
|
|
break;
|
|
@@ -332,7 +333,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
float.TryParse(paramArray[1], out float speed);
|
|
|
IsWaitBoatMoveComplete = true;
|
|
|
- _boatTargetPosition = "CapPosition";
|
|
|
+ _boatTargetPosition = BoatPosition.CapPosition.ToString();
|
|
|
//ZAxisDevice.SetServoMoveTo(_boatTargetPosition, out _, speed);
|
|
|
boatModule.BoatMove("boatcap2", _boatTargetPosition, speed);
|
|
|
}
|
|
@@ -409,7 +410,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
var ret = true;
|
|
|
foreach (var heater in _heaters)
|
|
|
{
|
|
|
- if(!heater.CheckWaitCondition(out string info))
|
|
|
+ if (!heater.CheckWaitCondition(out string info))
|
|
|
{
|
|
|
reason += $"{info} \n";
|
|
|
ret = false;
|
|
@@ -419,9 +420,9 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
}
|
|
|
public void AbortRecipe()
|
|
|
{
|
|
|
- _processMFCs.ForEach(x=>x.Terminate());
|
|
|
- _heaters.ForEach(x=>x.Terminate());
|
|
|
- _valves.ForEach(x=>x.Terminate());
|
|
|
+ _processMFCs.ForEach(x => x.Terminate());
|
|
|
+ _heaters.ForEach(x => x.Terminate());
|
|
|
+ _valves.ForEach(x => x.Terminate());
|
|
|
ZAxisDevice.ServoStop();
|
|
|
RAxisDevice.ServoStop();
|
|
|
APC.Terminate();
|
|
@@ -439,7 +440,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
IsHeaterProfile = true;
|
|
|
var ret = true;
|
|
|
- foreach(var heater in _heaters)
|
|
|
+ foreach (var heater in _heaters)
|
|
|
{
|
|
|
if (!heater.CheckProfileFinish(out string info))
|
|
|
{
|
|
@@ -466,8 +467,8 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
IsHeaterProfileSuccess = true;
|
|
|
_profileTrig.CLK = true;
|
|
|
- _heaters.ForEach(x=>x.DeviceData.ProfileStatus = "Normal End");
|
|
|
- _heaters.ForEach(x=>x.ProfileFinish());
|
|
|
+ _heaters.ForEach(x => x.DeviceData.ProfileStatus = "Normal End");
|
|
|
+ _heaters.ForEach(x => x.ProfileFinish());
|
|
|
if (_profileTrig.Q)
|
|
|
SaveHeaterProflieToCorrectTable(_heaters[0].CurrentCorrectFileName, _heaters[0].CurrentCorrectIndex);//更新profile table
|
|
|
}
|
|
@@ -507,7 +508,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
}
|
|
|
|
|
|
XmlElement targetStepNode = nodeSteps[tableIndex - 1] as XmlElement;
|
|
|
- if(targetStepNode != null)
|
|
|
+ if (targetStepNode != null)
|
|
|
{
|
|
|
var correctionDataString = targetStepNode.GetAttribute("CorrectionData");
|
|
|
if (string.IsNullOrEmpty(correctionDataString))
|
|
@@ -524,7 +525,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
}
|
|
|
|
|
|
List<string> newCorrectionDatas = new List<string>();
|
|
|
- for (int i=0;i< correctionDatas.Length;i++)
|
|
|
+ for (int i = 0; i < correctionDatas.Length; i++)
|
|
|
{
|
|
|
var datas = correctionDatas[i];
|
|
|
var dataArry = datas.Split(';');
|
|
@@ -572,11 +573,11 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
}
|
|
|
|
|
|
FurnaceRT.Devices.IoHeater heater = null;
|
|
|
- if(_heaters.Count > i)
|
|
|
+ if (_heaters.Count > i)
|
|
|
{
|
|
|
heater = _heaters[i];
|
|
|
}
|
|
|
- if(heater != null)
|
|
|
+ if (heater != null)
|
|
|
{
|
|
|
newCorrectionDatas.Add($"Index:{correctParameter.No};Name:{correctParameter.Name};ProfileTemp:{heater.DeviceData.HeaterPV};ProfileCorrect:{(heater.DeviceData.HeaterPV - heater.DeviceData.CascadePV).ToString("f1")};CascadeTCCorrect:{heater.DeviceData.CascadePV};ProfileTCCalib:{correctParameter.ProfileTCCalib}");
|
|
|
heater.DeviceData.ProfileResult = correctParameter.ProfileCorrect;
|
|
@@ -595,7 +596,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
doc.Save(fileStream);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
private bool SetAlarmConditionTable(object[] param)
|
|
|
{
|