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">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Common\ParamControlIntRange.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Update="Common\ParamControlInt.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
|
||||
@@ -161,17 +161,12 @@ public class ReceipeEtcher
|
||||
/// </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()
|
||||
{
|
||||
@@ -186,6 +181,9 @@ public class EtcherRobotStepData
|
||||
public float PosY { get; set; }
|
||||
public float PosZ { 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 Delay { get; set; }
|
||||
public UInt16 Medium { get; set; }
|
||||
|
||||
@@ -48,8 +48,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
TargetTemperatureCoolplateVm.IsChanged ||
|
||||
PermissibleBeamParamDeviationsVm.IsChanged ||
|
||||
TimeIntervallBeamCheckVm.IsChanged ||
|
||||
RadialPosLowerWaterJetVm.IsChanged ||
|
||||
ChuckRpmVm.IsChanged ||
|
||||
HvmaxTestCurrentVm.IsChanged ||
|
||||
Hvn2PrePurgeTimeVm.IsChanged ||
|
||||
HvnumRetriesVm.IsChanged ||
|
||||
@@ -123,7 +121,7 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
private ParamControlFloatVm hvtestFrequencyVm = new();
|
||||
|
||||
[ObservableProperty]
|
||||
private ParamControlIntVm hvpolarityVm = new();
|
||||
private ParamControlIntRangeVm hvpolarityVm = new();
|
||||
|
||||
[ObservableProperty]
|
||||
private ParamControlFloatVm hvtestPressureN2Vm = new();
|
||||
@@ -146,15 +144,9 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
[ObservableProperty]
|
||||
private ParamControlIntVm numberRobotPositionsVm = new();
|
||||
|
||||
[ObservableProperty]
|
||||
private ParamControlFloatVm chuckRpmVm = new();
|
||||
|
||||
[ObservableProperty]
|
||||
private ObservableCollection<EtcherRobotStepData> etcherRobotSteps;
|
||||
|
||||
[ObservableProperty]
|
||||
private ParamControlFloatVm radialPosLowerWaterJetVm = new();
|
||||
|
||||
[ObservableProperty]
|
||||
private ParamControlIntVm flowNodeCountVm = new();
|
||||
|
||||
@@ -404,6 +396,9 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
PosZ = 0.0f,
|
||||
MoveSpeed = 0.0f,
|
||||
AngleAlpha = 0.0f,
|
||||
AngleGamma = 0.0f,
|
||||
ChuckRpm = 0.0f,
|
||||
RadialposUnderwater = 0.0f,
|
||||
WaterFromAbove = false,
|
||||
WaterFromBelow = false,
|
||||
Medium = 0,
|
||||
@@ -430,6 +425,9 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
PosZ = etchStep.PosZ,
|
||||
MoveSpeed = etchStep.MoveSpeed,
|
||||
AngleAlpha = etchStep.AngleAlpha,
|
||||
AngleGamma = etchStep.AngleGamma,
|
||||
ChuckRpm = etchStep.ChuckRpm,
|
||||
RadialposUnderwater = etchStep.RadialposUnderwater,
|
||||
WaterFromAbove = etchStep.WaterFromAbove,
|
||||
WaterFromBelow = etchStep.WaterFromBelow,
|
||||
Medium = etchStep.Medium,
|
||||
@@ -515,8 +513,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
|
||||
PermissibleBeamParamDeviationsVm.AcceptChanges();
|
||||
TimeIntervallBeamCheckVm.AcceptChanges();
|
||||
RadialPosLowerWaterJetVm.AcceptChanges();
|
||||
ChuckRpmVm.AcceptChanges();
|
||||
|
||||
HvmaxTestCurrentVm.AcceptChanges();
|
||||
Hvn2PrePurgeTimeVm.AcceptChanges();
|
||||
@@ -530,6 +526,9 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
HvtestVoltageVm.AcceptChanges();
|
||||
HvtestPressureN2Vm.AcceptChanges();
|
||||
FlowReceipe.AcceptChanges();
|
||||
trayPositionsCollectionChanged = false;
|
||||
etcherRobotStepsCollectionChanged = false;
|
||||
flowreceipeCollectionChanged = false;
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
@@ -547,9 +546,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
|
||||
PermissibleBeamParamDeviationsVm.DiscardChanges();
|
||||
TimeIntervallBeamCheckVm.DiscardChanges();
|
||||
RadialPosLowerWaterJetVm.DiscardChanges();
|
||||
ChuckRpmVm.DiscardChanges();
|
||||
|
||||
|
||||
HvmaxTestCurrentVm.DiscardChanges();
|
||||
Hvn2PrePurgeTimeVm.DiscardChanges();
|
||||
@@ -584,6 +580,7 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
public void ReadReceipeFile()
|
||||
{
|
||||
var dlg = new OpenFileDialog();
|
||||
dlg.Filter = "XML-Dateien (*.xml)|*.xml|Alle Dateien (*.*)|*.*";
|
||||
if (dlg.ShowDialog() != true)
|
||||
return;
|
||||
|
||||
@@ -599,6 +596,7 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
public void WriteReceipeFile()
|
||||
{
|
||||
var dlg = new SaveFileDialog();
|
||||
dlg.Filter = "XML-Dateien (*.xml)|*.xml|Alle Dateien (*.*)|*.*";
|
||||
if (dlg.ShowDialog() != true)
|
||||
return;
|
||||
|
||||
@@ -656,8 +654,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
|
||||
PermissibleBeamParamDeviationsVm.PropertyChanged += NewData;
|
||||
TimeIntervallBeamCheckVm.PropertyChanged += NewData;
|
||||
RadialPosLowerWaterJetVm.PropertyChanged += NewData;
|
||||
ChuckRpmVm.PropertyChanged += NewData;
|
||||
|
||||
HvmaxTestCurrentVm.PropertyChanged += NewData;
|
||||
Hvn2PrePurgeTimeVm.PropertyChanged += NewData;
|
||||
@@ -724,12 +720,12 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
RestingTimeCoolplateVm.SName = "Verweilzeit Kühlplatte: ";
|
||||
TargetTemperatureCoolplateVm.SName = "Zieltemperatur Kühlplatte";
|
||||
|
||||
RadialPosLowerWaterJetVm.SName = "Radial Position Unterwasserstrahl: ";
|
||||
ChuckRpmVm.SName = "Drehzahl: ";
|
||||
HvmaxTestCurrentVm.SName = "HV: Max. Teststrom: ";
|
||||
Hvn2PrePurgeTimeVm.SName = "HV: Vorreinigungszeit: ";
|
||||
HvnumRetriesVm.SName = "HV: Anzahl Wiederholversuche: ";
|
||||
HvpolarityVm.SName = "HV: Polarität (1=Pos, 2=Neg): ";
|
||||
HvpolarityVm.IMin = 1;
|
||||
HvpolarityVm.IMax = 2;
|
||||
HvrampTimeVm.SName = "HV: Rampenzeit: ";
|
||||
HvtestFrequencyVm.SName = "HV: Testfrequenz: ";
|
||||
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.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.ReceipeHvTester.MaximumTestCurrent = HvmaxTestCurrentVm.Value;
|
||||
@@ -845,8 +839,6 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
TargetTemperatureCoolplateVm.Value = receipe.ReceipeObject.ReceipeCoolplate.TargetTemperature;
|
||||
|
||||
NumberRobotPositionsVm.Value = receipe.ReceipeObject.ReceipeEtcher.NumberRobotPos;
|
||||
RadialPosLowerWaterJetVm.Value = receipe.ReceipeObject.ReceipeEtcher.RadialPosLowerWaterJet;
|
||||
ChuckRpmVm.Value = receipe.ReceipeObject.ReceipeEtcher.Rpm;
|
||||
EtcherRobotSteps = new(receipe.ReceipeObject.ReceipeEtcher.RobotStepData);
|
||||
|
||||
HvmaxTestCurrentVm.Value = receipe.ReceipeObject.ReceipeHvTester.MaximumTestCurrent;
|
||||
@@ -910,6 +902,12 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
EtcherRobotSteps[i].PosZ);
|
||||
_adsManager.WriteValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rAngleAlpha",
|
||||
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",
|
||||
EtcherRobotSteps[i].MoveSpeed);
|
||||
_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.stMasterRecipeHotplate.rRestingTime", RestingTimeHotplateVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHotplate.rTemp", TargetTemperatureHotplateVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rRestingTime",
|
||||
RestingTimeCoolplateVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rRestingTime", RestingTimeCoolplateVm.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.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.rMaxTestCurrent", HvmaxTestCurrentVm.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().PosZ = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rPosZ"));
|
||||
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().Delay = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rDelay"));
|
||||
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"));
|
||||
TargetTemperatureCoolplateVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rTemp" ));
|
||||
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"));
|
||||
HvmaxTestCurrentVm.Value = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rMaxTestCurrent"));
|
||||
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 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>
|
||||
<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: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 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"/>
|
||||
@@ -284,6 +282,13 @@
|
||||
SelectedItem="{Binding SelectedEtchRobotStep, UpdateSourceTrigger=PropertyChanged}"
|
||||
AutoGenerateColumns="False" CanUserAddRows="False" FontSize="30">
|
||||
<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.EditingElementStyle>
|
||||
<Style TargetType="TextBox">
|
||||
@@ -305,7 +310,14 @@
|
||||
</Style>
|
||||
</DataGridTextColumn.EditingElementStyle>
|
||||
</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>
|
||||
<Style TargetType="TextBox">
|
||||
<Setter Property="FontSize" Value="30"/>
|
||||
@@ -319,7 +331,7 @@
|
||||
</Style>
|
||||
</DataGridTextColumn.EditingElementStyle>
|
||||
</DataGridTextColumn>
|
||||
<DataGridTextColumn Header="Wartezeit" Binding="{Binding Delay}">
|
||||
<DataGridTextColumn Header="Wartez." Binding="{Binding Delay}">
|
||||
<DataGridTextColumn.EditingElementStyle>
|
||||
<Style TargetType="TextBox">
|
||||
<Setter Property="FontSize" Value="30"/>
|
||||
@@ -333,8 +345,15 @@
|
||||
</Style>
|
||||
</DataGridTextColumn.EditingElementStyle>
|
||||
</DataGridTextColumn>
|
||||
<DataGridCheckBoxColumn Header="Oberwasseer" Binding="{Binding WaterFromAbove}"/>
|
||||
<DataGridCheckBoxColumn Header="Unterwasser" Binding="{Binding WaterFromBelow}"/>
|
||||
<DataGridCheckBoxColumn Header="Oberw." Binding="{Binding WaterFromAbove}"/>
|
||||
<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>
|
||||
<StackPanel Grid.Column="1" Orientation="Vertical">
|
||||
|
||||
Reference in New Issue
Block a user