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비트로 고정 되어 있으므로 설정 자체가 무의미하여 빠져있다. 자세한 사항은 아래 링크를 따라가 확인하도로 한다.
1. 타겟 디바이스
컴파일사의 큐블록이라는 디바이스로 Basic 코드로 간단하게 제어가 가능한 컨트롤 보드이다.
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 후 초기 부팅문자열 출력
3. 통신 확인
아래 그림과 같이 Debug Terminal 을 실행시킨 상태에서 통신을 확인해 본다.
4. Connection Expert에서 디바이스 인식
사실 이 부분은 중요하지 않다. 설정하지 않아도 실험용으로 사용할 VEE에서 설정해 주면 된다.
그러나 굳이 캡쳐해 놓은 이유는 일부 사람들이 Connection Expert에서 설정한 아래 속성들이, VEE에서 그대로 인식된다고 생각하고 있기 때문에 실험을 해 봤다. (여기서는 115200 으로 설정)
추가된 Device는 아래와 같이 Unknown Instrument로 나타난다. 여기서는 종료문자를 지정할 수 없기 때문에 \n으로 설정된 Connection Expert가 \r 로 설정된 디바이스와 통신이 제대로 될 리 없다.
5. VEE에서 장비 인식
VEE에서 통신을 하기 위해 기본적으로 해야 할 부분이 장비 인식이다. COM6(ASRL6)에 뭔가 감지되었으므로, 아래와 같이 *IDN? 명령어를 보내볼 것인가 사용자에게 물어본다. “확인” 버튼을 눌러주면 IEEE-488.2 통신스펙을 완전하게 지원하는 디바이스(계측기)의 경우, 이 과정에서 제조사와 모델명 등을 확인할 수 있다.
6. 장비 인식 결과 및 통신 설정
아래 그림에서 볼 수 있듯이, Connection Expert에서 115200으로 설정하였으나, VEE에는 9600으로 표시된다. 따라서, 아래 그림들과 같은 과정을 거쳐 보레이트(Baud rate)를 115200, Read Terminator와 EOL Sequence를 디바이스(Cubloc)에 프로그램된 대로 모두 \r로 변경해 주어야 한다.
7. 옵션 문자열 설정
옵션 문자열은 별명 정도로 생각하면 된다.
8. 간단한 Direct IO 프로그램 예제
소스코드는 아래 링크에서 다운로드 할 수 있다.
'측정자동화' 카테고리의 다른 글
Keysight VEE에서 Command Prompt로 명령어 전송 후 응답 받기 (0) | 2020.03.23 |
---|---|
제브라 및 심볼(Zebra/Symbol) 바코드 스캐너 가상 시리얼(RS-232C/직렬포트/COM) 포트 사용 (2) | 2020.02.10 |
개발자를 미치게 하는 10가지 프로그래밍 언어 (0) | 2017.10.31 |
Introduction to Keysight VEE Pro (0) | 2017.05.29 |
Keysight VEE에서 MATLAB Script Engine이 제대로 동작하지 않을 경우 (3) | 2017.05.12 |
LTE 주파수, 밴드 및 채널 (0) | 2017.05.10 |
Keysight VEE를 이용한 엑셀 VBA 차트 생성 코드 (0) | 2017.04.07 |