PLC Engineer's Field Notes

Practical solutions for industrial automation


[실무] RS232/RS485 통신 안 되는 진짜 이유 파라미터 하나 틀리면 끝입니다

“배선을 몇 번이나 확인했는데도 왜 통신이 안 될까요? 원인의 대부분은 파라미터 설정 창 안에 있습니다.”

배선 자체가 헷갈린다면 먼저 이전 글을 보고 오시는 게 좋습니다.
👉 [실무] RS232/RS485 배선 틀리면 통신 절대 안 붙습니다. PLC 결선 핵심 정리

시리얼 통신 설정은 단순히 숫자 몇 개 넣는 게 아닙니다. 상대 기기와 ‘약속’을 하는 과정입니다. 오늘은 설정 하나만 틀려도 왜 통신이 연결이 안되는지 , 그 본질적인 이유를 파헤쳐 봅니다.


1. 통신 규격 설정: 왜 1bit라도 틀리면 통신이 죽는가?

현장에서 가장 많이 하는 실수가 “9600이나 19200이나 속도 차이 아니냐?”고 생각하는 겁니다. 아닙니다. 시리얼 통신에서 속도(Baud Rate)는 ‘데이터를 읽는 타이밍 규칙’입니다.

  • 9600bps: 1초를 9,600개로 쪼개서 그 간격마다 신호를 확인합니다.
  • 19200bps: 1초를 19,200개로 쪼개서 더 촘촘하게 확인합니다.

만약 PLC는 9,600으로 보내는데 상대 장비가 19,200으로 읽으려 한다면, 상대는 신호의 시작점(Start Bit)조차 찾지 못합니다. 타이밍이 완전히 어긋나기 때문입니다.

저도 통신이 안 된다고 속도부터 바꿔봤다가, 원래 문제보다 더 엉망이 된 적이 있습니다.
처음엔 원인 하나만 찾으면 됐는데, 값을 건드린 순간부터 “지금 원래 문제인지, 내가 바꾼 설정 때문인지” 다시 봐야 했습니다.

그래서 Baud Rate는 감으로 바꾸는 값이 아니라, 상대 장비 조건을 확인하고 맞춰야 하는 값입니다.

👉 속도(Baud Rate)가 틀렸을 때의 현장 증상:

  • RX LED 자체가 거의 반응하지 않거나 무응답입니다. (신호를 신호로 인식 못 함)
  • 간혹 데이터가 튀면서 간헐적으로 깜빡일 수 있으나, 사실상 대화 불가 상태입니다.

[한 줄 직설]

“속도가 다르면 데이터를 못 읽는 게 아니라, 상대 신호를 아예 못 잡습니다.”


2. 프로토콜과 패리티: “LED는 깜빡이는데 값이 안 들어온다면?”

속도는 맞췄는데 데이터가 안 들어온다면, 그때부터는 ‘해석의 영역’입니다.

  • 패리티/데이터 비트 불일치: 신호는 잡았는데(LED 깜빡임), 문법이 틀려 데이터가 깨집니다.
  • 프로토콜 불일치: 한국말(MC)과 영어(Modbus)의 차이입니다. 신호는 완벽히 들어오지만(LED 정상), 내용을 전혀 이해하지 못합니다.

👉 이 경우의 현장 증상:

  • 통신 LED(SD/RD)는 아주 정상적으로 깜빡입니다.
  • 하지만 값은 0으로 고정되어 있거나, 의미 없는 ‘알수 없는 값’이 들어옵니다.

[한 줄 직설]
“신호는 들어오는데 값이 없으면, 이해를 못 하는 상태입니다.”


3. 국번(Station No): “누구를 부르는가?” (232와 485의 차이)

국번 설정은 내가 통신하려는 상대의 ‘이름표’를 확인하는 과정입니다.

  • RS-232 (1:1 통신): 단둘이 대화하는 방식이므로 국번의 의미가 거의 없습니다. 보통 0번이나 1번으로 고정되어 무시됩니다.
  • RS-485 / Modbus (1:N 통신): 여러 대의 장비가 연결되어 있으므로 국번(Slave ID)이 필수입니다. 1번 장비를 불렀는데 장비가 2번으로 설정되어 있다면, 상대는 내 말을 듣고도 “나 부르는 거 아니네” 하고 무시해버립니다.
    저도 RS-232만 보다가 RS-485를 처음 다룰 때, 왜 갑자기 국번이 필요한지 여기서 감이 왔습니다.
    1:1 대화에서는 필요 없던 번호표가, 여러 장비가 한 줄에 붙는 순간 필수가 되는 구조였습니다.

[현장 꿀팁] “LED가 아예 안 움직이면 속도 문제, LED는 움직이는데 값이 안 들어오면 설정(프로토콜/국번) 문제입니다.”


4. 실제 설정은 어디서 하는가? (GX Works 기준)

RS232 통신 설정 매뉴얼 Baud Rate Parity Data Bit 예시 사진
[Fig.1] 상대 장비 매뉴얼에 표시된 통신 조건 예시. Baud Rate, Parity, Data Bit 값을 그대로 맞춰야 합니다.

GX Works2/3 기준: [PLC 파라미터] → [시리얼 포트 설정(CH1/CH2)]

여기서 Baud Rate, Parity, 프로토콜 등을 설정합니다. 이 값들은 반드시 상대 기기 매뉴얼에 적힌 값을 그대로 복사해와야 합니다.

👉 왜 복사해야 하는가? 이 설정은 PLC의 성능 문제가 아니라, 장비 간의 “공통 규칙”이기 때문입니다. 한쪽이라도 고집을 부리면 통신은 성립되지 않습니다.


5. 🔧 배선은 맞는데 왜 8002 에러가 뜰까?

현장에서 8002(Timeout)가 뜬다면 두 가지만 기억하세요.

  1. LED가 안 깜빡인다 → 속도(Baud Rate) 설정이나 물리적 배선 확인.
  2. LED는 깜빡인다 → 프로토콜, 국번, 패리티 비트 설정 확인.

[한 줄 직설]
“현장에서 통신 문제는 보통 못 듣거나, 못 알아듣는 쪽에서 막힙니다.”


👉 오늘 내용 3줄 요약

  1. Baud Rate는 신호를 읽는 타이밍이며, 틀리면 LED조차 반응하지 않는다.
  2. LED는 움직이는데 값이 없다면 프로토콜이나 패리티 설정을 의심하라.
  3. RS-232는 1:1 대화, RS-485는 번호표(국번)를 부르는 구조임을 명심하자.

[다음 포스팅 예고]

개념을 잡았으니 다음은 실제 설정입니다.
GX Works 화면에서 어디를 눌러야 하는지, 어떤 값을 넣어야 하는지 순서대로 정리하겠습니다.

매뉴얼 찾을 필요 없이, 화면 캡처만 보고 그대로 따라 할 수 있는 ‘가이드‘를 준비했습니다. 특히 설정 다 하고도 안 붙을 때 해결하는 ‘마지막 한 수’까지 공개합니다.

👉 [실무] PLC 통신 안 붙을 때 마지막 확인 GX Works 파라미터 설정 순서