시리얼 통신 테스트 jwRsMonitor 1.1.1

2020. 4. 6. 08:00 컴퓨터/유틸리티

MODBUS-RTU 지원 jwRsMonitor1.1.1

시리얼 통신 테스터 프로그램 jwRsMonitor를 아래와 같은 내용으로 수정했습니다.

  • crc16 계산을 MODBUS-RTU에 맞추었습니다. 프로토콜 조합에서 crc16을 추가하여 MODBUS 통신을 할 수 있습니다.
  • 통신 설정을 한 번에 지정할 수 있는 팝업 윈도우를 추가했습니다.
  • 간단히 전송 테스트하기 위해 알파벳을 전송하는 [ABC...] 버튼과 숫자를 전송하는 [123...] 버튼을 추가했습니다.
  • crc32 사용성이 별로 없는 것으로 생각돼서 제거했습니다.
  • 기타 화면을 조금 수정했습니다.

jwRsMonitor_1_1_1.zip
0.42MB

▲ jwRsMonitor 1.1.1입니다. 통신 포트 번호에서 Baud, 데이터 비트 크기, 패리티 등을 선택하는 팝업 윈도우를 두었습니다. Baud와 Data bit, stop bit, floaw ctrl은 이전처럼 팝업 메뉴로 그 부분만 변경도 가능합니다.

jwRsMonitor 통신 포트 선택 및 설정

▲ 통신 설정 내용을 보여 주는 곳을 클릭하면 설정 윈도우가 출력됩니다.

▲ 사용할 포트와 기타 옵션을 선택한 후 [O.K.] 버튼을 클릭합니다.

▲ 포트 번호 외에 Baud, Daba bits, Parity, Stop bits 등은 마우스 오른쪽 버튼 메뉴를 사용하여 개별적으로 변경할 수 있습니다.

데이터 전송

▲ (1) 문자 데이터를 입력하는 곳입니다. 9개의 탭으로 구성되어 있으며 '~' 문자 또는 '{', '}' 괄호를 이용해서 HEX 값을 입력할 수 있습니다. 예를 들어 "01 02 03"은 0x30 0x31 0x20 0x30 0x32 0x20 0x30 0x33이 전송된다면 "{01 02 03}" 또는 "~01~02~03"으로 입력하면 HEX 바이트로 0x01 0x02 0x03으로 전송됩니다.

 

(2)에 있는 버튼으로 데이터를 전송합니다. (3)은 전송 데이터를 STX, ETX 같은 문자열을 섞어서 보내기 위한 선택입니다. (4)는 데이터에 대한 CRC 계산입니다. 문자열 길이와 체크썸, xor, crc16 값을 보여 줍니다. crc16 계산은 MODBUS-RTU를 따릅니다.

▲ 그런데 전송 버튼이 두 개이죠? 하나면 될 것 같은 전송 버튼이 두 개인 것은 jwRsMonitor의 매크로 기능 때문입니다. 통신에서 날짜와 시간을 보내는 경우가 많습니다. 날짜와 시간을 직접 입력할 수 있지만, 현재 시간을 보내기 위해 매번 수정해 주려면 많이 번거롭습니다. 이런 불편을 없애기 위해 jwRsMonitor는 날짜와 시간 매크로 :Y, :M, :D, :H, :N, :S를 입력하면 자동으로 날짜와 시간으로 바뀝니다.

F5키는 처음 한 번 날짜와 시간을 구한 후 F5키를 누르면 처음 날짜와 시간이 전송됩니다. 같은 날짜와 시간으로 테스트할 때 사용합니다. F6키는 누를 때마다 날짜와 시간이 갱신되어 전송됩니다. 차이가 이해되시나요?

▲ 매크로 값은 "Special Chars" 버튼을 클릭하면 쉽게 입력할 수 있습니다.

 

간편 프로토콜 구성

▲ 복잡한 프로토콜은 어렵지만, 간단한 프로토콜은 구성해서 전송할 수 있습니다. 예를 들어 [STX][data][CRC][ETX]의 경우 protocol 항목을 순서에 맞추어 차례로 선택하면 됩니다.

▲ 예를 들어 MODBUS-RTU로 1번 국번에 3번 함수를 사용하여 0번 주소에서 16개의 데이터를 요청하는 HEX 코드 "{01 03 00 00 00 10}"을 중괄호 안에 입력하고 protocol에서 1) data, 2) CRC16을 선택하면 데이터 전송 후 계산된 CRC가 추가되어 전송됩니다.

송수신 데이터 확인

▲ jwRsMonitor에는 송수신 데이터를 확인할 수 있는 3가지 방법을 보여 주며 체크 박스로 기능을 On/Off 할 수 있습니다. A-Tr/Rcv는 송수신 데이터를 보여 주며, B-HEX는 수신 데이터를 HEX 코드로 보여 줍니다. C-Grid는 송수신 데이터를 바이트 단위로 확인하기 편하도록 그리드에 문자 한 개씩 보여 줍니다.

▲ 송수신 데이터를 (1)에서 확인할 수 있습니다. 송신 데이터는 바탕색이 검은색이고 수신 데이터는 파란 바탕에 흰색 글씨입니다. (2) 번은 수신 데이터를 HEX 값으로 보여 줍니다.

▲ 송수신 데이터를 그리드로도 볼 수 있습니다. 수신 데이터에서 몇 번째 바이트의 값이 궁금할 때 사용하면 편리합니다.

 

터미널 기능

▲ jwRsMonitor에는 터미널 기능을 갖추어서 타이핑할 때마다 문자 데이터를 전송할 수 있으며 상대방이 전송하는 문자열도 바로 확인할 수 있습니다. 서버를 제어하거나 간단히 통신 상태를 확인할 때 편합니다.

모뎀 제어 기능

▲ 모뎀 제어를 위한 버튼을 따로 준비했습니다. 모뎀 초기화나 전화 걸기 기능을 쉽게 호출하세요.

이 댓글을 비밀 댓글로
  1. 잘 보고 공감하고 갑니다^^
    좋은 한주 보내세요~
  2. 컴퓨터 정말 1도 모르는 사람인데 여기 컴퓨터 관련정보가 너무많아 좋네요 ㅎ
    앞으로 공유많이해요 ㅎ
    • 칭찬의 말씀 감사합니다. PC와 관련한 글을 계속 올리겠습니다.
      자주 찾아와 주세요. 고맙습니다. ^^
    • 2020.04.07 17:40
    비밀댓글입니다
      • 2020.04.07 20:22
      비밀댓글입니다
    • 김영일
    • 2020.04.13 13:47
    좋은 자료 감사합니다.