데이터계측분석/데이터계측 기술자료

랩뷰를 이용한 프로토타입 프로그램 개발 가이드

에이티에스 2023. 3. 1. 23:09
728x90

소프트웨어 설계 시작

 

디자인의 중요성

새로운 장치에 대한 흥미롭고 혁신적인 아이디어로 인해 종이 디자인을 완전히 건너 뛰고 실제 프로토 타입을 즉시 시작하고 싶을 수 있습니다. 이 유혹에 저항하면 장기적으로 시간과 낭비되는 노력을 절약 할 수 있습니다.

디자인에 투자하는 시간은 나중에 큰 배당금을 지불하고 디자인 프로세스에서 많은 일반적인 함정을 피하는 데 도움이 됩니다. 디자인은 펜이나 연필로 종이에 프로토 타입의 세부 디자인을 작성하는 것을 의미하지 않습니다.

디자인은 소프트웨어 코딩 또는 하드웨어 디자인을 수행하기 전에 계획을 세우는 것입니다. 디자인의 이점 중 일부는 아이디어를 머리에서 종이로 얻고, 나중에가 아닌 일찍 실패하고, 조기 고객 피드백을 얻는 것입니다.

 

요구 사항 정의

훌륭한 아이디어와 냅킨 뒷면 스케치에서 상세한 디자인으로 어떻게 이동합니까? 첫 번째 단계는 사용자 요구 사항 목록을 만들어 목표를 명확하게 정의하는 것입니다. 이러한 요구 사항은 가능한 한 구체적이어야 합니다.

이 초기 단계에서는 설명된 요구 사항을 충족할 수 있는지 확인하기 위해 조사가 중요합니다. 디자인은 실현 가능합니까? 현실적으로 귀하의 요구 사항을 충족시킬 수 있습니까? 디자인에 대한 요구와 욕구를 구분해야 합니다. 혁신가로서 프로토타입에 고급 기능을 추가하고 싶지만 완전히 필요한 것은 아닙니다. 목표를 알고 고수하십시오.

 

요구 사항의 추상 구성 요소

추상화를 사용하면 응용 프로그램 작성 방법을 정의하지 않고도 응용 프로그램을 설명할 수 있습니다. 추상화는 응용 프로그램을 높은 개념 수준으로 일반화합니다. 추상화의 두 가지 주요 유형은 절차 및 데이터입니다.

절차적 추상화는 프로시저가 수행하는 작업과 프로시저가 구현되는 방법을 분리합니다. 데이터 추상화는 저장하려는 데이터를 데이터를 저장하는 물리적 수단과 분리합니다. 추상화를 지원하려면 시스템 요구사항 문서에서 키 동사와 명사를 제거하십시오. 이러한 동사와 명사를 사용하여 프로그램이 수행해야 하는 작업과 사용자 인터페이스의 일부가 될 개체를 결정할 수 있습니다.

동사와 명사는 프로토타입을 완성하는 데 필요한 하드웨어 구성 요소를 결정하는 데도 도움이 됩니다. 

 

순서도

장치 요구 사항에서 수집한 추상화된 구성 요소 집합이 있으면 순서도를 사용하여 추상화된 구성 요소에서 소프트웨어 디자인으로 이동할 수 있습니다. 순서도는 응용 프로그램을 보다 관리하기 쉬운 부분으로 나누어 응용 프로그램 흐름을 잘 이해하는 데 도움이 됩니다.

LabVIEW는 엔지니어 및 과학자의 생산성을 가속화하기 위해 특별히 설계된 그래픽 기반 프로그래밍 개발 환경으로, 디자인을 코드로 신속하게 변환하기 위한 이상적인 도구입니다. LabVIEW 블록 다이어그램은 플로우 차트와 유사하므로, 플로우 차트에서 소프트웨어 코드로 이동하는 것은 빠른 프로세스입니다.

그림 1. 혈압 모니터에 대한 순서도, 상태 다이어그램 및 상태 머신의 이 이미지에서는 상태 다이어그램에 정의된 <>개의 상태가 상태 머신에서 구현됩니다.

 

상태 다이어그램

상태 다이어그램은 프로그램의 상태와 상태 간의 전환을 나타내는 특정 유형의 순서도입니다. 각 상태는 조건을 충족하거나, 작업을 수행하거나, 이벤트를 기다립니다. 상태 간의 전환은 프로그램을 다음 상태로 이동시키는 조건, 작업 또는 이벤트입니다. 상태 다이어그램은 거의 모든 임베디드 시스템이 상태 아키텍처를 사용하기 때문에 프로토타이핑에 유용합니다. 즉, 프로토 타입이 유휴 상태 인 경우에도 항상 주어진 상태에 있다는 것을 이해하여 설계되었습니다.

LabVIEW에서 상태 머신은 케이스 구조, While 루프 및 시프트 레지스터로 구성됩니다. 초기 사례는 루프 외부에서 지정됩니다. 상태 다이어그램의 각 상태는 Case 구조체의 한 사례에 해당합니다. 각 사례에는 하나의 상태를 구현하는 코드와 다른 사례로의 전환을 정의하는 논리가 포함되어 있습니다. 이 아키텍처는 상태 시스템에 더 많은 케이스와 로직을 추가하여 애플리케이션을 확장할 수 있는 기능을 제공합니다.

 

 

사용자 인터페이스 프로토타입

UI(사용자 인터페이스)의 프로토타입을 제작하기에 가장 좋은 시기는 종이 디자인을 소프트웨어로 전환할 때입니다. UI 프로토타이핑은 이러한 전환을 수행할 때 디자인 아키텍처 및 응용 프로그램 요구 사항을 고려하는 데 도움이 됩니다.

때로는 더 중요한 것은 잠재 고객과 투자자에게 장치 기능에 대한 실질적인 데모를 제공한다는 것입니다. 프로토타입이 복잡할수록 UI 프로토타입은 지원을 구축하고 디자인에 대한 피드백을 수집하는 데 더 가치가 있습니다. 마지막으로, 프로토타입 디자이너가 기능을 디자인하고 프로토타입에 기능을 추가할 수 있는 큰 그림을 만듭니다.

이러한 UI 프로토타이핑의 장점은 비용을 절감하고 개발 시간을 단축하며 궁극적으로 더 나은 제품을 만들 수 있습니다.

그림 2. LabVIEW에서 디자인된 UI 

 

LabVIEW에는 프런트패널이 내장되어 있어 고도로 사용자 정의 가능한 UI를 신속하게 개발하기 위한 이상적인 도구입니다. LabVIEW를 사용하면 설계 및 프로토타이핑 주기를 진행할 때 기능을 편리하게 추가할 수 있으므로 설계를 반복하는 동안 재작업을 최소화할 수 있습니다. LabVIEW를 사용하면 UI를 신속하게 프로토타이핑하고, 프로토타이핑 프로세스 전반에 걸쳐 수정하며, 완제품에 배포할 수도 있습니다.

 

입출력 변수 만들기

LabVIEW에서는 한 줄의 코드를 작성하거나 어플리케이션 아키텍처를 마무리하기 전에 필요한 모든 입출력을 생성하고 프런트패널을 설계할 수 있습니다. 이 UI는 실제로 필요한 입력 및 출력을 결정하는 데 유용하며 요구 사항 문서를 구체화하는 데 사용할 수 있습니다.

그림 3. LabVIEW의 UI 목업

기능 추가

UI 프로토타이핑의 다음 단계는 사용자가 프런트 패널과 상호 작용하고, 메뉴를 클릭하고, 컨트롤을 조정하고, 샘플 데이터 세트 또는 난수 생성을 기반으로 결과를 볼 수 있도록 목업에 기능을 추가하는 것입니다. 이 접근 방식의 장점은 UI를 프로토타이핑하고 소프트웨어 디자인 구조를 정의한다는 것입니다. 둘 다 잘 수행하면 나머지 프로토타이핑 프로세스 전체에서 구조를 기반으로 구축할 수 있습니다.

 

가상 프로토타입 만들기

가상 프로토타이핑은 기계 모델링 및 시뮬레이션을 제어 설계와 결합하여 임베디드 제어 시스템 및 장치의 설계 및 프로토타이핑의 효율성을 높이는 혁신적인 방법론입니다. 가상 프로토타이핑을 사용하면 소프트웨어 설계 및 제어 알고리즘을 3D CAD 기계 모델에 연결하여 첫 번째 물리적 프로토타입을 제작하기 전에 시스템의 메커니즘을 테스트할 수 있습니다.

그림 4. 가상 프로토타이핑 방법

 

가상 프로토타이핑의 필요성

가상 프로토타이핑은 고객 요구 사항에 대한 이해를 높이고 설계 프로세스를 가속화하며 디버깅을 간소화하여 기계 설계와 관련된 위험을 낮춥니다. 가상 프로토타입이 없으면 제품 작동에 대한 실질적인 고객 피드백을 얻기 전에 전체 물리적 프로토타입을 구축해야 합니다. 가상 프로토타이핑을 사용하면 기계 역학의 디지털 표현을 고객에게 보여주고 실제로 기계를 제작하기 전에 더 빨리 피드백을 받을 수 있습니다. 이렇게 하면 고객이 설계 프로세스에 더 많이 참여할 수 있으며 고객 피드백을 얻기 위해 프로토타이핑 프로세스에서 너무 늦을 때까지 기다릴 필요가 없습니다.

또한 가상 프로토타입을 만들어 제품의 출시 시간을 단축할 수 있습니다. 이러한 유형의 프로토타입은 가상 설계를 개념화하고 반복하는 데 도움이 되므로 실제 프로토타입 제작을 시작할 때 처음부터 올바르게 얻을 수 있습니다. 제어 소프트웨어를 3D CAD 모델에 연결할 수 있으므로 실제 프로토타입을 제작하기 전에 일반적으로 포착하지 못하는 문제를 찾아 수정할 수 있습니다.

2D 및 3D 모션 프로파일과 같은 모션 제어 코드를 작성하고 3D 모델에서 코드 결과를 볼 수 있습니다. 부품이 너무 커서 충돌을 일으킬 수 있거나 컨투어 이동과 선형 이동의 차이를 확인하려는 경우 가상 프로토타이핑을 사용하여 문제를 해결하고 차이점을 볼 수 있습니다. 기존 설계 접근 방식과 비교하여 가상 프로토타이핑은 프로세스 초기에 주요 설계 결정을 내리는 데 도움이 됩니다.

 

NI를 사용한 버추얼 프로토타이핑의 장점

LabVIEW 그래픽 프로그래밍 및 모션 툴을 SolidWorks와 함께 사용하면 머신의 버추얼 프로토타입을 구축할 수 있습니다. LabVIEW를 사용하면 SolidWorks 기계 모델에 직접 연결하여 시스템의 버추얼 프로토타입을 구축할 수 있습니다.

솔리드웍스 모션 해석 기능을 LabVIEW 소프트 모션 모듈과 결합하면 솔리드웍스 내에서 시뮬레이션을 구동하여 모션 컨트롤 시스템의 사실적인 시뮬레이션을 생성할 수 있습니다.

그림 5. LabVIEW 소프트모션 모듈과 솔리드 웍스 통합

 

마지막으로, SoftMotion 및 SolidWorks 3D CAD 모델을 사용하여 개발하고 검증한 모션 컨트롤 어플리케이션을 리얼타임 프로세서와 사용자 프로그래밍 가능한 FPGA가 포함된 CompactRIO 하드웨어와 같은 임베디드 모션 컨트롤 플랫폼에 배포할 수 있습니다. CompactRIO를 사용하면 알고리즘을 실제 프로토타입 또는 최종 머신에 적용할 수 있습니다. 따라서 시뮬레이션 내에서 개발 및 테스트된 코드를 재사용하고 NI 하드웨어를 사용하여 소프트웨어 코드를 물리적 I/O 및 모터에 신속하게 연결할 수 있습니다.

LabVIEW 및 SolidWorks 툴로 버추얼 프로토타입을 구축할 수 있을 뿐만 아니라, LabVIEW를 사용하여 모든 기계 시스템을 시뮬레이션할 수 있습니다. LabVIEW 컨트롤 설계 및 시뮬레이션 모듈을 사용하면 개루프 모델 동작을 분석하고, 폐루프 컨트롤러를 설계하고, 온라인 및 오프라인 시스템을 시뮬레이션하고, 물리적 구현을 수행할 수 있습니다.

그림 6. LabVIEW 컨트롤 디자인 및 시뮬레이션 도구


전달 함수, 상태공간 또는 영점-극점-이득 표현을 사용하여 첫 번째 원리에서 모델을 생성할 수 있습니다. 또한 시간 단계 응답 또는 보드 플롯과 같은 시간 및 주파수 분석 도구를 사용하여 이러한 모델의 개루프 및 폐루프 동작을 대화식으로 분석할 수 있습니다.

다중 입력, 다중 출력(MIMO) 및 단일 입력, 단일 출력(SISO) 시스템 모두에 내장된 툴을 사용하고 시뮬레이션 기능을 활용하여 선형 및 비선형 시스템 동특성을 검증합니다. 또한 내장된 툴을 사용하여 The MathWorks, Inc. Simulink® 소프트웨어에서 개발된 모델을 LabVIEW와 함께 작동하도록 변환할 수 있습니다.

 

 

 

프로토타입에 I/O 추가

프로토타입에 I/O를 추가하는 것은 진정한 기능을 갖춘 시스템을 만드는 데 필수적입니다. 감각 입력 및 제어 출력을 추가하여 디자인이 작동하고 실제 세계에서 구현할 수 있음을 증명합니다. 종이 디자인을 만들고, 소프트웨어에서 해당 디자인을 구현하고, 가상 환경에서 디자인을 시뮬레이션하는 것은 여전히 대부분 개념적 연습입니다. 회의적인 투자자에게 디자인의 가치를 증명하려면 현실 세계에 존재하고 상호 작용하는 기능적 디자인이 필요합니다. 프로토타이핑 작업의 데이터는 또한 실제 성능을 기반으로 고객 및 나머지 설계 팀과 함께 기능 요구 사항을 구체화하는 데 도움이 됩니다.

센서를 처음부터 시스템에 통합하고 의미 있는 데이터를 가져오는 데 필요한 낮은 수준의 지식은 종종 예상치 못한 시간과 리소스 지출을 나타냅니다. 기존 센서 통합의 맞춤형 특성은 각 설계 변경에 대해 비용이 많이 드는 재작업을 의미합니다. 그리고 설계 변경은 특히 센서와 관련하여 발생하는 경향이 있는데, 이는 프로토타입의 요구 사항에 맞는지 확인하기 위해 사양을 변환하는 것 자체가 어려울 수 있기 때문입니다.

프로토타입에 I/O를 추가하는 것은 어려운 작업일 수 있습니다. 프로토타이핑 프로세스에서 문제가 되는 이유는 사용자 지정 I/O 솔루션을 구성하는 데 필요한 시간과 리소스의 총 비용을 예측하기 어렵기 때문입니다.

I/O를 사용한 프로토타이핑의 전통적인 어려움을 극복하려면 특히 장치를 효율적으로 프로토타이핑해야 하지만 낮은 수준의 센서 인터페이스 문제를 극복할 전문 리소스가 없는 도메인 전문가의 경우 접근 방식의 패러다임 전환이 필요합니다.

NI 툴은 통합된 하드웨어와 직관적인 그래픽 소프트웨어, 재구성가능한 I/O 디바이스, 성공에 필요한 IP 및 지원 시스템의 패러다임 전환을 제공하여 이러한 장애물을 극복하는 데 도움이 됩니다.

 

그림 7. CompactRIO와 핫스왑가능한 모듈형 C 시리즈 I/O 모듈을 내장된 신호 컨디셔닝과 통합하면, 프로토타입에 I/O를 신속하게 추가할 수 있습니다.

 

센서 입력 및 제어 출력을 기능적 프로토타입에 성공적으로 통합하는 것은 배포 및 대량 생산으로 가는 길에서 큰 진전입니다. 이 단계는 제품 설계 프로세스에서 가장 큰 과제 중 일부를 극복했음을 증명합니다.


 

알고리즘 설계

알고리즘 엔지니어링은 응용 알고리즘 설계를 위해 만들어진 용어입니다. 작성한 알고리즘을 강력하고 잘 테스트되고 사용하기 쉬운 구현으로 변환하는 프로세스를 나타냅니다. 프로토타입에서 원하는 기능을 제공하는 알고리즘을 구현하는 것은 전체 제품 개발 수명 주기에서 가장 어려운 부분일 수 있지만 가장 보람 있는 잠재력도 있습니다. 실제 I/O를 적용하면 알고리즘의 기능이 눈앞에서 실현되는 것을 볼 수 있습니다.

기능적 프로토타입에서 알고리즘을 구현하는 것은 다음과 같은 여러 가지 이유로 어려울 수 있습니다.

 

프로그래밍 제한 사항 - FPGA와 같이 I/O 기능을 위해 선택된 제어 시스템 또는 프로세서에는 개발자를 위한 프로그래밍 제한이 포함되는 경우가 많습니다. 다양한 플랫폼에 대한 프로그래밍에는 일반적으로 시스템 수준 디자이너가 거의 없는 프로그래밍 지식이 필요합니다.

 

기본 알고리즘 구현 - 기본 기능에 대한 하위 수준 알고리즘을 구현하는 데 시간이 걸립니다. 프로토타이핑에서는 속도가 가장 중요하며 설계자는 기존 코드가 없기 때문에 잘 알려진 알고리즘을 처음부터 구현하는 데 어려움을 겪을 여유가 없는 경우가 많습니다.

 

여러 플랫폼에 대한 알고리즘 재작업 - 기능적 프로토타입이 발전함에 따라 알고리즘을 다른 유형의 시스템으로 이식하기 위해 알고리즘을 다시 검토해야 하는 경우가 많습니다. 코드는 서로 다른 런타임 환경 간에 거의 작동하지 않으므로 프로토타입에서 배포로 응용 프로그램을 확장하기가 어렵습니다.

 

테스트 및 확인 - 일반적으로 게임 후반까지 시스템이 기능 요구 사항을 충족할 수 있는지 여부를 확실히 알 수 없으며 처음부터 비용이 너무 많이 듭니다. 예를 들어, 프로세서는 필요한 수의 병렬 작업을 충분히 빠르게 수행하지 못할 수 있습니다. 적절한 사이클 타임을 달성하지 못할 수도 있습니다. 또한 프로세서 집약적인 분석을 실시간으로 처리하지 못할 수도 있습니다.

 

LabVIEW 그래픽 기반 시스템 디자인은 함수형 프로토타입을 위한 엔지니어링 알고리즘과 관련된 여러 가지 잠재적 위험을 해결하고 완화합니다. 그래픽 시스템 설계는 직관적인 그래픽 프로그래밍과 유연한 상용(COTS) 하드웨어를 혼합한 설계 문제를 해결하기 위한 접근 방식입니다. 이 방법을 사용하면 모든 디자인 단계에서 단일 환경을 사용할 수 있습니다. 이제 이 접근 방식이 위에서 제기된 문제를 구체적으로 해결하는 방법에 대해 자세히 살펴보겠습니다.

 

여러 계산 모델

그래픽 시스템 디자인의 장점 중 하나는 프로그래머가 구현 된 계산 모델 (MoC)에 관계없이 알고리즘을 만들 수 있다는 것입니다. 알고리즘의 코드 복잡성이 계속 증가함에 따라 프로그래머는 코딩 기능을 확장하기 위해 다양한 MoC를 사용해야 합니다. 다음은 그래픽 시스템 디자인에 사용할 수 있는 몇 가지 MoC입니다.

데이터 흐름— 데이터 흐름은 LabVIEW 소프트웨어와 가장 자주 관련된 MoC입니다. 데이터 흐름을 사용하려면 개발자가 실행하기 전에 모든 입력에 데이터를 삽입해야 합니다. 데이터 흐름은 병렬 프로세스와 같은 응용 프로그램을 쉽게 구현할 수 있는 직관적인 코딩 구조입니다.

 

텍스트 수학— 텍스트 수학은 복잡한 함수를 쉽게 만들 수 있는 또 다른 도구입니다. 텍스트 기반 수학은 스크립트 설명 형식으로 작성하기 쉬운 복잡한 알고리즘을 사람이 읽을 수 있는 구현입니다. 텍스트 수학의 예로는 수식 노드와 LabVIEW MathScript RT 모듈이 있습니다. LabVIEW MathScript를 사용하면 알고리즘 개발, 신호 처리 개념 탐색, 결과 분석 등 알고리즘 개발에 가장 효과적인 구문을 선택할 수 있습니다.

그림 8. LabVIEW MathScript RT 모듈로 텍스트 기반 코드 재사용하기

 

C 코드 - 사용하는 알고리즘이 원래 C 또는 C++로 생성된 경우도 있습니다. 이 경우 더 이상 이전 작업을 삭제할 필요가 없습니다. 대신 인라인 C 노드 또는 라이브러리 함수 호출 노드를 사용하여 LabVIEW 내에서 이전 코드를 직접 호출할 수 있습니다. 기존 C 코드 또는 작은 숫자 또는 배열 알고리즘을 구현하려면 인라인 C 노드를 사용하고 라이브러리 함수 호출 노드를 사용하여 DLL 또는 공유 라이브러리의 C 코드에 액세스합니다.

 

개방형 소프트웨어 아키텍처

수년에 걸쳐 LabVIEW 플랫폼은 다양한 디자인 분야에서 광범위하게 채택되어 다양한 디자인 및 시뮬레이션 도구와 데이터를 통합해야 할 필요성이 대두되었습니다. LabVIEW는 다양한 통합 도구, 라이브러리 및 파일 형식과의 상호 호환성을 구현합니다. 또한 LabVIEW는 다음과 같은 다양한 소프트웨어 도구 및 측정 리소스와의 표준 통합을 제공합니다.

  • DLL, 공유 라이브러리
  • ActiveX, COM, .NET (마이크로소프트)
  • DDE, TCP/IP, UDP, 이더넷, 블루투스
  • CAN, 디바이스넷, 모드버스, OPC
  • USB, IEEE 1394, RS232/485, GPIB
  • 데이터베이스(ADO, SQL 등)

이러한 도구를 사용하면 거의 모든 종류의 측정 및 제어 장치의 데이터와 통합할 수 있습니다. LabVIEW를 하드웨어 통신을 위한 범용 표준과 통합함으로써 개발자들은 향후 수년간 호환성과 확장성을 보장할 수 있습니다.

 

LabVIEW 방식

수학, 신호 처리, 확률 및 컨트롤과 같은 다양한 기존 알고리즘을 포괄하는 LabVIEW의 수백 개의 함수는 모든 사용자 정의 알고리즘의 필수 빌딩 블록입니다. 이러한 함수는 저수준 코드 작성의 부담을 덜어주고 엔지니어가 구현 대신 솔루션에 집중할 수 있는 시간을 제공합니다.

LabVIEW를 사용하면 실제 데이터를 매우 편리하게 수집할 수 있으므로, 엔지니어들은 알고리즘을 튜닝하기 위한 반복적인 접근 방식으로 실제 데이터로 알고리즘을 테스트하는 것이 중요하다는 것을 알게 되었습니다. 이 대화형 테스트 접근 방식을 사용하면 다양한 함수를 실험하여 필요한 예상 결과를 제공하는지 확인할 수 있습니다.

예를 들어, 필터를 사용하여 신호를 처리할 때 다양한 솔루션 중에서 선택하고, 필요한 실제 신호를 수집하고, 그래프 또는 파일에서 결과를 볼 수 있습니다. 결과가 응용 프로그램에 적합하지 않은 경우 다른 필터를 선택할 수 있습니다. 종종 알고리즘에 적용할 실제 신호를 획득한 다음 소프트웨어에서 시뮬레이션하는 데 시간이 걸리는 것이 더 쉽습니다.

그림 9. NI는 프로토타입에 사용할 수 있는 수백 개의 내장 알고리즘을 LabVIEW에 제공합니다.

 

 

프로토타입 계측 및 테스트

프로토타입의 한 가지 목적은 잠재 고객, 투자자 및 동료에게 아이디어와 디자인을 신속하게 시연하는 것입니다. 프로토타입을 제작해야 하는 또 다른 중요한 이유는 기본 소프트웨어 및 하드웨어 성능에 대한 설계를 테스트하고 검증하는 것입니다. 종종 문제는 기능적 프로토 타입의 전기, 소프트웨어 및 기계 구성 요소를 결합 할 때만 분명해집니다.

프로토타이핑 단계에서 철저히 테스트하면 문제가 막대한 매몰 비용을 나타내고 수정이 비현실적이기 전에 조기에 문제를 발견할 수 있습니다. 프로토타입 테스트는 성능 주장을 뒷받침하는 구체적인 증거를 제공하고 자신 있게 배포할 수 있는 보다 안정적인 최종 제품을 만듭니다.


소프트웨어 정의 계측기는 본질적으로 유연하고 쉽게 자동화됩니다. 이 때문에 오늘날의 제품 설계 팀은 수동 테스트에 소요되는 시간을 줄이고 실험실에 필요한 계측의 양을 최소화하여 개발 프로세스를 간소화할 수 있습니다.

 

LabVIEW 그래픽 소프트웨어 플랫폼을 사용하면, 메인 알고리즘의 품질과 안정성을 테스트하기 위한 간단한 프로그램을 설정할 수 있습니다. 프로토타이핑할 때 테스트의 다음 두 가지 주요 측면에 주의하십시오.

 

한계 테스트 - 소프트웨어 설계가 다양한 데이터 포인트의 I/O 채널에서 고품질 데이터를 제공하는지 확인합니다. 이는 제품 개발 주기 전반에 걸쳐 프로토타입을 품질 사양 내에서 유지하는 데 도움이 됩니다.

 

스트레스 테스트 - 장기간 노출되고 모든 I/O 채널이 동시에 한계에 도달하는 경우 품질 사양이 충족되는지 확인합니다. 알고리즘은 처리되는 데이터의 과부하가 있는 상황을 처리할 수 있을 만큼 충분히 강력해야 합니다.

시뮬레이션 VI를 사용하여 하드웨어 없이 테스트하여 소프트웨어 알고리즘을 한계까지 확장하십시오. LabVIEW에서 다양한 신호 생성 VI를 사용하거나 실제 I/O를 정확하게 묘사하는 VI를 개발하여 이를 수행할 수 있습니다.

그림 10. I/O 시뮬레이션 방법

 

데이터 수집을 사용한 I/O 측정


소프트웨어 테스트는 실제 하드웨어를 사용하는 것과 같은 느낌을 제공하지 않기 때문에 제한될 수 있습니다. LabVIEW를 사용하면 COTS 하드웨어를 사용하여 실제 I/O 테스트를 수행할 수 있습니다.

물리적 하드웨어 I/O는 디지털 멀티미터 또는 데이터 수집 디바이스를 사용하여 디버깅할 수 있습니다. NI-DAQmx 드라이버와 통합된 LabVIEW는 DAQmx Express VI로 복합 데이터 수집 태스크를 수행하기 위한 사용하기 쉬운 하이 레벨 인터페이스를 제공합니다.

그림 11. NI DAQ 하드웨어로 테스트하기

 

 

배포를 염두에 둔 프로토타입

아이디어에서 종이 디자인, 기능적 프로토타입, 마지막으로 해제 가능한 제품으로 디자인 프로세스를 진행하는 것은 어려울 수 있으므로 이러한 단계 사이의 전환을 용이하게 할 수 있는 방법을 찾아야 합니다. 이상적인 상황은 실제로 배포할 수 있는 프로토타입을 설계하는 것인데, 이는 대량으로 생산하고 배포할 수 있음을 의미합니다.

실제로는 이런 일이 자주 발생하지 않지만 배포를 염두에 두고 디자인하고 프로토타입을 만들면 디자인의 핵심 구성 요소가 배포까지 지속되도록 할 수 있습니다. 핵심은 효과적으로 프로토타입을 제작하는 데 필요한 유연성과 기능을 제공할 뿐만 아니라 시장에 출시할 수 있을 만큼 강력하고 사용자 정의가 가능한 올바른 도구와 플랫폼을 찾는 것입니다.

그림 12. 최종 제품과 거의 일치하는 프로토 타입을 갖는 것이 이상적입니다.

 

 

LabVIEW 재구성가능한 I/O (RIO) 아키텍처는 NI 그래픽 기반 시스템 디자인 플랫폼의 필수적인 부분입니다. 모니터링 및 컨트롤 시스템의 설계, 프로토타이핑 및 배포에 대한 현대적인 접근 방식인 그래픽 기반 시스템 디자인은 개방형 LabVIEW 그래픽 프로그래밍 환경과 COTS 하드웨어를 결합하여 개발을 대폭 단순화함으로써 고품질 디자인과 맞춤형 디자인 통합을 가능하게 합니다.

 

LabVIEW RIO 아키텍처는 프로세서, 재구성가능한 FPGA, 모듈형 I/O 하드웨어, 그래픽 디자인 소프트웨어의 4가지 구성요소를 기반으로 합니다. 이러한 구성요소를 결합하면 고성능 I/O로 맞춤형 하드웨어 회로를 신속하게 생성하고 시스템 타이밍 제어에서 전례 없는 유연성을 달성할 수 있습니다. 여러 NI 제품에는 이 아키텍처가 통합되어 있습니다.

 

그림 13. NI는 최고의 유연성, 안정성 및 성능을 제공하는 LabVIEW RIO 아키텍처를 갖춘 제품을 제공합니다.


단일 보드 RIO 컨트롤러는 최고의 유연성을 제공하는 고도로 사용자 정의 가능한 단일 인쇄 회로 보드입니다. I/O 터미널, 전원 공급 장치 및 격납장치를 제공합니다. 단일 보드 RIO를 사용하면 최종 제품에 사용자를 긴밀하게 통합할 수 있습니다. 더 많은 유연성 또는 더 컴팩트한 크기가 필요한 경우, NI 시스템 온 모듈 (SOM)이 여러분의 디자인에 적합한 모듈을 제공합니다.

그림 14. 단일 보드 RIO 및 SOM 컨트롤러는 최고의 유연성을 제공합니다.

 

보다 견고한 요구사항이 있는 경우, CompactRIO 하드웨어가 최상의 선택입니다. 이 산업 수준의 하드웨어는 많은 처벌을받을 수 있습니다. 높은 수준의 충격과 진동을 처리할 수 있는 디바이스가 필요하고 이러한 혹독한 조건에서 성능을 발휘할 수 있는 자체 컨트롤러를 개발하는 데 시간과 비용을 투자하고 싶지 않다면 CompactRIO를 고려하십시오. 견고함 외에도 CompactRIO 플랫폼은 단일 보드 RIO 디바이스에 필요한 사용자 정의가 필요하지 않습니다.

CompactRIO는 자체 전력 변환, 인클로저 또는 I/O 터미널을 처리하지 않으려는 경우에도 좋은 솔루션입니다.

 

그림 15. CompactRIO 컨트롤러는 최고의 견고성을 제공합니다.

 

보다 정밀한 측정(예: 실험실 환경) 또는 PC 기반 플랫폼에 제약이 있는 경우, R 시리즈 다기능 RIO 디바이스는 효과적인 옵션입니다. PCI, PCI 익스프레스, USB, PXI 및 PXI 익스프레스 폼 팩터로 제공되는 본 디바이스는 단일 보드 RIO 및 CompactRIO에 비해 우수한 I/O 신호 컨디셔닝 및 정확도를 제공합니다.

R 시리즈 디바이스는 LabVIEW RIO 아키텍처의 강력한 기능을 제공하므로 기존의 데이터 수집 솔루션보다 기능을 확장할 수 있습니다.

 

그림 16. R 시리즈 데이터 수집은 LabVIEW FPGA를 표준 PC 폼 팩터에 추가합니다.

 

최고 3GS/s 아날로그 또는 1Gb/s 디지털 속도의 초고성능 I/O가 필요한 경우 FlexRIO가 최선의 선택입니다. FlexRIO는 테스트 비용을 최소화하거나 차세대 임베디드 시스템의 개발 속도를 높이려는 경우, LabVIEW RIO 아키텍처에서 가장 빠른 I/O 및 가장 큰 FPGA를 제공하므로 가장 복잡한 프로토타이핑 또는 배포 문제를 해결할 수 있습니다.

그림 17. FlexRIO 컨트롤러 및 모듈은 최고의 FPGA 및 I/O 성능을 제공합니다.

 

LabVIEW RIO 아키텍처는 다양한 폼 팩터 옵션을 제공할 뿐만 아니라 공통 플랫폼을 공유합니다. 즉, LabVIEW RIO 아키텍처가 지원하는 모든 제품에 대해 동일한 코드와 프로세스를 사용할 수 있으며, 필요한 경우 이들 간에 전환할 수 있습니다. 실제로 싱글 보드 RIO, CompactRIO, R 시리즈 또는 FlexRIO 간에 전환할 때 대부분의 코드를 재사용할 수 있습니다. 최종 제품에 대한 모든 요구 사항을 완전히 알지 못하더라도 프로토타이핑 플랫폼을 선택할 때 실수가 있다고 해서 모든 코드가 완전히 다시 작성되는 것은 아닙니다.

이를 통해 프로토타이핑 프로세스를 더 빨리 시작할 수 있으므로 개발 시간이 단축됩니다. 또한 CompactRIO로 프로토타입을 시작하고 Single-Board RIO로 전환하여 최소한의 기계적 재작업과 소프트웨어 변경 없이 배포할 수 있습니다. 다시 말하지만, 이것은 공유 플랫폼 때문에 가능합니다.

 

 

결론

프로토타이핑은 임베디드 설계 프로세스의 중요한 부분입니다. 투자자, 고객 및 경영진에게 기능적인 아이디어를 보여줄 수있는 능력은 아이디어를 누군가의 예산에 넣을 수있는 좋은 방법입니다.

NI 그래픽 기반 시스템 디자인 툴은 대규모 디자인 팀 없이도 기능적인 프로토타입을 신속하게 제작하는 데 유용한 것으로 입증되었습니다.

이러한 단계를 활용하여 고품질의 기능적 프로토타입을 만들면 다음 응용 분야에서 빠르게 시작할 수 있습니다.

 

 

728x90
반응형
그리드형