시리얼 통신 테스트 프로그램 jwRsMonitor 1.0.5

2016.09.24 16:28 컴퓨터/유틸리티

시리얼 통신 테스트 프로그램 jwRsMonitor 1.0.5

시리얼 통신 테스트 프로그램 jwRsMonitor 1.0.5입니다. 이번 jwRsMonitor에는 하드웨어·소프트웨어 흐름 제어 기능과 두 자리 또는 네 자리 카운터 숫자를 보내는 기능을 추가했습니다.

▲ 흐름 제어를 선택하시려면 Flow ctrl을 마우스 클릭하세요. 흐름 제어에서 XON/XOFF는 제대로 작동하는 지 확인했지만, RTS/CTS와 DSR/DTR은 확인을 못 했습니다. 혹시 기능을 확인하신 분은 댓글로 말씀 부탁드립니다.

데이터 변환 특수 문자에 카운터를 넣을 수 있는 :c와 :C를 추가했습니다. :c는 문자 두 개, :C는 문자 네 개입니다.

또한, jwRsMonitor보다 간단한 jwRsTester도 있으니 참고하세요.

흐름 제어 추가를 말씀 주신 분과 카운터 아이디어를 제공해 주신 msx2k님께 감사 드립니다. 빨리 업그레이드했었어야 했는데, 너무 늦었네요. 죄송하다는 말씀도 아울러 드립니다.

아래는 jwRsMonitor 사용 방법입니다.


▲ jwRsMonitor는 두 개의 시리얼 포트를 동시에 열어서 송수신 데이터를 비교하면서 볼 수 있습니다.

jwRsMonitor 통신 포트 선택 및 설정

jwRsMonitor

▲ 통신 포트와 통신 속도를 선택하는 부분입니다. Port, Baud, Parity, Daba bits, Stop bits 글을 클릭하면 해당되는 항목이 메뉴로 출력됩니다.

시리얼 통신 테스터

▲ 예를 들어 Port를 클릭하면 사용할 수 있는 통신 포트가 메뉴로 출력됩니다.

데이터 전송

jwRsMonitor

▲ (1) 문자 데이터를 입력하는 곳입니다. 9개의 탭으로 구성되어 있으며 '~' 문자 또는 '{', '}' 괄호를 이용해서 HEX 값을 지정할 수 있습니다. (2)에 있는 버튼으로 데이터를 전송합니다. (3)은 전송 데이터를 STX, ETX 같은 문자열을 섞어서 보내기 위한 선택입니다. (4)는 전송 데이터에 대한 CRC 계산입니다. 문자열 길이와 체크썸, xor, crc16, crc32 값을 보여 줍니다. 주의할 점은 crc16 계산 값은 사용 곳에 따라 값이 다를 수 있습니다. 계산하는 방법이 다를 수 있기 때문이죠. jwRsMonitor의 crc16은 모드버스용이며 crc32는 인터넷에 돌아다니는 소스를 참고했습니다.

시리얼 통신 테스터

▲ 그런데 전송 버튼이 두 개이죠? 하나면 될 것 같은 전송 버튼이 두 개인 것은 jwRsMonitor의 매크로 기능 때문입니다. 통신에서 날짜와 시간을 보내는 경우가 매우 많습니다. 날짜와 시간을 직접 입력할 수 있지만, 현재 시간을 보내려면 매번 수정해 주어야 하는 번거로움이 있죠. 이런 불편을 없애기 위해 jwRsMonitor에는 매크로 기능을 제공합니다. 날짜와 시간을 직접 입력하기보다는 :Y, :M, :D, :H, :N, :S 같은 문자열을 사용하면 자동으로 날짜와 시간으로 바뀝니다. F5키는 처음 한 번 날짜와 시간을 구합니다. 이후로 F5키를 누르면 처음 구한 날짜와 시간이 전송되지요. 그러나 F6키는 누를 때마다 날짜와 시간이 갱신되어 전송됩니다. 차이가 이해되시나요?

시리얼 통신 테스트 프로그램

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

간편 프로토콜 구성

jwRsMonitor

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

송수신 데이터 확인

시리얼 통신 테스터

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

시리얼 통신 테스트 프로그램

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

jwRsMonitor

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

터미널 기능

시리얼 통신 테스터

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

모뎀 제어 기능

시리얼 통신 테스트 프로그램

▲ 모뎀 제어를 위한 버튼을 따로 준비했습니다. 모뎀 초기화나 전화 걸기 기능을 쉽게 호출하세요. 그러나 요즘도 모뎀을 사용하는 곳이 있을까 싶네요.

시리얼 통신을 사용하시는 분은 jwRsMonitor를 사용해 보세요. 매우 편합니다.

신고
이 댓글을 비밀 댓글로
    • 블랙이
    • 2016.10.04 04:51 신고
    안녕하세요,
    해당 파일을 다운로드 하고자 하는데, 확장자를 exe파일로 올려서 링크 가능하신지요?
    저희 회사가 해당 파일을 받고자 하면, block을 하네요.
    1.0.4 버젼을 다운로드 할 때는 exe 파일 이라서 그런지 바로 받아지더군요.
    1.0.4 버젼을 실행하니, 설정 메뉴가 겹쳐서 변경이 불가능하네요. Windows7 64bit 사용 중입니다.

    그럼, 미리 감사드립니다.
    • 뱃살왕자
    • 2016.10.07 09:44 신고
    안녕하세요.

    제가 사용 하는 두장치가 RS-232통신합니다.
    이 두장치가 통신이 되는 현상을 "jwRsMonitor"를 사용해서 모니터링이 가능 할까요.
    가능하다면 케이블 결선을 어떻게 해야 할까요.

    • 실제로 테스트하지 않아서 정확하지는 않습니다만, 포트를 두 개로 해서 연결하시면 가능할 것 같습니다.

      두 개의 장비를 A와 B라고 하고 jwRsMonitor이 PC에 실행한다고 했을 때 A의 tx와 gnd 핀을 병렬로 따서 PC의 첫 번째 포트에 rx와 gnd를 연결합니다.
      B의 tx와 gnd 핀을 병렬로 따서 PC의 두 번째 포트의 rx와 gnd를 연결하시면 양쪽으로 전송되는 것을 jwRsMonitor이 보여 줄 것으로 생각합니다.

      다시 말씀 드려 A와 B를 이정과 같이 시리얼 케이블을 연결하되, A와 B 각각의 tx를 jwRsMonitor의 rx 단자에 연결해서 마치 도청하듯이 보는 것이죠.

      저도 언젠가 한 번 해봐야겠네요. ^^
    • dakarship
    • 2017.05.11 02:44 신고
    좋은 프로그램 개발해 주셔서 감사합니다.
    너무도 유용하게 잘 사용하고 있답니다.
  1. 너무 좋은 프로그램 만들어주셔서 감사합니다.

    잘 쓰고 있습니다!!