[PLC강의] 2장 PLC의 구조
2장. PLC의 구조
가. 하드웨어의 구조: 시스템을 움직이는 4대 핵심 요소
PLC는 인간의 두뇌 역할을 하는 중앙처리장치(CPU)와 메모리를 중심으로 구성됩니다. 여기에 외부 기기와의 신호를 연결하는 입·출력(I/O)부, 각 부품에 안정적인 전기를 공급하는 전원부, 그리고 사용자가 작성한 프로그램을 PLC에 입력하기 위한 주변 장치(PC, 노트북 등)로 이루어져 있습니다. [그림 2-1]은 PLC의 전체 구성도를 나타냅니다.

1. PLC의 중앙처리장치 (CPU) : 설비의 '두뇌'
CPU는 메모리에 저장되어 있는 프로그램을 순차적으로 불러와 해독하고, 제어 명령을 실행하는 가장 핵심적인 부품입니다. 모든 정보는 0과 1의 2진수로 변환되어 매우 빠른 속도로 처리됩니다.
- 💡 [최신 트렌드] 고성능 멀티코어 CPU의 도입: 최근의 PLC는 단순한 논리 연산을 넘어, 복잡한 로봇 모션 제어(Motion Control)나 산업용 사물인터넷(IIoT)의 방대한 통신 데이터를 동시에 끊김 없이 처리하기 위해 고성능 멀티코어 프로세서나 전용 통신 칩셋(ASIC)을 탑재하는 추세입니다.
2. PLC CPU의 메모리 : 데이터의 '기억'과 '작업 공간'
1) 메모리의 종류와 최신 기술 흐름 과거 PLC의 IC 메모리는 크게 읽기 전용인 ROM(불휘발성)과 읽고 쓰기가 자유로운 RAM(휘발성)으로 뚜렷하게 나뉘었으나, 최근에는 이 둘의 장점을 결합한 메모리가 주력으로 사용됩니다.
- 플래시 메모리(Flash Memory)의 대중화: 과거에는 고정된 프로그램을 보관하기 위해 자외선으로 지우는 ROM을 주로 썼지만, 현재는 전원이 꺼져도 데이터가 지워지지 않으면서 자유롭게 쓰고 지울 수 있는 플래시 메모리나 EEPROM이 기본 저장 매체로 탑재됩니다.
- 배터리리스(Battery-less) 기술 적용: 수시로 변하는 데이터를 임시 저장하는 RAM 영역은 전원이 끊기면 데이터가 날아가므로 과거에는 수명이 있는 백업 배터리가 필수였습니다. 최근에는 정전 시에도 자체적으로 데이터를 유지하는 차세대 비휘발성 메모리(MRAM, NVRAM 등)를 적용하여 유지보수의 번거로움을 크게 줄이고 있습니다.
2) 메모리의 3가지 주요 역할 PLC의 메모리는 역할에 따라 크게 사용자 프로그램, 데이터, 시스템 메모리의 3가지 구역으로 나뉘어 관리됩니다.
- 사용자 프로그램 메모리: 설비를 원하는 대로 제어하기 위해 사용자가 직접 작성한(코딩한) 프로그램이 저장되는 공간입니다. 프로그램의 수정과 다운로드가 잦으므로 주로 읽고 쓰기가 편리한 플래시 메모리 영역이 활용됩니다.
- 데이터 메모리: 입·출력 릴레이, 타이머, 카운터의 현재 상태값이나 센서에서 실시간으로 읽어 들인 수치 정보 등이 저장되는 임시 작업 공간입니다. 정보가 쉴 새 없이 변하므로 데이터 처리 속도가 매우 빠른 RAM 영역이 주로 사용됩니다.
- 시스템 메모리: PLC 제조사(메이커)에서 장비를 기본적으로 구동하기 위해 미리 심어둔 운영체제(OS) 성격의 시스템 프로그램이 저장되는 공간입니다. 이는 장비의 성능을 결정하는 중요한 영역으로, 사용자가 임의로 내용을 변경하거나 지울 수 없도록 보호되어 있습니다.
나. PLC의 입·출력(I/O) 구조: 현장 기기와의 완벽한 소통
PLC의 중앙처리장치(CPU) 내부에서는 5V 수준의 낮은 직류 전원(TTL 레벨)으로 데이터를 처리합니다. 하지만 공장 현장의 센서나 모터 등은 24V DC부터 220V AC까지 다양한 전압을 사용합니다. 따라서 내부의 약한 전기 신호와 외부의 강한 전기 신호를 안전하게 연결해 주는 인터페이스(Interface) 기술이 시스템의 안정성을 좌우하는 핵심입니다.
PLC의 입·출력부는 다음과 같은 필수 요건을 갖추어야 합니다.
- 전기적 규격 일치: 연결되는 외부 기기와 전압/전류 사양이 맞아야 합니다.
- 신호 절연 (노이즈 차단): 거친 현장에서 발생하는 전기적 노이즈나 서지(Surge) 전압이 민감한 CPU로 흘러 들어가지 않도록 포토 커플러(Photo-coupler, 빛을 이용한 신호 전달)를 사용하여 회로를 물리적으로 분리(절연)합니다.
- 유지보수의 편의성: 외부 배선과의 접속 및 교체가 쉬워야 합니다.
- 직관적인 상태 감시: 입·출력 각 접점의 동작 상태를 눈으로 바로 확인할 수 있도록 LED 표시기가 부착되어 있습니다.
[표 2-1] PLC 입·출력에 접속되는 외부 기기의 예 (최신 동향 반영)
| I/O 구분 | 부착 장소 | 외부 기기 주요 예시 |
| 입력부 (명령 및 감지) | 제어반 / 조작반 | 푸시버튼 스위치, 선택 스위치, 토글 스위치, 터치 패널(HMI) |
| 기계 장치 (센서) | 리밋 스위치, 광전 스위치, 근접 스위치, 온도/레벨 스위치, 💡스마트 비전 센서, 바코드 리더기 | |
| 출력부 (표시 및 구동) | 제어반 / 조작반 | 파일럿 램프, 부저, 경보 타워 램프, 디지털 표시기 |
| 기계 장치 (액추에이터) | 전자 밸브(솔레노이드), 전자 개폐기(MC), 인버터, 💡서보 모터, 정밀 스테핑 모터 |
1. 입력부 (Input Section)
외부 기기의 물리적 신호나 조작 상태를 CPU가 연산할 수 있는 디지털 신호로 변환해 전달합니다. 일반적인 입력 전압으로는 DC 24V, AC 110V/220V가 사용됩니다.
배선 방식과 전류의 방향에 따라 크게 두 가지 타입으로 나뉘며, 현장 엔지니어들이 결선 시 가장 주의해야 하는 부분입니다.

① 싱크 타입 (Sink Type) 입력 모듈
- 원리: 입력 모듈이 전류를 '빨아들이는(Sink)' 형태입니다. 즉, 전류가 외부 스위치를 거쳐 모듈 안으로 흘러 들어옵니다.
- 배선: 모듈의 공통(COM) 단자는 -단자(N상)가 됩니다.
- 호환 센서: 전류를 모듈 쪽으로 뿜어내 주는 PNP 타입의 오픈 콜렉터 센서(근접 스위치 등)와 주로 연결하여 사용합니다. (※ 주로 유럽 지역 규격에서 많이 사용됨)


② 소스 타입 (Source Type) 입력 모듈
- 원리: 입력 모듈 내부에서 전류가 밖으로 '흘러나가는(Source)' 형태입니다.
- 배선: 모듈의 공통(COM) 단자는 +단자(P상)가 됩니다.
- 호환 센서: 전류를 받아주는(Sink) NPN 타입의 오픈 콜렉터 센서와 연결하여 사용합니다. (※ 대한민국 및 아시아권 자동화 현장에서 가장 널리 쓰이는 표준 방식입니다.)


2. 출력부 (Output Section)
CPU에서 내린 연산 결과를 외부의 모터, 솔레노이드 밸브, 램프 등으로 전달하여 실제 설비를 구동시키는 역할을 합니다. 부하의 종류와 개폐 빈도에 따라 적절한 출력 모듈을 선택해야 합니다.

[표 2-2] PLC 출력 소자의 종류와 특징
| 구분 | 출력 방식 | 사용 전원 | 특징 및 적용 |
| 유접점 | 릴레이(Relay) 출력 | 교류(AC) / 직류(DC) 모두 가능 | - 허용 전류가 커서 범용으로 가장 많이 쓰임 - 기계적 수명의 한계가 있음 (개폐 빈도가 잦은 곳에는 부적합) |
| 무접점 (반도체) | 트랜지스터(TR) 출력 | 직류(DC) 전용 | - 응답 속도가 매우 빠르고 반영구적 수명 - 서보 모터, 스테핑 모터 등 고속 위치 제어에 필수적 |
| SSR (무접점 릴레이) 출력 | 교류(AC) 전용 | - 스파크나 소음이 없고 수명이 긺 - 빈번하게 On/Off 되는 교류 히터 온도 제어 등에 사용 |
출력부 역시 배선 방식에 따라 싱크 타입 출력(내부에 NPN 구동 소자 내장, 부하 공통단자가 +)과 소스 타입 출력(내부에 PNP 구동 소자 내장, 부하 공통단자가 -)으로 구분되므로, 사용하려는 부하 장비의 결선 방식을 반드시 확인해야 합니다.
💡 [최신 트렌드] 특수 모듈의 진화
최근 스마트 팩토리와 4차 산업혁명의 흐름에 따라 단순한 On/Off 제어를 넘어선 특수 모듈의 중요성이 급격히 커지고 있습니다.
- 위치결정 (Motion Control) 모듈: 고속 펄스(Pulse)를 출력하여 서보 모터나 스테핑 모터를 마이크로미터(㎛) 단위로 초정밀 위치 제어합니다. 과거 POP 모듈이라 불리던 것에서 한 차원 진화했습니다.
- 아날로그 I/O 및 PID 제어 모듈: 온도, 압력, 유량 등 연속적으로 변하는 아날로그 값을 디지털로 변환(A/D)하거나, 그 반대로 변환(D/A)하여 정밀한 피드백(PID) 제어를 수행합니다.
- 산업용 네트워크(통신) 모듈: EtherNet/IP, PROFINET, CC-Link IE, EtherCAT 등 초고속 산업용 통신망을 통해 공장 내 다른 장비나 상위 서버(MES/ERP)와 방대한 데이터를 실시간으로 주고받습니다.
- 안전(Safety) 제어 모듈: 작업자의 안전을 최우선으로 하여, 비상 정지나 라이트 커튼(안전 센서) 신호를 일반 제어와 분리하여 독립적이고 즉각적으로 차단하는 최신 안전 전용 모듈입니다.
① 싱크 타입(Sink Type) 출력 모듈 (NPN 방식)
- 동작 원리: 릴레이나 솔레노이드 코일 등의 액추에이터(부하)를 구동할 때, 전류가 외부 부하를 거쳐 PLC 모듈 안으로 흘러 들어오는(Sinking) 형태의 출력 모듈입니다.
- 내부 회로: PLC 내부의 스위칭 소자로 주로 NPN 타입의 구동 트랜지스터가 내장되어 있습니다.
- 결선 방식: PLC 출력이 기기를 작동시키기 위해 마이너스(0V) 스위치 역할을 합니다. 따라서 외부 부하의 한쪽 단자는 항상 전원 장치의 +단자(+24V, P상)에 공통(Common)으로 접속되어 있어야 합니다.

② 소스 타입(Source Type) 출력 모듈 (PNP 방식)
- 동작 원리: PLC 모듈 내부의 전원으로부터 전류가 모듈 밖으로 흘러나와(Sourcing) 외부 부하로 공급되는 형태의 출력 모듈입니다.
- 내부 회로: PLC 내부의 스위칭 소자로 주로 PNP 타입의 구동 트랜지스터가 내장되어 있습니다.
- 결선 방식: PLC 출력이 기기를 작동시키기 위해 플러스(+24V) 스위치 역할을 합니다. 따라서 전원을 공급받은 외부 부하의 나머지 한쪽 단자는 반드시 전원 장치의 -단자(0V, N상)에 공통(Common)으로 접속되어 전류가 빠져나갈 수 있도록 해야 합니다.

다. 소프트웨어의 구조
1. 프로그래밍의 개요
PLC를 활용한 제어 로직(Sequence)은 종래의 릴레이(Relay), 타이머 등을 사용한 하드웨어 제어 방식과 논리적인 근본은 같습니다. 하지만 현대의 제어를 이해하고 작성하기 위해서는 다음 사항들을 종합적으로 파악해야 합니다.
- 제어 대상 특성 파악: 제어 목적, 운전 방식, 센서 및 액추에이터의 전기적/물리적 조건 이해
- PLC 하드웨어 및 네트워크 지식: 입·출력(I/O) 모듈의 정격전압, 통신 프로토콜(Ethernet 등) 특성 파악
- 소프트웨어 및 프로그래밍 표준 규격 이해: 과거에는 제조사마다 언어가 달랐으나, 현재는 국제 표준 규격(IEC 61131-3)에 정의된 5가지 언어(래더 다이어그램(LD), 펑션 블록 다이어그램(FBD), 구조화된 텍스트(ST), 순차 기능 차트(SFC), 명령어 리스트(IL)) 중 현장과 제어 목적에 맞는 언어를 선택하여 작성하는 규칙을 알아야 합니다.
결과적으로 PLC가 가진 연산, 타이머, 카운터, 통신, 모션 제어 등 다양한 기능 중 시스템에 필요한 최적의 기능을 소프트웨어로 구현해 내는 것이 가장 중요합니다.
2. 하드 와이어드(Hard-wired)와 소프트 와이어드(Soft-wired)
- 하드 와이어드 로직 (종래 방식): 회로도에 따라 릴레이, 타이머 등의 기기를 직접 전선으로 배선하여 제어 논리를 구현하는 방식입니다. 제어 로직(소프트)과 배선(하드)이 일체화되어 있어, 공정이나 사양이 변경되면 물리적인 배선을 모두 뜯어고쳐야 하는 단점이 있습니다.
- 소프트 와이어드 로직 (PLC 방식): 하드웨어적인 결선은 입출력 기기와 PLC 간에만 독립적으로 수행하고, 일의 순서와 논리(제어 로직)는 PLC 내부의 메모리에 소프트웨어 형태로 저장하는 방식입니다. 공정 변경 시 배선 수정 없이 컴퓨터나 HMI에서 프로그램만 수정(다운로드)하면 되므로, 다품종 소량 생산 및 유연한 스마트 팩토리 구축에 필수적인 아키텍처입니다.
3. 릴레이 시퀀스와 PLC 프로그램의 차이점
PLC는 LSI 등 반도체 부품의 집합으로, 내부에 물리적인 접점이나 코일이 존재하지 않습니다. 메모리에 프로그램을 기억시켜 놓고, 마이크로프로세서가 이를 고속으로 읽어 연산한 후 그 결과를 출력 모듈로 내보냅니다. 사용자는 전용 소프트웨어를 통해 로직을 유연하게 설계하고 수정할 수 있습니다.
① 직렬 처리(연산 스캔)와 인터럽트(Interrupt) 처리
- 릴레이 시퀀스 (병렬 처리): 전기 신호가 투입되면 회로에 연결된 모든 릴레이와 접점이 물리적 속도에 따라 동시에(병렬로) 동작합니다.
- PLC 프로그램 (직렬 처리 및 스캔 동작): 기본적으로 프로그램의 첫 줄부터 끝 줄까지 순차적으로 연산하는 '스캔(Scan) 방식'을 취합니다. (입력 이미지 읽기 → 프로그램 연산 → 출력 이미지 쓰기). 따라서 엄밀히 말해 아주 짧은 시간 동안 직렬 처리를 합니다.
- 최신 PLC의 발전: 최근의 PLC는 스캔 시간이 수 마이크로초(µs) 단위로 매우 짧아져 병렬 처리와 거의 똑같이 느껴지며, 특정 조건이 발생했을 때 정해진 순서를 무시하고 즉시 처리하는 인터럽트(Interrupt) 기능이나 다중 작업을 동시에 처리하는 멀티태스킹(Multi-tasking) 기능이 도입되어 제어 성능이 비약적으로 향상되었습니다.

② 사용 접점 수의 무제한 물리적 릴레이는 개당 가질 수 있는 a접점, b접점의 수가 제한적(예: 4a4b 등)이어서 회로 구성 시 접점을 아껴 써야 했습니다. 반면, PLC는 접점의 상태(ON/OFF)를 메모리의 비트(Bit) 정보로 저장하므로, 동일한 입력이나 출력 접점을 프로그램 내에서 횟수 제한 없이 무한정 사용할 수 있습니다.
③ 프로그래밍 레이아웃의 규칙 (래더 다이어그램 기준) 주로 사용되는 래더 다이어그램(LD) 언어의 경우, 신호는 항상 '왼쪽에서 오른쪽으로' 흐르도록 작성해야 합니다.
- 출력 코일은 반드시 전원 모선의 가장 오른쪽 끝에 위치해야 하며, 코일 이후에 다시 접점을 배치할 수 없습니다.
- 오른쪽에서 왼쪽으로 역류하거나 상하로 순환하는 회로 구성은 원칙적으로 금지됩니다. (단, 최근에는 구조화된 텍스트(ST)나 펑션 블록(FBD)을 혼용하여 이러한 시각적 제약을 극복하고 복잡한 수식 연산을 쉽게 처리합니다.)

④ PLC 시스템 구성 시 주의 사항 (안전 회로의 분리) PLC 내부 연산 오류나 출력 모듈의 소자 파손(예: 트랜지스터 단락)으로 인해 원치 않는 출력이 발생할 수 있습니다. 이는 시스템의 중대한 오동작을 초래하므로 다음을 주의해야 합니다.
- 비상 정지(E-Stop) 및 하드웨어 인터록: 작업자의 안전과 직결된 비상 정지 스위치, 리미트 스위치 등은 PLC 프로그램에만 의존해서는 안 되며, 반드시 PLC 외부의 별도 하드웨어 회로(안전 릴레이 등)를 통해 동력을 직접 차단하도록 이중 구성해야 합니다. (최근에는 국제 안전 규격을 인증받은 'Safety PLC'를 별도로 혼용하는 추세입니다.)

4. 최신 PLC 프로그래밍의 설계 순서 (추가 보완)
제시된 문서에서 누락된 '설계 순서'를 최신 자동화 설비 개발 프로세스에 맞추어 보완합니다.
- 시스템 요구사항 분석: 제어 대상의 동작 조건, 입출력 점수 산정, 사이클 타임(Cycle Time) 등을 분석합니다.
- 하드웨어 구성 및 네트워크 설정: PLC CPU 사양 선정, I/O 모듈 배치, 인버터/서보 모터 등과의 통신(EtherCAT, PROFINET 등) 파라미터를 설정합니다.
- 변수(Tag) 할당 및 메모리 맵 작성: 글로벌/로컬 변수를 명명하고, 입력(X, I)과 출력(Y, Q) 어드레스를 정의합니다.
- 프로그램 작성 (로직 구현): 국제 표준(IEC 61131-3) 언어를 활용하여 메인 루틴과 서브 루틴을 구조화하여 프로그래밍합니다.
- 시뮬레이션 및 디버깅: PLC를 실제 장비에 연결하기 전, PC 상에서 소프트웨어 시뮬레이터(또는 디지털 트윈 환경)를 통해 로직의 오류를 사전 검증합니다.
- 시운전(Commissioning): 실제 장비에 프로그램을 다운로드하고, I/O 테스트 및 기구부 연동 테스트를 진행하며 최적화 작업을 수행합니다.
