Measurement Studio VISA를 사용한 시리얼, GPIB 및 VXI 계측기 제어

개요

단일 인터페이스인 VISA (Virtual Instrument Software Architecture 어플리케이션 프로그래밍 인터페이스 (API))를 통해 시리얼 I/O, GPIB, VXI 인스트루먼트를 설정하고 제어할 수 있습니다. 이는 각 인스트루먼트의 하위 레벨 드라이버를 호출하는 상위 레벨 드라이버입니다. 이 어플리케이션 노트에서는 VISA를 소개하고, Visual Basic에서 Measurement Studio VISA (CWVISA) ActiveX 컨트롤을 사용하여 시리얼 I/O, GPIB, VXI 인스트루먼트에 대한 인스트루먼트 컨트롤을 단일 프로그래밍 인터페이스로 수행하는 방법을 설명합니다.

  • 참고



내용

VISA란?

VISA는 NI가 시리얼, GPIB, VXI 인스트루먼트와의 통신을 통합하고 인스트루먼트 컨트롤 프로그램을 단순화하기 위해 개발한 드라이버 소프트웨어 구조입니다. VISA API는 그림 1과 같이 운영 체제 호출과 NI-488.2 및 NI-VXI 드라이버 소프트웨어를 통해 시리얼, GPIB 및 VXI 인스트루먼트에 액세스합니다.


그림 1. VISA 구조


VISA는 다음과 같은 이점을 제공합니다.

  • 인터페이스 타입에 관계없이 VISA가 인스트루먼트와 통신할 때 동일한 방법을 사용하는 인터페이스 독립성. 예를 들어, 메시지 기반 계측기에 ASCII 문자열을 쓰는 VISA 명령은 계측기가 시리얼, GPIB 또는 VXI인지 여부와 관계없이 동일합니다. 이 기능을 사용하면, 하나의 API를 사용하여 여러 인스트루먼트를 사용할 수 있습니다.
  • 향후 새로운 계측 인터페이스를 개발할 때 쉽게 적용할 수 있는 객체 지향 아키텍처. 새 인터페이스를 쉽게 포함시킬 수 있습니다.

매우 간결한 명령 세트에서 계측 프로그래밍을 위한 기능이 내장되어 있습니다.

CWVISA란?


CWVISA는 VISA API를 추상화하는 ActiveX 컨트롤이기 때문에, 대화식 프로퍼티 페이지 및 단순화된 API를 통해 시리얼, GPIB, VXI 인스트루먼트와 인터페이스할 수 있습니다. 예를 들어, CWVISA 프로퍼티 페이지를 사용하여 대화식으로 인스트루먼트를 찾고, 인터페이스 문제를 발견하거나, 설계하는 동안 인스트루먼트와의 통신을 확인할 수 있습니다. Microsoft Visual Basic, Visual C++, Borland Delphi를 포함한 모든 ActiveX 컨트롤 컨테이너에서 VISA ActiveX 컨트롤을 사용할 수 있습니다.

팁: Measurement Studio 또는 CWVISA 컨트롤에 대한 자세한 내용은 Measurement Studio 참조를 참조하십시오. Windows 시작 메뉴에서 참조를 시작할 수 있습니다.

CWVISA를 사용하려면 어떻게 해야 합니까?

 

먼저 사용자 인터페이스 형식에 CWVISA 컨트롤을 놓습니다. Visual Basic에서 이 컨트롤의 이름이 CWVisa1인지 확인합니다. 컨트롤에서 마우스 오른쪽 버튼을 클릭하고 프로퍼티를 선택합니다. 이 어플리케이션 노트의 나머지 부분은 프로퍼티 페이지를 사용하여 리소스와 통신 프로퍼티를 선택하고, 통신을 테스트하고, 인스트루먼트에서 데이터를 분석하고, 단순화된 API를 통해 통신을 프로그램적으로 컨트롤하는 방법을 설명합니다.


인스트루먼트 리소스 이름 결정

자원은 통신하려는 시리얼, GPIB 또는 VXI 인스트루먼트 또는 컨트롤러입니다. 자원 이름은 VISA 자원의 정확한 이름과 위치를 지정합니다. 예를 들어, 리소스 이름 ASRL1::INSTR은 컴퓨터의 COM 포트 1에 있는 인스트루먼트를 설명하고, 그림 2에 보이는 GPIB0::13::INSTR은 주소 13에 있는 GPIB 인스트루먼트를 설명합니다.


그림 2. 일반 프로퍼티 페이지에서 인스트루먼트 선택하기


인스트루먼트와 상호작용할 때 첫 번째 문제는 주소와 리소스 이름을 결정하는 경우가 많습니다. CWVISA는 사용 가능한 모든 COM 포트와 활성 GPIB 및 VXI 인스트루먼트를 컴퓨터에서 검색하며, 자원 이름 목록에 사용 가능한 모든 리소스를 포함합니다. 통신하려는 인스트루먼트의 리소스 이름을 알고 있거나 실행 중에 리소스를 변경하려는 경우, 다음 코드 라인과 같이 프로그램적으로 리소스 이름을 지정합니다.

CWVisa1.RsrcName = "GPIB::13::INSTR"

읽기 및 쓰기 설정 구성

RdWrt 프로퍼티 페이지에서 다음의 일반 인터페이스 및 통신 셋팅을 설정합니다. 그림 3은 통신 셋팅을 설정하는 방법 중 하나를 보여줍니다.


그림 3. RdWrt 프로퍼티 페이지로 일반 통신 셋팅 설정하기
참고: 프로퍼티 페이지와 프로퍼티 옵션은 컨텍스트에 따라 다릅니다. 즉, 사용 가능한 옵션은 통신하려는 인스트루먼트 타입에 따라 다릅니다.

시리얼 I/O 프로토콜 -- 정규 또는 ASRL488 중 하나를 선택합니다. 시리얼 인스트루먼트가 488.2 스타일 명령을 받는 경우 ASRL488 셋팅을 사용합니다. ASRL488 설정을 사용하면, 다음 예와 같이 다른 메시지 기반 디바이스와 마찬가지로 인스트루먼트와 통신할 수 있습니다.

Dim status As Variant

'I/O 프로토콜 ASRL488 데이터 전송 설정
CWVisa1.RdWrt.IOPprotocol = cwvisaProtocolASRL488

'디바이스 지우기
CWVisa1.Clear

'인스트루먼트에 "*IDN?" 쓰기
CWVisa1.Write "*IDN?"

'시리얼 폴 값 얻기(상태 바이트)
상태 = CWVisa1.ReadSTB

'사용자 인터페이스의 텍스트 박스에서 응답을 읽고 표시
Text1.Text = CWVisa1.Read

GPIB I/O 프로토콜 -- 일반 IEEE488 통신을 위해 정규 또는 고속 488 데이터 전송을 위해 HS488을 선택합니다.

VXI I/O 프로토콜 -- 대부분의 VXI 인스트루먼트의 경우, 일반을 선택합니다. 몇몇 인스트루먼트는 FDC(Fast Data Channel) I/O를 지원합니다.

참고: 사용 가능한 I/O 프로토콜을 확인하려면 인스트루먼트 또는 컨트롤러의 문서를 참조하십시오.

바이트 교환은 디바이스의 바이트를 반대로 합니다. 사용하는 디바이스가 Big Endian인 경우 이 옵션을 활성화합니다. 인스트루먼트가 Big Endian 포맷으로 데이터를 반환하는지 확인하려면 디바이스 문서를 참조하십시오.

'큰 엔디언 형식 (최상위 바이트 먼저)
CWGPIB1.SwapBytes = 참

종료 문자는 읽기 작업을 종료하기 위해 사용하려는 문자를 지정합니다. 종료 문자를 사용할 필요가 있는지 그리고 종료 문자가 무엇이어야 하는지 결정하려면 인스트루먼트 문서를 참조하십시오.

'캐리지 리턴 문자를 종료 문자로 사용
CWVisa1.RdWrt.TerminationCharacter = 13

'종료 문자의 사용 활성화
CWVisa1.RdWrt.TerminationCharacterEnable = 참

인터페이스 설정 구성

시리얼 또는 VXI 인스트루먼트와 통신하는 경우, 추가적인 인터페이스 프로퍼티를 설정해야 합니다.

시리얼 통신 -- 시리얼 프로퍼티 페이지를 사용하여 그림 4와 같이 보 전송속도, 데이터 비트, 정지 비트 및 흐름 제어 방법을 설정하거나 다음 예제와 같이 시리얼 프로퍼티를 프로그램적으로 설정합니다.

CWVisa1.Asrl.BaudRate = 9600
CWVisa1.Asrl.DataBits = cwasrlDataBits8
CWVisa1.Asrl.StopBits = cwasrlStopBits1
CWVisa1.Asrl.FlowControl = cwasrlFlowNone


그림 4. 시리얼 프로퍼티 페이지로 시리얼 인터페이스 셋팅 설정하기


VXI Communication -- VXI 메모리 프로퍼티 페이지를 사용하여 VXI 레지스터 접근과 관련된 프로퍼티를 설정합니다. 레지스터 기반 인스트루먼트에는 처리 중에 일시적으로 데이터를 저장하는 레지스터라는 프로세서 장치가 있습니다. 소스대상 프로퍼티는 상위 레벨 레지스터 액세스 작업에 적용되며, 윈도우 프로퍼티는 하위 레벨 레지스터 액세스에 적용됩니다. Access Priv. 프로퍼티를 사용하여 VME 접근 권한을 지정하고, MoveIn 또는 MoveOut 메소드를 사용하여 각 전송 후 대상 주소를 1만큼 증가시키려면 Address Incr을 사용하십시오.

그림 5는 VXI 인스트루먼트로 데이터를 전송하는 방법 중 하나를 보여줍니다.


그림 5. VXI 메모리 프로퍼티 페이지를 사용하여 VXI 레지스터 접근 프로퍼티 설정하기


이러한 통신 프로퍼티를 프로그램적으로 설정할 수 있습니다. 다음 예제는 FIFO (증가되지 않는 주소)에 접근하기 위해 CWVisa1 컨트롤을 설정합니다:

'소스 접근 Priv to Data Privilege'

CWVisa1.VxiMemory.SrcAccessPriv = cwVxiMemoryDataPriv
'Byte Order to Big Endian'
CWVisa1.VxiMemory.SrcByteOrder = cwVxiMemoryBigEndian
'주소 추가: 0
CWVisa1.VxiMemory.Src증가 = 0

인스트루먼트 통신 테스트

Measurement Studio 사용하면 인스트루먼트가 작동하는지 쉽게 통신을 테스트할 수 있습니다.

1. 테스트 프로퍼티 페이지를 엽니다. 이 프로퍼티 페이지에서 메시지 기반 명령을 쓰고 읽을 수 있습니다. 모든 시리얼 및 GPIB 인스트루먼트와 많은 VXI 인스트루먼트는 다양한 메시지 기반 명령 문자열을 인식합니다.

2. *idn? 식별 쿼리와 같이 문자열 보내기 필드에 명령을 입력합니다. 인스트루먼트가 어떤 메시지 기반 문자열을 인식할지 확인하려면 인스트루먼트 문서를 참조하십시오.

참고: 모든 VXI 인스트루먼트와 컨트롤러가 메시지 기반 통신을 사용하는 것은 아닙니다. VXI 디바이스가 메시지 기반 명령을 받지 않는 경우, 대신 레지스터 접근을 사용하십시오. 메시지 및 레지스터 기반 통신에 대한 정보는 데이터 전송하기 섹션을 참조하십시오.

3. 실행을 누릅니다. 문자열 받음 인디케이터에 나타나는 응답을 확인합니다. 그림 6은 NI GPIB 및 시리얼 디바이스 시뮬레이터에서 받은 응답을 보여줍니다. 또한 쓰기를 눌러 인스트루먼트에 데이터를 쓰고, 읽기를 눌러 인스트루먼트에서 응답을 읽을 수 있습니다.


그림 6. 테스트 프로퍼티 페이지를 사용하여 인스트루먼트에 읽기 및 인스트루먼트에서 쓰기


VISA 세션 열기

세션을 열고 프로그램의 인스트루먼트와 통신을 시작합니다. 세션은 CWVISA 컨트롤에서 리소스에 대한 연결 또는 링크이며, 열기 메소드를 사용하여 세션을 열 수 있습니다. 열기 메소드는 리소스를 초기화하고 프로퍼티 페이지에서 지정한 셋팅 또는 프로그램적으로 VISA 통신 세션을 설정합니다. 예를 들어, 사용자가 프런트패널의 세션 열기 버튼을 클릭할 때 다음 이벤트 과정에서처럼 VISA 세션을 열 수 있습니다.

'세션 열기
프라이빗 서브 OpenSession_Click()

CWVisa1.Open

Sub 끝

데이터 전송하기

CWVISA는 시리얼, GPIB, 메시지 기반 및 레지스터 기반의 VXI 인스트루먼트 및 컨트롤러와 통신할 수 있습니다. 메시지 기반 인스트루먼트는 정의된 VXIbus 레지스터 및 통신 프로토콜을 구현하고 Word 시리얼 프로토콜을 인식합니다. 모든 시리얼 및 GPIB 인스트루먼트와 많은 VXI 인스트루먼트는 다양한 메시지 기반 명령 문자열을 인식합니다. 표준 메소드 호출 세트를 사용하여 모든 메시지 기반 인스트루먼트에 쓰고 읽을 수 있습니다. CWVISA 컨트롤은 VXI 인스트루먼트와 함께 사용할 수 있는 레지스터 접근 방법의 세트를 제공합니다. 상위 레벨 레지스터 액세스의 경우, 입력 및 출력 메소드를 사용합니다. 하위 레벨 레지스터 액세스의 경우, 피크 및 포크 메소드를 사용합니다.

메시지 기반 동기화 I/O -- 쓰기 및 읽기 메소드를 사용하여 동기화 메시지 기반 I/O를 수행합니다. 예를 들어, 다음 코드는 인스트루먼트에 식별 쿼리를 보내고 인스트루먼트의 응답을 사용자 인터페이스의 텍스트 박스에 디스플레이합니다:

CWVisa1.Open
CWVisa1.Write "*IDN?" & vbLf
Text1.Text = CWVisa1.Read

메시지 기반 비동기화 I/O -- 쓰기 및 읽기 작업이 즉시 시작되고 다시 시작되도록 WriteAsync 및 ReadAsync를 사용하여 비동기화 I/O를 수행할 수 있습니다. ReadAsync 메소드가 완료되면 CWVISA 컨트롤이 이벤트를 생성하고 데이터를 DataReady 이벤트 절차에 전달합니다. WriteAsync 메소드가 완료되면 CWVISA 컨트롤은 WriteComplete 이벤트를 생성합니다. 이러한 비동기화 메소드와 이벤트를 사용하여 긴 읽기 또는 쓰기 작업 중 다른 태스크를 계속 실행할 수 있습니다. 예를 들어, ReadAsync을 호출하면 프로그램이 데이터 읽기를 완료하고 CWVISA 컨트롤은 다음 이벤트 절차를 호출하는 DataReady 이벤트를 생성합니다.

프라이빗 서브 CWVisa1_DataReady(ByVal taskNumber As Integer, data As Variant)

'텍스트 박스에서 데이터를 읽은 즉시 표시
Text1.Text = data

Sub 끝

입력 및 출력 메소드가 있는 상위 레벨 레지스터 액세스 -- 상위 레벨 VXI 레지스터에서 데이터를 읽으려면 다음 예와 같이 In8, In16, In32 메소드를 사용하여 8비트, 16비트 및 32비트 값을 읽습니다.

'VXI 버스의 A32 공간에서 오프셋 0에서 32비트 값을 읽습니다.
X = CWVisa1.In32 cwVxiA32Space, 0

참고: In 방법에는 두 개의 파라미터가 있습니다: 스페이스 및 오프셋. 오프셋 파라미터는 베이스 주소를 기준으로 지정된 주소 공간의 주소를 지정합니다.

다음 예제와 같이 대응하는 출력 방법을 사용하여 지정된 오프셋에 데이터를 씁니다.

'VXI 버스의 로컬 스페이스에서 오프셋 0에서 32비트 값 Y를 쓰기
CWVisa1.Out32 cwVxiLocalSpace, 0, Y

큰 데이터 블록을 이동하려면, MoveIn 및 MoveOut 메소드를 사용하고 주소 증가 프로퍼티를 선택하여 데이터가 단일 위치(FIFO)로 이동되지 않도록 합니다.

Peek and Poke 메소드를 사용하여 로우 레벨 레지스터 접근 -- Peek and Poke 메소드를 사용하기 전에 MapAddress 메소드를 사용하여 VXI 메모리 공간의 일부를 로컬 메모리에 맵핑합니다. MapAddress는 주소 공간, 베이스 VXI 주소, 바이트로 표시된 메모리의 크기, 메모리를 맵핑할 수 있는 제안된 로컬 주소를 파라미터로 받습니다. 이 메소드는 지정된 베이스 VXI 주소가 맵핑된 실제 로컬 주소를 반환합니다. 그런 다음 피크 및 포크 메소드를 사용하여 맵핑된 스페이스에서 데이터를 읽거나 쓸 수 있습니다.

다음 코드는 로컬 메모리의 스페이스를 맵핑하고, 스페이스를 봅니다. 그리고 스페이스를 맵핑 해제합니다:

'A16 공간에 16 바이트 메모리 맵핑
X = CWVisa1.MapAddress(cwVxiA16Space, &hC000, 64, 거짓, 0)

'주소 공간의 시작 부분에서 16비트 값을 읽습니다.
Y = CWVisa1.Peek16(X)

'주소 공간의 두번째 바이트에 있는 레지스터에 16비트 값 35을 쓰기
CWVisa1.Poke16 X + 2, 35

'로컬 메모리의 공간 해제
CWVisa1.UnmapAddress

참고: MapAddress 메소드를 사용하여 VXI 주소 공간의 영역을 로컬 메모리에 맵핑합니다. 맵핑된 윈도우 크기와 윈도우 베이스 프로퍼티를 확인하여 이 윈도우 밖의 영역에 접근하지 않도록 합니다.

이벤트를 사용하여 통신 동기화하기

이벤트는 VISA 리소스와 프로그램 간의 통신을 제공합니다. 프로그램이 다음 조건에 반응하도록 하려면, 적절한 이벤트의 이벤트 절차를 정의합니다:

  • 서비스 요청 -- 디바이스가 컨트롤러에서 서비스를 요청할 때 프로그램을 알립니다. 이 이벤트는 요청을 생성하는 디바이스를 시리얼 폴링하여 얻은 상태 바이트를 반환합니다. 이 이벤트는 주로 GPIB SRQ 라인과 메시지 기반 VXI 인스트루먼트를 지정하는 GPIB 인스트루먼트가 생성합니다.
  • 트리거 -- 디바이스가 VXI 백플레인의 트리거 라인을 지정할 때 프로그램에 알립니다. 반환된 VISA 이벤트는 이벤트와 연관된 트리거 라인을 지정하는 트리거 ID 프로퍼티를 포함합니다.
  • VxiSignalProc -- 디바이스가 VXI 백플레인에 인터럽트를 지정하거나 VXI 신호를 생성할 때 프로그램에 알립니다. VXI 인터럽트 또는 신호가 발생하면 StatusId 값이 VXISignalProc 이벤트에 의해 반환됩니다. StatusId의 아래쪽 8비트는 신호 또는 인터럽트를 생성하는 인스트루먼트의 논리적 주소로 설정됩니다.
  • VxiVmeInterrupt -- 인스트루먼트가 VXI 백플레인에 인터럽트를 지정할 때 프로그램에 알립니다. 이 이벤트는 VxiSignalProc 이벤트와 비슷합니다. 이 이벤트는 신호가 아닌 VXI 또는 VME 인터럽트에서만 생성됩니다.


CWVISA 컨트롤은 나중에 이벤트에 접근하고 처리할 수 있도록 이벤트를 큐에 넣습니다. CWVISA는 열기 메소드가 호출될 때 트리거를 제외한 모든 이벤트 타입에서 자동으로 EnableEvent 메소드를 호출합니다. EnableEvent 메소드를 사용하여 이벤트 큐에 놓으려는 이벤트만 추가할 수 있습니다. 예를 들어, 다음의 Visual Basic 코드는 VxiVmeInterrupt 이벤트의 이벤트 큐를 활성화하여 이벤트가 발생할 때 이벤트 절차를 호출하는 대신 큐에 놓습니다.

CWVisa1.EnableEvent cwvisaEventVXIVME인터럽트

다음 Visual Basic 코드는 이벤트 큐를 확인하여 큐에 VXIVMEInterrupt 이벤트가 있는지 확인하고, 이 이벤트가 있는 경우 인터럽트의 StatusId 값을 얻습니다.

Dim ReturnEvent as CWVisaEvent
Dim stat As Boolean

stat = CWVisa1.WaitOnEvent(cwvisaEventVXIVMEInterrupt, 0, ReturnEvent)
If stat Then

'사용자 인터페이스의 텍스트 박스에 StatusID 표시
Text1.Text = ReturnEvent.StatusId

만약

프로그램의 특정 지점에서 발생하는 이벤트에 대해 우려하는 경우, 큐를 비우거나 이벤트 큐를 비활성화할 수 있습니다. 같은 타입의 모든 이벤트의 큐를 비우려면 다음과 같은 이벤트 해제 메소드를 사용합니다.

CWVisa1.DiscardEvents cwvisaEventVXIVME인터럽트

이벤트를 큐에 놓지 않도록 하려면 다음과 같은 DisableEvent 메소드를 사용합니다.

CWVisa1.DisableEvent cwvisaEventVXIVME인터럽트

데이터 파싱하기

인스트루먼트는 헤더와 데이터 정보의 조합을 포함하는 암호화된 2진 문자열 또는 문자열을 다시 보내는 것으로 알려져 있습니다. 이러한 문자열을 유용한 데이터 포맷으로 분석하는 것은 자주 실패합니다. CWVISA 컨트롤은 인스트루먼트 데이터를 보다 쉽게 처리할 수 있도록 데이터 분석 기능을 제공합니다.

분석 프로퍼티 페이지를 사용하여 분석 태스크를 생성합니다. 분석 작업은 데이터를 어떻게 분석할지 설명합니다. 그런 다음 코드에서 이 태스크를 실행하여 인스트루먼트에서 반환된 데이터를 자동으로 분석합니다. 필요한 개수만큼 분석 태스크를 지정하여 인스트루먼트와의 각 상호작용 타입을 다르게 분석할 수 있습니다.

CWVISA 컨트롤은 Number Parser라는 내장 태스크를 제공합니다. 숫자 파서는 구분된 문자열을 숫자의 배열로 변환하여 헤더 및 기타 비숫자형 정보를 제거합니다. 예를 들어, 쉼표로 구분된 숫자 리스트를 반환하여 DATA? 명령에 응답하는 인스트루먼트를 가지고 있다고 가정합니다. 문자열은 WFM3.246,3.295,4.653,3.334와 유사할 수 있습니다. 숫자형 파서 태스크가 없으면, 문자열을 분석하여 각 ASCII로 나타낸 숫자를 가져와 실수 타입으로 변환합니다. [숫자 파서] 태스크를 사용하면 같은 메소드 호출로 데이터를 분석하고 읽습니다. 다음 Visual Basic 코드는 VISA 세션을 열고, 데이터? 명령을 사용하여 메시지 기반의 인스트루먼트를 쿼리하고, 분석된 데이터를 읽는 방법을 보여줍니다.

'배리언트는 배정도 배열을 보유합니다 - 분석된 데이터
Dim data as Variant
'VISA 세션 열기
CWVisa1.Open
"인스트루먼트에 데이터 쓰기?
CWVisa1.Write "Data?"
'응답 읽기
데이터 = CWVisa1.Tasks.Item("Number Parser").읽기

팁: CWVISA 컨트롤을 사용하는 고급 분석 기술에 대한 정보는 어플리케이션 노트 148 - Visual Basic에서 인스트루먼트 데이터 분석하기를 참조하십시오.

VISA 세션 닫기

닫기 메소드를 사용하여 리소스를 할당 해제하고 VISA 세션을 종료합니다. 다음 이벤트 절차에서 사용자가 세션 닫기 명령 버튼을 클릭하면 VISA 세션이 종료됩니다.

세션 닫기

Private Sub CloseSession_Click()

CWVisa1.Close

Sub 끝

결론


NI VISA는 다양한 인스트루먼트 컨트롤을 위한 솔루션입니다. Measurement Studio VISA 인스트루먼트 컨트롤을 프로그램에 대화식으로 통합할 수 있는 프로퍼티 페이지를 제공합니다. 예를 들어, CWVISA 컨트롤은 모든 VISA 리소스를 찾기 때문에 열거된 리소스에서만 선택해야 합니다. CWVISA는 인스트루먼트와 상호작용하고 통신 문제를 해결하기 위한 테스트 프로퍼티 페이지를 제공합니다. 분석 프로퍼티 페이지를 사용하여 분석 태스크를 지정하여 데이터가 사용 가능한 포맷으로 프로그램에 반환되도록 할 수 있습니다. Measurement Studio VISA API를 통해 시리얼, GPIB 및 VXI 인스트루먼트와 동기식 및 비동기식 통신을 수행하고 이벤트 핸들링 및 큐를 사용하여 프로그램의 실행 속도를 높일 수 있습니다.

Was this information helpful?

Yes

No