PLC 기초 래더 프로그래밍 입출력 주소 완전 가이드 | 초보자 실습 예제
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
PLC 기초 래더 프로그래밍
입출력 주소와 기본 명령어 완벽 가이드
X0이 뭔지, Y0이 뭔지 몰라서 첫 프로그램을 못 짜셨나요?
입출력 주소 맵핑부터 LD·OUT·SET·RST 명령어까지 초보자도 따라할 수 있도록 단계별로 설명합니다.
PLC와 래더 프로그래밍이란?
PLC(Programmable Logic Controller, 프로그래머블 로직 컨트롤러)는 공장 자동화·설비 제어에서 릴레이 시퀀스 회로를 소프트웨어로 대체한 산업용 제어기기입니다. 과거에는 수백 개의 릴레이와 배선으로 구현하던 제어 논리를 PLC 내부의 프로그램 메모리에 저장하여 유연하게 변경·유지보수할 수 있습니다.
래더 다이어그램(Ladder Diagram, LD)은 PLC 프로그래밍 언어 중 가장 보편적으로 사용되는 방식으로, 전기 회로도의 릴레이 접점과 코일 형태를 그대로 소프트웨어로 표현한 언어입니다. IEC 61131-3 표준에서 정의한 5가지 PLC 언어 중 하나이며, 전기 기술자에게 가장 직관적입니다.
래더 프로그램은 왼쪽의 좌측 버스바(Left Power Rail)에서 오른쪽의 우측 버스바(Right Power Rail)로 전류가 흐르는 모습을 표현하며, 한 행을 럭(Rung)이라고 부릅니다. 각 럭은 입력 조건(접점)과 출력 결과(코일)로 구성됩니다.
입출력 주소 체계 완전 정복
PLC 입출력 주소(I/O Address)는 PLC가 현실 세계의 신호(버튼, 센서, 모터 등)와 내부 메모리를 구별하는 고유 번지입니다. 제조사마다 표기 방식이 다소 다르지만, 미쓰비시(Mitsubishi) MELSEC 계열이 국내에 가장 많이 보급되어 있으므로 이를 기준으로 설명합니다.
입출력 주소는 크게 X(입력 릴레이), Y(출력 릴레이), M(내부 보조 릴레이), T(타이머), C(카운터)로 나뉩니다. 각 주소는 8진수 또는 10진수로 표기되며, X0~X7까지는 첫 번째 입력 카드의 8개 단자를 의미합니다.
주소 유형별 역할 요약표
| 기호 | 종류 | 범위 (FX3U 기준) | 역할 | 접점 사용 |
|---|---|---|---|---|
| X | 입력 릴레이 | X000 ~ X377 (256점) | 외부 입력 신호 수신 (버튼, 센서, 스위치) | A접점·B접점 모두 무제한 사용 가능 |
| Y | 출력 릴레이 | Y000 ~ Y377 (256점) | 외부 출력 신호 송신 (램프, 솔레노이드, 인버터) | OUT Y로 구동, 접점 프로그램에서도 사용 가능 |
| M | 내부 보조 릴레이 | M0 ~ M7679 | 프로그램 내부 연산·자기유지·플래그용 | A접점·B접점 무제한 사용 가능 |
| T | 타이머 | T0 ~ T511 | 설정 시간 후 접점 ON (100ms 단위: T0~T199) | 코일 구동 후 접점 T0 사용 |
| C | 카운터 | C0 ~ C255 | 입력 펄스 횟수 계수 후 접점 ON | 코일 구동 후 접점 C0 사용 |
| D | 데이터 레지스터 | D0 ~ D7999 | 16비트 정수 데이터 저장 (속도, 설정값 등) | MOV, 비교 명령어에서 사용 |
PLC 입출력 배선 연결도
PLC 입출력 배선 연결도는 현장의 실제 기기(버튼, 램프, 모터 등)와 PLC 단자대 사이의 물리적 연결을 나타내는 도면입니다. 프로그램을 작성하기 전에 반드시 배선도를 확인하여 어떤 단자가 어떤 주소에 매핑되는지 파악해야 합니다. 배선 오류는 기기 파손이나 오작동으로 이어지므로, 입출력 주소 맵핑표와 배선도를 항상 함께 작성하는 습관이 중요합니다.
아래 그림은 START 버튼(X0), STOP 버튼(X1), 램프(Y0)를 PLC에 연결한 가장 기본적인 배선 연결도입니다. 입력 측(24V DC 공통)과 출력 측(24V DC 또는 AC 220V)의 공통 단자 위치를 확인하세요.
▲ 그림 1 — PLC 입출력 배선 연결도 (START/STOP 버튼 + 표시 램프 기본 구성)
래더 기본 명령어 7가지 완전 해설
PLC 래더 기본 명령어는 전기 회로의 릴레이 접점과 코일 동작을 소프트웨어로 표현한 명령어 집합입니다. 처음 래더를 배울 때는 LD·LDI·AND·OR·ANB·ORB·OUT 7가지만 완전히 이해해도 실무에서 80% 이상의 제어 프로그램을 작성할 수 있습니다. 이후 SET·RST·PLS·PLF 명령어를 더하면 자기유지·순차 제어까지 모두 구현 가능합니다.
명령어별 기능·사용 위치 비교표
| 명령어 | 기능 | 위치 | 대상 기호 | 비고 |
|---|---|---|---|---|
| LD | A접점 로드 (럭 시작) | 맨 앞 | X, Y, M, T, C | 입력 ON 시 조건 성립 |
| LDI | B접점 로드 (럭 시작) | 맨 앞 | X, Y, M, T, C | 입력 OFF 시 조건 성립 |
| AND | A접점 직렬 연결 | 중간 | X, Y, M, T, C | 두 조건 모두 만족 시 ON |
| ANI | B접점 직렬 연결 | 중간 | X, Y, M, T, C | STOP 버튼(b접점) 처리에 활용 |
| OR | A접점 병렬 연결 | 중간 | X, Y, M, T, C | 자기유지 회로에서 필수 사용 |
| OUT | 코일 출력 | 맨 뒤 | Y, M, T, C | Y는 실제 출력, M은 내부 릴레이 |
| SET | 플립-플롭 ON 유지 | 맨 뒤 | Y, M | RST로만 해제 가능 |
| RST | 플립-플롭 강제 OFF | 맨 뒤 | Y, M, T, C | 타이머·카운터 현재값 초기화도 가능 |
기본 래더 프로그램 예제 (START/STOP 자기유지 회로)
자기유지 회로(Self-Holding Circuit)는 PLC 래더에서 가장 핵심이 되는 회로 패턴입니다. START 버튼(X0)을 한 번 누르면 버튼에서 손을 떼도 출력(Y0)이 계속 ON 상태를 유지하고, STOP 버튼(X1)을 누르면 비로소 OFF되는 동작입니다. 이 패턴은 전동기 기동·정지, 램프 제어, 밸브 제어 등 모든 시퀀스 제어의 기본 단위가 됩니다.
아래 래더 프로그램은 럭 0(Rung 0)이 자기유지 회로, 럭 1(Rung 1)이 타이머를 이용한 지연 ON 회로, 럭 2(Rung 2)가 END 명령으로 구성됩니다. 명령어 목록(니모닉)과 래더 다이어그램을 함께 참조하세요.
▲ 그림 2 — 래더 다이어그램: Rung 0 자기유지 회로 + Rung 1 타이머(5초) + Rung 2 지연 출력
니모닉(명령어 목록) 대조표
| 스텝 | 명령어 | 주소 | 설명 |
|---|---|---|---|
| 0 | LD | X0 | START 버튼 a접점 로드 |
| 1 | OR | Y0 | Y0 a접점 병렬 (자기유지) |
| 2 | ANI | X1 | STOP 버튼 b접점 직렬 (ANI = b접점 AND) |
| 3 | OUT | Y0 | Y0 코일 출력 (램프 ON) |
| 4 | LD | Y0 | Y0 a접점 로드 (타이머 조건) |
| 5 | OUT T0 K50 | T0 | 타이머 T0 코일 — 5초(50×100ms) 설정 |
| 6 | LD | T0 | T0 접점 로드 (5초 후 ON) |
| 7 | OUT | Y1 | Y1 코일 출력 (5초 후 추가 램프 ON) |
| 8 | END | — | 프로그램 종료 (반드시 필요) |
입출력 주소 맵핑표 작성 실전 가이드
입출력 주소 맵핑표(I/O Address Mapping Table)는 프로그램 작성 전에 반드시 준비해야 하는 설계 문서입니다. 어떤 기기가 PLC의 어떤 단자에 연결되고, 프로그램에서 어떤 주소로 사용되는지를 미리 정의해두면 배선 오류와 프로그래밍 오류를 획기적으로 줄일 수 있습니다. 실무 현장에서도 PLC 패널 설계 시 가장 먼저 작성하는 문서입니다.
맵핑표는 크게 입력 맵핑(Input Mapping)과 출력 맵핑(Output Mapping)으로 나눠 작성하며, 각각 단자 번호·주소·기기 명칭·동작 설명·비고를 기록합니다. 내부 릴레이(M)와 타이머(T)·카운터(C)는 별도 열에 추가하면 프로그램 전체를 한눈에 파악할 수 있습니다.
실습용 입출력 주소 맵핑표 예시
| 구분 | 단자 | 주소 | 기기 명칭 | 동작 조건 | 비고 |
|---|---|---|---|---|---|
| 입력 | IN-0 | X0 | START 누름 버튼 | 누르면 ON (a접점) | 녹색, NO형 |
| 입력 | IN-1 | X1 | STOP 누름 버튼 | 누르면 ON (a접점) | 적색, NO형 (프로그램에서 b접점 처리) |
| 입력 | IN-2 | X2 | 열동계전기(THR) | 과전류 시 OFF (b접점) | 보호 입력 |
| 입력 | IN-3 | X3 | 리밋 스위치 LS1 | 기계 위치 검출 시 ON | a접점, 위치 확인 |
| 출력 | OUT-0 | Y0 | 표시 램프 (녹색) | 운전 중 ON | DC 24V, 1W |
| 출력 | OUT-1 | Y1 | 전자 접촉기 MC | 전동기 기동 시 ON | AC 220V 코일 |
| 출력 | OUT-2 | Y2 | 경보 버저 | 이상 발생 시 ON | AC 220V |
| 내부 | — | M0 | 자기유지 보조 릴레이 | 프로그램 내부 연산용 | 내부 메모리 |
| 타이머 | — | T0 K50 | 기동 대기 타이머 | 5초 ON-DELAY | 100ms × 50 = 5초 |
PLC 프로그래밍 단계별 작업 절차
초보자가 PLC 래더 프로그램을 처음 작성할 때 순서를 지키지 않으면 배선 오류·주소 충돌·프로그램 오류가 복합적으로 발생하여 원인을 찾기 어렵습니다. 아래 5단계 절차를 처음부터 습관화하면 실수를 크게 줄일 수 있습니다. 특히 4단계 '업로드 전 STOP 확인'은 안전 사고 방지를 위해 절대 생략해서는 안 됩니다.
제어 요구사항 분석 및 주소 맵핑표 작성
어떤 입력(센서, 버튼)이 어떤 출력(모터, 램프, 밸브)을 제어하는지 정의하고, X/Y/M/T 주소를 사전에 할당하여 맵핑표를 작성합니다. 이 단계 없이 코딩을 시작하면 주소 중복과 배선 오류가 반드시 발생합니다.
배선 연결도 작성 및 실제 배선
맵핑표를 기반으로 PLC 단자와 기기를 연결하는 배선도를 작성하고 실제 배선을 완료합니다. 입력 COM과 출력 COM의 전원 연결을 반드시 확인하고, 배선 완료 후 단락·단선 테스터로 점검합니다.
래더 프로그램 작성 (GX Works 또는 전용 소프트웨어)
맵핑표와 배선도를 참고하여 래더 편집기에서 프로그램을 작성합니다. 각 럭의 입력 조건(접점)과 출력(코일)을 정확히 배치하고, END 명령으로 반드시 프로그램을 종료합니다. 컴파일(변환) 후 오류 메시지를 모두 해결합니다.
다운로드 전 STOP 모드 확인 (필수 안전 절차)
프로그램 다운로드 전 PLC를 반드시 STOP 모드로 설정합니다. RUN 모드에서 다운로드하면 실행 중인 기기가 예기치 않게 동작하여 기기 손상 및 부상 위험이 있습니다. 키 스위치 또는 소프트웨어에서 STOP을 확인하세요.
프로그램 다운로드 → RUN 전환 → 모니터 모드 동작 테스트
다운로드 완료 후 PLC를 RUN 모드로 전환하고, 모니터링 기능을 켠 상태에서 각 입력 버튼을 조작하며 래더 접점이 예상대로 ON/OFF되는지 확인합니다. 출력 단자의 LED 점등 여부와 실제 기기 동작을 함께 점검합니다.
SET·RST 명령으로 구현하는 플립-플롭 자기유지 회로
SET·RST 명령어를 이용한 자기유지 회로는 OR을 이용한 방법보다 프로그램이 간결하고, 우선 조건 설정(RST 우선 또는 SET 우선)이 명확하다는 장점이 있습니다. OR 자기유지와의 가장 큰 차이는, SET 한 번으로 상태가 고정되어 SET 신호가 사라져도 상태가 계속 유지된다는 점입니다. RST 명령이 실행되어야만 비로소 OFF 상태로 전환됩니다.
아래 래더는 START(X0) → SET M0, STOP(X1) → RST M0 패턴으로, M0 코일로 Y0를 제어하는 가장 표준적인 SET-RST 자기유지 구조입니다. 실무에서는 긴급정지(EMG) 조건을 RST 럭에 추가하는 형태로 확장하여 사용합니다.
▲ 그림 3 — SET·RST 플립-플롭 자기유지 래더 (M0 보조 릴레이 활용)
KEC 및 전기설비기술기준 관련 조항
PLC를 이용한 전기 제어 시스템 설계 시 한국전기설비규정(KEC) 및 전기설비기술기준에서 규정하는 안전 기준을 반드시 준수해야 합니다. 특히 비상정지 기능, 접지, 배선 기준은 KEC 212조와 관련 고시를 기준으로 설계해야 하며, 전기기사·전기산업기사 자격시험에서도 관련 내용이 출제됩니다.
초보자가 자주 하는 실수와 현장 검증 팁
PLC 래더 프로그래밍을 처음 배울 때 반복적으로 발생하는 실수 유형이 있습니다. 주소 중복 지정, 명령어 순서 오류, COM 단자 미연결이 3대 빈출 실수입니다. 이 세 가지만 먼저 확인하는 습관을 들이면 대부분의 초기 오류를 예방할 수 있습니다. 아래 팁을 현장에서 바로 활용해 보세요.
안전 수칙
전기기사 실기·필기 PLC 출제 포인트
최근 전기기사 실기 시험에서 PLC 래더 프로그래밍 관련 문제의 출제 비중이 증가하고 있습니다. 과거 릴레이 시퀀스 회로 문제가 PLC 래더로 전환되는 추세이므로, 기존 릴레이 회로의 동작 원리를 래더로 변환하는 연습이 핵심입니다. 특히 Y-△ 기동 회로, 인터록 회로, 타이머 제어를 래더로 구현하는 유형이 자주 출제됩니다.
자주 묻는 질문
함께 읽으면 좋은 글
- 공유 링크 만들기
- X
- 이메일
- 기타 앱