데이터 수집 하드웨어 및 NI-DAQmx를 사용하여 컨트롤 어플리케이션 설계하기

개요

데이터 수집(DAQ) 하드웨어는 표준 노트북 및 데스크탑 컴퓨터에 입출력(I/O)을 추가하여 범용 PC를 유연하고 고성능 컨트롤 시스템으로 만듭니다. 일부 DAQ 하드웨어에는 데이터 수집을 위해 설계된 모든 기능을 갖춘 OS가 포함된 임베디드 컨트롤러가 포함되어 있습니다. 표준 컴퓨팅 기술의 빠른 속도를 활용하면 점점 더 저렴한 비용으로 시스템 시각화를 위해 점점 더 빠른 프로세싱 속도, 더 많은 메모리, 더 큰 하드 드라이브, 그래픽 디스플레이를 얻을 수 있습니다. 실내 온도, 모터의 속도, 또는 유압 액체의 압력을 컨트롤해야 하는 경우, 데이터 수집 하드웨어와 NI-DAQmx API를 사용하여 센서와 액추에이터를 컴퓨터에 연결하고 어플리케이션에 맞는 정확한 컨트롤 시스템을 만들 수 있습니다.

이 기술 백서는 컨트롤 어플리케이션에서 사용할 수 있는 NI 데이터 수집 시스템을 비교하고, NI-DAQmx로 컨트롤 어플리케이션을 구축할 때의 주요 기능과 개념을 설명합니다. 또한 컨트롤 루프 속도가 빠르거나 타이밍 결정성이 높아지는 고급 컨트롤 어플리케이션에서 사용할 수 있는 일부 하드웨어/소프트웨어 조합도 도입됩니다.

내용

어플리케이션 요구사항에 맞게 데이터 수집 하드웨어

수백 개의 하드웨어 옵션이 있기 때문에, 컨트롤 어플리케이션에 적합한 데이터 수집(DAQ) 디바이스를 선택할 때 고려해야 할 몇 가지 요소가 있습니다. 먼저, 데이터 수집 어플리케이션에서 사용하려는 센서의 채널 카운트, 데이터 타입, 필터링 및 신호 컨디셔닝 요구사항을 이해해야 합니다. 그런 다음 DAQ 디바이스에서 필요한 성능, 즉 적절한 샘플 속도로 신호를 수집하는데 필요한 정확도, 분해능, 타이밍 결정성, 지연 시간을 알아야 합니다. 이렇게 하면 어떤 DAQ 플랫폼을 선택해야 할지 알 수 있습니다.

I/O를 완전히 이해하면, 어플리케이션에 적합한 하드웨어 플랫폼을 선택할 수 있습니다. 아래의 모든 시스템은 NI-DAQmx API를 사용하여 쉽게 데이터에 접근하고 컨트롤을 수행할 수 있도록 프로그래밍할 수 있습니다.

PC 기반 측정 및 제어 시스템

PC 기반 측정 및 제어 시스템이 지원하는 전기적 및 물리적 측정 기능을 활용하여 엔지니어는 정확하고 비용 효율적인 방식으로 맞춤형 벤치탑 측정을 수행할 수 있습니다. USB 또는 이더넷을 사용하여 NI 하드웨어 제품을 PC 또는 노트북에 연결하여 PC 기반 측정 또는 컨트롤 시스템을 생성합니다. DAQ 디바이스에 대해 더 자세히 알아보려면 NI의 저가 DAQ 제품을 참조하거나 모든 USB, 이더넷 및 PCI 다기능 DAQ 디바이스를 탐색하십시오.

CompactDAQ 시스템​

CompactDAQ 시스템은 엔지니어가 벤치탑 또는 분산 아키텍처에서 전기 및 물리적 측정을 수행할 수 있도록 맞춤형 솔루션을 제공합니다. CompactDAQ 시스템에서 섀시는 USB 또는 이더넷을 통해 PC에 연결된 후, 센서와 직접 연결할 수 있는 하나 이상의 컨디셔닝된 I/O 모듈로 채워집니다. 이더넷 섀시를 동기화하여 분산 시스템을 생성할 수 있습니다. CompactDAQ에 대해 자세히 알아보려면 여기를 클릭하십시오. 또는 CompactDAQ 시스템 구성에 대한 온라인 고문을 사용하십시오.

CompactRIO 시스템​

CompactRIO 시스템은 고성능 처리 기능과 센서별로 컨디셔닝된 I/O 및 긴밀한 통합형 소프트웨어 툴체인을 제공하므로, 산업 IoT, 모니터링 및 제어 어플리케이션에 적합합니다. CompactRIO 시스템에서, 프로세서와 사용자 프로그래밍 가능한 FPGA가 있는 컨트롤러는 NI 또는 타사 제조업체의 하나 이상의 컨디셔닝 I/O 모듈로 채워집니다. 이 모듈은 직접 센서 연결 및 특수 기능을 제공합니다. CompactRIO는 견고한 산업용 폼 팩터와 보드 레벨 디자인 모두에서 사용할 수 있습니다. CompactRIO 904x는 NI-DAQmx에 대한 지원을 도입했습니다. 이전 CompactRIO 모델은 LabVIEW Real-Time 및/또는 LabVIEW FPGA를 사용하여 제어를 수행합니다. CompactRIO에 대해 자세히 알아보려면 여기를 클릭하십시오. 또는 CompactRIO 시스템 구성에 대한 온라인 고문을 사용하십시오.

PXI 시스템

PXI 시스템은 디바이스 검증부터 자동 양산 테스트까지 특수 동기화와 주요 소프트웨어 기능을 갖춘 고성능 모듈형 계측기 및 기타 I/O 모듈을 제공합니다. PXI 시스템에서, 섀시는 인스트루먼테이션 또는 I/O 모듈에 전원, 냉각, 통신 버스를 제공합니다. 이 모듈은 임베디드 컨트롤러 또는 외부 PC에서 제어할 수 있으며, NI의 전문 엔지니어링 소프트웨어 도구를 사용하여 시스템을 사용자 정의할 수 있습니다. PXI에 대해 더 자세히 알아보려면 여기를 클릭하십시오. 또는 PXI 시스템 구성에 온라인 고문을 사용하십시오.

 그림 1. USB DAQ(중앙), CompactDAQ(왼쪽 앞), CompactRIO(오른쪽), PXI(왼쪽 뒤)를 포함하는 NI DAQ 시스템.

LabVIEW 및 NI-DAQmx를 사용한 그래픽 프로그래밍

NI-DAQ 측정 디바이스와 통신하는데 사용되는 드라이버 소프트웨어인 NI-DAQmx는 200개 이상의 National Instruments 데이터 수집 디바이스에 포함되어 있습니다. NI-DAQmx는 NI LabVIEW, LabWindowsTM/CVI, ANSI C/C++, Visual Basic 6.0 및 C#/Visual Basic .NET을 비롯한 여러 프로그래밍 언어를 지원합니다. 컨트롤 어플리케이션의 경우, NI-DAQmx는 하드웨어 타이밍에 의한 단일 포인트 함수 호출 및 LabVIEW Real-Time OS에 대한 지원과 같은 특정 타이밍 결정성이 있는 기능을 제공합니다.

이 기술 백서는 LabVIEW NI-DAQmx 드라이버를 사용하는 것에 대해 설명합니다. LabVIEW 그래픽 프로그래밍 소프트웨어는 엔지니어 및 과학자의 요구를 위해 특별히 설계된 사용하기 쉬운 애플리케이션 개발 환경을 제공합니다. 프로그래밍 경험이 없으면 하드웨어를 설정하고, 센서 측정을 수행하고, 측정된 값을 원하는 셋포인트와 비교하고, 출력 신호를 업데이트할 수 있습니다. NI-DAQmx 드라이버는 그래픽 함수를 제공하여 값을 읽고 쓰고 하드웨어 I/O와 직접 상호작용합니다. LabVIEW 소프트웨어와 하드웨어 간에 최상의 통합을 제공하므로 전체적인 프로그래밍 복잡성을 줄이고 개발 시간을 절약할 수 있습니다.

 그림 2. NI-DAQmx 읽기 및 쓰기 함수.

 

NI-DAQmx 어플리케이션 프로그래밍 인터페이스(API)는 단순 ON/OFF 컨트롤에서 PID 및 기타 고급 컨트롤 알고리즘까지 완벽하게 확장할 수 있습니다. 다음 섹션에서는 다양한 컨트롤 시스템을 구현하는데 필요한 그래픽 프로그래밍의 예를 보여줍니다.

LabVIEW 및 NI-DAQmx: ON/OFF 컨트롤

피드백 컨트롤 시스템은 측정을 수행하고, 측정된 값을 원하는 값과 비교한 후, 엑추에이터를 켜거나 끄고, 원하는 값에 가까워지도록 할 수 있습니다. 이는 일반적으로 액추에이터로 흐르는 전력을 컨트롤하는 릴레이 또는 스위치를 구동하는 것을 포함합니다. 예를 들어 일상적인 에어컨 시스템은 이러한 방식으로 작동합니다. 온도 측정 디바이스(일반적으로 온도 조절기)는 현재 온도를 모니터하고, 온도가 원하는 값을 초과하면 릴레이나 스위치를 연결합니다. 릴레이는 온도가 편안한 레벨로 돌아올 때까지 에어컨 유닛을 켜도록 합니다.

그림 3은 기본 On/Off 제어 시스템을 생성하는 LabVIEW 블록다이어그램의 예를 보여줍니다. DAQmx Read.vi 함수는 온도 측정값을 취하고, 보다 큼? 함수를 사용하여 온도 값을 설정점 값과 비교합니다. 온도가 셋포인트 값보다 큰 경우, DAQmx Write.vi 함수를 사용하여 릴레이를 컨트롤하는 디지털 출력 채널에 참 값이 전송됩니다.

 그림 3. ON/OFF 제어 시스템의 블록다이어그램 예제.

 

많은 건물에는 실내 온도를 조절하는데 필요한 에어컨과 히터가 있습니다. 냉각 및 가열은 일반적으로 독립적으로 수행되지만, PC 기반 데이터 수집 시스템을 사용하여 두 시스템을 동시에 작동시킬 수 있습니다.

그림 4는 냉각 및 가열을 모두 제어하는 LabVIEW 블록다이어그램의 예를 보여줍니다. 이 블록다이어그램에서 측정 온도 값은 두 개의 다른 셋포인트와 비교되며, 각 셋포인트는 에어컨 또는 히터에 연결되어 있습니다.

 그림 4. 두 개의 출력을 가진 ON/OFF 제어 시스템의 블록다이어그램 예제.

 

추가적인 로직을 사용하면 컨트롤 시스템을 더욱 사용자 정의하고 셋포인트 스케줄링, 온도 평균값 연산, 데드 대역 설정과 같은 기능을 추가할 수 있습니다. 또한 동일한 PC 기반 컨트롤 시스템에 데이터 로깅 및 리포트 생성 기능을 추가할 수 있습니다.

LabVIEW 및 NI-DAQmx: PID 컨트롤

단순한 On/Off 컨트롤은 필요한 속도와 정밀도로 특정 시스템을 정확하게 컨트롤하는데 충분한 세분화를 제공하지 않을 수도 있습니다. PID (Proportional-Integral-Derivative) 알고리즘은 업계에서 가장 일반적으로 사용되는 컨트롤 알고리즘입니다. PID 컨트롤러의 인기는 다양한 작동 조건에서 강력한 성능뿐만 아니라 간단하고 간단한 작동 방식 때문입니다. LabVIEW PID Control Toolkit이 포함되어 있으며, 이를 사용하여 미리 만든 그래픽 함수를 설치하여 PID 컨트롤 시스템을 쉽게 구현할 수 있습니다. 그림 5는 기본 PID.vi 함수를 보여줍니다.

 그림 5. LabVIEW PID Toolkit의 그래픽 PID 함수.

 

이름에서 알 수 있듯이, PID 알고리즘은 비례, 적분, 미분의 세 가지 기본 계수로 구성되며, 이를 조정하여 최적의 응답을 얻을 수 있습니다. PID 컨트롤러의 기본적인 아이디어는 센서를 읽고 비례, 적분, 미분 응답을 계산하여 원하는 액추에이터 출력을 계산하는 것입니다. 컨트롤러는 이 세 구성요소의 합을 취하여 출력을 계산합니다. 그림 6은 하나의 아날로그 입력 채널과 하나의 아날로그 출력 채널을 사용하는 PID 컨트롤 루프가 있는 블록다이어그램의 예를 보여줍니다.

 그림 6. PID 함수가 빨간색으로 원형으로 표시된 아날로그 I/O 제어 어플리케이션.

LabVIEW 및 NI-DAQmx: LabVIEW Control Design and Simulation Module을 사용한 고급 컨트롤

PID 컨트롤 외에도 플랜트의 상태 공간 모델에 기반한 고급 컨트롤 시스템과 원하는 시스템 응답에 기반한 여러 사용자 컨트롤 파라미터가 있습니다. 이러한 컨트롤 시스템을 설계하려면 컨트롤 시스템 이론에 대한 지식과 경험이 필요합니다. LabVIEW Professional에 포함된 LabVIEW Control Design and Simulation Module을 이 수준의 정교성이 필요한 어플리케이션에 사용할 수 있습니다. 이 소프트웨어는 새롭게 설계된 컨트롤 알고리즘을 테스트하고 반복할 수 있도록 지원하며, 고급 컨트롤 시스템의 프로토타입을 만들고 검증할 때 상당한 시간과 리소스를 절약할 수 있습니다.


 그림 7. LabVIEW Control Design and Simulation Module은 컨트롤러를 설계할 수 있는 실제 하드웨어 입출력을 갖춘 그래픽 프로그래밍 환경과 고급 API를 제공합니다.

LabVIEW Real-Time 및 LabVIEW FPGA를 통한 타이밍 결정성 향상 및 보다 신속한 제어 루프

NI-DAQmx는 데이터 수집 및 컨트롤 어플리케이션을 위한 강력한 API이지만, 일부 어플리케이션은 DAQmx가 제공하는 것보다 더 높은 타이밍 결정성, 더 낮은 지연 시간, 더 빠른 컨트롤 루프를 필요로 합니다. 리얼타임 OS (RTOS)는 배포된 어플리케이션에 모든 리소스를 할당하여 컨트롤 시스템에 소프트웨어 타이밍 결정성과 안정성을 최대한 제공합니다. CompactRIO 및 PXI 컨트롤러는 LabVIEW용 애드온인 LabVIEW Real-Time Module을 통해 고급 타이밍 결정성을 위해 이 Real-Time OS를 활용할 수 있습니다. 이 소프트웨어가 설치되면 LabVIEW 그래픽 코드를 컴파일하여 선택한 Real-Time 타겟에 맞게 최적화합니다. LabVIEW Real-Time Module 사용하면, 표준 데스크탑 PC 및 PXI 시스템을 포함한 모든 NI Real-Time 하드웨어 타겟에 어플리케이션을 개발하고 배포할 수 있습니다. NI-DAQmx 드라이버 소프트웨어를 사용하면, Windows용 LabVIEW PCI, PCI Express, PXI 플랫폼 디바이스를 CompactRIO 또는 PXI의 LabVIEW Real-Time으로 쉽게 마이그레이션할 수 있으며 같은 함수 호출과 하드웨어 설정을 유지할 수 있습니다.

하드웨어 타이밍에 의한 속도와 안정성을 갖춘 더 높은 성능의 컨트롤 루프가 필요한 어플리케이션의 경우, CompactRIO 또는 다기능 재구성 가능한 디바이스와 함께 LabVIEW FPGA Module 사용하는 것이 좋습니다. FPGA는 같은 LabVIEW 그래픽 개발 환경에서 프로그래밍할 수 있는 재구성가능한 실리콘 칩입니다. CompactRIO 및 재구성가능한 디바이스는 완전히 유연한 I/O 타이밍 및 트리거링뿐만 아니라 사용자 정의 온보드 처리를 제공합니다. LabVIEW FPGA Module 사용하여 LabVIEW 블록다이어그램을 생성하여 디바이스 기능을 설정할 수 있습니다. 블록다이어그램은 하드웨어에서 실행되므로 프로세서와 통신할 필요 없이 모든 I/O 신호를 즉시 직접 컨트롤할 수 있습니다. CompactRIO 및 재구성가능한 디바이스를 사용하면, 최대 MHz 범위의 속도로 실행되는 여러 개의 PID 컨트롤 루프를 생성할 수 있습니다.

 그림 8. RIO의 이기종 아키텍처는 리얼타임 OS의 타이밍 결정성을 FPGA의 고급 제어 및 프로세싱과 결합합니다.

LabVIEW Real-Time과 LabVIEW FPGA의 조합은 모든 고성능 임베디드 컨트롤 어플리케이션에서 뛰어난 이점을 제공합니다. FPGA 기반 데이터 수집 디바이스에 대한 자세한 내용은 CompactRIOR 시리즈 다기능 RIO에 대해 자세히 알아보십시오.

다음 단계

LabWindows 상표는 Microsoft Corporation와의 라이센스 계약 하에 사용되고 있습니다. Windows는 미국 및 기타 국가에 등록된 Microsoft Corporation의 등록 상표입니다.