NCPlayer 서비스 소개:
파일 메뉴
편집 메뉴
보기 메뉴
서식 메뉴
도구 메뉴
머신 설정 메뉴
협업

매크로 변수 테이블 사용하기


NCPlayer의 매크로 변수 테이블은 #100–#199 (로컬/사용자 정의) 변수와 #500–#531 (공용/지속) 변수, 그리고 식, 조건, G-code 루프에서 사용되는 시스템 변수의 현재 값을 표시하는 인터랙티브 패널입니다. 이 테이블은 시뮬레이션 중에 실시간으로 업데이트되며, 매크로 프로그램 로직을 분석하고 계산을 디버깅하며 부수 효과를 추적하는 데 도움을 줍니다.

목적

  • 로직 디버깅: #i = ..., IF, WHILE/DO/END, G65, M98/M99 등을 실행할 때 변수가 어떻게 변하는지 쉽게 확인할 수 있습니다.
  • 식 분석: SIN/COS/ROUND/FIX/FUP/ABS/SQRT/...와 같은 함수를 사용할 때 입력/출력 값을 모니터링합니다.
  • 반복 재실행: “깨끗한” 상태에서 다시 실행할 수 있도록 변수 값을 빠르게 초기화할 수 있습니다.

표시되는 정보

  • 변수 인덱스 (예: #100, #512).
  • 현재 값 (숫자 값, 아직 할당되지 않았다면 NaN, 또는 식의 결과).
  • 소스/마지막 기록 — (연결되어 있는 경우) 변수가 마지막으로 수정된 프로그램 행.
  • 형식 — 원시 값과 필요 시 포맷된 값 (예: 3030.0).

동작 방식

  1. 파서는 전처리 단계에서 # 변수가 포함된 식을 미리 계산하거나, 나중에 계산하도록 지연시킵니다.
  2. 시뮬레이터는 단계별 실행 중 각 #i = ... 대입과 서브프로그램/루프에 진입·종료할 때마다 테이블을 업데이트합니다.
  3. 지연된 의존성 (예: X[#100])은 #100 값이 변경될 때마다 다시 계산되며, 그 결과가 테이블에 반영됩니다.

범위와 특징

  • #100–#199 — 해당 프로그램/시뮬레이션 세션에만 유효한 로컬 변수.
  • #500–#531 — 공용(의사-영속) 변수로, 현재 시뮬레이터 실행 동안 유지됩니다.
  • 시스템 변수 (#0 등): 식이나 읽기 연산에서 사용될 때 표시됩니다.
  • 초기화: 초기화되지 않은 변수는 첫 대입 전까지 비어 있거나 NaN으로 표시됩니다.

상호 작용

  • 일시 정지/단계 실행: 시뮬레이션을 일시 정지한 뒤 한 줄씩 실행하면서 값이 어떻게 변하는지 관찰할 수 있습니다.
  • 빠른 필터: 실제로 사용하는 인덱스만 표시하도록 제한할 수 있습니다 (예: #100, #101, #500).
  • 값 초기화: 다시 실행하기 전에 Reset 버튼(사용 가능한 경우)을 사용하여 로컬/공용 변수를 한 번에 초기화할 수 있습니다.

사용 예시

#100 = ROUND[#101 + 10]
IF [#100 GT 50] THEN GOTO 120
WHILE [#9 LT #20] DO1
  #9 = #9 + 1
END1
G65 P1000 A1 B#100  (Parameters to subprogram: #1, #2, ...)

위 예제에서 변수 테이블을 통해 반올림 과정, 루프 카운터 증가, 그리고 G65에 전달되는 값들을 확인할 수 있어 로직 검증이 훨씬 쉬워집니다.

권장 사용 방법 (Best practices)

  • 변수 초기화는 사용 전에 수행하세요 (#9 = 0 등) — 이렇게 하면 테이블 표시가 예측 가능해집니다.
  • 숨겨진 의존성은 피하세요 (주석 없이 서브프로그램 깊은 곳에서 이루어지는 재할당 등).
  • 중요한 대입에는 반드시 주석을 추가하세요 — 변수 테이블이 소스 행을 보여 주기 때문에 더 빠르게 코드 위치를 찾을 수 있습니다.

시뮬레이션 전 변수 테이블:

NCPlayer - 변수 테이블 (시뮬레이션 전)

시뮬레이션 중 변수 테이블:

NCPlayer - 변수 테이블 (시뮬레이션 중)

제한 사항 및 참고 사항

  • 일부 시스템 변수는 읽기 전용일 수 있으며, 값은 시뮬레이터 설정에 따라 달라집니다.
  • 깊게 중첩된 표현식은 단계별로 평가되며, 문법이 올바르지 않은 경우 값이 NaN이 될 수 있습니다 — 이때는 전처리 로그를 확인하세요.
  • 시뮬레이션을 리셋하면 로컬 변수 테이블의 값은 초기화되며 (공용 변수는 현재 세션 설정에 따라 유지/초기화됩니다).
CNCPassport © MEBLEOS © 2026 · Ver 1.0 · Terms & Conditions | Privacy Policy | Cookie Policy | Refund Policy Legal information | Privacy Policy