본문 바로가기
측정자동화

Keysight VEE 에서 디바이스와 RS-232C 통신

by 바퀴 굴리는 프로그래머 2017. 2. 17.
반응형

Keysight VEE에서 디바이스와 RS-232C 통신을 하려면 통신 속도와 비트 스트림에 관한 기본적인 사항을 확인 해야 한다.

비트스트림 설정은 Start bit, Data bits, Parity bit, Stop bits 로 구성되는데, 윈도우 기본 세팅인 9600, none, 8, 1  중에서 9600은 통신속도(bits per second, 초당 비트수)를 none 은 Parity bit, 8은 Data bits, 1 은 Stop bit를 의미한다. 참고로 Start bit는 1비트로 고정 되어 있으므로 설정 자체가 무의미하여 빠져있다. 자세한 사항은 아래 링크를 따라가 확인하도로 한다.

 

RS232 Specifications and standard - Lammert Bies

Practical discussion of the RS232 standard and its specifications and properties.

www.lammertbies.nl

1. 타겟 디바이스

컴파일사의 큐블록이라는 디바이스로 Basic 코드로 간단하게 제어가 가능한 컨트롤 보드이다.

Comfile Technoloy CB210

2. 소스 코드

소스코드는 대략 아래와 같이 작성했다. 여기서 중요한 것은 보레이트와 비트스트림 설정이다.

' RS-232C CH0 설정
Opencomm 0,115200,3,80,80

위 코드에서는 115200 bps, NONE,8,1 로 설정(파라미터 중 3으로 표현)했으며, 종료문자는 Carriage Return (\r, Cr) 을 선택했다.

 

구현한 SCPI 에뮬레이팅 명령어는 *IDN?과 *RST 두개를 구현했다.

SCPI는 Standard Command for Programmable Instrument 의 약자이며, 위의 두 명령어는 엄밀한 의미의 SCPI가 아닌 IEEE-488.2 표준 명령어 셋 중 일부이다.

 

*IDN? > AT&SOFT, SCPI-Emulator, ATS18020001, 2018.02.20
*RST   > 보드 Reset 후 초기 부팅문자열 출력

Cubloc Studio 소스코드

3. 통신 확인

아래 그림과 같이 Debug Terminal 을 실행시킨 상태에서 통신을 확인해 본다.

Debug Terminal

4. Connection Expert에서 디바이스 인식

사실 이 부분은 중요하지 않다. 설정하지 않아도 실험용으로 사용할 VEE에서 설정해 주면 된다.

그러나 굳이 캡쳐해 놓은 이유는 일부 사람들이 Connection Expert에서 설정한 아래 속성들이, VEE에서 그대로 인식된다고 생각하고 있기 때문에 실험을 해 봤다. (여기서는 115200 으로 설정)

Keysight Connection Expert 에서 RS-232C 설정: Baudrate = 115200pbs

추가된 Device는 아래와 같이 Unknown Instrument로 나타난다. 여기서는 종료문자를 지정할 수 없기 때문에 \n으로 설정된 Connection Expert가 \r 로 설정된 디바이스와 통신이 제대로 될 리 없다.

Keysight Connection Expert 에서 Device 인식: Unknown Instrument로 표시됨

5. VEE에서 장비 인식

VEE에서 통신을 하기 위해 기본적으로 해야 할 부분이 장비 인식이다. COM6(ASRL6)에 뭔가 감지되었으므로, 아래와 같이 *IDN? 명령어를 보내볼 것인가 사용자에게 물어본다. “확인” 버튼을 눌러주면 IEEE-488.2 통신스펙을 완전하게 지원하는 디바이스(계측기)의 경우, 이 과정에서 제조사와 모델명 등을 확인할 수 있다.

VEE Pro: Instrument Identification

6. 장비 인식 결과 및 통신 설정

아래 그림에서 볼 수 있듯이, Connection Expert에서 115200으로 설정하였으나, VEE에는 9600으로 표시된다. 따라서, 아래 그림들과 같은 과정을 거쳐 보레이트(Baud rate)를 115200, Read Terminator EOL Sequence를 디바이스(Cubloc)에 프로그램된 대로 모두 \r로 변경해 주어야 한다.

Instrument Properties 설정 대화상자 -> Advanced Instrument Properties
Baudrate 변경: Serial 탭
Read Terminator 및 EOL Sequence 변경: Direct I/O 탭

7. 옵션 문자열 설정

옵션 문자열은 별명 정도로 생각하면 된다.

Description 설정: General 탭
Name 지정: Instrument Properties 대화상자

 

8. 간단한 Direct IO 프로그램 예제

위에 구현했던 *IDN? 명령에 의해 리턴되는 응답을 보여준다.

 

 

소스코드는 아래 링크에서 다운로드 할 수 있다.

SCPI-Emulator.zip
0.00MB

 

 

반응형