Calibration 메뉴얼 버튼 추가

This commit is contained in:
최이근 2026-02-22 14:35:58 +09:00
parent 4e99433782
commit 25d96fcae4
2 changed files with 25 additions and 1 deletions

View File

@ -61,6 +61,15 @@
<DataGridTextColumn Header="Master Y" Binding="{Binding MasterY}"/> <DataGridTextColumn Header="Master Y" Binding="{Binding MasterY}"/>
<DataGridTextColumn Header="Vision X" Binding="{Binding VisionX}"/> <DataGridTextColumn Header="Vision X" Binding="{Binding VisionX}"/>
<DataGridTextColumn Header="Vision Y" Binding="{Binding VisionY}"/> <DataGridTextColumn Header="Vision Y" Binding="{Binding VisionY}"/>
<DataGridTemplateColumn Header="Get Center Count">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Click"
Command="{Binding DataContext.CMD_GetCenterCnt, RelativeSource={RelativeSource AncestorType=DataGrid}}"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns> </DataGrid.Columns>
</DataGrid> </DataGrid>
</GroupBox> </GroupBox>

View File

@ -44,6 +44,7 @@ namespace WeldingCommon.Views
public ICommand CMD_StopScannerCalibration { get; } public ICommand CMD_StopScannerCalibration { get; }
public ICommand CMD_FindPattern { get; } public ICommand CMD_FindPattern { get; }
public ICommand CMD_CalculateDistance { get; } public ICommand CMD_CalculateDistance { get; }
public ICommand CMD_GetCenterCnt { get; }
//public ICommand CMD_ChangedCaltype { get; } //public ICommand CMD_ChangedCaltype { get; }
//public ICommand CMD_SeqStop { get; } //public ICommand CMD_SeqStop { get; }
@ -182,6 +183,7 @@ namespace WeldingCommon.Views
CMD_StopScannerCalibration = new DelegateCommand(PerformCmdStopScannerCalibration); CMD_StopScannerCalibration = new DelegateCommand(PerformCmdStopScannerCalibration);
CMD_FindPattern = new DelegateCommand(PerformCmdFindPattern); CMD_FindPattern = new DelegateCommand(PerformCmdFindPattern);
CMD_CalculateDistance = new DelegateCommand(PerformCmdCalculateDistance); CMD_CalculateDistance = new DelegateCommand(PerformCmdCalculateDistance);
CMD_GetCenterCnt = new DelegateCommand(PerformCmdGetCenterCount);
_MonitorTimer = new DispatcherTimer(); _MonitorTimer = new DispatcherTimer();
_MonitorTimer.Tick += OnMonitoring; _MonitorTimer.Tick += OnMonitoring;
@ -191,6 +193,7 @@ namespace WeldingCommon.Views
_Aurora.EventObservable.AsObservable(CommonSequenceIds.SeqScannerCalibration) _Aurora.EventObservable.AsObservable(CommonSequenceIds.SeqScannerCalibration)
.ObserveOnDispatcher().Subscribe(x => OnUpdateCorrectionTable(x)); .ObserveOnDispatcher().Subscribe(x => OnUpdateCorrectionTable(x));
} }
private void InitVariable() private void InitVariable()
{ {
GridRowCount = 13; GridRowCount = 13;
@ -618,6 +621,19 @@ namespace WeldingCommon.Views
Log.W($"{e.Message}"); Log.W($"{e.Message}");
} }
} }
private void PerformCmdGetCenterCount(object obj)
{
_Scanner.GetXYPos(out double currentX, out double currentY);
// Vision Scanner Calibration인 경우
int visionBitX = (int)(currentX * _Scanner.Config.ScaleXYFactor);
int visionBitY = (int)(currentY * _Scanner.Config.ScaleXYFactor);
VisionCorrectionList[SelectedRowIndex].VisionX = visionBitX;
VisionCorrectionList[SelectedRowIndex].VisionY = visionBitY;
}
} }
public class CorrectionUnit : NotifyPropertyChangedBase public class CorrectionUnit : NotifyPropertyChangedBase
{ {
@ -647,5 +663,4 @@ namespace WeldingCommon.Views
private double _Distance; private double _Distance;
public double Distance { get => _Distance; set => SetProperty(ref _Distance, value); } public double Distance { get => _Distance; set => SetProperty(ref _Distance, value); }
} }
} }