이 문서는 PXI, CompactDAQ, CompactRIO, LabVIEW, TestStand 및 VeriStand를 포함하여 NI 하드웨어 및 소프트웨어 플랫폼과 함께 Python을 사용할 수 있도록 National Instrument 도구에 대한 개요를 제공합니다. 각 Python 도구에 대해, 설치 방법, 지원 환경, API 참조 및 예제는 링크된 문서를 참조하십시오.
오픈 소스 개발자와 NI는 하위 레벨 ctypes 함수 호출을 단순화된 API로 추상화하는 모듈을 만들어 Python을 NI 하드웨어와 쉽게 통합할 수 있도록 했습니다. 다음 링크는 NI 하드웨어 드라이버용으로 작성된 Python 래퍼에 대한 문서 리소스로 연결됩니다.
nimi-python 저장소는 기본 NI 모듈형 계측기 드라이버에 대한 인터페이스를 제공하는 Python 모듈 모음입니다. 현재 NI는 이 패키지를 통해 PXI 오실로스코프, 파형 발생기, DMM, SMU, 전원 공급 장치, 스위치 및 디지털 패턴 계측기를 위한 Python 지원을 제공합니다. 이 계측기는 다음 드라이버를 사용합니다.
모듈형 계측기 | 드라이버 | Python 모듈 |
---|---|---|
NI-SCOPE | niScope | |
NI-FGEN | niFgen | |
NI-DMM | niDMM | |
NI-DCPower | nidcpower | |
NI-SWITCH | niswitch | |
NI-Digital Pattern Driver | nidigital |
nidaqmx 패키지에는 NI 데이터 수집(DAQ) 디바이스와 통신하는 데 필요한 NI-DAQmx 드라이버와 상호 작용하기 위한 API가 포함되어 있습니다. 이 패키지는 NI에서 작성하였으며, NI가 지원합니다. 이 패키지는 ctypes Python 라이브러리를 사용하여 NI-DAQmx C API를 중심으로 복잡하고 객체 지향이 강한 래퍼로 구현됩니다.
pyVirtualBench 라이브러리는 C API를 래핑하여 기본 VirtualBench 드라이버에 대한 인터페이스를 제공합니다.
참고: pyVirtualBench는 타사 래퍼이며, NI에서 직접 지원하지 않습니다.
NI FPGA 인터페이스 Python API는 NI CompactRIO, NI 단일 보드 RIO, NI FlexRIO 및 NI R Series Multifunction RIO와 같은 NI 재구성 가능 I/O(RIO) 하드웨어 내의 프로세서와 FPGA 간 통신에 사용됩니다.
FPGA 인터페이스 Python API를 사용하면, 개발자는 LabVIEW FPGA를 사용하여 NI 하드웨어 내에서 FPGA를 프로그래밍하고 호스트 컴퓨터에서 실행되는 Python과 통신할 수 있습니다. 이를 통해 Python 전문 지식을 갖춘 엔지니어와 과학자는 컴파일된 LabVIEW FPGA 비트 파일을 활용할 수 있으며, 기존 Python 코드를 재사용할 수 있는 옵션도 있습니다.
FPGA Interface Python API에 대해 더 알아보기
nivision 라이브러리는 NI Vision의 기능을 Python 프로그래밍 언어로 제공하는 NI 이미지/비전 처리 라이브러리입니다. Windows 및 CompactRIO를 포함한 여러 플랫폼에서 사용할 수 있습니다.
참고: nivision은 타사 래퍼이며, NI에서 직접 지원하지 않습니다.
nivision에 대해 자세히 알아보기
nixnet 패키지에는 NI-XNET 드라이버와 상호 작용을 위한 API가 포함되어 있습니다. NI-XNET는 NI-XNET CAN, LIN, FlexRay PCI, PXI 및 NI C 시리즈 인터페이스를 구동하는 드라이버 소프트웨어 기술입니다. nixnet 패키지 및 NI-XNET는 NI에서 지원합니다.
nixnet에 대해 자세히 알아보기
PyVISA는 NI-VISA 드라이버와 상호 작용을 위한 API를 포함하는 Python 패키지입니다. NI-VISA를 사용하면, 인터페이스(예, GPIB, RS232, USB, 이더넷)와 별개로 측정 장비를 제어할 수 있으며 NI 시리얼, GPIB 및 이더넷 PCI, PXI, USB 및 NI C 시리즈 인터페이스의 드라이버 소프트웨어 기술입니다.
참고: PyVISA는 타사 래퍼이며, NI에서 직접 지원하지 않습니다.
직관적인 API가 설치된 Python 모듈이 많은 장치와 하드웨어 통신을 목적으로 존재하지만, 개발자는 대부분의 하드웨어 드라이버와 함께 제공되는 C API를 사용하여 Python 코드를 하드웨어와 통합합니다. ctypes 모듈을 통해 Python과 함께 NI 하드웨어를 사용하는 경우에도 동일한 방법을 적용할 수 있습니다. 이 솔루션은 Python 스크립트를 대부분의 하드웨어 구성 요소와 통합할 수 있는 직관적인 방법을 제공합니다.
LabVIEW는 ctypes 모듈을 사용하여 하드웨어 드라이버의 C API에 액세스할 수 있을 뿐만 아니라, Python에서 호출할 수 있는 하드웨어 API 함수로 구성된 DLL을 생성할 수 있습니다. 이와 동일한 절차를 통해, 개발자는 일련의 하드웨어 상호 작용을 DLL 파일에 저장된 단일 함수 호출로 추출할 수 있습니다.
LabVIEW 2018에는 Python 노드가 도입되었습니다. 이 노드는 LabVIEW 블록 다이어그램에서 Python 스크립트를 직관적으로 호출할 수 있는 기본 기능을 제공합니다. 이는 LabVIEW 프리미티브를 사용하여, 대기 시간이 짧은 언어 간 상호 운용 방법을 제공합니다.
포함된 Python Adapter는 TestStand 2019부터 테스트 시퀀스에서 Python 코드 모듈을 호출할 수 있는 통합된 구성 기반 환경을 제공합니다. 어댑터는 다른 TestStand 어댑터와 동일한 설계 원칙에 따라 구축되어, 기존 TestStand 개발자에게 익숙한 개발 경험을 제공합니다.
VeriStand 2018부터 niveristand 패키지에는 VeriStand 시스템과 인터페이스하는 API가 포함됩니다. 이 패키지는 NI에서 작성하였으며, NI가 지원합니다.
niveristand 자세히 알아보기
DIAdem 2020부터 VBS를 대체할 수 있는 스크립트 언어로 Python을 SCRIPT 모듈에서 사용할 수 있습니다. Python을 사용하려면 DIAdem SCRIPT 설정에서 Python을 스크립트 언어로 활성화하기만 하면 됩니다. VBS와 마찬가지로 Python 구문으로 스크립트를 기록할 수도 있습니다. SCRIPT 패널에 통합된 Python 편집기는 일반적인 자동 완성 기능과 구문 정보 및 간단한 명령 설명이 포함된 도구 설명을 제공합니다.