래더 로직(Ladder Logic)은 프로그램 가능 로직 컨트롤러(PLC)를 프로그래밍하는 데 사용되는 그래픽 기반의 프로그래밍 언어이다. 주로 산업 자동화 분야에서 기계 및 공정 제어 시스템을 설계하고 구현하는 데 활용된다. 그 이름은 마치 사다리(Ladder)와 같이 두 개의 수직 레일(Rail)과 이를 연결하는 수평 렁(Rung)들로 구성된 형태를 띠고 있기 때문에 붙여졌다.
개요 래더 로직은 과거의 하드와이어드 릴레이 제어 시스템의 전기 회로도를 모방하여 개발되었다. 이는 전기 기술자와 유지보수 담당자들이 익숙한 시각적 표현 방식을 제공하여, PLC가 도입되면서 기존의 전기 제어 시스템 설계 및 유지보수 인력이 비교적 쉽게 새로운 프로그래밍 방식에 적응할 수 있도록 돕는 데 기여했다. 이 언어는 불 대수(Boolean algebra)의 논리 연산을 기반으로 하며, 이진 입력(ON/OFF)과 이진 출력(ON/OFF)을 처리하는 데 최적화되어 있다.
특징
- 시각적 표현: 전기 제어 회로도와 매우 유사하여 직관적이다.
- 릴레이 로직의 계승: 기계식 릴레이와 접점, 코일 등의 개념을 소프트웨어적으로 구현한다.
- 주기적 스캔: PLC는 래더 로직 프로그램을 위에서 아래로, 왼쪽에서 오른쪽으로 반복적으로 스캔하며 실행한다.
- 결정론적 실행: 정해진 순서와 시간 내에 프로그램이 실행되므로 예측 가능한 제어가 가능하다.
구성 요소 래더 로직의 주요 구성 요소는 다음과 같다.
- 수직 레일(Vertical Rails): 사다리의 양쪽에 있는 기둥과 같은 역할을 한다. 왼쪽 레일은 전원 공급원(Positive rail)을, 오른쪽 레일은 접지(Negative/Return rail)를 상징한다.
- 수평 렁(Horizontal Rungs): 각 레일 사이에 연결되는 가로줄로, 하나의 제어 논리 회로를 나타낸다.
- 접점(Contacts): 입력 장치(스위치, 센서 등)의 상태를 나타낸다. 일반적으로 다음과 같은 두 가지 유형이 있다.
- 상시 열림 접점(Normally Open, NO): 입력이 활성화될 때 닫힌다.
- 상시 닫힘 접점(Normally Closed, NC): 입력이 활성화될 때 열린다.
- 코일(Coils): 출력 장치(모터, 램프, 솔레노이드 등)를 나타낸다. 렁의 논리적 조건이 참(True)일 때 활성화되어 출력을 제어한다.
- 기타 명령어: 타이머(Timer), 카운터(Counter), 비교(Comparison), 산술(Arithmetic), 데이터 이동(Data Move) 등 복잡한 제어 로직을 구현하기 위한 다양한 기능 블록이 존재한다.
작동 원리 PLC는 래더 로직 프로그램을 일정한 주기(스캔 타임)로 반복해서 실행한다. 한 스캔 사이클은 보통 다음 단계를 따른다.
- 입력 스캔: 모든 물리적 입력 장치의 현재 상태를 읽어 내부 메모리에 저장한다.
- 프로그램 실행: 래더 로직 프로그램을 첫 번째 렁부터 마지막 렁까지 순차적으로 실행하며, 각 렁의 논리적 조건에 따라 내부 메모리의 출력 상태를 갱신한다.
- 출력 스캔: 내부 메모리에 갱신된 출력 상태를 기반으로 물리적 출력 장치를 제어한다.
장점
- 높은 가독성: 전기 회로도와 유사하여 전기 및 제어 관련 기술자들이 이해하고 유지보수하기 용이하다.
- 직관적인 디버깅: 시각적인 흐름을 통해 논리 오류를 쉽게 찾을 수 있다.
- 이산 제어에 강점: ON/OFF와 같은 이진 논리 및 순차 제어에 매우 효과적이다.
단점
- 복잡한 알고리즘 구현의 한계: 복잡한 산술 연산, 데이터 처리, 고급 제어 알고리즘(PID 제어 등)을 구현하기에는 다른 프로그래밍 언어(예: 스트럭처드 텍스트)에 비해 비효율적일 수 있다.
- 대규모 시스템에서의 가독성 저하: 프로그램의 규모가 매우 커질 경우, 렁의 수가 많아져 전체 로직을 한눈에 파악하기 어려울 수 있다.
응용 분야 래더 로직은 현재까지도 산업 자동화 분야에서 가장 널리 사용되는 PLC 프로그래밍 언어 중 하나이다. 주요 응용 분야는 다음과 같다.
- 제조 라인: 컨베이어 벨트, 로봇, 조립 기계 등의 순차적 제어.
- 공정 제어: 펌프, 밸브, 모터 제어를 통한 화학, 식품, 수처리 공정 자동화.
- 빌딩 자동화: 엘리베이터, 조명, 공조 시스템 제어.
- 기타: 포장 기계, 인쇄 기계, 사출 성형 기계 등 다양한 산업 기계 제어.
역사적 배경 래더 로직은 1960년대 후반에 PLC가 처음 개발될 때, 기존의 복잡하고 비효율적인 하드와이어드 릴레이 제어반을 대체하기 위해 등장했다. 초기 PLC의 개발 목적 자체가 릴레이 제어 시스템의 유지보수 용이성과 유연성을 컴퓨터 프로그래밍 방식으로 가져오는 것이었기 때문에, 릴레이 회로도를 그대로 옮겨놓은 듯한 래더 로직은 산업 현장에서 빠르게 채택될 수 있었다. 이후 국제 표준인 IEC 61131-3에 의해 PLC 프로그래밍 언어 중 하나로 표준화되어 그 중요성이 더욱 공고해졌다.