RS232/RS485 통신은 배선이 맞아도 파라미터가 맞지 않으면 정상적으로 연결되지 않습니다. Baud Rate, Data Bit, Stop Bit, Parity, 프로토콜, 국번 같은 설정은 장비끼리 통신하기 위한 공통 규칙입니다. 한쪽이라도 설정값이 다르면 신호가 들어오더라도 데이터를 해석하지 못하거나, 아예 응답을 받지 못하는 문제가 발생할 수 있습니다.
배선 다음은 파라미터 확인이다
시리얼 통신이 안 될 때는 먼저 배선을 확인해야 합니다. RS232는 Tx/Rx 교차, SG 결선, RS485는 A/B 극성, 종단저항, 2선식·4선식 구분이 맞아야 합니다.
하지만 배선이 맞는데도 통신이 안 붙는 경우가 있습니다. 이때는 파라미터를 확인해야 합니다.
시리얼 통신의 파라미터는 단순한 옵션이 아닙니다. PLC와 상대 장비가 같은 속도, 같은 데이터 길이, 같은 검증 방식, 같은 프로토콜로 대화하기 위한 약속입니다.
대표적으로 확인해야 할 항목은 다음과 같습니다.
| 항목 | 확인 내용 |
|---|---|
| Baud Rate | 통신 속도 |
| Data Bit | 데이터 비트 수 |
| Stop Bit | 정지 비트 수 |
| Parity | 패리티 검사 방식 |
| Protocol | MC, Non-procedure, Modbus 등 통신 방식 |
| Station No | RS485 또는 Modbus에서 상대 장비 국번 |
| Timeout | 응답 대기 시간 |
| Terminator | CR, LF 등 종료 문자 사용 여부 |
본 글은 미쓰비시 PLC와 GX Works2/3 환경에서 RS232/RS485 통신을 설정할 때 자주 발생하는 파라미터 문제를 실무 기준으로 정리한 내용입니다. 실제 설정 항목과 명칭은 CPU, 통신 모듈, 상대 장비에 따라 다를 수 있으므로 최종 적용 전 각 장비 매뉴얼을 확인해야 합니다.
Baud Rate는 통신 타이밍이다
Baud Rate는 통신 속도입니다. 현장에서 9600, 19200, 38400, 57600, 115200 같은 값을 자주 봅니다.
이 값을 단순히 빠르고 느린 설정으로만 보면 안 됩니다. Baud Rate는 데이터를 어떤 시간 간격으로 읽고 쓸 것인지 정하는 기준입니다.
예를 들어 PLC는 9600bps로 데이터를 보내는데 상대 장비가 19200bps로 읽도록 설정되어 있다면, 상대 장비는 PLC가 보내는 신호를 정상적인 데이터 타이밍으로 해석하지 못합니다.
이 경우에는 데이터가 틀리는 수준이 아니라 시작 비트부터 제대로 잡지 못할 수 있습니다.
Baud Rate가 맞지 않을 때는 다음과 같은 증상이 나올 수 있습니다.
| 증상 | 가능 원인 |
|---|---|
| RX LED가 거의 반응하지 않음 | 속도 불일치 또는 배선 문제 |
| 통신 요청 후 응답 없음 | 상대 장비가 신호를 인식하지 못함 |
| 간헐적으로 이상한 데이터가 들어옴 | 속도 또는 프레임 설정 불일치 |
| 8002 타임아웃 발생 | 응답을 정상적으로 받지 못함 |
Baud Rate는 감으로 바꾸는 값이 아닙니다. 상대 장비 매뉴얼에 적힌 통신 조건을 기준으로 맞춰야 합니다. 값을 여러 번 바꾸다 보면 원래 문제인지, 변경한 설정 때문에 생긴 문제인지 구분하기 어려워집니다.
Data Bit, Stop Bit, Parity는 데이터 형식을 맞추는 설정이다
Baud Rate가 신호를 읽는 시간 기준이라면, Data Bit, Stop Bit, Parity는 데이터를 어떤 형식으로 해석할지 정하는 기준입니다.
이 항목이 하나라도 다르면 LED는 깜빡이는데 값이 정상적으로 들어오지 않을 수 있습니다.
| 항목 | 의미 |
|---|---|
| Data Bit | 실제 데이터가 몇 비트로 구성되는지 |
| Stop Bit | 한 문자 또는 프레임의 끝을 구분하는 비트 |
| Parity | 오류 검출을 위한 검사 방식 |
| None | 패리티 사용 안 함 |
| Even | 짝수 패리티 |
| Odd | 홀수 패리티 |
예를 들어 상대 장비는 8비트, Even parity, 1 stop bit로 설정되어 있는데 PLC가 None parity로 설정되어 있으면 신호는 들어와도 정상 데이터로 해석되지 않을 수 있습니다.
현장에서 자주 보는 표기는 다음과 같습니다.
| 표기 | 의미 |
|---|---|
| 9600, 8, N, 1 | 9600bps, 8 data bit, No parity, 1 stop bit |
| 19200, 8, E, 1 | 19200bps, 8 data bit, Even parity, 1 stop bit |
| 38400, 7, E, 2 | 38400bps, 7 data bit, Even parity, 2 stop bit |
이 설정은 PLC와 상대 장비가 반드시 같아야 합니다.
LED는 깜빡이는데 값이 안 들어오는 경우
통신 LED가 깜빡인다는 것은 최소한 신호가 오가고 있을 가능성이 있다는 뜻입니다. 하지만 LED가 깜빡인다고 통신이 정상이라는 뜻은 아닙니다.
LED는 움직이는데 값이 없거나, 값이 깨지거나, 의미 없는 숫자가 들어온다면 다음 항목을 확인해야 합니다.
| 증상 | 확인 항목 |
|---|---|
| RD LED는 깜빡임 | 상대 장비가 응답은 보내는지 확인 |
| 값이 0으로 고정 | 프로토콜, 주소, 국번 확인 |
| 이상한 값이 들어옴 | Data Bit, Parity, Stop Bit 확인 |
| 응답은 있으나 해석 불가 | 프로토콜 불일치 확인 |
| 간헐적으로 정상 | 노이즈, 종단저항, 타임아웃도 함께 확인 |
즉, LED가 움직이면 배선만 볼 것이 아니라 데이터 해석 조건을 확인해야 합니다. 시리얼 통신은 신호가 들어오는 것과 값을 정상적으로 해석하는 것이 별개의 문제입니다.
프로토콜이 다르면 대화가 성립하지 않는다
프로토콜은 장비끼리 데이터를 주고받는 형식입니다. 통신 속도와 비트 설정이 같아도 프로토콜이 다르면 통신은 정상적으로 성립하지 않습니다.
예를 들어 PLC는 MC 프로토콜로 통신하려고 하는데 상대 장비는 Modbus RTU 응답만 지원한다면 서로 프레임을 이해하지 못합니다. 반대로 상대 장비가 ASCII 문자열을 보내는데 PLC 쪽은 고정된 바이너리 프레임으로 해석하려고 하면 값이 정상적으로 처리되지 않습니다.
현장에서 많이 접하는 방식은 다음과 같습니다.
| 방식 | 설명 |
|---|---|
| MC 프로토콜 | 미쓰비시 PLC 통신에서 사용하는 대표적인 프로토콜 |
| Non-procedure | 사용자 정의 송수신, 문자열 장비 연동 등에 사용 |
| Modbus RTU | 인버터, 온도조절계, 서보드라이브 등에서 자주 사용 |
| ASCII 통신 | 바코드, 계측기, 일부 검사 장비에서 사용 |
| 전용 프로토콜 | 제조사별 명령 프레임을 사용하는 방식 |
통신이 안 될 때는 속도만 맞출 것이 아니라 PLC가 어떤 형식으로 말하고 있고, 상대 장비가 어떤 형식으로 응답하는지 확인해야 합니다.
RS232와 RS485에서 국번의 의미는 다르다
국번은 통신 대상 장비의 번호입니다. 특히 RS485나 Modbus RTU처럼 여러 장비가 같은 라인에 연결되는 구조에서는 매우 중요합니다.
RS232는 일반적으로 1:1 통신입니다. PLC와 상대 장비가 한 대씩 직접 연결되므로 국번 의미가 크지 않거나, 장비 내부에서 고정값처럼 사용되는 경우가 많습니다.
반면 RS485는 여러 장비가 같은 통신 라인에 연결될 수 있습니다. 이때 PLC가 1번 장비를 호출했는데 실제 장비 국번이 2번으로 설정되어 있으면, 해당 장비는 응답하지 않습니다.
| 구분 | 국번 의미 |
|---|---|
| RS232 | 1:1 구조라 국번 영향이 작거나 고정인 경우가 많음 |
| RS485 | 1:N 구조에서 상대 장비를 구분하는 핵심 값 |
| Modbus RTU | Slave ID가 맞지 않으면 응답하지 않음 |
| 다수 장비 구성 | 중복 국번이 있으면 통신 충돌 가능 |
RS485 통신에서 응답이 없으면 Baud Rate와 배선뿐 아니라 국번을 반드시 확인해야 합니다.
GX Works에서 확인할 주요 설정
GX Works2/3에서는 사용하는 CPU나 통신 모듈에 따라 설정 위치와 항목이 다를 수 있습니다. 일반적으로는 PLC 파라미터, 시리얼 포트 설정, 통신 모듈 설정, 채널 설정에서 관련 항목을 확인합니다.
확인해야 할 설정은 다음과 같습니다.
| 설정 항목 | 확인 내용 |
|---|---|
| 사용 채널 | CH1, CH2 등 실제 결선된 포트와 일치하는지 |
| 통신 속도 | 상대 장비 Baud Rate와 일치하는지 |
| Data Bit | 상대 장비 설정과 일치하는지 |
| Stop Bit | 상대 장비 설정과 일치하는지 |
| Parity | None, Even, Odd 설정이 맞는지 |
| 통신 방식 | RS232, RS422, RS485 설정 확인 |
| 프로토콜 | MC, Non-procedure, Modbus 등 일치 여부 |
| 수신 종료 조건 | CR, LF, 고정 길이, 타임아웃 등 |
| 타임아웃 | 상대 장비 응답 시간에 맞는지 |
설정값은 상대 장비 매뉴얼에 적힌 통신 조건을 그대로 맞추는 것이 원칙입니다. PLC 성능에 맞춰 임의로 바꾸는 값이 아니라, 양쪽 장비가 공유해야 하는 약속입니다.
8002 에러를 파라미터 관점에서 보는 방법
미쓰비시 PLC 시리얼 통신에서 8002 타임아웃 계열 에러가 발생하면 PLC가 요청을 보냈지만 정해진 시간 안에 정상 응답을 받지 못한 상태로 볼 수 있습니다.
배선이 맞다는 전제에서 8002가 발생하면 다음 항목을 확인해야 합니다.
| 증상 | 확인 항목 |
|---|---|
| LED가 전혀 반응하지 않음 | Baud Rate, 배선, 포트 설정 |
| SD만 깜빡이고 RD가 없음 | 상대 장비 국번, 프로토콜, 배선 방향 |
| RD는 깜빡이나 데이터 없음 | Parity, Data Bit, Stop Bit, 프레임 해석 |
| 특정 명령만 타임아웃 | 주소, 기능 코드, 명령 프레임 오류 |
| 가끔 정상, 가끔 타임아웃 | 노이즈, 종단저항, 타임아웃 시간, 통신 주기 |
8002는 단순히 “통신 안 됨”으로만 보면 안 됩니다. PLC가 보낸 신호를 상대가 못 들은 것인지, 들었지만 무시한 것인지, 응답했지만 PLC가 해석하지 못한 것인지 나누어 봐야 합니다.
통신 문제를 증상별로 나누는 방법
시리얼 통신 트러블은 증상에 따라 접근 순서가 달라집니다.
| 증상 | 우선 확인 |
|---|---|
| LED가 전혀 안 움직임 | 전원, 포트, 배선, Baud Rate |
| SD만 움직이고 RD가 없음 | 상대 장비 응답 조건, 국번, 프로토콜 |
| SD/RD 둘 다 움직임 | Parity, Data Bit, Stop Bit, 프레임 구조 |
| 값이 깨짐 | 패리티, 데이터 비트, 노이즈, SG |
| 응답이 느림 | 타임아웃, 통신 주기, 상대 장비 처리 시간 |
| 장비 여러 대 중 일부만 안 됨 | 국번, 중복 ID, 해당 장비 파라미터 |
이렇게 나누면 통신 문제를 무작정 설정 전체를 바꾸는 방식으로 접근하지 않아도 됩니다.
설정을 임의로 바꾸면 원인 추적이 어려워진다
통신이 안 될 때 Baud Rate, Parity, Stop Bit, 국번을 하나씩 바꾸다 보면 오히려 원인 추적이 어려워집니다.
처음에는 배선 하나가 문제였는데, 설정을 여러 개 바꾼 뒤에는 배선 문제인지, 바꾼 설정 때문인지 구분하기 어려워집니다.
따라서 통신 설정을 바꿀 때는 다음 기준을 지키는 것이 좋습니다.
| 기준 | 설명 |
|---|---|
| 매뉴얼 기준값 확보 | 상대 장비 통신 조건을 먼저 확인 |
| 한 번에 하나만 변경 | 여러 항목을 동시에 바꾸지 않음 |
| 변경 전 값 기록 | 기존 설정을 메모하거나 캡처 |
| 변경 후 증상 확인 | LED, 에러코드, 수신값 변화를 확인 |
| 정상값 복구 가능 | 원래 설정으로 되돌릴 수 있게 관리 |
감으로 바꾸는 설정은 통신 트러블을 더 복잡하게 만들 수 있습니다.
파라미터 점검 순서
배선이 맞다고 판단되면 다음 순서로 파라미터를 확인하는 것이 좋습니다.
| 순서 | 점검 항목 |
|---|---|
| 1 | 실제 사용 포트와 GX Works 설정 채널이 일치하는지 확인 |
| 2 | 통신 방식이 RS232, RS422, RS485 중 맞게 설정되었는지 확인 |
| 3 | Baud Rate가 상대 장비와 일치하는지 확인 |
| 4 | Data Bit, Stop Bit, Parity가 일치하는지 확인 |
| 5 | 프로토콜이 상대 장비와 일치하는지 확인 |
| 6 | RS485 또는 Modbus 사용 시 국번이 맞는지 확인 |
| 7 | 수신 종료 조건 또는 데이터 길이 조건을 확인 |
| 8 | 타임아웃 시간이 상대 장비 응답 시간에 맞는지 확인 |
| 9 | 명령 프레임의 주소와 기능 코드가 맞는지 확인 |
| 10 | 설정 변경 후 PLC 반영 또는 재기동 필요 여부 확인 |
일부 설정은 변경 후 PLC에 쓰기, 리셋, 전원 재투입, 모듈 재시작이 필요할 수 있습니다. 설정을 바꿨는데도 변화가 없다면 실제로 설정이 반영되었는지 확인해야 합니다.
통신 설정 체크리스트
시리얼 통신 파라미터를 점검할 때는 다음 항목을 확인합니다.
| 점검 항목 | 확인 내용 |
|---|---|
| Baud Rate | PLC와 상대 장비 속도가 같은지 |
| Data Bit | 데이터 비트 수가 같은지 |
| Stop Bit | 정지 비트 설정이 같은지 |
| Parity | None, Even, Odd 설정이 같은지 |
| Protocol | MC, Modbus, Non-procedure 등 방식이 맞는지 |
| Station No | RS485 또는 Modbus 국번이 맞는지 |
| Channel | 실제 결선 포트와 설정 채널이 같은지 |
| Timeout | 응답 대기 시간이 너무 짧지 않은지 |
| Terminator | CR, LF 등 종료 조건이 맞는지 |
| 설정 반영 | PLC 또는 모듈에 설정이 실제 반영되었는지 |
이 체크리스트는 배선이 맞는 상태에서 통신이 안 될 때 우선 확인할 항목입니다.
RS232/RS485 파라미터 정리
RS232/RS485 통신은 배선이 맞아도 파라미터가 맞지 않으면 정상적으로 동작하지 않습니다. Baud Rate는 신호를 읽는 타이밍이고, Data Bit, Stop Bit, Parity는 데이터를 해석하는 형식입니다. 프로토콜은 장비끼리 어떤 문장 구조로 대화할지 정하는 규칙이며, RS485나 Modbus에서는 국번이 맞아야 상대 장비가 응답합니다.
통신 LED가 전혀 움직이지 않으면 배선, 포트, Baud Rate를 먼저 확인하고, LED는 움직이는데 값이 없거나 깨진다면 Parity, Data Bit, Stop Bit, 프로토콜, 국번을 확인해야 합니다. 8002 타임아웃이 발생할 때도 단순히 통신 불량으로만 보지 말고, PLC가 못 듣는 상태인지, 상대 장비가 무시하는 상태인지, 응답을 해석하지 못하는 상태인지 나누어 판단해야 합니다.
시리얼 통신 설정은 감으로 바꾸는 값이 아니라 상대 장비와 맞춰야 하는 공통 규칙입니다. 설정을 변경할 때는 한 번에 하나씩 바꾸고, 변경 전 값을 기록하며, 실제 PLC나 통신 모듈에 반영되었는지 확인하는 것이 중요합니다.