RS-232C 통신 자동응답 프로그램

◆ RS-232C 통신 자동응답 프로그램

 

RS-232C 통신(485 통신 포함)은 PC와 MCU(Micro Controller Unit) 사이의 통신에 많이 사용됩니다. 이런 통신시스템의 개발은 많은 시간이 소요되는데 이는 PC에 모든 MCU가 연결된 상태에서 테스트가 진행되어야 개발이 완료되기 때문입니다.

이런 단점을 보완할 수 있는 프로그램이 WAT232AutoResponse 입니다. 이 프로그램은 가상의 MCU 역할을 해주어 실제로 MCU를 연결하지 않고도 MCU가 연결된 것처럼 테스트를 할 수 있게 도와줍니다.

 

 

 

 

 

 

◆ 기능

 

– RX, TX 패킷을 설정하여 원하는 RX 패킷이 수신되면 TX 패킷을 송신

– RX, TX 패킷을 리스트로 관리

– RX 또는 TX 의 데이터의 순서 변경을 드래그&드롭으로 손 쉽게 이동

– 자체 ROM 기능으로 설정 값을 유지 (설정온도 또는 설정습도와 같은 요소들을 저장)

– ROM 영역 편집 기능

– 일정 범위의 임의의 숫자 송신 기능 (현재온도, 현재습도 등을 송신할 때 사용)

 

 

 

1. 프로그램 구조

본 프로그램은 크게 [메인], [RXTX설정], [전체 로그], [도움말] 로 구성되어 있습니다. 각 항목에 대해 자세히 알아보겠습니다.

1.1. 메인

[메인]은 자동응답을 보낼 포트를 설정할 수 있고, 포트열기, 포트닫기를 할 수 있습니다. [COM NUM] 항목에는 포트명을 입력하고 [BAUD] 항목에는 보레이트를 숫자로 입력하여 [OPEN] 버튼을 누르면 포트가 열립니다. 흐름제어 및 DTR/DTS에 대한 설정부분은 추후 추가될 예정입니다.

1.2. RX, TX 설정

[RX, TX 설정]에서는 자동응답리스트를 관리(추가, 삭제, 편집)할 수 있습니다.

그리고, RX, TX 데이터의 BYTE 값을 관리(추가, 삭제, 편집)할 수 있습니다.

 

1.3. 전체 로그

[전체 로그]에서는 하단에 나타나는 로그의 전체 내역을 볼 수 있습니다.

 

1.4. 도움말

[도움말]에서는 하단에 나타나는 로그의 전체 내역을 볼 수 있습니다.

 

2. 메뉴

 

일반적인 항목은 [메뉴]로 구성되었으며 [새로 만들기], [파일열기], [파일저장], [다른 이름으로 저장], [종료]로 구성됩니다.

2.1. 파일

2.1.1. 새로 만들기

[파일] => [새로 만들기] 메뉴로 새로운 파일을 생성할 수 있습니다. [새로 만들기] 메뉴를 선택하면 [새로만들기.autores]란 이름의 파일이 사용되며, 화면이 클리어 되고 기존 데이터는 메모리에서 삭제됩니다. ( 파일로 보관된 데이터는 변함이 없습니다.) 이제부터 새로운 데이터를 입력할 수 있습니다.

2.1.2. 열기

 

[파일] => [열기] 메뉴를 선택하면 파일열기 상자가 나타나는데 그 상자에서 파일을 선택하면 원하는 파일을 열 수 있습니다. 이 방법은 일반 윈도우 프로그램 사용방법과 동일합니다.

 

2.1.3. 저장

[파일] => [저장] 메뉴를 선택하면 현재 사용하고 있는 이름의 파일로 저장됩니다. 만약 다른 이름으로 파일을 저장하기를 원한다면 [다른 이름으로 저장]을 선택하면 됩니다.

2.1.4. 다른 이름으로 저장

[파일] => [다른 이름으로 저장] 메뉴를 선택하면 현재 사용 중인 파일명을 다른 파일명으로 변경할 수 있습니다. [다른이름으로 저장] 다이어로그박스에서 [파일이름(N)]에 원하는 이름을 입력한 후 [저장(S)]를 클릭하면 됩니다.

2.1.5. 종료

[파일] => [종료] 메뉴로 프로그램을 종료할 수 있습니다. 프로그램 종료 시에는 데이터가 자동으로 저장됩니다.

2.2. 포트

2.2.1. 연결하기

[메인]탭에서 설정한 컴포트 셋팅 값으로 포트를 빠르게 열 수 있습니다. 만약 [메인]탭의 설정 값이 잘못되었거나 입력되지 않았다면 열리지 않을 수도 있습니다.

2.2.2. 연결끊기

현재 열려 있는 컴포트를 빠르게 닫을 수 있습니다.

3. 도구바

 

도구바는 메뉴에 있는 항목과 거의 동일하며 한 번의 클릭으로 명령이 실행됩니다. 순서는 아래와 같으며 기능은 메뉴와 동일하므로 생략하겠습니다.

– 새로 만들기, 열기, 저장, 다른이름으로 저장

– 포트열기, 포트닫기

4. 포트 열기/닫기

[메인]탭에서 포트 값을 설정할 수 있습니다. [COM NUM] 항목에는 컴포트명을 [BAUD] 항목에는 보레이트를 10진수의 숫자로 입력한 후 [OPEN] 버튼을 클릭하여 포트를 열수 있습니다. 포트를 닫을 때는 [CLOSE] 버튼을 클릭하면 됩니다. 포트를 열고 닫을 때마다 아래에 로그로 표시되어 포트의 개폐상태를 확인할 수 있습니다.

 

[메인]탭에서 포트 값을 설정한 후에 메뉴바 또는 도구바에 있는 [포트열기], [포트닫기]로 제어할 수도 있습니다.

 

 

5. 자동응답 리스트 관리

 

[RX, TX 설정]탭에서 자동응답 리스트를 관리할 수 있습니다. 리스트의 추가, 삭제, 편집이 가능합니다.

리스트 항목은 리스트명, RX형태로 이루어져 있습니다.

5.1. 리스트 추가

[자동응답 리스트 관리] 아래에 있는 [새로만들기] 버튼을 클릭하면 새로운 리스트가 추가됩니다.

5.2. 리스트 삭제

[자동응답 리스트 관리]에서 삭제할 항목을 선택한 후에 아래에 있는 [제거하기] 버튼을 클릭하면 해당 리스트가 삭제됩니다.

5.3. 리스트 편집

[자동응답 리스트 관리]에서 편집할 항목을 선택한 후에 아래에 있는 [리스트관리]에서 편집 할 수 있습니다.

6. RX 리스트 관리

[RX 리스트]는 BYTE 단위로 설정할 수 있습니다. [리스트 관리]에서의 [RX형태]에 따라 [RX 리스트]에 표시되는 형태가 달라집니다. 아래 그림은 [TEXT 값으로 읽기]로 설정된 예입니다.

6.1. RX 리스트 편집

 

6.1.1. RX값 추가

아래쪽에 있는 [추가] 버튼을 눌러 RX값을 추가할 수 있습니다.

6.1.2. RX값 삭제

삭제할 항목을 선택한 후에 아래쪽에 있는 [삭제] 버튼을 눌러 해당 RX값을 삭제할 수 있습니다.

6.1.3. RX값 편집

편집할 항목을 선택한 후에 아래쪽에 있는 [RX값 설정]에서 설정한 후 [적용]버튼을 눌러 해당 RX값을 변경할 수 있습니다.

6.1.4. RX값 형태

리스트에서 마우스 더블클릭하면 콤보박스가 나타나는데 형태를 선택할 수 있다.

 

 

 

 

 

6.1.5. RX값 순서 변경

순서를 변경할 셀을 선택하여 마우스를 끌어서 이동할 수 있다. 여러 항목을 동시에 이동할 수도 있다.

6.2. RX 데이터 종류

[RX값]은 데이터와 비교상태로 구성됩니다. 데이터란 원하는 RX 데이터를 말하는 것이고 비교상태란 [RX 리스트]와 실제 시리얼포트를 통해 들어온 데이터를 비교할 때 어떤 방법으로 비교하는 방법을 말합니다. 비교상태에는 무시, 일치, CRC 가 있습니다.

무시상태는 해당위치에 어떤 값이 들어오던지 무조건 일치하는 것으로 간주되고 리스트에는 검은색으로 표시됩니다. 일치상태는 해당위치에 들어오는 값과 정확히 일치해야 하며 리스트에는 빨간색으로 표시됩니다. CRC상태는 CRC를 체크하여 일치하는지 확인하는 것이나 아직 구현되지 않았습니다.

6.2.1. 무시

데이터에 상관없이 무조건 유효한 값으로 처리됩니다.

6.2.2. 일치

수신된 값과 정확히 일치해야 유효한 데이터로 처리되며 주로 ID 와 COMMAND 용으로 사용됩니다. 16진수로 처리됩니다.

6.2.3. 범위

수신된 데이터가 일정한 범위의 값일 때 유효한 데이터로 처리되며 주로 여러 ID 에 동일한 형식을 적용할 때 사용됩니다.

6.2.4. CRC

기능이 곧 추가될 예정입니다.

체크섬 기능을 나타내며 16진수로 처리됩니다.

7. TX 리스트 관리

[TX 리스트]는 [RX 리스트]와 마찬가지로 BYTE 단위로 설정할 수 있습니다.

TX데이터로 사용할 값 중에는 RX값을 그대로 사용해야 하는 경우도 있습니다. 이럴 경우에는 % 기호를 이용해 처리할 수 있으며 연한 녹색으로 표시됩니다.

 

 

 

예를 들어 RX의 3번째 위치에 있는 값을 TX의 4번째 바이트로 사용하려면 TX의 4번째 바이트 값을 %03 형태로 입력하면 됩니다.

 

 

 

7.1. TX List 편집

7.1.1. TX값 추가

아래쪽에 있는 [추가] 버튼을 눌러 TX값을 추가할 수 있습니다.

7.1.2. TX값 삭제

삭제할 항목을 선택한 후에 아래쪽에 있는 [삭제] 버튼을 눌러 해당 TX값을 삭제할 수 있습니다.

7.1.3. TX값 편집

편집할 항목을 선택한 후에 아래쪽에 있는 [TX갑 설정]에서 설정한 후 [적용]버튼을 눌러 해당 TX값을 변경할 수 있습니다.

7.1.4. TX값 순서 변경

변경할 항목을 선택한 후 마우스로 드래그 해서 이동할 수도 있습니다. 여러 항목을 선택하면 한 번에 이동할 수 있습니다.

7.2. TX 데이터 종류

TX의 데이터 형태는 상수, RX index, 임의 값 등을 선택해서 사용할 수 있습니다.

7.2.1. 상수

고정된 값을 데이터로 사용할 수 있습니다. 16진수로 표기되며 16진수로 값을 입력하면 됩니다. 예를 들어 0x34 를 입력하려면 “34”를 [값]항목에 입력하면 됩니다.

7.2.2. RX index

RX의 값 중 특정 위치의 데이터를 그대로 전송되는 방법이며 주로 ID 가 포함된 프로토콜의 응답에 사용됩니다. 예를 들어 3번 타켓에 대해 응답을 요청하면 “3번 “데이터를 그대로 전송하고 7번 타켓에 응답을 요청하면 “7번”이라는 데이터를 그대로 전송합니다. 이때 해당 특정 위치의 데이터를 사용하는 것이지 그 데이터를 사용하는 위치는 변경 가능합니다. 색상은 옅은 녹색으로 표시됩니다.

7.2.3. 임의의 값

응답으로 항상 같은 데이터만 보낼 수는 없습니다. 온도나 습도는 항상 변경되는 항목이기 때문에 일정 범위의 값을 데이터로 주어야 합니다. 예를 들어 사무실 안의 온도 값을 측정하는 시스템일 때는 10 ~ 30 도 사이의 값중 임의의 값을 보낼 수 있습니다. 16진수값으로 처리되며 형식은 다음과 같습니다.

R시작값~종료값 (예> R0A~1E : 10 ~ 30 중 임의의 값 )

색상은 연한파란색(BlueViolet)으로 표시됩니다.

8. 전체 로그 보기

[전체 로그]탭에서 전체 로그를 볼 수 있습니다.

 

◆ 프로그램 다운로드 (Version 0.1.2)
           WAT232AutoResponse.exe

◆ 사용자 매뉴얼
   WAT232AutoResponse_manual.pdf
 


Leave a Comment