ST 코드 보기¶
팩토블록으로 만든 흐름은 IEC 61131-3 ST 코드로 자동 변환됩니다. 산업용 PLC (CODESYS, TIA Portal 등) 로 가져갈 수 있습니다.
무엇을 하는 단계인가요?¶
카드로 만든 자동화 흐름을 표준 PLC 프로그래밍 언어 (ST, Structured Text) 로 변환해 봅니다. 산업 현장에서 사용하는 PLC 코드와 동일한 형식이라 이후 실무로 자연스럽게 연결됩니다.
왜 ST 코드인가요?
IEC 61131-3 의 ST (Structured Text) 는 PLC 프로그래밍의 국제 표준입니다. 학생이 팩토블록으로 만든 흐름이 곧바로 산업용 PLC 코드로 변환되는 것을 보면 블록 코딩 → 산업 코딩 으로 자연스럽게 이행할 수 있습니다.
에디터 모드 전환¶
화면 상단의 모드 전환 탭으로 카드 모드와 ST 코드 모드를 오갈 수 있습니다.
| 모드 | 역할 |
|---|---|
| 카드 모드 (기본) | 카드를 끌어 놓아 시각적으로 흐름 작성 |
| ST 코드 모드 | 자동 변환된 ST 코드 확인 (Monaco 에디터) |
ST 모드는 보기 전용
현재 ST 코드는 읽기 목적입니다. 카드를 수정 후 ST 모드로 전환하면 자동 갱신됩니다. ST 코드 직접 편집 후 카드로 역변환은 차후 버전에서 지원 예정.
카드 → ST 변환 예시¶
단순 흐름¶
카드:
ST 코드:
PROGRAM Main
VAR
count : INT := 0;
END_VAR
BEGIN
LOOP 5 TIMES
TEXT_DISPLAY("Item 1");
count := count + 1;
END_LOOP;
END_PROGRAM.
색상 분류 흐름¶
카드:
ST 코드:
COLOR_DETECT();
IF detected_color = 'red' THEN
ROBOT.MoveTo('A');
ELSIF detected_color = 'blue' THEN
ROBOT.MoveTo('B');
ELSE
ROBOT.MoveTo('C');
END_IF;
ST 문법 핵심¶
| 구문 | 의미 |
|---|---|
PROGRAM ... END_PROGRAM |
프로그램 영역 |
VAR ... END_VAR |
변수 선언 |
BEGIN ... END; |
프로그램 본체 |
IF ... THEN ... ELSIF ... ELSE ... END_IF; |
조건 분기 |
LOOP n TIMES ... END_LOOP; |
정해진 횟수 반복 |
WHILE condition DO ... END_WHILE; |
조건부 반복 |
varName := value; |
변수 할당 |
표준 코드 내보내기¶
카드를 다양한 PLC 표준 형식으로 내보낼 수 있습니다.
-
IEC 61131-3 ST
표준 Structured Text 형식. 모든 IEC 61131-3 호환 PLC 에서 사용 가능
-
CODESYS
.project파일. CODESYS IDE 에서 바로 열기 가능 -
TIA Portal
.scl파일. Siemens TIA Portal 호환
내보내기 절차¶
- 화면 상단 메뉴에서 파일 → 내보내기 클릭
- 형식 선택 (IEC ST / CODESYS / TIA Portal)
- 저장 위치 지정
- 내보낸 파일을 산업용 PLC IDE 에서 열기
카드 ↔ ST 매핑 예시¶
| 카드 | ST 명령어 | IEC 표준 |
|---|---|---|
N초 기다리기 |
WAIT(seconds) |
TON (Timer ON) |
반복하기 (LOOP) |
LOOP n TIMES ... END_LOOP |
FOR |
만약 ~이면 (IF) |
IF cond THEN ... END_IF |
IF |
횟수 세기 (CTU) |
count := count + 1; IF count >= PV THEN Q := TRUE; |
CTU |
컨베이어 켜기 |
CONV_START(direction) |
커스텀 함수 |
로봇 이동 |
ROBOT.MoveTo(position) |
로봇 API |
계산하기 |
target := a + b; |
할당 |
자주 발생하는 문제¶
ST 코드를 직접 편집하면 카드도 갱신되나요?
차후 버전 지원 예정. 현재는 카드 수정 → ST 자동 갱신만 가능합니다 (단방향).
변수명을 한글로 써도 되나요?
UTF-8 지원하므로 가능합니다. 단 외부 PLC 시스템과 호환성을 위해 영문 권장.
ST 코드가 보이지 않음
카드 모드에서 카드를 추가한 후 ST 코드 모드로 전환하세요. 빈 흐름이라면 ST 코드도 비어 있습니다.
내보낸 CODESYS 파일을 동료와 공유?
가능합니다. CODESYS 가 설치된 환경에서 .project 파일 열기 → 기존 프로젝트와 통합 가능.
강사 팁¶
고학년 학습 단계로 활용
초·중등 학생은 카드 모드만으로 충분합니다. 고등 / 전문대 학생 에게는 ST 코드를 함께 보여주면서 "여러분이 만든 게 진짜 산업용 코드입니다" 라고 강조하면 학습 동기가 올라갑니다.
양방향 비교가 효과적
카드 한 줄 추가 → ST 코드의 어디가 변하는지 확인 → 다시 카드 추가. 이런 양방향 비교가 ST 학습에 가장 효과적입니다.
산업 PLC 와 연계 학습
학생이 만든 흐름을 CODESYS 로 내보내고, 학교에 CODESYS 가 설치된 PC 에서 직접 시뮬레이션 해 보게 하면 실무 연결성이 강해집니다.
다음 단계¶
ST 코드 변환까지 익혔다면 팩토블록의 모든 핵심 기능을 다룬 셈입니다.
- 다른 카드 카테고리 복습 → 팩토블록 인덱스
- 자동화 응용 → 첫 프로그램 만들기 의 "다음 학습" 섹션 참조
- 하드웨어 연결에 문제가 생기면 → 하드웨어 문제 해결
이 페이지에 빠진 내용이나 잘못된 부분을 발견하시면 페이지 하단 📮 피드백 보내기 를 활용해 주세요.