Changes in Description
Add new Paramcontrol with Range Validation move Values from general to Etcher-Robot step Table Add File Extension to Save/Open File Dialog
This commit is contained in:
25
uniper_hmi/UniperHMI/Common/ParamControlIntRange.xaml
Normal file
25
uniper_hmi/UniperHMI/Common/ParamControlIntRange.xaml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<UserControl x:Class="Common.ParamControlIntRange"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:common="clr-namespace:Common"
|
||||||
|
d:DataContext="{d:DesignInstance Type=common:ParamControlIntRangeVm, IsDesignTimeCreatable=True}"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
d:DesignWidth="600"
|
||||||
|
d:DesignHeight="120"
|
||||||
|
Width="Auto"
|
||||||
|
Height="Auto">
|
||||||
|
<Grid Height="70">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<!-- <ColumnDefinition Width="Auto" /> -->
|
||||||
|
<ColumnDefinition Width="400" />
|
||||||
|
<ColumnDefinition Width="200" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Label x:Name="tbName" Grid.Column="0" Content="{Binding SName, Mode=OneWay }" FontSize="30" VerticalAlignment="Center"/>
|
||||||
|
<TextBox x:Name="tbValue" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10" Width="Auto" FontSize="30" Grid.Column="1" MaxLines="1" HorizontalContentAlignment="Right" VerticalContentAlignment="Center" IsReadOnly="{Binding Readonly}" />
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</UserControl>
|
||||||
31
uniper_hmi/UniperHMI/Common/ParamControlIntRange.xaml.cs
Normal file
31
uniper_hmi/UniperHMI/Common/ParamControlIntRange.xaml.cs
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Input;
|
||||||
|
|
||||||
|
namespace Common;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Interaktionslogik für AnalogValue.xaml
|
||||||
|
/// </summary>
|
||||||
|
public partial class ParamControlIntRange : UserControl
|
||||||
|
{
|
||||||
|
public bool IsReadonly { get; set; }
|
||||||
|
|
||||||
|
public ParamControlIntRange()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
// Unloaded += OnUnloaded;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnUnloaded(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var disposable = DataContext as IDisposable;
|
||||||
|
disposable?.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void NumberValidation(object sender, TextCompositionEventArgs e)
|
||||||
|
{
|
||||||
|
Regex regex = new("^[-+]?[0-9]*,?[0-9]+$");
|
||||||
|
e.Handled = regex.IsMatch(e.Text);
|
||||||
|
}
|
||||||
|
}
|
||||||
80
uniper_hmi/UniperHMI/Common/ParamControlIntRangeVM.cs
Normal file
80
uniper_hmi/UniperHMI/Common/ParamControlIntRangeVM.cs
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
using InfineonHMI.Common;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using TwinCAT.TypeSystem;
|
||||||
|
|
||||||
|
namespace Common;
|
||||||
|
|
||||||
|
public sealed class InRangeAttribute(string propMin, string propMax) : ValidationAttribute
|
||||||
|
{
|
||||||
|
public string PropMin { get; } = propMin;
|
||||||
|
public string PropMax { get; } = propMax;
|
||||||
|
|
||||||
|
protected override ValidationResult? IsValid(object? value, ValidationContext validationContext)
|
||||||
|
{
|
||||||
|
object instance = validationContext.ObjectInstance;
|
||||||
|
int minValue = (int)(instance.GetType().GetProperty(PropMin)?.GetValue(instance) ?? 1);
|
||||||
|
int maxValue = (int)(instance.GetType().GetProperty(PropMax)?.GetValue(instance) ?? 1);
|
||||||
|
int tempValue = (int)(value ?? 1);
|
||||||
|
|
||||||
|
if (tempValue <= maxValue && tempValue >= minValue)
|
||||||
|
return ValidationResult.Success;
|
||||||
|
|
||||||
|
return new($"Value has to be greater than {minValue} and smaller then {maxValue}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed partial class ParamControlIntRangeVm : ObservableValidator, IDisposable, IChangeTrackingEx
|
||||||
|
{
|
||||||
|
private int initValue;
|
||||||
|
|
||||||
|
[ObservableProperty]
|
||||||
|
private int iMin;
|
||||||
|
|
||||||
|
[ObservableProperty]
|
||||||
|
private int iMax;
|
||||||
|
|
||||||
|
[ObservableProperty] private string sName;
|
||||||
|
|
||||||
|
|
||||||
|
private int value;
|
||||||
|
|
||||||
|
[InRangeAttribute(nameof(IMin), nameof(IMax))]
|
||||||
|
public int Value
|
||||||
|
{
|
||||||
|
get => this.value;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
SetProperty(ref this.value, value, true);
|
||||||
|
if (value >= IMin && value <= IMax)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public ParamControlIntRangeVm()
|
||||||
|
{
|
||||||
|
SName = "No Name:";
|
||||||
|
Value = 0;
|
||||||
|
initValue = Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AcceptChanges()
|
||||||
|
{
|
||||||
|
initValue = Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsChanged => initValue != Value;
|
||||||
|
public void DiscardChanges()
|
||||||
|
{
|
||||||
|
Value = initValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -49,6 +49,9 @@
|
|||||||
<Compile Update="Common\MediaContainer.xaml.cs">
|
<Compile Update="Common\MediaContainer.xaml.cs">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Update="Common\ParamControlIntRange.xaml.cs">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
<Compile Update="Common\ParamControlInt.xaml.cs">
|
<Compile Update="Common\ParamControlInt.xaml.cs">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|||||||
@@ -161,17 +161,12 @@ public class ReceipeEtcher
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public UInt16 NumberRobotPos { get; set; }
|
public UInt16 NumberRobotPos { get; set; }
|
||||||
|
|
||||||
public float Rpm { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Roboter position and setting data
|
/// Roboter position and setting data
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<EtcherRobotStepData> RobotStepData { get; set; }
|
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()
|
public ReceipeEtcher()
|
||||||
{
|
{
|
||||||
@@ -186,6 +181,9 @@ public class EtcherRobotStepData
|
|||||||
public float PosY { get; set; }
|
public float PosY { get; set; }
|
||||||
public float PosZ { get; set; }
|
public float PosZ { get; set; }
|
||||||
public float AngleAlpha { get; set; }
|
public float AngleAlpha { get; set; }
|
||||||
|
public float AngleGamma { get; set; }
|
||||||
|
public float RadialposUnderwater { get; set; }
|
||||||
|
public float ChuckRpm { get; set; }
|
||||||
public float MoveSpeed { get; set; }
|
public float MoveSpeed { get; set; }
|
||||||
public float Delay { get; set; }
|
public float Delay { get; set; }
|
||||||
public UInt16 Medium { get; set; }
|
public UInt16 Medium { get; set; }
|
||||||
|
|||||||
@@ -48,8 +48,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
TargetTemperatureCoolplateVm.IsChanged ||
|
TargetTemperatureCoolplateVm.IsChanged ||
|
||||||
PermissibleBeamParamDeviationsVm.IsChanged ||
|
PermissibleBeamParamDeviationsVm.IsChanged ||
|
||||||
TimeIntervallBeamCheckVm.IsChanged ||
|
TimeIntervallBeamCheckVm.IsChanged ||
|
||||||
RadialPosLowerWaterJetVm.IsChanged ||
|
|
||||||
ChuckRpmVm.IsChanged ||
|
|
||||||
HvmaxTestCurrentVm.IsChanged ||
|
HvmaxTestCurrentVm.IsChanged ||
|
||||||
Hvn2PrePurgeTimeVm.IsChanged ||
|
Hvn2PrePurgeTimeVm.IsChanged ||
|
||||||
HvnumRetriesVm.IsChanged ||
|
HvnumRetriesVm.IsChanged ||
|
||||||
@@ -123,7 +121,7 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
private ParamControlFloatVm hvtestFrequencyVm = new();
|
private ParamControlFloatVm hvtestFrequencyVm = new();
|
||||||
|
|
||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
private ParamControlIntVm hvpolarityVm = new();
|
private ParamControlIntRangeVm hvpolarityVm = new();
|
||||||
|
|
||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
private ParamControlFloatVm hvtestPressureN2Vm = new();
|
private ParamControlFloatVm hvtestPressureN2Vm = new();
|
||||||
@@ -146,15 +144,9 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
private ParamControlIntVm numberRobotPositionsVm = new();
|
private ParamControlIntVm numberRobotPositionsVm = new();
|
||||||
|
|
||||||
[ObservableProperty]
|
|
||||||
private ParamControlFloatVm chuckRpmVm = new();
|
|
||||||
|
|
||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
private ObservableCollection<EtcherRobotStepData> etcherRobotSteps;
|
private ObservableCollection<EtcherRobotStepData> etcherRobotSteps;
|
||||||
|
|
||||||
[ObservableProperty]
|
|
||||||
private ParamControlFloatVm radialPosLowerWaterJetVm = new();
|
|
||||||
|
|
||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
private ParamControlIntVm flowNodeCountVm = new();
|
private ParamControlIntVm flowNodeCountVm = new();
|
||||||
|
|
||||||
@@ -404,6 +396,9 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
PosZ = 0.0f,
|
PosZ = 0.0f,
|
||||||
MoveSpeed = 0.0f,
|
MoveSpeed = 0.0f,
|
||||||
AngleAlpha = 0.0f,
|
AngleAlpha = 0.0f,
|
||||||
|
AngleGamma = 0.0f,
|
||||||
|
ChuckRpm = 0.0f,
|
||||||
|
RadialposUnderwater = 0.0f,
|
||||||
WaterFromAbove = false,
|
WaterFromAbove = false,
|
||||||
WaterFromBelow = false,
|
WaterFromBelow = false,
|
||||||
Medium = 0,
|
Medium = 0,
|
||||||
@@ -430,6 +425,9 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
PosZ = etchStep.PosZ,
|
PosZ = etchStep.PosZ,
|
||||||
MoveSpeed = etchStep.MoveSpeed,
|
MoveSpeed = etchStep.MoveSpeed,
|
||||||
AngleAlpha = etchStep.AngleAlpha,
|
AngleAlpha = etchStep.AngleAlpha,
|
||||||
|
AngleGamma = etchStep.AngleGamma,
|
||||||
|
ChuckRpm = etchStep.ChuckRpm,
|
||||||
|
RadialposUnderwater = etchStep.RadialposUnderwater,
|
||||||
WaterFromAbove = etchStep.WaterFromAbove,
|
WaterFromAbove = etchStep.WaterFromAbove,
|
||||||
WaterFromBelow = etchStep.WaterFromBelow,
|
WaterFromBelow = etchStep.WaterFromBelow,
|
||||||
Medium = etchStep.Medium,
|
Medium = etchStep.Medium,
|
||||||
@@ -515,8 +513,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
|
|
||||||
PermissibleBeamParamDeviationsVm.AcceptChanges();
|
PermissibleBeamParamDeviationsVm.AcceptChanges();
|
||||||
TimeIntervallBeamCheckVm.AcceptChanges();
|
TimeIntervallBeamCheckVm.AcceptChanges();
|
||||||
RadialPosLowerWaterJetVm.AcceptChanges();
|
|
||||||
ChuckRpmVm.AcceptChanges();
|
|
||||||
|
|
||||||
HvmaxTestCurrentVm.AcceptChanges();
|
HvmaxTestCurrentVm.AcceptChanges();
|
||||||
Hvn2PrePurgeTimeVm.AcceptChanges();
|
Hvn2PrePurgeTimeVm.AcceptChanges();
|
||||||
@@ -530,6 +526,9 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
HvtestVoltageVm.AcceptChanges();
|
HvtestVoltageVm.AcceptChanges();
|
||||||
HvtestPressureN2Vm.AcceptChanges();
|
HvtestPressureN2Vm.AcceptChanges();
|
||||||
FlowReceipe.AcceptChanges();
|
FlowReceipe.AcceptChanges();
|
||||||
|
trayPositionsCollectionChanged = false;
|
||||||
|
etcherRobotStepsCollectionChanged = false;
|
||||||
|
flowreceipeCollectionChanged = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
[RelayCommand]
|
[RelayCommand]
|
||||||
@@ -547,9 +546,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
|
|
||||||
PermissibleBeamParamDeviationsVm.DiscardChanges();
|
PermissibleBeamParamDeviationsVm.DiscardChanges();
|
||||||
TimeIntervallBeamCheckVm.DiscardChanges();
|
TimeIntervallBeamCheckVm.DiscardChanges();
|
||||||
RadialPosLowerWaterJetVm.DiscardChanges();
|
|
||||||
ChuckRpmVm.DiscardChanges();
|
|
||||||
|
|
||||||
|
|
||||||
HvmaxTestCurrentVm.DiscardChanges();
|
HvmaxTestCurrentVm.DiscardChanges();
|
||||||
Hvn2PrePurgeTimeVm.DiscardChanges();
|
Hvn2PrePurgeTimeVm.DiscardChanges();
|
||||||
@@ -584,6 +580,7 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
public void ReadReceipeFile()
|
public void ReadReceipeFile()
|
||||||
{
|
{
|
||||||
var dlg = new OpenFileDialog();
|
var dlg = new OpenFileDialog();
|
||||||
|
dlg.Filter = "XML-Dateien (*.xml)|*.xml|Alle Dateien (*.*)|*.*";
|
||||||
if (dlg.ShowDialog() != true)
|
if (dlg.ShowDialog() != true)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -599,6 +596,7 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
public void WriteReceipeFile()
|
public void WriteReceipeFile()
|
||||||
{
|
{
|
||||||
var dlg = new SaveFileDialog();
|
var dlg = new SaveFileDialog();
|
||||||
|
dlg.Filter = "XML-Dateien (*.xml)|*.xml|Alle Dateien (*.*)|*.*";
|
||||||
if (dlg.ShowDialog() != true)
|
if (dlg.ShowDialog() != true)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -656,8 +654,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
|
|
||||||
PermissibleBeamParamDeviationsVm.PropertyChanged += NewData;
|
PermissibleBeamParamDeviationsVm.PropertyChanged += NewData;
|
||||||
TimeIntervallBeamCheckVm.PropertyChanged += NewData;
|
TimeIntervallBeamCheckVm.PropertyChanged += NewData;
|
||||||
RadialPosLowerWaterJetVm.PropertyChanged += NewData;
|
|
||||||
ChuckRpmVm.PropertyChanged += NewData;
|
|
||||||
|
|
||||||
HvmaxTestCurrentVm.PropertyChanged += NewData;
|
HvmaxTestCurrentVm.PropertyChanged += NewData;
|
||||||
Hvn2PrePurgeTimeVm.PropertyChanged += NewData;
|
Hvn2PrePurgeTimeVm.PropertyChanged += NewData;
|
||||||
@@ -724,12 +720,12 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
RestingTimeCoolplateVm.SName = "Verweilzeit Kühlplatte: ";
|
RestingTimeCoolplateVm.SName = "Verweilzeit Kühlplatte: ";
|
||||||
TargetTemperatureCoolplateVm.SName = "Zieltemperatur Kühlplatte";
|
TargetTemperatureCoolplateVm.SName = "Zieltemperatur Kühlplatte";
|
||||||
|
|
||||||
RadialPosLowerWaterJetVm.SName = "Radial Position Unterwasserstrahl: ";
|
|
||||||
ChuckRpmVm.SName = "Drehzahl: ";
|
|
||||||
HvmaxTestCurrentVm.SName = "HV: Max. Teststrom: ";
|
HvmaxTestCurrentVm.SName = "HV: Max. Teststrom: ";
|
||||||
Hvn2PrePurgeTimeVm.SName = "HV: Vorreinigungszeit: ";
|
Hvn2PrePurgeTimeVm.SName = "HV: Vorreinigungszeit: ";
|
||||||
HvnumRetriesVm.SName = "HV: Anzahl Wiederholversuche: ";
|
HvnumRetriesVm.SName = "HV: Anzahl Wiederholversuche: ";
|
||||||
HvpolarityVm.SName = "HV: Polarität (1=Pos, 2=Neg): ";
|
HvpolarityVm.SName = "HV: Polarität (1=Pos, 2=Neg): ";
|
||||||
|
HvpolarityVm.IMin = 1;
|
||||||
|
HvpolarityVm.IMax = 2;
|
||||||
HvrampTimeVm.SName = "HV: Rampenzeit: ";
|
HvrampTimeVm.SName = "HV: Rampenzeit: ";
|
||||||
HvtestFrequencyVm.SName = "HV: Testfrequenz: ";
|
HvtestFrequencyVm.SName = "HV: Testfrequenz: ";
|
||||||
HvTestOkCurrentVm.SName = "HV: Teststrom Teil OK";
|
HvTestOkCurrentVm.SName = "HV: Teststrom Teil OK";
|
||||||
@@ -789,8 +785,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
receipe.ReceipeObject.ReceipeCoolplate.TargetTemperature = TargetTemperatureCoolplateVm.Value;
|
receipe.ReceipeObject.ReceipeCoolplate.TargetTemperature = TargetTemperatureCoolplateVm.Value;
|
||||||
|
|
||||||
receipe.ReceipeObject.ReceipeEtcher.NumberRobotPos = (ushort)NumberRobotPositionsVm.Value;
|
receipe.ReceipeObject.ReceipeEtcher.NumberRobotPos = (ushort)NumberRobotPositionsVm.Value;
|
||||||
receipe.ReceipeObject.ReceipeEtcher.RadialPosLowerWaterJet = RadialPosLowerWaterJetVm.Value;
|
|
||||||
receipe.ReceipeObject.ReceipeEtcher.Rpm = ChuckRpmVm.Value;
|
|
||||||
receipe.ReceipeObject.ReceipeEtcher.RobotStepData = new List<EtcherRobotStepData>(EtcherRobotSteps);
|
receipe.ReceipeObject.ReceipeEtcher.RobotStepData = new List<EtcherRobotStepData>(EtcherRobotSteps);
|
||||||
|
|
||||||
receipe.ReceipeObject.ReceipeHvTester.MaximumTestCurrent = HvmaxTestCurrentVm.Value;
|
receipe.ReceipeObject.ReceipeHvTester.MaximumTestCurrent = HvmaxTestCurrentVm.Value;
|
||||||
@@ -845,8 +839,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
TargetTemperatureCoolplateVm.Value = receipe.ReceipeObject.ReceipeCoolplate.TargetTemperature;
|
TargetTemperatureCoolplateVm.Value = receipe.ReceipeObject.ReceipeCoolplate.TargetTemperature;
|
||||||
|
|
||||||
NumberRobotPositionsVm.Value = receipe.ReceipeObject.ReceipeEtcher.NumberRobotPos;
|
NumberRobotPositionsVm.Value = receipe.ReceipeObject.ReceipeEtcher.NumberRobotPos;
|
||||||
RadialPosLowerWaterJetVm.Value = receipe.ReceipeObject.ReceipeEtcher.RadialPosLowerWaterJet;
|
|
||||||
ChuckRpmVm.Value = receipe.ReceipeObject.ReceipeEtcher.Rpm;
|
|
||||||
EtcherRobotSteps = new(receipe.ReceipeObject.ReceipeEtcher.RobotStepData);
|
EtcherRobotSteps = new(receipe.ReceipeObject.ReceipeEtcher.RobotStepData);
|
||||||
|
|
||||||
HvmaxTestCurrentVm.Value = receipe.ReceipeObject.ReceipeHvTester.MaximumTestCurrent;
|
HvmaxTestCurrentVm.Value = receipe.ReceipeObject.ReceipeHvTester.MaximumTestCurrent;
|
||||||
@@ -910,6 +902,12 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
EtcherRobotSteps[i].PosZ);
|
EtcherRobotSteps[i].PosZ);
|
||||||
_adsManager.WriteValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rAngleAlpha",
|
_adsManager.WriteValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rAngleAlpha",
|
||||||
EtcherRobotSteps[i].AngleAlpha);
|
EtcherRobotSteps[i].AngleAlpha);
|
||||||
|
_adsManager.WriteValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rAngleGamma",
|
||||||
|
EtcherRobotSteps[i].AngleGamma);
|
||||||
|
_adsManager.WriteValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rRadialPosLowerWaterJet",
|
||||||
|
EtcherRobotSteps[i].RadialposUnderwater);
|
||||||
|
_adsManager.WriteValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rRPM",
|
||||||
|
EtcherRobotSteps[i].ChuckRpm);
|
||||||
_adsManager.WriteValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rMoveSpeed",
|
_adsManager.WriteValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rMoveSpeed",
|
||||||
EtcherRobotSteps[i].MoveSpeed);
|
EtcherRobotSteps[i].MoveSpeed);
|
||||||
_adsManager.WriteValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rDelay",
|
_adsManager.WriteValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rDelay",
|
||||||
@@ -954,14 +952,11 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
_adsManager.WriteValue("GVL_SCADA.stMachine.rTimeIntervalBeamCheck", TimeIntervallBeamCheckVm.Value);
|
_adsManager.WriteValue("GVL_SCADA.stMachine.rTimeIntervalBeamCheck", TimeIntervallBeamCheckVm.Value);
|
||||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHotplate.rRestingTime", RestingTimeHotplateVm.Value);
|
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHotplate.rRestingTime", RestingTimeHotplateVm.Value);
|
||||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHotplate.rTemp", TargetTemperatureHotplateVm.Value);
|
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHotplate.rTemp", TargetTemperatureHotplateVm.Value);
|
||||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rRestingTime",
|
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rRestingTime", RestingTimeCoolplateVm.Value);
|
||||||
RestingTimeCoolplateVm.Value);
|
|
||||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rTemp", TargetTemperatureCoolplateVm.Value);
|
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rTemp", TargetTemperatureCoolplateVm.Value);
|
||||||
|
|
||||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.uiNumRobotPos", NumberRobotPositionsVm.Value);
|
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.uiNumRobotPos", NumberRobotPositionsVm.Value);
|
||||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.rRadialPosLowerWaterJet",
|
|
||||||
RadialPosLowerWaterJetVm.Value);
|
|
||||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.rChuckRPM", ChuckRpmVm.Value);
|
|
||||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rTestVoltage", HvtestVoltageVm.Value);
|
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rTestVoltage", HvtestVoltageVm.Value);
|
||||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rMaxTestCurrent", HvmaxTestCurrentVm.Value);
|
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rMaxTestCurrent", HvmaxTestCurrentVm.Value);
|
||||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rRampTime", HvrampTimeVm.Value);
|
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rRampTime", HvrampTimeVm.Value);
|
||||||
@@ -1009,6 +1004,9 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
EtcherRobotSteps.Last().PosY = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rPosY"));
|
EtcherRobotSteps.Last().PosY = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rPosY"));
|
||||||
EtcherRobotSteps.Last().PosZ = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rPosZ"));
|
EtcherRobotSteps.Last().PosZ = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rPosZ"));
|
||||||
EtcherRobotSteps.Last().AngleAlpha = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rAngleAlpha"));
|
EtcherRobotSteps.Last().AngleAlpha = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rAngleAlpha"));
|
||||||
|
EtcherRobotSteps.Last().AngleGamma = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rAngleGamma"));
|
||||||
|
EtcherRobotSteps.Last().RadialposUnderwater = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rRadialPosLowerWaterJet"));
|
||||||
|
EtcherRobotSteps.Last().ChuckRpm = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rRPM"));
|
||||||
EtcherRobotSteps.Last().MoveSpeed = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rMoveSpeed"));
|
EtcherRobotSteps.Last().MoveSpeed = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rMoveSpeed"));
|
||||||
EtcherRobotSteps.Last().Delay = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rDelay"));
|
EtcherRobotSteps.Last().Delay = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rDelay"));
|
||||||
EtcherRobotSteps.Last().Medium =GetUShort(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].uiMedium"));
|
EtcherRobotSteps.Last().Medium =GetUShort(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].uiMedium"));
|
||||||
@@ -1046,8 +1044,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
|||||||
RestingTimeCoolplateVm.Value=GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rRestingTime"));
|
RestingTimeCoolplateVm.Value=GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rRestingTime"));
|
||||||
TargetTemperatureCoolplateVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rTemp" ));
|
TargetTemperatureCoolplateVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rTemp" ));
|
||||||
NumberRobotPositionsVm.Value = GetInt(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.uiNumRobotPos"));
|
NumberRobotPositionsVm.Value = GetInt(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.uiNumRobotPos"));
|
||||||
RadialPosLowerWaterJetVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.rRadialPosLowerWaterJet"));
|
|
||||||
ChuckRpmVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.rChuckRPM"));
|
|
||||||
HvtestVoltageVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rTestVoltage"));
|
HvtestVoltageVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rTestVoltage"));
|
||||||
HvmaxTestCurrentVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rMaxTestCurrent"));
|
HvmaxTestCurrentVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rMaxTestCurrent"));
|
||||||
HvrampTimeVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rRampTime"));
|
HvrampTimeVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rRampTime"));
|
||||||
|
|||||||
@@ -121,14 +121,12 @@
|
|||||||
|
|
||||||
<common:ParamControlFloat DataContext="{Binding PermissibleBeamParamDeviationsVm}" Grid.Column="0" Grid.Row="16" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
<common:ParamControlFloat DataContext="{Binding PermissibleBeamParamDeviationsVm}" Grid.Column="0" Grid.Row="16" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||||
<common:ParamControlFloat DataContext="{Binding TimeIntervallBeamCheckVm}" Grid.Column="0" Grid.Row="17" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
<common:ParamControlFloat DataContext="{Binding TimeIntervallBeamCheckVm}" Grid.Column="0" Grid.Row="17" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||||
<common:ParamControlFloat DataContext="{Binding RadialPosLowerWaterJetVm}" Grid.Column="0" Grid.Row="18" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
|
||||||
<common:ParamControlFloat DataContext="{Binding ChuckRpmVm}" Grid.Column="0" Grid.Row="19" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
|
||||||
|
|
||||||
<Label Grid.Column="1" Grid.Row="1" Content="Hochvolt Parameter: " VerticalAlignment="Center" FontSize="24"></Label>
|
<Label Grid.Column="1" Grid.Row="1" Content="Hochvolt Parameter: " VerticalAlignment="Center" FontSize="24"></Label>
|
||||||
<common:ParamControlFloat DataContext="{Binding HvmaxTestCurrentVm}" Grid.Column="1" Grid.Row="2" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
<common:ParamControlFloat DataContext="{Binding HvmaxTestCurrentVm}" Grid.Column="1" Grid.Row="2" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||||
<common:ParamControlFloat DataContext="{Binding Hvn2PrePurgeTimeVm}" Grid.Column="1" Grid.Row="3" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
<common:ParamControlFloat DataContext="{Binding Hvn2PrePurgeTimeVm}" Grid.Column="1" Grid.Row="3" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||||
<common:ParamControlInt DataContext="{Binding HvnumRetriesVm}" Grid.Column="1" Grid.Row="4" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
<common:ParamControlInt DataContext="{Binding HvnumRetriesVm}" Grid.Column="1" Grid.Row="4" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||||
<common:ParamControlInt DataContext="{Binding HvpolarityVm}" Grid.Column="1" Grid.Row="5" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
<common:ParamControlIntRange DataContext="{Binding HvpolarityVm}" Grid.Column="1" Grid.Row="5" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||||
<common:ParamControlFloat DataContext="{Binding HvrampTimeVm}" Grid.Column="1" Grid.Row="6" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
<common:ParamControlFloat DataContext="{Binding HvrampTimeVm}" Grid.Column="1" Grid.Row="6" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||||
<common:ParamControlFloat DataContext="{Binding HvtestFrequencyVm}" Grid.Column="1" Grid.Row="7" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
<common:ParamControlFloat DataContext="{Binding HvtestFrequencyVm}" Grid.Column="1" Grid.Row="7" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||||
<common:ParamControlFloat DataContext="{Binding HvTestOkCurrentVm}" Grid.Column="1" Grid.Row="8" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
<common:ParamControlFloat DataContext="{Binding HvTestOkCurrentVm}" Grid.Column="1" Grid.Row="8" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||||
@@ -284,6 +282,13 @@
|
|||||||
SelectedItem="{Binding SelectedEtchRobotStep, UpdateSourceTrigger=PropertyChanged}"
|
SelectedItem="{Binding SelectedEtchRobotStep, UpdateSourceTrigger=PropertyChanged}"
|
||||||
AutoGenerateColumns="False" CanUserAddRows="False" FontSize="30">
|
AutoGenerateColumns="False" CanUserAddRows="False" FontSize="30">
|
||||||
<DataGrid.Columns>
|
<DataGrid.Columns>
|
||||||
|
<DataGridTextColumn Header="RPM" Binding="{Binding ChuckRpm}">
|
||||||
|
<DataGridTextColumn.EditingElementStyle>
|
||||||
|
<Style TargetType="TextBox">
|
||||||
|
<Setter Property="FontSize" Value="30"/>
|
||||||
|
</Style>
|
||||||
|
</DataGridTextColumn.EditingElementStyle>
|
||||||
|
</DataGridTextColumn>
|
||||||
<DataGridTextColumn Header="Pos X" Binding="{Binding PosX}">
|
<DataGridTextColumn Header="Pos X" Binding="{Binding PosX}">
|
||||||
<DataGridTextColumn.EditingElementStyle>
|
<DataGridTextColumn.EditingElementStyle>
|
||||||
<Style TargetType="TextBox">
|
<Style TargetType="TextBox">
|
||||||
@@ -305,7 +310,14 @@
|
|||||||
</Style>
|
</Style>
|
||||||
</DataGridTextColumn.EditingElementStyle>
|
</DataGridTextColumn.EditingElementStyle>
|
||||||
</DataGridTextColumn>
|
</DataGridTextColumn>
|
||||||
<DataGridTextColumn Header="Winkel Alpha" Binding="{Binding AngleAlpha}">
|
<DataGridTextColumn Header="W.Alpha" Binding="{Binding AngleAlpha}">
|
||||||
|
<DataGridTextColumn.EditingElementStyle>
|
||||||
|
<Style TargetType="TextBox">
|
||||||
|
<Setter Property="FontSize" Value="30"/>
|
||||||
|
</Style>
|
||||||
|
</DataGridTextColumn.EditingElementStyle>
|
||||||
|
</DataGridTextColumn>
|
||||||
|
<DataGridTextColumn Header="W.Gamma" Binding="{Binding AngleGamma}">
|
||||||
<DataGridTextColumn.EditingElementStyle>
|
<DataGridTextColumn.EditingElementStyle>
|
||||||
<Style TargetType="TextBox">
|
<Style TargetType="TextBox">
|
||||||
<Setter Property="FontSize" Value="30"/>
|
<Setter Property="FontSize" Value="30"/>
|
||||||
@@ -319,7 +331,7 @@
|
|||||||
</Style>
|
</Style>
|
||||||
</DataGridTextColumn.EditingElementStyle>
|
</DataGridTextColumn.EditingElementStyle>
|
||||||
</DataGridTextColumn>
|
</DataGridTextColumn>
|
||||||
<DataGridTextColumn Header="Wartezeit" Binding="{Binding Delay}">
|
<DataGridTextColumn Header="Wartez." Binding="{Binding Delay}">
|
||||||
<DataGridTextColumn.EditingElementStyle>
|
<DataGridTextColumn.EditingElementStyle>
|
||||||
<Style TargetType="TextBox">
|
<Style TargetType="TextBox">
|
||||||
<Setter Property="FontSize" Value="30"/>
|
<Setter Property="FontSize" Value="30"/>
|
||||||
@@ -333,8 +345,15 @@
|
|||||||
</Style>
|
</Style>
|
||||||
</DataGridTextColumn.EditingElementStyle>
|
</DataGridTextColumn.EditingElementStyle>
|
||||||
</DataGridTextColumn>
|
</DataGridTextColumn>
|
||||||
<DataGridCheckBoxColumn Header="Oberwasseer" Binding="{Binding WaterFromAbove}"/>
|
<DataGridCheckBoxColumn Header="Oberw." Binding="{Binding WaterFromAbove}"/>
|
||||||
<DataGridCheckBoxColumn Header="Unterwasser" Binding="{Binding WaterFromBelow}"/>
|
<DataGridCheckBoxColumn Header="Unterw." Binding="{Binding WaterFromBelow}"/>
|
||||||
|
<DataGridTextColumn Header="R Pos UW" Binding="{Binding RadialposUnderwater}">
|
||||||
|
<DataGridTextColumn.EditingElementStyle>
|
||||||
|
<Style TargetType="TextBox">
|
||||||
|
<Setter Property="FontSize" Value="30"/>
|
||||||
|
</Style>
|
||||||
|
</DataGridTextColumn.EditingElementStyle>
|
||||||
|
</DataGridTextColumn>
|
||||||
</DataGrid.Columns>
|
</DataGrid.Columns>
|
||||||
</DataGrid>
|
</DataGrid>
|
||||||
<StackPanel Grid.Column="1" Orientation="Vertical">
|
<StackPanel Grid.Column="1" Orientation="Vertical">
|
||||||
|
|||||||
Reference in New Issue
Block a user