SyncAxis (XL-SCAN) 지원 – v1.9.4

2018년경 스캔랩에서는 SyncAXIS (혹은 XL SCAN) 이란 고성능 제품을 시장에 소개하였습니다. 제품의 개발 초기에 다음과 같은 글을 작성하여 국내에 소개한바 있습니다.

https://sepwind.blogspot.com/2018/03/excelliscan-syncaxis.html

https://sepwind.blogspot.com/2018/11/syncaxis.html

초기 버전은 기능이 매우 제한적인 제품이었지만 수년간 많은 개선이 이루어졌고, 마침내 2021년 경 v1.6 버전이 발표되면서 멀티 헤드/스테이지의 지원도 이루어지고 있습니다.

SyncAxis 의 주요 기능이라고 하면,

  • 스캐너를 이용한 대면적 (제한없는) 가공이 가능하며
  • 이로 인해 총 가공시간이 줄어들고 생산성이 대폭 향상되며,
  • 영역별로 분리해 가공시 발생하는 영역간 모서리 에러(Stitch Error) 가 없으며
  • 특히 SDC(Spot Distance Control) 기능으로 레이저 가공 스팟(Spot)의 거리를 일정하게 유지하여 품질이 획기적으로 향상됩니다
Spot Distance Control 사용 예
  • 또한 스팟 거리의 기준이 중점뿐 아니라 외접하는 직선 거리로도 동일간격의 Spot 가공이 가능합니다.
Spot Distace 를 중점간 거리를 일정하게 하는 대신 외접선간 거리를 일정하도록 가공 가능
  • 레이저 출력 신호를 경로에 따라 가변적으로 제어가 가능합니다. 일명 다중 램프(Multi Ramp) 처리가 가능합니다. (출력 신호들은 Active Channel 이라 으로 부르며 최대 2개의 조합이 가능)
멀티 램프(Multi Ramp)를 사용한 자동 레이저 출력 제어 지원
  • 인스턴스당(syncAxis Instance) 최대 4개의 스캔 헤드 및 멀티 스테이지로 확장이 가능합니다. 하나의 API 명령을 통해 Master/Slave 로 연결된 각각의 RTC6 제어기는 하나의 장치로 동작합니다.

이같이 강력한 제어기법을 제공하는 syncAxis 를 시리우스 라이브러리 내에서 사용하는 방법을 살펴보겠습니다. (v1.9.4 버전부터 지원 가능)


1. 준비하기

SyncAxis 설정파일(예: bin\syncAxis\syncAXISConfig.XML )을 준비합니다. 해당 파일의 생성 손쉽게 하도록 스캔랩에서는 설정 도구를 제공하고 있습니다. (bin\syncaxis\Tools\syncAXIS_Configurator 참고)

XML 파일 설정 도구

RTC6, SyncAXIS 관련 DLL 들을 준비해 주시기 바랍니다. (SyncAXIS 전용 RTC6 DLL 파일들이 제공됩니다)

주요한 설정값들은

  • SimulationMode 모드 활성화 : 테스트 및 안전을 위해
  • ACS 관련 DLL 파일들을 BaseDirectoryPath 로 모두 복사 (C:\Program Files (x86)\ACS Motion Control\SPiiPlus Runtime Kit\Redist\x64 하부 파일들)
  • syncAxis-1.6.0 의 관련 파일들을 BaseDirectoryPath 로 모두 복사 (RTC6\ProgramFiles, syncAXIS_control\bin64\dll, syncAXIS_control\bin64\Wrapper\C# 하부 파일들)
  • XML 파일 설정
    • General Configuration
      • BaseDirectoryPath 경로 설정 : 프로그램이 실행되는 디렉토리 설정 (예 : c:\…\sirius\bin)
      • SimOutputFileDirectory 경로 설정 : [BaseDirectoryPath]/Logs/ 으로 설정
      • LogfilePath 경로 설정 : [BaseDirectoryPath]/Logs/syncAxisLog.txt 으로 설정
    • RTC Configuration
      • Program File Path 경로 설정 : [BaseDirectoryPath]
      • Boarde Serial Number : RTC6 카드의 일련번호 입력
    • Scan Device Configuration
      • Field Limits 에 스캔 영역의 이론적인 FOV 크기 입력
      • Delay : 1.25ms (스캐너의 지연시간 1.25ms 는 고정된 Preview 시간값)
      • CorrectionFilePath 는 보정 (ct5) 파일의 절대 경로로 설정 : BaseDirectoryPath 가 동작하지 않음
      • Calibration Factor 값을 -1 입력시 ct5 파일 헤더에 기록된 값이 자동 사용됨
    • Stage Configuration
      • Field Limit 에 스테이지의 최대 영역값 설정 (스테이지 중심과 스캐너의 원점 위치를 0,0 으로 설정)
      • Dynamic Limit : 모션 튜닝을 통해 최소 Following Error 로 설정하고, 이에 해당하는 최대 속도, 가속도, 가가속도 값 (실제 스테이지 기구장치가 낼 수 있는 최대 역학 제한값임)
      • Calculation Dynamics : 모션 경로 계산시 사용될 제한 역학값


2. 인스턴스 생성하기

var xmlConfigFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "syncAxis", "syncAXISConfig.xml");
var rtc = new Rtc6SyncAxis();
bool success = true;
success &= rtc.Initialize(xmlConfigFileName);
success &= rtc.CtlFrequency(50 * 1000, 2);
success &= rtc.CtlSpeed(10, 10); 
rtc.StageMoveSpeed = 10;
rtc.StageMoveTimeOut = 5;

개발툴을 이용해 디버깅중 초기화 (Initialize) 시도시 디버그 출력(Output) 윈도우 창에 상세한 사항이 표시됩니다. 초기화 실패시 원인 파악을 위해 참고 가능합니다.


3. 변경된 편집기 모습

RtcSyncAxis 객체를 생성해 편집기에 지정

위와 같이 syncAXIS 객체를 생성후 편집기에 지정하게 되면, 여러 버튼들이 자동으로 활성화/비활성화 되어 syncAXIS 를 사용할 수 있도록 변경됩니다. 예를 들어 펜 객체의 내용도 수정(지연값:Delay 항목이 모두 사라짐)되며, 레이어(Layer) 별로 모션타입(스캐너 , 스테이지 중 어떤 조합으로 가공할지) 및 모션 경로 계산시 사용되는 주파수 (Bandwidth) 값등 다양한 항목들이 변경됩니다.


4. 새로운 마커 창의 모습

SyncAxis 전용 마커창

RTC 4,5,6 와는 달리 SyncAXIS 전용의 마커창이 팝업됩니다.

Operations 화면에서 추가된 사항

  • 시뮬레이션 모드 온/오프 기능
  • 시뮬레이션 로그 파일 뷰어 열기
시뮬레이션 로그 파일 뷰어 (bin\syncaxis\Tools\syncAXIS_Viewer 참고)
시뮬레이션 가공 후 뷰어버튼 선택시 자동 팝업됩니다
  • 하단 상태표시줄에 SyncAXIS 인스턴스의 Operation Status 상태가 색상으로 표시됩니다. (Green/Yellow/Red 상태)

Offset 화면 (신규)

멀티 헤드에 대한 X, Y 및 회전 각도 설정이 가능

Manual 화면에 추가된 사항

수동 조작 화면

수동으로 레이저 신호를 온/오프 하는것과 함께 스테이지, 스캐너의 위치 이동을 지원합니다. 또한 ACS 제어기의 제어권을 외부 제어 프로그램과 서로 주고 받아야 하기 때문에 Follow/Unfollow 기능을 제공합니다.

Options 화면에 추가된 사항

LPF(Low Pass Filter) 주파수 변경이 가능

LPF(Low Pass Filter) 주파수 변경이 가능합니다. 각 레이어(Layer)별 속성값으로도 변경을 지원하므로 이를 사용하시기 바랍니다.

Job 화면 (신규)

가공을 시작하게 되면 syncAxis 인스턴스 내부에는 Job 이라는 객체가 생성됩니다. 이 Job 은 일종의 가공 데이타를 가진 버퍼로 실시간으로 가공 데이타의 모션 경로를 Bandwidth 값에 의해 각각 고주파 (스캐너 쪽), 저주파 (스테이지 쪽) 성분으로 분해합니다. 이때 계산 상태는 Calcalation 에 표시되며, 충분히 가공이 가능한 상태가 되면 Transfer 상태가 충분(Enough) 상태로 전환되고 자동으로 실행 상태 (Execution)가 가공 중으로 전환됩니다. 즉 경로 계산은 실시간으로 일어나며 가공 큐에 삽입되어 데이타가 지속적으로 처리됩니다. (생상자/소비자 모델과 유사)

syncAxis 는 매 100KHz(10usec) 샘플링 주기로 이동 경로 데이타를 생성하며, 이를 내부 RTC6 제어기를 이용해 주 스캔 헤드 연결 장치(Primary ScanHead Connector)를 이용해 SL2-100 프로토콜로 스캐너 헤드 장치에 전송하고, 부 스캔 헤드 연결 장치(Secondary ScanHead Connector) 를 이용해 SL2-100 프로토콜로 ACS 모션 제어기로 전달됩니다. 이 ACS 장치에는 SLEC변환기를 이용해 SL2-100 프로토콜을 이더켓 통신으로 변환해 모션 명령으로 처리됩니다. 때문에 시뮬레이션 모드일 경우 매 10usec 마다 계산된 위치 데이타를 만드는 것은 동일하나 통신으로 전달하는 대신 수백 MB ~ 수GB 크기의 로그 파일(.txt)이 생성되고 이를 뷰어를 통해 분석 가능해집니다.

이 JOB 이 실행되면, 계산을 통해 전달된/지령된 명령값들의 역학 관련 값들을 – 스캐너의 역학 : 속도, 가속도, 가각속도, 최대로 움직인 영역 등, 스테이지의 역학 : 속도, 가속도, 가가속도 , 최대로 움직인 영역 등) – 아래 JOB 화면에서 조회가 가능합니다. 이를 보고 물리적인 역학 한계값들을 초과 했는지 여부를 판단할 수 있습니다

예를 들어,

  • 최대 가속도 10m/s2 인 X, Y 스테이지에 이를 초과하는 명령이 들어가면 오버 드라이브로 인한 모션 중단 및 Amp Fault 발생 가능
  • 500x500mm 크기의 스테이지 가공 영역 보다 큰 영역 사용시 충돌 발생 가능
  • 70x70mm 크기의 스캐너 가공 영역 보다 큰 영역 사용시 레이저 빔의 Vignetting 발생 가능

등의 경우를 사전에 파악해야 합니다

JOB 분석(Characteristic) 화면

실제 시뮬레이션 모드를 통해 로그를 남기고 그래프를 분석하고 적절한 범위내에서 역학이 계산되어 구동되는지를 확인하는것이 최우선 되는 방식이며, 이후 실제 가공시에는 위 JOB 별로 계산되는 역학값들을 얻을 수 있습니다.

Trajectory 화면 (신규)

Trajectory 설정 화면

ExcelliSCAN 은 Tracking Error 오차시간이 0 으로 인해 이를 보상하기 위한 Jump, Mark, Polygon 지연시간이 불필요합니다. 레이저 소스의 On, Off 지연값 조정이 필요한 경우에는 아래 PreTrigger/Switch Offset 시간값(Mark Config 항목)을 통해 변경이 가능합니다.

그밖에 모서리 가공시 일정 거리내에서는 블렌딩 활성화를 통해 코너 운동을 부드러운 가감속 운동으로 변경하는 등의 기능을 제공합니다.

Blending r < R

Dynamics 화면 (신규)

역학(Dynamics) 설정 화면

XML 설정파일에 설정된 스캐너/스테이지의 역학적인 제한값들을 편집이 가능합니다. (다만 XML 파일에 저장되지는 않습니다)


5. 램프(Ramp)를 이용한 자동 레이저 출력 제어 + 경로 속도 제어

자동 레이저 출력제어의 일종으로. syncAxis 에서는 XML 설정파일에 Active Channel 이 미리 설정되어 있어야 합니다. 최대 2개의 채널 조합이 가능합니다.

syncAXIS 용 ALC 객체 생성

편집기에서 ALC 시작/끝 개체를 생성하고 그 사이에 선분을 가공하는 예를 들면,

시작 램프 : 1, 끝 램프 : 0.5

사용방법은 기존 RTC5,6 에서 제공하는 Defined Vector 자동 레이저 출력 제어와 유사합니다. 시작 끝 램프(Ramp)에 출력비율값을 지정하면, 선형으로 출력이 점차 가변됩니다. XML 설정된 Active Channel 항목의 기본 출력값 * Ramp 비율값이 연산되어 최종적인 출력이 발생합니다.

Countour Speed Control 및 Spot Radius 설정

또한 XML 의 Active Channel 중 Spot Distance 항목을 지정한후 SDC(Spot Distance Control) 사용을 위해서, ALC Begin 개체의 Direction (좌/우) 및 반지름 값을 입력하면 Bein/End 내에서 가공되는 모든 좌표에 고정간격의 Spot 출력이 발생됩니다.


6. 개발자 주의사항

  • 수동 조작시(스테이지 이동, 레이저 수동 온오프 등) Follow/Unfollow 을 선택해야 합니다.
  • 하드웨어가 없는 상태 (ACS 제어기, RTC6 컨트롤러 등)에서는 반드시 시뮬레이션 모드를 사용해야 하며, 강제로 하드웨어 모드 사용은 금지합니다.
  • 가공 좌표계는 스테이지의 기구적인 중심 위치를 좌표계의 원점 (0,0) 으로 설정해야 합니다.
  • 가공 시작전 항상 원점(0,0) 위치에 초기화 되어 있어야 모션 planning 이 정상 수행됩니다.
  • 멀티 헤드 오프셋 각도가 음수(-) 일 경우 반시계(CCW) 방향으로 내부 구현되어 있습니다. 좌표계의 처리가 이상해 보여, Sirius 라이브러리는 이를 CW 방향으로 사용자에게 정상(?) 제공됩니다.
  • SyncAxisViewer 에서 시뮬레이션 로그 파일 로딩후 일부 데이타 누락(Active Channel 데이타들)이 있는 버그가 있습니다. 이때는 다시 불러오면 해결됩니다.
  • SyncAxisViewer 에서 시뮬레이션 로그 파일 로딩시 옵션 (LaserPreTrigger, SwitchOffTime)을 체크하지 않으면 실제 레이저 지연 시간값이 그래프에 반영되지 않습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top