5. 기기 드라이버와 Direct SCPI 명령 비교

CH5_InstrumentDriversLayer_16x9.png

이전 장에서 Direct SCPI 명령을 사용해 로데슈바르즈 기기를 원격 제어하는 방법에 대해 알아보았습니다. 로데슈바르즈는 이를 대체하는 방법으로 애플리케이션과 기기의 SCPI 명령 간 추상화가 가능한 기기 드라이버를 무료로 제공하고 있습니다.

VISA Write / Read 함수와 Direct SCPI 명령을 사용하는 대신 기기 드라이버의 함수와 속성을 사용합니다. LabVIEW resscope 기기 드라이버에서 이와 같은 대체 방법의 간단한 예를 들면 다음과 같습니다.

IVI.NET RsScope 기기 드라이버를 사용하여 C# 언어로 동일하게 대체하는 것입니다. 속성으로 개별 파라미터를 설정하거나 많은 파라미터를 설정할 경우 메서드를 사용합니다.

설명을 간단히 하기 위해 위에 나와 있는 Direct SCPI 명령 그림에는 기기 드라이버가 수행하는 모든 연산이 포함되어 있지 않습니다. 예를 들어, 드라이버는 기기가 명령 실행을 확인하는지를 기다리고(6장 측정 동기화 참조) 각 명령 이후 잠재적 에러를 확인합니다(7장 기기 에러 확인 참조). Direct SCPI 명령을 사용할 경우 두 가지 작업을 사용자가 직접 관리해야 합니다.

Direct SCPI 명령 사용 시 장점/단점 요약

장점:

  • 더 빠른 시작. 기기 사용자 매뉴얼에 모든 SCPI 명령에 대한 설명이 나와 있습니다.
  • 더 빠른 실행 속도.

단점:

  • 사용자가 측정 동기화를 관리하고 기기 에러를 확인해야 합니다.
  • SCPI 명령에 맞는 형식의 인수를 사용해야 합니다. 인수 형식은 특히 이진 데이터에서 혼동할 수 있습니다.
  • 기기 문자열 응답을 수신하면 적절한 유형으로 변환해야 합니다(예: 정수, 더블 또는 부울, 배열, 이진 데이터).

기기 드라이버 사용 시 장점/단점 요약

장점:

  • 각 명령 다음에 에러 확인을 수행합니다. 최대 속도가 필요한 중요 섹션에서는 이 기능을 끌 수 있습니다.
  • 완료까지 오래 소요되는 명령 동기화.
  • SCPI 명령에 맞는 형식의 인수 사용과 기기 응답 구문분석이 이미 구현되어 있습니다.
  • 기기 드라이버와 함께 자체 *.chm 도움말 파일이 기본 제공됩니다.
  • 항상 Direct SCPI 명령 사용에 대한 옵션을 제공합니다.

단점:

  • 학습 곡선이 더 길어 사용자가 드라이버 구조를 잘 파악해야 합니다.
  • 약간의 오버헤드. 이 문제는 올바른 접근 방식으로 최소화할 수 있습니다. 참조: 8장 속도 최적화
  • 기기 드라이버가 기기의 새로운 기능을 지원할 때까지 기다려야 하는 경우가 있습니다.

다른 프로그래밍 언어에 대한 로데슈바르즈 기기의 적합성

아래 표에 각 프로그래밍 언어에 적합한 기기 드라이버가 표시되어 있습니다. 각 환경별 상세 내용은 추후 다뤄질 예정입니다.

VXI plug&play 드라이버 LabWindows/CVI 드라이버 LabVIEW 드라이버 IVI.NET 드라이버 SCPI 드라이버
Python X (대용량) X (일부 기기)
MATLAB X
C#, VB.NET X (IVI.NET를 사용할 수 없는 경우) X X (일부 기기)
LabVIEW X
LabWindows/CVI X

Python 사용자 참고사항

로데슈바르즈는 현재 pypi 리포지토리: CMW,SMx, CMA, CMX/CMP, OSP에 이들 기기에 대한 Python 3.6+ SCPI 기반 기기 드라이버를 제공하고 있습니다.
Python 기기 드라이버를 제공하지 않는 기기에 대해서는 Direct SCPI 명령을 사용하는 것이 좋습니다.

MATLAB 사용자 참고사항

로데슈바르즈는 MATLAB MDD 드라이버를 제공합니다. MDD 드라이버를 사용하려면 VXI plug&play 드라이버 구조에 대한 고급 지식이 필요하며 드라이버 헤더 파일에서 모든 열거형 상수를 수동으로 가져와야 합니다. 또한, MATLAB Instrument Control Toolbox 라이선스가 필요합니다. MATLAB 사용자는 Direct SCPI 명령을 사용할 것을 권장합니다. 이 애플리케이션 노트는 두 가지 방식에 대해 다룹니다.

1MA171: MATLAB으로 로데슈바르즈 기기를 사용하는 방법

LabVIEW 사용자 참고사항

로데슈바르즈는 네이티브 LabVIEW 드라이버를 제공합니다. 애플리케이션에서 자세한 내용을 확인하십시오.

1MA228: 로데슈바르즈 LabVIEW 기기 드라이버를 사용하는 방법에 대한 10가지 요령

C#, VB.NET 사용자 참고사항

이 경우 두 가지 방법이 있습니다.

  • IVI.NET 드라이버 - 거의 모든 기기에 사용할 수 있습니다. 여기에서도 C# 및 VB.NET 래퍼 클래스와 함께 제공되는 VXI plug&play 드라이버를 사용할 수 있습니다. 관련 애플리케이션 노트에서 자세한 내용을 확인하십시오.
    1MA268: 로데슈바르즈 IVI.NET 기기 드라이버 사용법
    드라이버는 제품 웹사이트에서 다운로드하십시오.
  • SCPI-기반 드라이버 - 이 드라이버는 기기의 SCPI 트리에서 자동 생성되며 SCPI 트리 구문을 정확히 따릅니다. SCPI 명령에 익숙한 경우 이 드라이버를 사용하십시오. 이 드라이버는 Intellisense 도움말과 SCPI에 대해 형식 인식 에러가 없는 인터페이스를 제공합니다. nuget.org에서 NuGet 패키지로 다운로드하십시오.
    https://www.nuget.org/profiles/rohde-schwarz

LabWindows/CVI 및 기타 C/C++ 환경 사용자 참고사항

VXI plug&play 드라이버는 32비트 및 64비트 Windows 애플리케이션용으로 컴파일된 CVI 드라이버입니다. 둘 다 C/C++ 언어로 사용할 수 있습니다.

CVI 드라이버를 사용하려면 전체 소스 코드를 프로젝트에 추가합니다.

VXI plug&play 드라이버를 사용하려면 드라이버의 LLB 파일(정적 링킹용) 또는 DLL 파일(동적 링킹용)을 프로젝트에 추가하십시오.

Request information

Do you have questions or need additional information? Simply fill out this form and we will get right back to you.

마케팅 동의

신청하신 내용이 제출되었습니다. 빠른 시일 내 회신 받으실 것입니다.
An error is occurred, please try it again later.