본문 바로가기
RSKOREA 라인업/가스

정보] FIX800 RS-485 MODBUS RTU 에 관하여

by 주식회사 알에스코리아 2024. 10. 23.

알에스코리아 기술영업부 정필승입니다.

몇년만에 블로그 신규 컨텐츠인 영업부 이야기 입니다.

해당 컨텐츠는, 영업 상담 및 미팅 과정에서 자주 설명되는 내용을 담을 예정입니다. 중에는 성공 사례도 있을 것이며 저희가 취급하는 측정기로는 불가했던 한계점 등등을 담아서 일종의 정보의 기록지로 만들 요량입니다. 물론 긴 상담을 블로그 포스팅 링크로 대처하는 역할도 하겠지 싶습니다. 이 서두는 영업부 이야기의 포스팅마다 동일하게 복사해서 붙여넣기 하는점을 양해 부탁드립니다.

|첫번째 이야기| FIX800 RS-485 통신 입니다. 급하시거나 통신에 이해가 깊으신 분들은 첨부파일만 확인하셔도 좋습니다.

 

설치형 복합가스 측정기 FIX800 은 하나의 측정기로 단일가스 부터 최대 5가지의 복합가스를 동시에 측정할 수 있는 장비입니다.

가스 측정에 더해서 기본적으로 제공하는 기능이 아주 많습니다.

  • 4-20ma 아날로그 신호 송출
  • RS-485 모드버스 RTU 디지털 신호 송출
  • 무전원 24V 릴레이
  • 5V 상시 전원

위의 기능들이 별도의 옵션 없이도 기본적으로 포함된 기능으로서 해당 기능을 통하여 전용의 프로그램을 사용할 수 도 있지만, 전광판에 연결하여 이용하거나 제공되는 프로토콜을 통해서 자체 프로그램에 적용하는 것도 가능합니다. 바로 아래 사진이 그 예시 입니다.

 
 

1. 485 통신을 이용한 전광판 활용 2. 4-20ma 신호를 이용한 PLC 중앙 모니터링 3. 릴레이를 이용한 추가 경광등

아날로그 신호는 단순히 X일 때 4ma, Y 일때 20ma 로 설정하여 비율대로 계산을 하는 방식으로 가장 범용적으로 사용하는 신호 방식입니다. 누구나 쉽게 계산할 수 있다는 장점이 있지만, 하나의 신호선에 하나의 정보만을 담을 수 있다는 단점이 있습니다.

그리하여 저의 측정기와 같이 복합 측정값, 경보값, 시간, 날짜 정보등 다양한 정보를 한번에 보내주기위해선 RS-485 모드버스 RTU 방식이 제격입니다. 더하여 아래 사진과 같이 1: 다 연결도 가능합니다. 기기별로 통신 프로토콜을 해석해야 하는 어려움이 있지만, 여러가지를 봐도 아날로그 신호에 비하여 좋은 통신 방식이라고 생각합니다.

RS-485 는 통신 규약으로 하나의 언어 방식이라고 생각하시면됩니다.

RS-232 등등 다양한 방식이 있지만, 계측기 업계에 몸담으면서 가장 많이 본 것은 485 방식인 것 같습니다.

이중에서도 저희는 모드버스 RTU 방식을 사용합니다. ASCII 와는 다른 방식이니 사용 및 수용하는 환경에 맞추어서 사용하시면 됩니다. 참고로 저는 성장과정에서 프로그래밍이나 통신쪽에는 전혀 접점이 없는 문외한 수준이었으며 제가 전달드릴 수 있는 정보는 업무중 알음알음 배우고 익힌 수준이기 때문에 전문성에 대해서 는 엄청난 기대를 하시면 곤란합니다.

MASTER 가 질문을 하면 SLAVE 가 대답을 하는 방식으로 질문의 양식과 대답의 양식을 이해한다면 저와 비슷한 처지의 사람이라도 통신을 주고받는 법을 해석할 수 있을 것입니다. 물론 해석 것을 프로그램으로 구현하는 건 다른 영역이지만요.

일반적으로 계측기에서 사용하는 RS-485의 통신 프로토콜은 아래의 형태를 따릅니다. 대부분 비슷하다는 이야기의 신빙성을 높이기 위해서 FIX800 이 아닌 타사 제품의 형식을 보여드릴게요. 보통은 계측기 맨 뒷페이지에 통신자료에 대한 메뉴얼이 나옵니다.

위의 예문은 마스터가 (PLC 혹은 PC) 슬레이브 ( 계측기) 에게 주는 질문입니다.

06 03 00 등등 2자리로 묶인 하나하나는 1BYTE (8 BIT) 로 한 묶음마다 표현할 수 있는 수는 2의 8승인 256 가지의 수를 표현할 수 있습니다. 즉 16진수로는 00~FF 10진수로는 0~255 까지 표현이 가능하죠

  1. 06 : 계측기 의 주소입니다. RS-485를 제공하는 계측기라면 기기 내에 주소를 설정하는 메뉴가 반드시 있습니다. 위에 말한것 처럼 0~255 번 까지 지원합니다.
  2. 03 : 모드버스 RTU의 함수 기능입니다. 모드버스 RTU도 국제 표준이기 때문에 아주 특별한 경우가 아니라면 대부분 이 두번째 자리는 03번을 이용합니다. 계측기의 정보를 읽어오라는 명령어라는 의미로 이해하시면 됩니다.
  3. 00 03 : 레지스터 주소입니다. 2번에서 '03' 함수로 읽어오라는 명령을 내리는데 뭘 읽어와야하는지의 디테일이라고 생각하시면 됩니다. 주소지 마다 상세 명령어가 계측기에 저장되어있습니다. 가령 00 01 이면 실시간 농도값, 00 03 이면 현재 시간, 00 05 면 현재 기기 온도, 이런 방식이라고 생각하시면 됩니다. 물론 제가 대충 예시를 든거지 측정기마다 주소별로 기능이 다릅니다. 결국엔 이 부분이 모드버스를 사용하는 핵심이라고 할 수 있습니다.
  4. 00 02 : 레지스터의 자리수가 2자리라는 의미입니다. 레지스터는 계산 및 처리한 값을 임시로 보관하는 장소정도로 생각하시면 되는데요, 사실 이 부분은 제가 전문가 영역이 아니어서 설명드리기가 너무 어렵습니다. '3.' 항목에서 언급한 레지스터의 주소지가 2칸씩 차지한다는 정도로 이해해주시면 됩니다. 그냥 그러려니 하세요.
  5. 35 BC : CRC 즉 순환 중복검사를 위한 코드로 말 그대로 오류를 검사하기 위한 기능입니다. 저희와 같은 영업사원의 수준에선 이부분은 이해를 건너뛰셔도 됩니다. 모드버스를 이용하고자하는 유저에게 1,2,3,4 번 항목정도만 안내해도 알아서 처리가되는 경우가 대부분입니다.

즉 정리하자면 마스터의 질문지를 꾸밀때

주소(계측기에서 결정) / 함수 ( 대부분 03번사용) / 레지스터 주소(읽어오고 싶은 값) 만 알고 계셔도 대부분의 대응이 가능합니다.

위와 같은 예문으로 질문을 하면 기기는 거기에 맞는 값을 마스터에게 전달합니다. 아래는 SLAVE 답변의 예시입니다.

  1. 06 : 06 번 기기가 대답을 하겠다라는 의미입니다.
  2. 03 : 질문지의 03과 같은 의미로 읽어오기 함수 에 대응하겠다는 의미입니다
  3. 04 : 나의 답변은 다음 4자리로 말해주겠다라는 의미입니다. 어떠한 질문을 했냐에 따라서 2자리로 대답하는 경우도 있습니다.
  4. 42 C8 00 00 : 3. 항목에서 말한 4자리의 대답입니다. 16진수인 이 숫자를 십진수로 해석하면 대답이 측정기가 보내는 수치값이 됩니다.
  5. 6F B5 : 질문지와 마찬가지로 CRC 오류 검사입니다. 모르셔도 됩니다.

여기서 하나 중요한 포인트를 말씀드리자면

측정기가 소숫점까지 표현하는 경우, 예를들어 100.01 정도의 값을 보내주는 경우에는 소수점 계산이 필요합니다. FLOATING POINT 타입 (부동소수점 방식)이라고 하는데요 16진수로 소숫점을 계산하는 방식은 우리가 성장과정에서 배운 수학적 지식으로는 너무나 어려운 일입니다. 그냥 계산방식이 포함되어있는 엘셀을 첨부할게요.

레지스터 주소지가 부동소수점 방식의 정보를 담는경우 질문에 4자리로 대답을 하고 일반 자연수인 경우에는 2자리로 대답합니다.

이정도면 계측기 영업사원으로서 기기를 조작하거나 유저에게 안내하기 위한 수준의 정보는 모두 제공한 것 같습니다. 이제 진짜로 FIX800의 프로토콜에 대한 이야기를 하겠습니다. 사실 아래 첨부 파일만 봐도 전문가 분들은 이해하시리라 믿습니다.

FIX800_RS485 MODBUS_프로토콜_.docx

 

 


FIX800_485 통신 예시.pptx

여기서 FIX800의 장점 덕에 혼선을 겪는 분들이 있습니다. 사실 오늘은 이 부분을 설명드릴려고 말이 너무나 길어졌죠

측정기의 실시간 농도값을 불러오는 레지스터 주소는 00 4E 입니다. 하지만 FIX800 제품은 단일부터 복합가스가 측정이 가능한 모델이라 센서가 장착된 번호를 함께 입력해줘야 합니다.

만약에 단일가스 모델이면 01 4E 로 넣어야 실시간 값이 넘어오고

복합가스인경우 센서 번호를 아래처럼 각각 입력해야합니다

O1 4E

02 4E

03 4E

04 4E

그럼 어느 센서가 몇번자리에 들어있는가가 중요하죠, 일반적으로는 디스플레이된 순서로 1 2 3 4 번을 따릅니다. 하지만 예외의 경우가 있으니 테스트를 하시기 전 제품 하부를 한번씩 확인해 주세요 좌측부터 우측으로 Z 자 방향이 센서 번호의 순서입니다.

 

전문적이지 않은 영업사원이 이렇게 길게 작성한 RS-485 통신 관련 블로그 어떠셨나요. 앞으로도 업무중 알게된 정보를 주기적으로 판매자에게도 사용자에게도 도움이 될만한 정보를 들고 찾아오겠습니다.