본문 바로가기
산업계측 기술연구소 산업계측 기술연구소

RS485 통신 안 될 때 점검법|2선식 결선·A/B 연결·120Ω 종단저항

읽는 시간 약 23분 조회 10
RS485 통신에서 PLC와 Device 1·2를 A/B 2선식으로 연결하고 버스 양 끝에 120Ω 종단저항을 설치한 구성

RS485 Modbus 통신이 안 될 때 가장 답답한 경우는 전원도 정상이고 PLC나 계측기 화면도 정상인데 통신만 응답하지 않는 상황입니다.

TX/RX LED는 깜빡이는데 데이터가 들어오지 않거나, 특정 장비를 추가한 뒤부터 전체 통신이 불안정해지는 경우도 있습니다.

이럴 때는 프로그램부터 의심하기보다 다음 순서로 확인하는 것이 원인을 빠르게 좁히는 데 도움이 됩니다.

  1. RS485 A/B 배선
  2. Baud Rate·Parity·Stop Bit
  3. Slave ID
  4. 120Ω 종단저항
  5. 네트워크 배선 구조
  6. Shield·Common·접지
  7. Modbus Function Code와 Register 주소

RS485와 Modbus는 같은 의미가 아니기 때문에 물리적인 통신선 문제와 Modbus 설정 문제를 구분해서 점검하는 것이 핵심입니다.

RS485와 Modbus RTU는 같은 것일까

RS485는 전기적인 신호를 전달하는 물리 계층(Physical Layer)의 통신 방식이고, Modbus는 장비 사이에서 데이터를 어떤 형식으로 주고받을지를 정한 통신 프로토콜입니다.

쉽게 표현하면

RS485 = 데이터를 전달하는 전기적 통로

Modbus RTU = 그 통로에서 사용하는 데이터 대화 규칙

이라고 이해할 수 있습니다.

Modbus Serial Line은 RS485 2선식을 가장 일반적인 물리 인터페이스로 사용하며, RTU 방식에서는 Master가 요청을 보내고 Slave가 이에 응답하는 구조입니다.

따라서 RS485 배선이 정상이어도 Modbus 설정이 다르면 통신되지 않을 수 있고, 반대로 Modbus 설정이 정확해도 RS485 배선이나 종단저항에 문제가 있으면 정상 통신이 어렵습니다.

가장 먼저 RS485 A/B 배선부터 확인한다

RS485 통신이 전혀 되지 않을 때 가장 먼저 확인할 부분은 두 통신선의 극성입니다.

현장에서는 제조사에 따라 RS485 단자가 A/B, D+/D-, Positive(+)/Negative(-), D1/D0, RS485+/RS485- 등으로 표시될 수 있습니다. 다만 A/B와 +/- 표기 기준이 제조사마다 동일하다고 단정할 수 없으므로 장비 매뉴얼의 단자 정의를 우선 확인해야 합니다.

  • A / B
  • D+ / D-
  • Positive (+) / Negative (-)
  • D1 / D0
  • RS485+ / RS485-

문제는 A와 B의 표기 방식이 제조사마다 반드시 동일하지 않을 수 있다는 점입니다.

따라서 단순히

A는 A끼리, B는 B끼리 연결하면 된다

라고 생각하면 오히려 문제가 생길 수 있습니다.

A/B 표기보다 제조사 매뉴얼을 우선해야 하는 이유

장비마다

  • A = +
  • B = –

로 표현하기도 하고, 반대로 정의된 것처럼 보이는 제품도 있습니다.

그래서 가장 안전한 방법은 PLC, 통신모듈, 계측기 각각의 데이터시트에서

  • D+
  • D-
  • D1
  • D0
  • Non-inverting
  • Inverting

표기를 확인하는 것입니다.

특히 기존 설비에 새로운 계측기 하나를 추가했는데 통신이 안 된다면 해당 신규 장비의 RS485 단자 정의를 먼저 확인하는 것이 좋습니다.

A/B를 바꾸면 장비가 고장날까

일반적인 RS485 통신선의 극성을 반대로 연결했다고 해서 즉시 장비가 손상되는 경우는 흔하지 않습니다.

대신 대부분

  • 통신 응답 없음
  • CRC Error 증가
  • Timeout 발생
  • 간헐적인 통신 오류

형태로 나타납니다.

다만 장비마다 인터페이스 보호 구조가 다르므로 전원을 넣은 상태에서 임의로 배선을 반복 변경하기보다는 매뉴얼에 따라 점검하는 것이 좋습니다.

Baud Rate가 하나만 달라도 통신이 되지 않는다

배선이 정상이라면 다음으로 확인할 것이 Baud Rate입니다.

Baud Rate는 통신 속도를 나타냅니다.

Modbus RTU에서 흔히 볼 수 있는 값은

  • 9600 bps
  • 19200 bps
  • 38400 bps
  • 57600 bps
  • 115200 bps

등입니다.

Master와 Slave가 서로 다른 속도로 설정되어 있으면 정상적으로 데이터를 해석할 수 없습니다.

예를 들어

PLC = 9600 bps

계측기 = 19200 bps

라면 통신이 되지 않습니다.

Modbus Serial Line 구현 가이드에서는 9600과 19200 bps 등을 주요 구현 속도로 제시하고 있으며, Serial Line에 연결된 장비들은 동일한 통신 조건을 맞춰야 합니다.

Parity와 Stop Bit도 반드시 확인한다

Baud Rate만 같다고 통신되는 것은 아닙니다.

Modbus RTU에서는 다음 항목도 서로 일치해야 합니다.

  • Data Bit
  • Parity
  • Stop Bit

예를 들어 한쪽이

9600 / 8 / Even / 1

이고 다른 쪽이

9600 / 8 / None / 1

이라면 정상적인 통신이 어렵습니다.

Modbus Serial Line 사양에서는 RTU의 기본 구성을 Even Parity로 설명하며, No Parity를 사용하는 경우 프레임 구성에 맞춰 추가 Stop Bit를 사용하는 방식도 명시하고 있습니다. 하지만 실제 산업 장비에는 8-N-1 등 제조사별 설정이 널리 사용되므로 표준값을 추측하지 말고 Master와 Slave 설정을 직접 비교하는 것이 가장 중요합니다.

Slave ID가 중복되거나 틀리지 않았는지 확인한다

Modbus RTU에서는 각 Slave 장비가 고유한 주소를 가집니다.

일반적인 개별 Slave 주소 범위는

1~247

입니다.

주소 0은 Broadcast 용도로 예약되어 있으며, 개별 Slave 주소로 사용하는 값이 아닙니다.

예를 들어 PLC가 Slave ID 5에 요청을 보내고 있는데 실제 계측기가 ID 6이라면 통신 응답은 오지 않습니다.

Slave ID 중복도 문제다

같은 RS485 버스에

  • 계측기 A = ID 3
  • 계측기 B = ID 3

처럼 같은 주소를 사용하는 장비가 두 대 존재하면 두 장비가 동시에 응답하면서 통신 충돌이 발생할 수 있습니다.

따라서 여러 장비가 연결된 네트워크에서는 각각의 주소가 서로 다른지 확인해야 합니다.

현장에서 장비를 교체한 뒤 Modbus 통신이 이상해졌다면 새 장비가 공장 초기값인 ID 1로 설정되어 기존 장비와 중복되지 않았는지도 확인해 볼 필요가 있습니다.

RS485 종단저항 120Ω은 왜 사용하는가

RS485 통신에서 자주 등장하는 것이 120Ω 종단저항(Termination Resistor)입니다.

긴 통신 케이블에서는 신호가 케이블 끝에 도달한 뒤 일부가 반사되어 되돌아올 수 있습니다.

이러한 Signal Reflection이 커지면 데이터 파형이 깨지고 통신 오류가 발생할 수 있습니다.

종단저항은 통신 케이블의 특성 임피던스와 맞춰 신호 반사를 줄이는 역할을 합니다.

RS485 네트워크에서는 일반적으로 약 120Ω 특성 임피던스의 케이블이 사용되며, 종단저항은 버스의 양 끝에 배치하는 방식이 일반적입니다. TI도 RS485 종단저항의 기본 목적을 전송선 임피던스를 맞춰 신호 반사를 줄이는 것으로 설명합니다.

종단저항은 장비마다 전부 달면 될까

그렇지 않습니다.

일반적인 RS485 버스에서는 양 끝 두 지점에 종단저항을 두는 방식이 기본입니다.

예를 들어 다음과 같은 연결이라고 가정합니다.

PLC → 계측기 1 → 계측기 2 → 계측기 3

이 경우 일반적으로

  • PLC 측 끝단
  • 계측기 3 측 끝단

에 종단저항을 적용하고, 중간 장비에는 종단저항을 넣지 않습니다.

중간 장비마다 120Ω 저항을 모두 추가하면 전체 부하가 지나치게 낮아져 RS485 Driver가 충분한 차동전압을 만들지 못할 수 있습니다.

멀티미터로 종단저항 상태를 확인할 수 있을까

가능은 하지만 조건을 이해해야 합니다.

두 개의 120Ω 종단저항이 버스 양 끝에 연결되어 있다면 전원이 꺼진 상태에서 A-B 사이를 측정했을 때 두 저항이 병렬로 보이므로 이론적으로

120Ω ∥ 120Ω ≈ 60Ω

부근이 측정될 수 있습니다.

따라서 전체 버스에서 약 60Ω 전후가 확인되면 양 끝의 120Ω 종단저항이 존재하는지 판단하는 단서가 될 수 있습니다.

하지만 실제 장비 내부에는

  • Fail-safe Bias Resistor
  • 내부 Termination
  • Protection Circuit
  • Transceiver 입력회로

등이 연결될 수 있으므로 60Ω이 정확히 측정되어야 정상이라고 단정하면 안 됩니다.

저항을 측정할 때는 반드시 통신 회로의 전원을 차단하고 해당 장비의 매뉴얼을 확인하는 것이 좋습니다.

짧은 RS485 케이블에도 반드시 120Ω이 필요한가

항상 그렇다고 단정하기는 어렵습니다.

낮은 통신속도와 짧은 케이블에서는 신호 왕복 지연이 충분히 작아 종단저항이 없어도 정상적으로 동작하는 경우가 있습니다.

반대로 케이블 길이가 길거나 통신속도가 높아지면 신호 반사의 영향이 커지므로 종단처리가 중요해집니다.

TI에서도 케이블 지연시간과 Bit Time의 관계에 따라 종단저항의 필요성이 달라질 수 있다고 설명합니다.

따라서

RS485니까 무조건 120Ω을 추가한다

보다는 장비 제조사의 권장 배선과 통신 환경을 기준으로 판단하는 것이 정확합니다.

RS485 배선은 별 모양보다 Daisy Chain이 유리하다

RS485는 여러 장비를 연결할 수 있지만 배선 구조도 통신 품질에 영향을 줍니다.

일반적으로 다음과 같은 Bus 또는 Daisy Chain 형태가 적합합니다.

PLC

Device 1

Device 2

Device 3

반대로 한 지점에서 여러 방향으로 길게 갈라지는 Star 형태는 각 분기점에서 임피던스 불연속과 신호 반사를 만들 수 있습니다.

Stub는 가능한 짧게 한다

Main Bus에서 장비까지 짧게 분기되는 케이블을 Stub라고 합니다.

Stub가 길어질수록 신호 반사와 파형 왜곡 가능성이 증가하므로 가능한 짧게 구성하는 것이 좋습니다.

특히 고속 통신이나 긴 RS485 네트워크에서는 배선 토폴로지가 중요한 점검 항목이 됩니다.

RS485 케이블은 왜 Twisted Pair를 사용할까

RS485는 두 신호선 사이의 전압 차이를 이용하는 차동 통신 방식입니다.

두 선을 서로 꼬아 배치한 Twisted Pair 케이블은 외부에서 들어오는 전자기 노이즈가 두 선에 비슷하게 유도되도록 만들어 수신기에서 공통 성분을 제거하기 쉽게 합니다.

인버터, 모터, 전력케이블이 많은 산업 현장에서는 일반 전선보다 RS485용 Twisted Pair 케이블을 사용하는 것이 통신 신뢰성을 높이는 데 도움이 됩니다.

산업용 신호에서 Common Mode와 Differential Mode 노이즈의 차이는 기존 글에서 별도로 설명했습니다.

Shield와 Common은 같은 것이 아니다

RS485 배선에서 자주 혼동하는 부분입니다.

  • A/B 또는 D+/D- = 통신 신호
  • Common 또는 SG = 신호 기준 전위
  • Shield = 외부 노이즈 차폐

역할이 서로 다릅니다.

Shield를 Common 단자와 무조건 연결하거나, Common을 보호접지 PE와 임의로 동일하게 처리하면 새로운 접지 경로를 만들 수 있습니다.

따라서 제조사의 RS485 결선도를 먼저 확인해야 합니다.

특히 서로 다른 제어반이나 먼 거리의 장비를 연결하는 경우 양쪽 접지전위 차이가 커질 수 있으므로 RS485 절연형 인터페이스를 사용하는 것이 도움이 될 수 있습니다.

Shield는 한쪽만 접지해야 할까

저주파 계측 신호에서는 접지루프 방지를 위해 한쪽 접지가 자주 사용되지만, RS485 같은 디지털 통신에서는 시스템의 EMC 설계, 케이블 구조, 장비의 Shield 단자 방식에 따라 적절한 방법이 달라질 수 있습니다.

따라서

RS485 Shield는 무조건 한쪽만 접지해야 한다

라고 단정하기보다는 장비 제조사의 권장 방법을 따르는 것이 적절합니다.

실드 접지와 Ground Loop 원리는 아래 기존 글에서 자세히 확인할 수 있습니다.

Modbus Register 주소가 틀리면 통신은 되는데 데이터가 이상할 수 있다

여기부터는 물리적인 RS485 문제가 아니라 Modbus 프로토콜 설정 문제입니다.

PLC에서 Slave 응답은 정상적으로 들어오는데 원하는 값이 표시되지 않는다면 다음을 확인해야 합니다.

  • Function Code
  • Register Address
  • 데이터 길이
  • 데이터 형식
  • Byte Order
  • Word Order

40001을 그대로 40001로 입력하면 될까

Modbus 장비 매뉴얼에는 다음과 같은 형태의 주소가 자주 등장합니다.

  • 00001
  • 10001
  • 30001
  • 40001

하지만 PLC나 Modbus 프로그램에서는 시작 주소를

  • 0
  • 1
  • 40001

중 어떤 방식으로 입력하는지가 제품마다 다를 수 있습니다.

예를 들어 제조사 매뉴얼에서 Holding Register 40001이라고 표시된 데이터가 실제 통신 프레임에서는 Offset 0에 해당하는 경우도 있습니다.

그래서 통신은 연결됐는데

  • 값이 0으로 나옴
  • 전혀 다른 값이 표시됨
  • Illegal Data Address 오류

가 나타난다면 Address Offset 방식을 확인해야 합니다.

Function Code도 반드시 확인한다

같은 Register 번호처럼 보여도 데이터 영역이 다르면 Function Code가 달라질 수 있습니다.

대표적으로

  • Coil
  • Discrete Input
  • Input Register
  • Holding Register

가 서로 구분됩니다.

예를 들어 계측기 매뉴얼에서 Input Register로 제공하는 값을 Holding Register 읽기 명령으로 요청하면 정상 응답을 받을 수 없습니다.

따라서 PLC 프로그램에 주소 숫자만 입력하지 말고 제조사 Modbus Register Map의 Function Code와 데이터 영역을 함께 확인해야 합니다.

통신은 되는데 숫자가 이상하면 Byte Order를 확인한다

Modbus Register 하나는 일반적으로 16bit 데이터를 담습니다.

하지만 실제 계측값이

  • 32bit Integer
  • 32bit Float
  • 64bit Data

라면 두 개 이상의 Register를 조합하게 됩니다.

예를 들어 Float 값 12.5를 읽었는데 PLC에서 전혀 엉뚱한 숫자가 표시된다면 다음을 확인합니다.

  • Big Endian
  • Little Endian
  • Word Swap
  • Byte Swap

제조사마다 Register Word 순서를 다르게 정의할 수 있기 때문입니다.

이 경우 통신선이나 종단저항을 계속 점검해도 해결되지 않습니다.

TX LED는 깜빡이는데 RX가 전혀 없을 때

이 증상이라면 우선 다음을 의심할 수 있습니다.

  1. A/B 극성 또는 단자 정의 오류
  2. Slave 전원 상태
  3. Slave ID 오류
  4. Baud Rate 불일치
  5. Parity·Stop Bit 불일치
  6. Slave가 Modbus RTU 모드가 아닌 경우
  7. 통신선 단선

Master가 계속 요청을 보내므로 TX LED는 깜빡이지만 Slave가 요청을 정상적으로 해석하지 못하면 RX 응답은 발생하지 않습니다.

TX와 RX 모두 깜빡이는데 데이터가 안 나올 때

이 경우에는 물리 통신이 어느 정도 이루어지고 있을 가능성이 있습니다.

다음 항목으로 범위를 좁혀보는 것이 좋습니다.

  • 잘못된 Register Address
  • Function Code 오류
  • CRC Error
  • Response Timeout
  • Exception Code
  • 데이터 형식 오류
  • Byte/Word Order 문제

특히 Modbus 진단 프로그램이나 PLC 통신 상태 코드에서 Exception Code를 확인하면 원인을 빠르게 찾을 수 있습니다.

장비를 추가했더니 기존 통신까지 끊기는 이유

기존 장비는 정상적으로 통신했는데 새로운 장비를 추가한 뒤 전체 통신이 불안정해졌다면 다음 사항을 우선 확인합니다.

Slave ID 중복

새 장비의 기본 주소가 기존 장비와 같을 수 있습니다.

종단저항 중복

새 장비 내부의 Termination Switch가 ON 상태라면 중간 지점에 추가 종단저항이 들어간 셈이 될 수 있습니다.

Stub 증가

새 장비를 긴 분기선으로 연결하면서 반사가 커질 수 있습니다.

A/B 잘못 연결

한 장비의 배선 작업 과정에서 기존 Bus 연결이 바뀌었을 수 있습니다.

Bias 회로 중복

여러 장비가 각각 강한 Fail-safe Bias 회로를 가지고 있다면 전체 버스 조건에 영향을 줄 수 있습니다.

RS485 Modbus 통신 안 될 때 현장 점검 순서

현장에서 처음부터 Register Map만 들여다보기보다 아래 순서로 확인하는 것이 효율적입니다.

  1. Slave 장비 전원 상태 확인
  2. RS485 A/B 또는 D+/D- 단자 정의 확인
  3. 통신선 단선·접촉불량 확인
  4. Baud Rate·Data Bit·Parity·Stop Bit 비교
  5. Slave ID 확인 및 중복 여부 점검
  6. 종단저항 위치와 설정 확인
  7. Bus·Daisy Chain 배선구조 확인
  8. Shield·Common·접지 상태 확인
  9. Master의 TX와 Slave RX 응답 여부 확인
  10. Function Code와 Register Address 확인
  11. Byte Order·Word Order 확인
  12. 통신 진단 프로그램이나 오실로스코프로 파형 확인

이 순서의 핵심은 물리 계층부터 프로토콜 설정까지 단계적으로 올라가는 것입니다.

A/B 배선이 잘못되어 있는데 Register Address부터 바꾸거나, 반대로 통신이 정상인데 종단저항만 계속 변경하면 점검 시간이 길어질 수 있습니다.

멀티미터로 확인할 수 있는 것과 없는 것

멀티미터로 확인하기 좋은 항목은

  • 장비 전원
  • 케이블 단선
  • 단자 접촉
  • 종단저항
  • Common 전위차

등입니다.

하지만 멀티미터만으로는 실제 RS485 데이터 파형의

  • 반사
  • Overshoot
  • Noise
  • Differential Signal 품질

을 정확하게 판단하기 어렵습니다.

간헐적인 CRC 오류나 장거리 통신 문제가 반복된다면 오실로스코프를 이용해 A-B 차동파형을 확인하는 것이 도움이 됩니다.

RS485 통신이 특정 시간에만 불안정하다면

항상 통신이 안 되는 문제가 아니라 인버터나 대형 모터가 동작할 때만 오류가 증가한다면 배선과 EMI 환경을 함께 확인해야 합니다.

예를 들어

  • RS485 케이블과 모터 전원선이 같은 트레이에 장거리 포설
  • Shield 접지 불량
  • 서로 다른 제어반 사이 큰 접지전위 차
  • 절연되지 않은 RS485 포트

등이 원인이 될 수 있습니다.

이 경우 단순히 Baud Rate를 낮추는 것만으로 해결하기보다 케이블 포설, Shield, 접지, 절연 구조를 함께 점검하는 것이 좋습니다.

핵심 정리

RS485 Modbus 통신 불량은 한 가지 원인으로 발생하지 않습니다.

가장 먼저 기억할 것은 RS485와 Modbus를 분리해서 생각하는 것입니다.

RS485 쪽에서는

  • A/B 배선
  • 케이블
  • 종단저항
  • Bus 구조
  • 노이즈·접지

를 확인합니다.

Modbus 쪽에서는

  • Baud Rate
  • Parity
  • Stop Bit
  • Slave ID
  • Function Code
  • Register Address
  • 데이터 형식

을 확인합니다.

특히 현장에서 가장 먼저 확인할 것은 A/B 단자 정의와 통신 설정값입니다.

그리고 장거리 또는 다수 장비가 연결된 네트워크에서는 120Ω 종단저항, Daisy Chain 구조, Shield 및 접지 상태까지 함께 점검해야 안정적인 RS485 Modbus 통신을 구성할 수 있습니다.

함께 보면 좋은 글

센서 케이블 Shield Ground를 한쪽만 접지하는 이유

4-20mA 신호에 발생하는 Ground Loop 원인과 해결 방법

산업용 센서 노이즈에서 Common Mode와 Differential Mode 차이

참고자료

  • Modbus Organization, MODBUS over Serial Line Specification and Implementation Guide V1.02
    Modbus Serial Line의 RS485 2-Wire 구성, Addressing, RTU Mode, Baud Rate, Parity 등 구현 기준을 설명하는 공식 기술문서입니다.
  • Modbus Organization, MODBUS Application Protocol Specification
    Modbus Function Code와 데이터 통신 구조에 대한 공식 프로토콜 문서입니다.
  • Texas Instruments, RS-485 Basics: When Termination Is Necessary, and How to Do It Properly
    RS485의 120Ω 종단저항, 전송선 임피던스, 신호 반사와 Termination 적용 조건을 설명합니다.
  • Texas Instruments, RS-485 Transceiver Design FAQ
    RS485 종단저항, Fail-safe Biasing, 케이블 길이와 통신속도, 신호 무결성 관련 실무 설계 내용을 확인할 수 있습니다.

이 글이 얼마나 유용했나요?

별을 클릭하여 평가해 주세요!

평균 평점 0 / 5. 평가 수: 0

아직 평가가 없습니다! 첫 번째로 평가해 주세요.

산업계측 기술연구소
함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.