PLC 주소 체계 완벽 가이드 (%IX, %QX, %MW)와 Modbus 매핑

2025. 10. 20. 12:00·하드웨어
반응형

 

목차

  • 1. 서론: PLC 주소, 왜 알아야 할까?
  • 2. PLC 주소의 기본 구조
  • 3. 실전! PLC 주소 해석하기
    • 3.1. `%IX0.0.0` - 디지털 입력
    • 3.2. `%QX0.0.1` - 디지털 출력
    • 3.3. `%MW119` - 내부 메모리
  • 4. 주소 구성 요소 요약
    • 4.1. 영역 (I, Q, M)
    • 4.2. 데이터 타입 (X, B, W, D)
  • 5. 핵심 활용: Modbus 주소 매핑
  • 6. 결론

1. 서론: PLC 주소, 왜 알아야 할까?

스마트팩토리와 공장 자동화의 두뇌 역할을 하는 PLC(Programmable Logic Controller). PLC 프로그래밍의 가장 첫걸음은 바로 '주소(Address)'를 이해하는 것입니다. 센서의 신호를 읽고, 모터를 제어하는 모든 작업은 이 주소를 통해 이루어집니다. %IX0.0.0, %MW119 처럼 암호같이 보이는 주소들이 무엇을 의미하는지 모른다면 PLC의 기능을 제대로 활용할 수 없습니다.

이 글에서는 IEC 61131-3 표준에 기반한 PLC 주소 체계를 명확하게 분석하고, 더 나아가 HMI나 SCADA 시스템 연동에 필수적인 Modbus 통신 주소 매핑 방법까지 알아보겠습니다.

2. PLC 주소의 기본 구조

PLC 주소는 일정한 규칙을 가지고 있습니다. 가장 일반적인 형식은 다음과 같습니다.

기본 형식: %[영역][데이터타입][크기].[경로]

각 부분은 다음과 같은 의미를 가집니다.

  • %: PLC 주소임을 나타내는 접두사입니다.
  • 영역: 데이터가 어디에 속하는지를 나타냅니다. (입력, 출력, 내부 메모리 등)
  • 데이터타입/크기: 데이터의 종류를 정의합니다. (비트, 바이트, 워드 등)
  • 경로: 해당 영역에서의 구체적인 위치(번호)를 나타냅니다.

3. 실전! PLC 주소 해석하기

가장 흔하게 접하는 주소 세 가지를 예시로 그 구조를 자세히 살펴보겠습니다.

3.1. `%IX0.0.0` - 디지털 입력 (Input)

센서, 푸시 버튼 스위치 등 외부 장치로부터 신호를 받는 '디지털 입력' 주소입니다.

% I X 0 . 0 . 0
│ │ │ │   │   │
│ │ │ │   │   └─ 비트(Bit) 번호 (0)
│ │ │ │   └───── 바이트(Byte) 번호 (0)
│ │ │ └───────── 워드(Word) 번호 (0)
│ │ └─────────── X = 비트 단위 (1 bit)
│ └───────────── I = Input (입력 영역)
└─────────────── PLC 주소 접두사

의미: 입력(I) 영역의 비트(X) 단위 데이터로, 0번 워드의 0번 바이트에 있는 0번 비트를 의미합니다. 즉, 가장 첫 번째 디지털 입력 접점입니다.

3.2. `%QX0.0.1` - 디지털 출력 (Output)

램프, 모터, 릴레이 등 외부 장치로 신호를 보내 제어하는 '디지털 출력' 주소입니다.

% Q X 0 . 0 . 1
│ │ │ │   │   │
│ │ │ │   │   └─ 비트(Bit) 번호 (1)
│ │ │ │   └───── 바이트(Byte) 번호 (0)
│ │ │ └───────── 워드(Word) 번호 (0)
│ │ └─────────── X = 비트 단위 (1 bit)
│ └───────────── Q = Output (출력 영역)
└─────────────── PLC 주소 접두사

의미: 출력(Q) 영역의 0번 워드, 0번 바이트의 1번 비트입니다. 0번부터 시작하므로, 이것은 두 번째 디지털 출력 접점을 나타냅니다.

3.3. `%MW119` - 내부 메모리 (Memory Word)

PLC 내부에서 연산 결과를 저장하거나 데이터를 임시로 보관하는 '내부 메모리' 주소입니다.

% M W 119
│ │ │ │
│ │ │ └─ 워드(Word) 번호 (119번째)
│ │ └─── W = 워드 단위 (16 bit)
│ └───── M = Memory (내부 메모리 영역)
└─────── PLC 주소 접두사

의미: 내부 메모리(M) 영역의 16비트 워드(W) 단위 데이터로, 119번째 메모리 워드 공간을 의미합니다. 이 공간에는 보통 -32768 ~ 32767 범위의 정수 값을 저장할 수 있습니다.

4. 주소 구성 요소 요약

4.1. 영역 (Area)

주소의 첫 글자는 데이터가 속한 물리적 또는 논리적 공간을 정의합니다.

코드 의미 설명
I Input 디지털 입력 모듈. 센서, 스위치 등의 상태를 읽습니다.
Q Output 디지털 출력 모듈. 릴레이, 밸브, 램프 등을 제어합니다.
M Memory PLC 내부 메모리. 연산 중간값, 설정값 등을 저장하는 변수 공간입니다.

4.2. 데이터 타입 (Data Type / Size)

영역 코드 다음 글자는 데이터의 크기를 정의합니다.

코드 타입 크기 범위 예시
X Bit 1 bit 0 또는 1 (FALSE/TRUE)
B Byte 8 bits 0 ~ 255
W Word 16 bits -32768 ~ 32767
D Double Word 32 bits -2,147,483,648 ~ 2,147,483,647

5. 핵심 활용: Modbus 주소 매핑

PLC의 데이터를 외부 HMI, SCADA 시스템이나 다른 장비에서 읽고 쓰려면 Modbus와 같은 표준 통신 프로토콜을 사용해야 합니다. 이때 PLC 내부 주소를 Modbus 주소로 변환(매핑)하는 규칙을 알아야 합니다.

Modbus는 기능 코드(Function Code)를 사용하여 어떤 종류의 데이터를 읽을지 결정합니다. PLC 주소와 Modbus 주소의 일반적인 매핑 관계는 다음과 같습니다.

PLC 주소 Modbus 기능 코드 Modbus 주소 (10진수) 설명
%IX0.0.0 FC 02 (Read Discrete Inputs) 0 첫 번째 디지털 입력 (읽기 전용)
%IX0.0.1 FC 02 1 두 번째 디지털 입력 (읽기 전용)
%QX0.0.0 FC 01 (Read Coils) 0 첫 번째 디지털 출력 (읽기/쓰기 가능)
%QX0.0.1 FC 01 1 두 번째 디지털 출력 (읽기/쓰기 가능)
%MW119 FC 03 (Read Holding Registers) 119 119번 메모리 워드 (읽기/쓰기 가능)
%MW120 FC 03 120 120번 메모리 워드 (읽기/쓰기 가능)
Key Point: 일반적으로 PLC 메모리 워드 주소(%MW[번호])는 Modbus Holding Register 주소(FC 03)와 1:1로 매핑되는 경우가 많습니다. 예를 들어 `%MW100`은 Modbus 주소 100번에 해당합니다. (단, PLC 제조사나 설정에 따라 오프셋이 있을 수 있습니다.)

6. 결론

PLC 주소 체계는 자동화 시스템의 가장 기본적인 언어입니다. %I는 눈과 귀(입력), %Q는 손과 발(출력), %M은 머릿속(메모리)에 해당한다고 생각하면 이해하기 쉽습니다. 이 주소 체계를 명확히 이해하고, Modbus 매핑 규칙까지 파악한다면 PLC를 훨씬 더 깊이 있게 다룰 수 있게 될 것입니다. 현장의 설비를 제어하고 모니터링하는 데 이 가이드가 튼튼한 기초가 되기를 바랍니다.

#PLC #PLC주소 #자동제어 #Modbus #스마트팩토리 #IEC61131

'하드웨어' 카테고리의 다른 글

USB 카메라 해상도와 FPS 확인하는 완벽 가이드  (0) 2025.09.11
라즈베리파이 WiFi 고정 IP 설정 완벽 가이드  (0) 2025.07.18
AC와 DC 완벽 이해: 전기 초보자를 위한 핵심 가이드  (0) 2025.07.17
NAS 스토리지 풀 RAID 유형 완벽 가이드  (0) 2025.07.15
라즈베리파이 'externally-managed-environment' 오류 해결 방법  (0) 2025.07.10
'하드웨어' 카테고리의 다른 글
  • USB 카메라 해상도와 FPS 확인하는 완벽 가이드
  • 라즈베리파이 WiFi 고정 IP 설정 완벽 가이드
  • AC와 DC 완벽 이해: 전기 초보자를 위한 핵심 가이드
  • NAS 스토리지 풀 RAID 유형 완벽 가이드
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (730)
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (19)
      • 일기장 (4)
      • 파이썬 (131)
        • Basic (42)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (5)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    스마트스토어리뷰
    codingcommunity
    카페24리뷰이관
    상품 리뷰 크롤링
    Python
    카페24리뷰
    programming101
    learntocode
    unity
    믈레코비타멸균우유
    devlife
    라떼우유
    스크립트 실행 순서
    긴유통기한우유
    유니티
    list
    programmerlife
    리스트
    C#
    스크립트 실행
    ipcamera
    셀레니움
    appdevelopment
    파이썬
    rtsp
    쇼핑몰리뷰
    cv2
    리뷰이관
    codingtips
    리뷰관리
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
PLC 주소 체계 완벽 가이드 (%IX, %QX, %MW)와 Modbus 매핑
상단으로

티스토리툴바