GUI 매뉴얼 · Chapter 4

title: "Run Module" chapter: 4 source: "Doc/QMachineStudio UserManaul.pdf" images:

  • run-module.png
  • run-module-sequence.png

Run Module

Run Module 은 실제 장비 동작을 담당하는 스크립트가 모이는 영역입니다. 변수 · 함수 · 시퀀스 · 스텝의 네 가지 구성 요소로 정리됩니다.

Run Module 전체 화면
Run Module 전체 화면

구성 요소

Variable (변수)

장비 상태를 담는 전역 변수가 선언됩니다. 카운트 · 플래그 · 타깃 좌표 등이 여기 모입니다.

int   cycleCount = 0;
bool  initOk = false;
double lastTargetX = 0.0;

변수 이름은 프로젝트 전체에서 유일해야 합니다. 변경 시 전체 시퀀스에서 참조가 자동으로 업데이트됩니다.

Functions (함수)

시퀀스에서 재사용되는 로직을 모아둡니다. 하드웨어 체크, 공통 에러 처리, 초기화 루틴 등이 전형적인 예.

bool MoveToLoadPos(void) {
    Motor[X].MoveAbs(100.0, true);
    Motor[Y].MoveAbs(50.0, true);
    return Motor[X].CheckInPosition(100.0)
        && Motor[Y].CheckInPosition(50.0);
}

Sequence (시퀀스)

장비의 메인 상태 흐름입니다. 장비 가동 중에는 각 시퀀스가 순차 실행되며, 한 번에 하나의 스텝만 활성화됩니다.

Sequence 편집 화면
Sequence 편집 화면

Step (스텝)

Sequence 안의 세부 단계입니다. NextStep("Name") 으로 다음 단계로 전이하며, 진입/종료 시각이 자동으로 로깅됩니다.

편집 흐름

  1. Variable 탭에서 사용할 전역 변수를 선언
  2. Functions 탭에서 공통 함수를 작성
  3. Sequence 탭에서 Main 시퀀스를 만들고 Step 별로 동작 기술
  4. F6 으로 저장·빌드 → F5 로 런타임 실행하여 검증

  • 시퀀스는 짧게 유지. 한 스텝은 "한 번의 상태 전이" 정도로 나누면 디버깅이 쉬워집니다.
  • 재사용되는 로직은 반드시 Functions 로 분리 — 시퀀스 중복을 피할 수 있습니다.
  • 변수·함수·시퀀스의 이름은 F12 로 정의 이동 · Shift + F12 로 참조 검색이 가능하니 의미 있는 이름을 사용하세요.