십수 년 된 계측기가 라인에 열 대 있다. 화면에는 값이 잘 뜬다. 그런데 그 값을 PC로 옮길 방법이 없어서, 담당자가 한 시간마다 돌며 손으로 적는다. 설비를 바꾸자는 말이 여기서 나오지만, 대개는 예산 이야기로 끝난다.
장비 뒷면을 한번 보자. 9핀 커넥터나 단자대 두 칸이 거의 붙어 있다.
시리얼 통신 프로그램이란 RS-232나 RS-485로 연결된 설비에서 값을 읽고 명령을 보내는 소프트웨어다. 설비를 새로 사지 않고, 이미 뚫려 있는 구멍으로 데이터를 꺼내는 방식이다. 그래서 데이터 수집을 시작할 때 가장 먼저 검토하는 경로이기도 하다.
통신 규격과 프로토콜은 왜 다른 문제인가
여기서 많이들 엉킨다.
RS-232와 RS-485는 전기적 규격이다. 선을 몇 가닥 쓰고, 전압을 어떻게 걸고, 한 버스에 몇 대까지 붙일 수 있는지를 정한다. 데이터가 무슨 뜻인지는 한 글자도 정하지 않는다.
프로토콜은 그 위에 얹는 약속이다. 어떤 순서로 묻고, 응답의 몇 번째 바이트가 온도인지, 오류 검사는 어떻게 하는지를 정한다. Modbus RTU가 대표적인 공개 표준이고, 장비사가 자기 방식으로 만든 프로토콜도 흔하다.
“포트는 열렸는데 값이 안 읽힌다”는 상황의 상당수가 이 구분에서 나온다. 케이블은 맞게 꽂혔고 신호도 들어오는데, 그 바이트 열을 해석할 규칙을 모르는 상태다. 규격 문제와 규약 문제는 원인도 다르고 해결 방법도 다르다.
RS-232와 RS-485, 무엇이 다른가
| 항목 | RS-232 | RS-485 |
|---|---|---|
| 연결 방식 | 1:1 | 한 버스에 여러 대 |
| 신호 | 기준선 대비 전압(단일 종단) | 두 선의 전압 차(차동) |
| 장비 수 | 포트당 한 대 | 표준 기준 32 유닛 로드 |
| 거리 | 수 m 수준의 짧은 구간 | 저속에서 1,200m 수준 |
| 노이즈 | 공장 환경에 약함 | 차동이라 상대적으로 강함 |
현장 선택은 대개 단순하다. 장비 한 대를 옆 PC에 붙이면 RS-232, 라인을 따라 여러 대를 한 줄로 엮으면 RS-485다.

RS-485는 배선 한 쌍으로 수십 대를 물릴 수 있어 증설이 싸다. 대신 한 대가 선을 잘못 잡으면 버스 전체가 조용해진다. 편한 만큼 같이 넘어간다.
실무에서는 어디서 막히나
첫 번째는 통신 파라미터다. 보드레이트, 데이터 비트, 패리티, 정지 비트. 9600-8-N-1 같은 조합이 한 칸만 어긋나도 깨진 문자가 들어온다. 매뉴얼이 남아 있으면 5분이고, 없으면 조합을 훑는 작업이 붙는다.

두 번째는 종단 저항이다. RS-485 버스는 양 끝에 120Ω을 넣는 게 기본이다. 짧고 느린 구간에서는 없어도 도는 경우가 있어서, 안 넣고 쓰다가 라인을 늘린 날 값이 튀기 시작한다.
세 번째는 주소다. 한 버스에 같은 주소를 가진 장비가 둘 있으면 동시에 응답하고, 그 응답은 서로를 망가뜨린다. Modbus RTU 기준으로 슬레이브 주소는 1부터 247까지 쓰고 0은 브로드캐스트다. 장비를 추가하는 사람과 주소를 관리하는 사람이 다를 때 이 사고가 난다.
네 번째는 타임아웃이다. 요청을 보내고 응답을 얼마나 기다릴지 정해야 한다. 짧게 잡으면 멀쩡한 장비가 죽은 것으로 찍힌다. 길게 잡으면 한 대가 느려질 때 전체 수집 주기가 같이 늘어진다. 열 대를 순서대로 도는 구조라면 이 값 하나가 라인 전체의 수집 간격을 정한다. 재시도 횟수도 같이 봐야 한다. 한 번 실패했다고 바로 경보를 올리면 담당자가 며칠 만에 알림을 꺼버리기 때문이다.
다섯 번째는 오류 검사다. Modbus RTU는 프레임 끝에 CRC-16을 붙이고, 프레임의 경계는 3.5문자 시간만큼의 침묵으로 구분한다. 바이트 순서를 잘못 조립하면 값은 그럴듯한데 CRC가 계속 틀린다.
문서가 아예 없는 장비도 있다. 그때는 실제 신호를 받아 기록하면서 규칙을 되짚는 작업이 앞에 붙는다. 이 구간의 길이가 일정을 가장 크게 흔든다.
꺼낸 데이터는 어디에 쌓나
값이 읽히기 시작하면 다음 질문은 항상 같다. 이걸 어디에 모을 것인가.
처음에는 PC 한 대에 CSV로 쌓는다. 몇 달 지나면 한계가 온다. 파일이 흩어지고, 그 PC가 꺼진 날의 데이터는 없다.
다음 단계는 두 갈래다. 시리얼-이더넷 게이트웨이를 붙여 설비 옆에서 네트워크로 올리거나, 수집 프로그램이 직접 DB에 적재한다. 어느 쪽이든 핵심은 같다. 값이 생긴 시각과 어느 장비에서 나왔는지를 같이 남기는 것. 이 두 항목이 빠진 데이터는 나중에 쓸 수 없다.
기존 ERP나 MES가 이미 돌고 있다면 그쪽 규격에 맞춰 넘긴다. 물류·건설·제조 현장에서 사람과 장비의 위치를 실시간 데이터로 만들어 기존 시스템에 넣은 작업도 성격이 같다. 데이터를 만드는 일과 그 데이터가 쓰일 자리를 잇는 일은 원래 한 묶음이다.
설비를 값만 꺼내는 게 아니라 직접 움직여야 한다면 범위가 달라진다. → 장비 제어 프로그램 개발, 기성 프로그램이 설비를 못 잡을 때
GrowSpace는 현장 센서·컨트롤러 제작부터 수집 프로그램, 기존 ERP·MES 연동, 구축 뒤 운영까지 한 팀이 이어받는다. → 맞춤 SW·HW 개발
자주 묻는 질문
설비를 교체하지 않아도 되나요? 대부분 교체하지 않는다. 시리얼 포트가 살아 있고 통신 규격을 알 수 있으면 그 위에 프로그램을 얹는다. 포트가 없는 장비라면 센서를 따로 달아 값을 만드는 쪽을 본다.
Modbus를 지원한다는데 기성 프로그램을 쓰면 되지 않나요? 장비 한두 대를 모니터링만 한다면 그 편이 빠르다. 모델이 섞이고, 장비사 자체 프로토콜이 끼고, 결과를 사내 시스템으로 넘겨야 하는 순간부터 직접 만드는 쪽이 싸진다. 기성 도구는 대개 화면까지가 끝이다.
RS-485로 몇 대까지 붙일 수 있나요? 표준 드라이버 기준 한 버스에 32 유닛 로드가 기본이다. 실제로는 케이블 길이와 속도, 장비 특성이 같이 걸리므로 현장 조건을 보고 구간을 나눈다. 수집 주기가 빡빡하면 대수를 줄여 버스를 쪼개는 편이 안전하다.
시리얼로 값을 한 번 꺼내 보면, 그다음에 무엇이 필요한지가 선명해진다. 어디까지 가야 하는 일인지는 처음에 한 번 그려 두는 편이 낫다. → 맞춤 장비 개발, 어디까지 한 팀에 맡겨야 하나



