Push Alpha Version

This commit is contained in:
2026-02-27 16:09:59 +01:00
parent a0ef457995
commit d2665d17fa
209 changed files with 13423 additions and 1034 deletions

View File

@@ -0,0 +1,225 @@
using System.IO;
using System.Reflection.PortableExecutable;
using System.Xml;
using System.Xml.Serialization;
using InfineonHMI.Common;
namespace InfineonHMI.Model;
public class ReceipeDto
{
public ReceipeDto()
{
ReceipeObject = new ReceipeObject();
}
public ReceipeObject ReceipeObject { get; set; }
public void Write(string filename)
{
L4ItXmlSerializer.SerializeObject(ReceipeObject, filename);
}
public void Read(string filename)
{
ReceipeObject = L4ItXmlSerializer.DeSerializeObject<ReceipeObject>(filename);
}
}
public class ReceipeObject
{
public MachineParameters MachineParameters { get; set; }
public ProductParameters ProductParameters { get; set; }
public ReceipeHotplate ReceipeHotplate { get; set; }
public ReceipeCoolplate ReceipeCoolplate { get; set; }
public ReceipeEtcher ReceipeEtcher { get; set; }
public ReceipeHighvoltageTester ReceipeHvTester { get; set; }
public FlowReceipe Flowreceipe { get; set; }
public ReceipeObject()
{
MachineParameters = new MachineParameters();
ProductParameters = new ProductParameters();
ReceipeHotplate = new ReceipeHotplate();
ReceipeCoolplate = new ReceipeCoolplate();
ReceipeEtcher = new ReceipeEtcher();
ReceipeHvTester = new ReceipeHighvoltageTester();
Flowreceipe = new FlowReceipe();
}
}
public class MachineParameters
{
public List<TrayPosition> TrayPositions { get; set; }
public int CameraPrograms { get; set; }
public int Chucks { get; set; }
public int Gripper { get; set; }
/// <summary>
/// Erlaubten Strahlparameter Abweichungen
/// </summary>
public float PermissibleBeamParameterDeviations { get; set; }
public MachineParameters()
{
TrayPositions = new List<TrayPosition>();
}
}
public class ProductParameters
{
public float Diameter { get; set; }
public float Thickness { get; set; }
public float TimeIntervallBeamCheck { get; set; }
}
public class ReceipeHotplate
{
public float RestingTime { get; set; }
public float TargetTemperature { get; set; }
}
public class ReceipeCoolplate
{
public float RestingTime { get; set; }
public float TargetTemperature { get; set; }
}
public class ReceipeHighvoltageTester
{
/// <summary>
/// Test voltage in V
/// </summary>
public float TestVoltage { get; set; }
/// <summary>
/// Maximum test Current
/// </summary>
public float MaximumTestCurrent { get; set; }
/// <summary>
/// Ramp Time in milliseconds
/// </summary>
public float RampTime { get; set; }
/// <summary>
/// Testfrequency in HZ
/// </summary>
public float TestFrequency { get; set; }
/// <summary>
/// Polarity 1=Positive, 2=Negative
/// </summary>
public UInt16 Polarity { get; set; }
/// <summary>
/// Overpressure N2 in mbar
/// </summary>
public float TestpressureN2 { get; set; }
/// <summary>
/// N2 pre purging time in seconds
/// </summary>
public float N2PrePurgetime { get; set; }
/// <summary>
/// Test retries
/// </summary>
public UInt16 NumRetries { get; set; }
/// <summary>
/// Temperature for testing (only used in heated HV station)
/// </summary>
public float TestTemperature { get; set; }
/// <summary>
/// Test OK Voltage
/// </summary>
public float TestOkVoltage { get; set; }
/// <summary>
/// Test OK Current
/// </summary>
public float TestOkCurrent { get; set; }
}
public class ReceipeEtcher
{
/// <summary>
/// Number of Robot positions
/// </summary>
public UInt16 NumberRobotPos { get; set; }
public float Rpm { get; set; }
/// <summary>
/// Roboter position and setting data
/// </summary>
public List<EtcherRobotStepData> RobotStepData { get; set; }
/// <summary>
/// Radial position of water jet under the blank in mm
/// </summary>
public float RadialPosLowerWaterJet { get; set; }
public ReceipeEtcher()
{
RobotStepData = new List<EtcherRobotStepData>();
}
}
public class EtcherRobotStepData
{
public float PosX { get; set; }
public float PosY { get; set; }
public float PosZ { get; set; }
public float AngleAlpha { get; set; }
public float MoveSpeed { get; set; }
public float Delay { get; set; }
public UInt16 Medium { get; set; }
public bool WaterFromBelow { get; set; }
public bool WaterFromAbove { get; set; }
}
public class FlowReceipe
{
public int NodeCount { get; set; }
public List<FlowReceipeNode> Nodes { get; set; }
public FlowReceipe()
{
Nodes = new List<FlowReceipeNode>();
}
}
public class FlowReceipeNode
{
public UInt16 Priority { get; set; }
public Int32 StationType { get; set; }
public UInt16 MaxRetries { get; set; }
public int NextNodeSuccess { get; set; }
public int NextNodeRetry { get; set; }
public int NextNodeFail { get; set; }
}
public class TrayPosition
{
public int PosId { get; set; }
public float PosX { get; set; }
public float PosY { get; set; }
}