질문:260417 NDY
This commit is contained in:
parent
92bce1b2b8
commit
3af28cd9ba
@ -147,8 +147,9 @@ namespace ILSOS_PrismaticScanner.Sequences
|
|||||||
sb.AddAction(SEQ_ENTER, Sequence_Enter);
|
sb.AddAction(SEQ_ENTER, Sequence_Enter);
|
||||||
sb.AddAction(SEQ_CHECK_INIT_CONDITION, CheckInitCondition); //분기
|
sb.AddAction(SEQ_CHECK_INIT_CONDITION, CheckInitCondition); //분기
|
||||||
#region 26.04.08 추가된 노드 NDY
|
#region 26.04.08 추가된 노드 NDY
|
||||||
// 26.04.08 필드 좌표 0,0으로 스테이지 이동 시퀸스 + EncoderReset 호출
|
// 26.04.08 필드 좌표 x 0 y 22.8(자재 기준)으로 스테이지 이동 시퀸스
|
||||||
sb.AddAction(SEQ_STANDBY_MOTION, SetStandbyMotion);
|
sb.AddAction(SEQ_STANDBY_MOTION, SetStandbyMotion);
|
||||||
|
// 26 04 17 스테이지 x =0 에서 스캐너 엔코더 0 상태에서 기록된 듯 싶습니다.
|
||||||
sb.AddAction(SEQ_STANDBY_SCANNER, SetStandbyScanner);
|
sb.AddAction(SEQ_STANDBY_SCANNER, SetStandbyScanner);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -279,17 +280,20 @@ namespace ILSOS_PrismaticScanner.Sequences
|
|||||||
_AxisX.JerkImm(AuroraACS.Speed.M);
|
_AxisX.JerkImm(AuroraACS.Speed.M);
|
||||||
_AxisX.Move();
|
_AxisX.Move();
|
||||||
|
|
||||||
// Laser FocusPosition Move
|
// Laser FocusPosition Move 22.8 <- 세팅 Z 축 자재 위치
|
||||||
_AxisZ.SetTargetPos(0, TargetPosType.ABS);
|
_AxisZ.SetTargetPos(22.8, TargetPosType.ABS);
|
||||||
_AxisZ.SetMoveVelocityImm(AuroraACS.Speed.M);
|
_AxisZ.SetMoveVelocityImm(AuroraACS.Speed.M);
|
||||||
_AxisZ.AccelerationImm(AuroraACS.Speed.M);
|
_AxisZ.AccelerationImm(AuroraACS.Speed.M);
|
||||||
_AxisZ.DecelerationImm(AuroraACS.Speed.M);
|
_AxisZ.DecelerationImm(AuroraACS.Speed.M);
|
||||||
_AxisZ.JerkImm(AuroraACS.Speed.M);
|
_AxisZ.JerkImm(AuroraACS.Speed.M);
|
||||||
_AxisZ.Move();
|
_AxisZ.Move();
|
||||||
|
|
||||||
|
//var res = context.RetryUntilSuccess(
|
||||||
|
// () => _AxisX.IsReachedTargetPosition(0) && _AxisZ.IsReachedTargetPosition(0),
|
||||||
|
// 30 * 1000, 20, true);
|
||||||
var res = context.RetryUntilSuccess(
|
var res = context.RetryUntilSuccess(
|
||||||
() => _AxisX.IsReachedTargetPosition(0) && _AxisZ.IsReachedTargetPosition(0),
|
() => _AxisX.IsReachedTargetPosition(0), // Z축 조건 제거
|
||||||
30 * 1000, 20, true);
|
30 * 1000, 20, true);
|
||||||
|
|
||||||
if (res == E2.TIMEOUT) { Log.E("[MoveStageToOrigin] TIMEOUT"); return null; }
|
if (res == E2.TIMEOUT) { Log.E("[MoveStageToOrigin] TIMEOUT"); return null; }
|
||||||
else if (res == E2.CANCELLED) { Log.E("[MoveStageToOrigin] CANCELLED"); return null; }
|
else if (res == E2.CANCELLED) { Log.E("[MoveStageToOrigin] CANCELLED"); return null; }
|
||||||
@ -323,11 +327,12 @@ namespace ILSOS_PrismaticScanner.Sequences
|
|||||||
// _Scanner.WaitForEncoderX(_Scanner.Config.MarkingStartEncoderPositionX);
|
// _Scanner.WaitForEncoderX(_Scanner.Config.MarkingStartEncoderPositionX);
|
||||||
// Log.I($"[EncoderReset] WaitForEncoderX: {_Scanner.Config.MarkingStartEncoderPositionX}");
|
// Log.I($"[EncoderReset] WaitForEncoderX: {_Scanner.Config.MarkingStartEncoderPositionX}");
|
||||||
|
|
||||||
|
// 스캐너 기준 엔코더 리셋이 스테이지 x = 0에서 이뤄졌음. 260417
|
||||||
_Scanner.StoreEncoder(0);
|
_Scanner.StoreEncoder(0);
|
||||||
_Scanner.SaveAndRestartTimer();
|
_Scanner.SaveAndRestartTimer();
|
||||||
|
|
||||||
|
|
||||||
Log.I("[EncoderReset] 완료 - Stage(0) = Scanner(0) 동기화");
|
Log.I("[EncoderReset] 완료 - Stage(0) = Scanner 엔코더(0) 동기화");
|
||||||
return SequenceAction.Ok();
|
return SequenceAction.Ok();
|
||||||
}
|
}
|
||||||
//SeqTeachingPosMoveStageA패턴 참고 - 기존 GUN 프로젝트 시퀸스
|
//SeqTeachingPosMoveStageA패턴 참고 - 기존 GUN 프로젝트 시퀸스
|
||||||
@ -349,6 +354,7 @@ namespace ILSOS_PrismaticScanner.Sequences
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
// 260417 NDY 먼저 업로드 되는 것 - 페이지 2번 4번 ?? 1번 4번은 어떻게 되는지 궁금합니다.
|
||||||
private SequenceActionResult SetBeforeUpload(SequenceContext context, string id, SequenceActionResult param)
|
private SequenceActionResult SetBeforeUpload(SequenceContext context, string id, SequenceActionResult param)
|
||||||
{
|
{
|
||||||
var mainPage = CommonHelper.GetMainPage();
|
var mainPage = CommonHelper.GetMainPage();
|
||||||
@ -357,13 +363,28 @@ namespace ILSOS_PrismaticScanner.Sequences
|
|||||||
_LastX = lastX;
|
_LastX = lastX;
|
||||||
_LastY = lastY;
|
_LastY = lastY;
|
||||||
if (_PageNum == 2 || _PageNum == 4) {
|
if (_PageNum == 2 || _PageNum == 4) {
|
||||||
if (_PageNum == 0) {
|
if (_PageNum == 2)
|
||||||
|
{ // NDY 26 04 17 0 아니고 2 인 것 같습니다. MarkingStartX_1 = 현재 310 (출발위치)
|
||||||
_Scanner.WaitForEncoderX(_Scanner.Config.MarkingStartX_1);
|
_Scanner.WaitForEncoderX(_Scanner.Config.MarkingStartX_1);
|
||||||
Log.I($"[EncoderReset] WaitForEncoderX: {_Scanner.Config.MarkingStartX_1}");
|
Log.I($"[EncoderReset] WaitForEncoderX: {_Scanner.Config.MarkingStartX_1}");
|
||||||
|
|
||||||
} else {
|
// NDY 26 04 17아래가 반영해야 할 용접 시작위치라고 생각하는 구간 엔코더 리셋이 사실 용접 시작인 360 에서 이뤄져야하는 것 같은데 위 변수 값 맞는지 확인
|
||||||
|
//_Scanner.WaitForEncoderX(_Scanner.Config.XDiff_Page1and2); // XDiff_Page1and2 = 360
|
||||||
|
//Log.I($"[EncoderReset] WaitForEncoderX: {_Scanner.Config.XDiff_Page1and2}");
|
||||||
|
|
||||||
|
// 페이지 1,2 가 360에서 가공되어야 할 것
|
||||||
|
}
|
||||||
|
else // pageNum 4
|
||||||
|
{ // MarkingStartX_2 = 현재 640 (출발 위치) 돌아오는 , 해당 리셋 위치가 원래는 용접 위치인 590 인 Diff에서 가져와야 하는 건 아닌지 의문
|
||||||
_Scanner.WaitForEncoderX(_Scanner.Config.MarkingStartX_2);
|
_Scanner.WaitForEncoderX(_Scanner.Config.MarkingStartX_2);
|
||||||
Log.I($"[EncoderReset] WaitForEncoderX: {_Scanner.Config.MarkingStartX_2}");
|
Log.I($"[EncoderReset] WaitForEncoderX: {_Scanner.Config.MarkingStartX_2}");
|
||||||
|
|
||||||
|
// NDY 26 04 17아래가 반영해야 할 용접 시작위치라고 생각하는 구간
|
||||||
|
//_Scanner.WaitForEncoderX(_Scanner.Config.XDiff_Page3and4); // XDiff_Page3and4 = 590
|
||||||
|
//Log.I($"[EncoderReset] WaitForEncoderX: {_Scanner.Config.XDiff_Page3and4}");
|
||||||
|
|
||||||
|
// 페이지 3,4 가 590에서 가공되어야 할 것
|
||||||
|
|
||||||
}
|
}
|
||||||
foreach (IDrawObject obj in _SelectedObjectList) {
|
foreach (IDrawObject obj in _SelectedObjectList) {
|
||||||
if (obj is Line) {
|
if (obj is Line) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user