LS PLC 통신 방법 비교 – Modbus TCP vs XGT 전용 프로토콜, 현장에서 XGT를 더 쓰는 이유

LS PLC 통신 방법 비교 – Modbus TCP vs XGT 전용 프로토콜, 현장에서 XGT를 더 쓰는 이유

A

AutoHano

2026년 2월 16일

LS PLC에 터치PC나 모니터링 프로그램을 연결하려면, 통신 방법을 골라야 합니다.

선택지는 크게 두 가지입니다.

  • Modbus TCP – 어떤 PLC든 통하는 산업용 표준

  • XGT FEnet – LS PLC에서만 쓸 수 있는 전용 프로토콜
  • 둘 다 이더넷 케이블 하나면 됩니다. 둘 다 잘 됩니다.

    그런데 저는 LS PLC에 연결할 때 XGT를 훨씬 더 많이 씁니다.

    이유는 간단합니다. PLC 프로그램을 안 건드려도 되기 때문입니다.

    처음에 Modbus로 시작했다가 PLC 래더 프로그램 수정하는 데서 막혀서 꽤 고생했습니다. "데이터 읽기만 하면 되는데 왜 PLC 프로그램까지 건드려야 하지?" 싶었거든요. XGT로 바꾸니까 그 고민이 사라졌습니다.

    무슨 뜻인지, 하나씩 정리합니다.

    실제 Python 코드로 연결하는 방법이 궁금하시면 실습 가이드를 참고하세요.

    >
    → Python으로 XGT FEnet & Modbus TCP 연결하기 (코드 포함)


    Modbus TCP란?

    Modbus는 1979년에 만들어진 산업용 통신 표준입니다.

    거의 모든 PLC, 센서, 인버터가 지원해서, "Modbus 되냐?"가 장비 선택의 기본 조건처럼 된 지 오래입니다.

    어떻게 동작하나?

    쉽게 말하면 이렇습니다.

    PLC 안에 번호가 붙은 서랍이 줄지어 있다고 생각하면 됩니다.

    "100번 서랍부터 10개 열어서 보여줘"

    이렇게 요청하면, PLC가 100~109번 서랍의 데이터를 순서대로 넘겨줍니다.

    이 "서랍"을 레지스터(Register)라고 부르고, 각 서랍에는 16비트(2바이트) 숫자가 하나씩 들어갑니다.

    Modbus TCP 마스터-슬레이브 통신 구조

    항목내용
    연결Ethernet (TCP/IP)
    포트502
    데이터 단위레지스터 (16비트, 숫자 1개)
    주소 방식번호 (0, 1, 2, 3...)

    자주 쓰는 명령은 4가지입니다.

    명령하는 일예시
    FC03레지스터 읽기"100번부터 10개 읽어줘"
    FC04입력 레지스터 읽기센서 값 등 읽기 전용 데이터
    FC06레지스터 1개 쓰기"200번에 1234 넣어줘"
    FC16레지스터 여러 개 쓰기"200번부터 5개에 값 넣어줘"

    Modbus의 장점

    범용성이 압도적입니다.

    LS든, 미쓰비시든, 지멘스든 — 제조사가 달라도 Modbus 지원하면 같은 코드로 통신됩니다.

    여러 제조사 장비가 섞인 라인이면, Modbus가 사실상 유일한 선택지인 경우도 많습니다.

    Modbus의 단점

    PLC 쪽에서 "서랍 정리"를 해줘야 합니다.

    아까 "번호가 붙은 서랍"이라고 했는데, 이 서랍에 어떤 데이터를 넣을지는 PLC 프로그래머가 직접 지정해야 합니다.

    예를 들어:

  • "100번 서랍에는 온도 데이터를 넣겠다"

  • "101번 서랍에는 압력 데이터를 넣겠다"
  • 이걸 매핑(Mapping)이라고 합니다.

    문제는 나중에 PLC 프로그램이 바뀔 때입니다.

    PLC 내부에서 데이터 위치가 바뀌면, 이 매핑 테이블도 같이 수정해야 합니다.

    그런데 이 작업은 PLC 프로그래머만 할 수 있습니다.

    현장에서는 PLC 담당자랑 PC 담당자가 다른 사람인 경우가 많습니다.

    PLC 쪽에서 주소를 바꿨는데 매핑을 안 바꿔서, PC에서 엉뚱한 데이터를 읽는 일이 실제로 있습니다.


    XGT FEnet이란?

    LS Electric(옛 LS산전) PLC 전용 이더넷 프로토콜입니다.

    LS PLC에서만 쓸 수 있는 대신, PLC 메모리에 직접 접근합니다.

    LS Electric XGK PLC와 FEnet 모듈

    항목내용
    연결Ethernet (TCP/IP)
    포트2004
    데이터 단위PLC 메모리 직접 접근
    주소 방식이름 (%MW100, %DW0 등)
    대상 PLCXGK, XGB, XGI, XGR 시리즈

    Modbus와 결정적으로 다른 점

    "서랍 번호"가 아니라 "이름"으로 직접 찾아갑니다.

    Modbus가 "100번 서랍 열어줘"라고 하는 거라면,

    XGT FEnet은 "%MW100 줘"라고 합니다.

    PLC 내부 메모리 주소를 그대로 지정하는 겁니다. 중간에 매핑이 필요 없습니다.

    이게 왜 중요한지 —


    핵심: PLC 프로그램이 바뀔 때 차이

    여기가 XGT를 쓰는 진짜 이유입니다.

    Modbus 방식

  • PLC 프로그래머가 내부 주소 변경 (%MW100 → %MW200)

  • Modbus 매핑도 수정해야 함 (100번 서랍에 %MW200 연결)

  • 매핑 수정 빠뜨리면 → 엉뚱한 데이터 읽음

  • PLC 프로그래머한테 "매핑 바꿔주세요" 요청 필요
  • PC 담당자 혼자서 해결 불가.

    XGT FEnet 방식

  • PLC 프로그래머가 내부 주소 변경 (%MW100 → %MW200)

  • PC 프로그램에서 "%MW100" → "%MW200"으로 변경

  • 끝.
  • PLC 쪽은 건드릴 게 없습니다.

    FEnet 모듈만 있으면 바로 메모리를 읽고 쓸 수 있습니다.

    PLC에 "Modbus 서버 활성화", "매핑 테이블 작성" 같은 별도 통신 설정 자체가 필요 없습니다.

    현장에서 PLC 프로그램이 수정되는 건 흔한 일입니다.

    라인 변경, 설비 추가, 로직 수정...

    이럴 때마다 Modbus 매핑까지 같이 관리하면 꽤 번거롭습니다.


    XGT 메모리 주소 읽는 법

    XGT PLC의 메모리 주소는 3개 파트로 구성됩니다.

    예: %MW100

    파트의미이 예시에서는
    %"PLC 메모리 주소입니다" (고정)%
    M메모리 영역M = 내부 메모리
    W데이터 크기W = 워드 (16비트)
    100번호100번째

    → 합치면: "내부 메모리(M) 영역의 100번 워드(16비트)"

    메모리 영역 종류

    기호영역쉽게 말하면
    %IInput센서에서 들어오는 신호
    %QOutput모터·밸브 등으로 내보내는 신호
    %MMemory데이터 저장 공간 (가장 많이 사용)
    %DData데이터 레지스터
    %TTimer타이머 값
    %CCounter카운터 값

    데이터 크기

    기호크기용도
    X1비트ON/OFF 상태
    B1바이트작은 숫자 (0~255)
    W2바이트 (워드)가장 많이 사용
    D4바이트큰 숫자나 소수점
    L8바이트매우 큰 숫자

    실제로 가장 많이 쓰는 건 %MW (M 영역 워드)입니다.

    실제 XGT FEnet 통신을 하려면, PLC에 이더넷 통신 모듈(XBL-EMTA 등)이 장착되어 있어야 합니다.

    LS Electric XBL-EMTA FEnet 이더넷 통신 모듈


    언제 뭘 써야 하나?

    상황추천이유
    LS PLC만 연결XGT FEnetPLC 설정 불필요, 유지보수 쉬움
    여러 제조사 장비 혼재Modbus TCP범용 프로토콜
    PLC 프로그램 자주 수정XGT FEnetPC만 수정하면 됨
    PLC 담당자 ≠ PC 담당자XGT FEnet협업 부담 적음
    센서/인버터도 같이 읽을 때Modbus TCPModbus 지원 장비가 훨씬 많음

    개인적으로 LS PLC 현장이면 기본은 XGT, Modbus는 필요할 때만.

    특히 프로그램 수정이 잦은 시운전 단계에서는 XGT가 압도적으로 편합니다.


    이더넷 통신에 필요한 것

    XGT든 Modbus든, 이더넷으로 통신하려면 3가지가 필요합니다.

  • PLC 쪽 — FEnet 모듈 또는 내장 이더넷 포트

  • PC/터치PC 쪽 — 이더넷 포트 (100Mbps면 충분)

  • 네트워크 — 같은 서브넷에 연결 (공유기나 스위칭 허브)
  • 산업용 터치PC로 PLC 모니터링을 구축한다면, 이더넷 포트가 있는지 확인하세요.

    시리얼(RS485/RS232) 통신도 병행할 가능성이 있다면, COM 포트 수도 체크해야 합니다.

    AutoHano에서 I/O 포트 기준으로 터치PC를 비교할 수 있습니다.

    → 비교 도구에서 I/O 포트 기준으로 비교하기


    시리얼 통신도 있다 (참고)

    이더넷이 안 되는 구형 PLC나, 네트워크 구성이 어려운 환경에서는 시리얼 통신을 씁니다.

    RS485 Modbus 네트워크 토폴로지

    방식프로토콜케이블특징
    LS 전용XGT CnetRS232 / RS485XGT의 시리얼 버전
    표준Modbus RTURS485Modbus의 시리얼 버전

  • RS485 — PLC 여러 대를 한 줄로 연결 가능 (1:N)

  • RS232 — PLC 1대만 연결 (1:1)
  • 시리얼이 필요하면 터치PC에 COM 포트가 몇 개 있는지, RS485인지 RS232인지 확인해야 합니다.

    → COM 포트 기준으로 터치PC 비교하기


    자주 묻는 질문

    XGT FEnet과 Modbus TCP를 동시에 쓸 수 있나?

    네. 포트 번호가 다릅니다. (FEnet: 2004, Modbus: 502)

    같은 이더넷 케이블에서 동시에 사용할 수 있습니다.

    예를 들어, PLC 모니터링은 XGT로 하고 외부 센서는 Modbus로 읽는 식으로 혼용하기도 합니다.

    XGB(소형 PLC)에서도 XGT FEnet 되나?

    됩니다. XGK, XGB, XGI, XGR 시리즈 모두 지원합니다.

    FEnet 모듈이나 내장 이더넷 포트가 있으면 됩니다.

    PLC에 이더넷 포트가 없으면?

    시리얼 통신을 써야 합니다.

  • XGT Cnet — LS 전용, RS232 또는 RS485

  • Modbus RTU — 범용, RS485
  • 이 경우 터치PC에 COM 포트가 필요합니다.


    이 글에서 비교한 터치PC 스펙이나 다른 사이즈가 궁금하시면, AutoHano에서 모델별로 나란히 비교할 수 있습니다.

    >
    → 10인치 산업용 터치PC 가격비교 2026