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

시리얼 통신 테스트 프로그램 jwRsMonitor 1.0.4입니다. 시리얼 통신 테스터로 jwRsTester를 올렸습니다만, jwRsMonitor는 두 개의 포트 데이터를 하나의 화면에서 같이 비교해서 볼 수 있고 xor, check sum, crc16 계산 등 다양한 기능을 갖추었습니다. 이전 jwRsMonitor 1.0.3 버전이 윈도우 7 이상에서 두꺼워진 윈도우 테두리 두께 때문에 스크롤바가 생겨서 불편한 문제를 수정하고 통신 포트 선택도 사용 가능한 포트만 메뉴로 구성해서 편리성을 높였습니다.

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

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

jwRsMonitor 통신 포트 선택

jwRsMonitor

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

시리얼 통신 테스터

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

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

▲ 한가지 주의할 점은 다른 애플리케이션이 통신 포트를 사용 중이라면 아예 선택할 수 없도록 포트 메뉴에 출력되지 않습니다. 위 이미지처럼 잘 보이던 COM1이 보이지 않는다면 jwRsMonitor의 어느 한쪽 또는 다른 애플리케이션에서 COM1을 사용하는 중일 것입니다.

데이터 전송

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를 사용해 보세요. 매우 편합니다.

신고
Simulz | 2015.09.20 11:39 신고 | PERMALINK | EDIT/DEL | REPLY
COM포트도 50까지 가능해서 좋아요.

자동 줄바꿈으로 터미널 텍스트만 출력되는 부분은 나올 때도 있고 안 나올 때도 있어요.
어떻게 해야 텍스트가 나오나요?

버그: 초기에 포트 50개가 전부 표시되고 몇번 눌러줘야 실제 포트만 표시됩니다. 포트 선택만 하면 연결 됩니다.
OPEN을 두번 눌러야만 터미널에 출력 됩니다.
바다야크 바다야크 | 2015.10.20 16:13 신고 | PERMALINK | EDIT/DEL
문제되는 부분을 고쳐 보도록 하겠습니다. 감사합니다. ^^
james | 2015.10.19 17:34 신고 | PERMALINK | EDIT/DEL | REPLY
이런 프로그램을 제공 해주셔서 감사합니다
바다야크 바다야크 | 2015.10.20 16:14 신고 | PERMALINK | EDIT/DEL
감사합니다. 좀더 편리하게 업그레이드하겠습니다. ^^
초보자 | 2015.11.07 10:04 신고 | PERMALINK | EDIT/DEL | REPLY
바이러스 있습니다. 바이러스 없는 버전으로 올려주시면 감사하겠습니다.
바다야크 바다야크 | 2015.11.10 23:23 신고 | PERMALINK | EDIT/DEL
바이러스 없는데요. 확인 부탁 드립니다.
기능추가부탁드려요 | 2015.11.11 17:54 신고 | PERMALINK | EDIT/DEL | REPLY
xon/xoff 기능은 추가 언제쯤되나요?!!?
바다야크 바다야크 | 2016.09.24 16:29 신고 | PERMALINK | EDIT/DEL
jwRsMonitor 1.0.5에 흐름제어 기능을 추가했습니다.
http://badayak.com/3696
ㅠㅠ | 2016.01.08 09:01 신고 | PERMALINK | EDIT/DEL | REPLY
포트에아무것도안꼽혀있으면 아무데이터도안나오나요?ㅠㅠ
daniel | 2016.07.22 10:46 신고 | PERMALINK | EDIT/DEL | REPLY
정말 감사합니다....^^
복 받으실 겁니다.
바다야크 바다야크 | 2016.09.24 16:30 신고 | PERMALINK | EDIT/DEL
말씀 고맙습니다. ^^
sunny | 2016.08.09 13:15 신고 | PERMALINK | EDIT/DEL | REPLY
문의사항있습니다
DSU(9.6K,SYNC) 에서 LINE LOOP 또는 LLB후에 테스트 양호합니다. 문의사항은 DSU 9.6K 상태에서 프로그램 4.8K등 속도 변경 후에도 TEXT TEST를 하면 양호합니다. 속도가 달라서 문자가 깨지거나 TEXT RX가 안될 것으로 판단했는데.. DCE와 DTE가 정상적으로 송/수신이 가능하더라구요...왜 그런지요????
바다야크 바다야크 | 2016.09.24 16:32 신고 | PERMALINK | EDIT/DEL
어떤 질문인지 정확히는 모르겠습니다만, 시리얼 통신에서 PC는 DTE하고만 통신합니다. DCE를 통해 다른 시스템과 통신 중이라면 DCE 단에서 서로 속도를 결정(negotiation)하는데, 그 때문이 아닐까요?
max2k | 2016.09.21 22:54 신고 | PERMALINK | EDIT/DEL | REPLY
잘쓰고있습니다
부탁드리고 싶은게 있는데 ... ":C" 정도로 해서
보낼때 마다 카운터를 증가시키는 기능은 어떤가 해서요
두자리나 네자리 정도로...감사합니다
바다야크 바다야크 | 2016.09.24 16:29 신고 | PERMALINK | EDIT/DEL
jwRsMonitor 1.0.5에 말씀하시 기능을 넣었습니다.
아이디어 감사합니다. ^^
http://badayak.com/3696
bornHY | 2017.02.06 11:10 신고 | PERMALINK | EDIT/DEL | REPLY
먼저 좋은 프로그램 공유해주셔서 감사합니다.
Auto 기능을 이용해서, 2가지 Serial 통신 매크로를 구현하려고 합니다.
Terminal로는 command가 동작하는데, 혹시 공란에 원하는 Command를 입력해서 일정시간에 지속적으로 Command를 보낼수 있는 방법은 없는지 문의드립니다.
bornHY | 2017.02.06 11:17 신고 | PERMALINK | EDIT/DEL
빈공란에 {}를 이용해서 Hex값을 하니 Auto가 동작됩니다!(__) 혹시 Log파일을 저장할 수 있는 방법이 있는지 문의드립니다.
bornHY | 2017.02.06 11:12 신고 | PERMALINK | EDIT/DEL | REPLY
아울러, Receive된 메세지를 로그파일처럼 저장할 수 있는 기능이 있는지도 문의드립니다.
Name
Password
Homepage Secret