diff --git a/WeldingComponents/WeldingCommon/Sequences/Main/SeqScoutNormal.cs b/WeldingComponents/WeldingCommon/Sequences/Main/SeqScoutNormal.cs index 889537a..591c8fb 100644 --- a/WeldingComponents/WeldingCommon/Sequences/Main/SeqScoutNormal.cs +++ b/WeldingComponents/WeldingCommon/Sequences/Main/SeqScoutNormal.cs @@ -223,6 +223,7 @@ namespace WeldingCommon.Sequences private SequenceActionResult CaptureNextPosition(SequenceContext context, string id, SequenceActionResult param) { + int prevRowIdx = -1; // 직전 처리(Enabled)한 행 foreach (var scoutNo in _ScoutNoList) { if (_ChildBufRowCols[scoutNo].Enabled) { var stopWatchCapture = new Stopwatch(); @@ -237,8 +238,12 @@ namespace WeldingCommon.Sequences // 1. Scanner Jump _Scanner.JumpAbs(xPos, yPos); - // 2.SleepTime after Scanner Jump - int moveSleepTime = 150;//100;//50; //msec + // 2.SleepTime after Scanner Jump (행 전환=RowChange, 같은 행=SameRow) + int curRowIdx = _ChildBufRowCols[scoutNo].RowIdx; + bool isRowChange = (prevRowIdx != -1) && (curRowIdx != prevRowIdx); + int moveSleepTime = isRowChange + ? _SystemParameter.ScoutRowChangeSleepMs + : _SystemParameter.ScoutSameRowSleepMs; //원본: int moveSleepTime = 150;//100;//50; Thread.Sleep(moveSleepTime); Log.I(string.Format($"Complete No.{scoutNo + 1} ScannerMove Position")); @@ -264,6 +269,8 @@ namespace WeldingCommon.Sequences stopWatchCapture.Stop(); Log.I(string.Format($"Complete No.{scoutNo + 1} Field Scan, Time: {stopWatchCapture.ElapsedMilliseconds} msec")); + + prevRowIdx = curRowIdx; // 처리(Enabled)한 위치만 갱신 } } return SequenceAction.Ok(); diff --git a/WeldingComponents/WeldingCommon/Settings/SystemParameter.cs b/WeldingComponents/WeldingCommon/Settings/SystemParameter.cs index b3f69eb..7ea33a7 100644 --- a/WeldingComponents/WeldingCommon/Settings/SystemParameter.cs +++ b/WeldingComponents/WeldingCommon/Settings/SystemParameter.cs @@ -97,6 +97,16 @@ namespace WeldingCommon.Settings [Category("Scout")] [DisplayName("Scan Field Size(Init)")] public ILSOSSizeF ScoutField { get; set; } = new ILSOSSizeF(50.0f, 50.0f); + [Browsable(true)] + [ReadOnly(false)] + [Category("Scout")] + [DisplayName("Scout SameRow Sleep(ms)")] + public int ScoutSameRowSleepMs { get; set; } = 150; + [Browsable(true)] + [ReadOnly(false)] + [Category("Scout")] + [DisplayName("Scout RowChange Sleep(ms)")] + public int ScoutRowChangeSleepMs { get; set; } = 300; [Browsable(false)] [ReadOnly(true)] [Category("Scout")] diff --git a/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBox.xaml b/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBox.xaml index 8be4b4f..0847463 100644 --- a/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBox.xaml +++ b/WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBox.xaml @@ -35,6 +35,8 @@ + + @@ -50,7 +52,19 @@ - + + + + + + + + + + + + + @@ -59,7 +73,7 @@