​초기 설계 및 검증 자동화: 첫 번째 추적에서 사용 가능한 테스트 어플리케이션으로

개요

​팀은 단순 자동화에 대해 생각하는 것을 너무 늦게까지 지연시키는 경우가 많습니다. 수동으로만 가져오기는 경합 조건을 숨기고, 테스트 결과가 일치하지 않게 만들고, 자동화를 실제로 시작할 때 엔지니어링이 느려집니다. 이 백서에서는 설계 및 검증 과정에서 자동화를 시작하는 실용적인 경로를 보여줍니다: NI InstrumentStudioTM 소프트웨어NI FlexLoggerTM 소프트웨어를 사용하여 순수한 끌업 및 추적 가능한 로깅을 수행한 다음 필요한 경우 구조화된 어플리케이션 또는 테스트 시퀀서로 진화하는 간편한 UI 개발을 통해 가벼운 NI LabVIEW 자동화 스크립트를 구축합니다.

 

​이를 준비하려면, 자동 측정 및 필요한 소프트웨어 도구가 수동 측정 및 테스트와 함께 통합되어야 합니다. 주요 도구에는 표준화된 가져오기 단계 및 절차, 메타데이터 템플릿을 사용한 로깅 도구, 엔지니어가 신속한 프로토타이핑, 신속한 재구성, 즉시 처리된 출력의 시각화를 가능하게 하는 유용한 테스트 어플리케이션을 구축할 수 있는 프로그래밍이 포함됩니다.

내용

늦은 자동화가 비용이 많이 드는 이유

자동화가 생산이 시작될 때에만 우선순위가 부여된다면, 다운스트림 테스트 엔지니어링 팀이 그 대가를 치르게 됩니다. 애드혹 수동 작업 흐름은 일관성 없는 결과를 만들고, 경합 조건을 숨기며, 엔지니어가 일정 압박 속에서 자동화를 디버깅하도록 강제합니다. 더 나쁜 점은 인스트루먼트와 디바이스가 수동으로만 제어될 때 발생하는 임시 해결책이 쌓인다는 것입니다. 이러한 바로 가기는 자동화 환경에서는 거의 살아남지 못합니다.

이 문제는 개념적으로는 간단하고 실용적으로는 강력합니다: 설계 및 검증 시 자동화를 최상위 동작으로 만듭니다. 자동화에 최적화된 인스트루먼트와 대화식 테스트 소프트웨어를 활용하면, 첫 번째 측정 결과를 반복 가능하게 만들고 이후 발전시킬 수 있습니다.

처음부터 자동화할 때의 장점

많은 팀이 설계 엔지니어에 의존하여 측정을 수행하기 위해 자체적인 전략과 소프트웨어를 생성하고 유지 관리하고 나중에 생성된 테스트를 자동화하기 위해 다시 테스트를 수행하는 경우, 우수한 자동화 도구와 전술을 고려하여 초기 시스템을 구축하는 것에는 다음과 같은 이점이 있습니다. 

  • 반복성—일상적인 변동성을 줄이는 표준 단계 
  • 추적성—메타데이터와 저장된 구성으로 다양한 벤치에서 결과를 비교할 수 있음 
  • 더 빠른 반복 - 재사용 가능한 앱 패턴, 간편한 UI 생성 및 저장된 프로파일이 변경 속도를 높입니다. 
  • 구성 오류 수 감소 - 템플릿 및 리셋은 불일치를 방지합니다. 
  • 보다 우수한 범위 — 초기 자동화로 수동 운전 시 흔히 놓치지 않는 가장 우수한 경우를 파악 
  • 재작업 수 감소—설계 측정 소프트웨어는 분리되지 않고 구조화된 애플리케이션 또는 시퀀서로 진화 

명확히 말하자면, 이것은 수동 테스트를 피할 것을 권장하는 것이 아니라, 오토메이션이 설계 및 검증의 신속한 실행을 방해하는 것으로 간주될 때 예측 가능한 부정적인 다운스트림 효과를 방지하기 위해 적절한 수준의 자동화를 자산으로 통합하려는 시도입니다. 

테스트 오토메이션 프로세스

테스트 자동화 과정은 다음과 같은 상위 레벨의 자동화 “단계”로 나눌 수 있습니다. 때로는 첫 번째 어플리케이션만 완료하는 것이 적절할 수 있지만, 보다 복잡한 어플리케이션의 경우, 자동화의 최상위 레벨에 도달하면 상당한 이점을 얻을 수 있습니다. 자동화 과정은 다음 단계로 구성됩니다. 

  • 자동화 가속기(Accelerator) - 가동 중인 경우 대화식으로 설정 및 로깅하기  
  • 동작을 탐색하고 특성화하기 위한 신속한 프로토타이핑 및 측정 개발 
  • 광범위한 자동화 특성화 및 로깅을 가능하게 하는 구조 어플리케이션 

이제 NI 소프트웨어를 사용하여 이 워크플로를 성공적으로 사용하는 방법을 살펴보겠습니다. 

InstrumentStudio 및 FlexLogger 사용하여 업데이트 및 로깅하기 

디바이스의 초기 실행은 혼란스러운 시간일 수 있습니다. 일반적으로 엔지니어들은 디바이스의 예상과 예상치 못한 여러 동작을 이해하는 데 관심이 많습니다. InstrumentStudio 사용하면 대화식으로 여러 인스트루먼트(오실로스코프, SMU, 디지털 패턴)를 설정하고 동기화할 수 있습니다. FlexLogger는 사용자가 트랜스듀서 및 DAQ 기반 채널 (진동, 온도, 변형률)을 설정하여 풍부한 메타데이터와 no/low 코드 인터페이스로 혼합 신호를 동적으로 로깅할 수 있도록 지원합니다. 두 도구 모두 팀이 원하는 언어와 상관없이 빈 코딩 캔버스로부터 시작할 필요 없이 신속하게 대화식 측정에서 반복 가능한 자동화로 이동할 수 있도록 지원합니다.  

이러한 도구는 작업을 대화식으로 수행하고 소프트웨어에서 이러한 복잡한 설정을 재생성할 수 있도록 하여 자동화를 가능하게 합니다. 이는 일반적으로 3개의 API 호출 또는 그 이하로 이루어집니다. 또한 사용자는 단지 하나의 인스트루먼트 셋팅 세트를 디스크에 저장하는 것이 아니라 모든 인스트루먼트와 I/O에 대한 시스템 레벨 대시보드를 제공하여 나중에 대화식 세션을 가속화하는 “프로젝트” 스타일의 태스크 접근 방식을 사용합니다.  

엔지니어가 오후의 대부분의 시간을 디바이스의 켜진 과도 값을 찾기 위해 스코프, DMM, 스펙트럼 분석기, SMU를 설정하는 데 걸렸다고 가정해 봅니다. 나중에 같은 시점으로 되돌아가려면 어떻게 해야 합니까? 동료와 같은 설정을 공유하는 방법은 무엇입니까? 주니어 엔지니어가 프로세스를 재현하고 결과를 신뢰할 수 있도록 어떻게 해야 합니까?  

이제 다음 날, 같은 사용자가 실험실로 들어가서 하나의 파일을 열고 테스트 장비의 이기종 조합이 모두 설정되어 실행할 준비가 되면 상상해 보십시오. InstrumentStudio 및 FlexLogger는 원활한 사용 환경을 제공합니다. 

 

InstrumentStudio 인터페이스를 디스플레이 대화식 인스트루먼트 구성 및 실시간 분석

그림 1. 프로젝트 중심의 작업 공간에서 인스트루먼트 구성 및 분석에 대한 즉각적인 대화식 액세스를 보여주는 InstrumentStudio

 

권장 벤치 풀업 체크리스트(하드웨어/플랫폼 인식 및 반복 지향)에는 다음 단계를 수행하는 것이 포함됩니다.  

  1. 모든 인스트루먼트를 알려진 기본값으로 리셋—이전 실행의 지속적인 설정을 사용하면 반복 가능한 측정을 얻기가 어렵습니다. 타이밍 결정성이 높은 설정은 디바이스의 일관성에 사용자가 의존할 수 없는 초기 단계에서 매우 중요합니다. 
  2. 디지털 I/O 및 아날로그 신호에 대한 채널 맵핑 및 핀출력 확인—많은 인스트루먼트는 디바이스의 I/O에서 인스트루먼트의 포트로의 이름 맵핑을 활성화하여 신속한 개발을 보다 명확하고 추적 가능하게 할 수 있습니다.  
  3. 저장된 프로파일에서 표준 인스트루먼트 구성 로드—이미 정의된 특정 구성이나 다른 사람들이 제공한 설정이 있습니까? 사용 중인 디바이스 타입 또는 테스트 설정에 따라 사용자는 다음 단계를 더 잘 준비할 수 있습니다. 이렇게 하면 “기본값으로 리셋”과 관련된 고통을 크게 줄일 수 있습니다. 
  4. 인스트루먼트 간의 동기화 및 타이밍 확인—사용자가 인스트루먼트간 트리거링과 같은 강력한 기능을 활용할 수 있는 경우, 항상 안정적인 타이밍 성능을 검증하는 것이 좋습니다. 이것은 사용자가 트리거를 보내고 테스트 중인 장치(DUT)에서 이벤트를 수신할 수 있을 때 더욱 중요합니다. 변동되는 펌웨어 동작은 최적화된 시스템을 손상시킬 수 있습니다. 
  5. 반복성 미니 테스트를 실행하고 같은 단계를 두 번 실행하고 추적을 비교합니다. 대규모 테스트를 실행하기 전에 결과가 예상과 일치하고 반복 가능하며 올바르게 로그되었는지 확인하면 주요 문제를 방지할 수 있습니다. 너무 많은 양의 잘못된 데이터가 기록되고 낭비된 시간에 따른 과거의 실패로 인해 자동화가 피되는 경우가 많습니다. 사용자는 자동화하기 전에 검증할 수 있는 특정한 테스트 세트가 있어야 합니다. 
  6. 메타데이터 템플릿을 적용하여 결과를 TDMS 또는 CSV로 로그하십시오―일관성은 데이터를 로그할 때 중요합니다. 여러 시스템 또는 개별 실행 사이에서 결과를 비교하거나 상호연관할 수 없는 경우, 데이터는 실제적인 값을 잃게 됩니다. 효과적인 데이터 조정은 첫 번째 추적에서 의도적으로 결정해야 합니다. 
  7. 설정 스냅샷 저장: InstrumentStudio 프로젝트 및 FlexLogger 구성—결과가 수행되면 해당 결과를 생성한 구성의 스냅샷을 사용하면 결과를 재생 및 신뢰할 가능성이 최대화됩니다. 수동 측정과 시스템 데이터 사이의 연결을 완성하면 향후 프로젝트에서 이러한 결과를 보다 효과적으로 사용하고 비교할 수 있습니다. 

초기 가져오기 태스크가 완료된 후, 데이터를 로그하는 방법을 결정하는 것이 중요합니다. 다음 리스트는 테스트 데이터의 일반적인 메타데이터 필드를 보여줍니다: 

  • 프로젝트 ID, DUT ID 또는 직렬, 펌웨어 개정 
  • 테스트 이름과 버전, 연산자, 날짜와 시간, 연구실 위치 
  • 인스트루먼트 세부사항: 설치된 옵션, 드라이버 버전, 모델 번호, 교정 상태 
  • 동기화 셋팅 
  • 환경 조건: 온도, 습도 
  • 베이스라인 또는 배리언트의 태그 및 노트 실행 

InstrumentStudio FlexLogger 또한 병렬로 실행되거나, 도움이 되는 곳에서 실행될 수 있습니다. 이는 때때로 “체결된 워크플로”라고도 합니다. InstrumentStudio 인스트루먼트를 설정하고 타이밍을 확인하고 FlexLogger 동기화된 DAQ 채널을 로깅하면 첫 번째 추적 결과를 추적하고 다시 사용할 수 있습니다. 기본적으로 각 어플리케이션은 각각 다른 워크플로 가속도를 제공하지만, 숙련된 엔지니어는 각 어플리케이션을 어떻게 그리고 언제 가장 잘 사용하는지, 확장성을 활용하여 활성화되지 않은 I/O를 통합하는 방법을 학습합니다. 예를 들어 InstrumentStudio 일반적으로 PXI 모듈러 인스트루먼트에만 연결되지만, 사용자는 사용자 정의 플러그인을 생성하여 단일 플랫폼(DUT 플러그인, 타사 인스트루먼트 플러그인, 시각화 플러그인) 내에서 자신과 조직에 완벽하게 통합된 환경을 제공할 수 있습니다. 

대화식 DAQ 구성 및 데이터 로깅이 포함된 동적으로 생성된 패널을 표시하는 FlexLogger 인터페이스.

그림 2. 대화식 DAQ 설정 및 로깅을 보여주는 동적 생성 패널이 있는 FlexLogger

동작을 탐색하고 특성화하는 신속한 프로토타이핑 및 측정 개발 

대화식 프로세스가 더 안정되면 경량 측정 자동화 어플리케이션을 개발하는 것이 일반적입니다. 가장 좋은 측정 어플리케이션은 신속하게 프로토타입을 만들고, 즉시 다시 설정하고, 출력을 즉시 시각화하는 작은 어플리케이션입니다. LabVIEW 그림 3과 같이 원활한 하드웨어 통합, 광범위한 처리 라이브러리, 간편한 UI 생성을 제공하므로 사용자가 컨트롤, 인디케이터, 그래프를 끌어다 놓고 빠르게 사용할 수 있는 테스트 어플리케이션을 조립할 수 있습니다. 목표는 단일 스크립트 이상의 스크립트를 사용하는 동시에 손쉽게 작동하는 것입니다.

LabVIEW로 작성되어 InstrumentStudio 플러그인으로 마이그레이션된 신속한 프로토타이핑용 테스트 패널.

그림 3. LabVIEW로 작성되어 InstrumentStudio 플러그인으로 마이그레이션된 신속한 프로토타이핑용 예제 테스트 패널의 스크린샷.

LabVIEW와 NI NigelTM AI는 자동화 앱을 구조화하고 NI 하드웨어 기능을 효과적으로 사용할 수 있도록 도와줍니다. 이로써 사용자는 보일러 플레이트를 줄이고 빌드하는 동안 일반적인 함정을 피할 수 있습니다. 

다음 구성요소를 측정 어플리케이션의 제안 구조의 일부로 권장합니다. 다음은 관련 고려사항이며 전체적인 리스트가 될 수 없습니다: 

  • 패널 레이아웃―함수 및 목적에 따라 그룹화할 수 있습니다. 특정 설정 값과 측정 결과를 배치하면 접근성과 사용 편이 가능합니다. 또한 보조 설정 구획을 사용하여 작업에 기본이 아닌 변수와 출력을 디스플레이 및 수정할 수 있습니다. 
  • 컨트롤—시작 및 정지, 테스트 선택, 셋포인트, 로깅 토글, 프로파일 저장 및 로드 등이 있습니다. 
  • 상태―초기화, 코어 구성, 파라미터 계산, 측정 루프, 활성 로깅 및 레이드다운을 포함합니다. 
  • 에러 핸들링―모듈별 에러 큐와 요약 인디케이터가 포함됩니다. 
  • 데이터 모델—이 옵션은 라이브 차트에 대한 메모리 내 링 버퍼를 사용하여 TDMS 로깅을 제공합니다. 
  • 다시 사용―사용자가 테스트 프로파일을 저장하고 로드할 수 있으며 앱 프로젝트의 버전도 사용할 수 있습니다. 

자동화 유틸리티에서 구조화된 어플리케이션 또는 Sequencer로 이동

측정 어플리케이션이 유용하고 반복 가능하게 된 후, 그 동작을 구조화된 어플리케이션 또는 테스트 Sequencer로 진화할 수 있는 모듈로 분해합니다. 예를 들어, 사용자는 초기화, 코어 설정, 사용자가 선언한 입력에서 파라미터 계산, 결과와 메타데이터를 활성 로깅하는 측정 루프, 신뢰할 수 있는 리포트로 흐름을 나눌 수 있습니다. 에러 핸들링, 조건 관리, 리포트를 위한 템플릿을 사용하면 시간을 절약하고 결함을 줄일 수 있습니다. 

팀이 대화식 상태를 유지하거나, 테스트 어플리케이션을 코딩하거나, 시퀀싱으로 전달하거나, 세 가지 모두를 선택할 때 고려해야 할 단점이 있습니다. 

  • 대화식 유지—다음 상황 중 하나가 사실이라면 InstrumentStudio 또는 FlexLogger와 같은 대화식 소프트웨어만 사용하는 것을 고려하십시오. 
    • 사용자는 하나 또는 두 개의 인스트루먼트만 필요함 
    • 탐색적 가동 
    • 단일 운영자 작업 
    • 데이터의 기본 스냅샷 또는 간단한 데이터 로깅 
  • LabVIEW 테스트 앱 코드하기—요구가 대화식 도구의 경계를 초과할 때, LabVIEW는 사용자 정의 대화식 경험을 구축하거나 플러그인 생성을 위한 훌륭한 옵션을 제공합니다. 이는 일반적으로 처리, 시각화 또는 여러 인스트루먼트 상호작용의 요구사항 때문입니다. 
    • 반복 실행 
    • 파라미터 스위핑 
    • 확장된 로깅 및 기본 UI 이상 
    • 소규모 팀 재사용 
  • 시퀀싱하기—일부 시점에서 플랫폼의 전체 상호작용으로 인해 전체 자동화와 측정 자동화의 책임이 서로 다른 계층인 실제 Test Executive의 실행이 가능합니다. NI TestStand과 같은 소프트웨어는 자동화 요구의 이 단계에 맞게 고안되었습니다. 다음은 Test Executive 사용할 때 발생할 수 있는 상황입니다. 
    • 여러 개의 DUT 또는 스테이션 
    • 시퀀스의 병렬 실행 
    • 공식 소프트웨어 배포 
    • 추상 데이터 로깅 및 결과 추적 

NI LabVIEW+ Suite는 테스트 자동화를 위해 만들어졌습니다.

LabVIEW+ Suite는 필요에 따라 초기 자동화와 확장의 마찰을 줄일 수 있는 도구를 통합합니다. 인스트루먼트 구성 및 시각화를 위한 InstrumentStudio, 동기화 및 메타데이터가 있는 센서 중심 로깅을 위한 FlexLogger, 간편한 UI 생성을 위한 대화식 테스트 앱 및 분석을 위한 LabVIEW 검증 또는 생산의 자동화를 위해 인프라에 적응, 확장 및 배포할 때, NI TestStand 및 NI DIAdem과 같은 제품군의 다른 소프트웨어는 개발 시간과 전체 비용을 절감할 수 있습니다. 공동 작업을 위해 설계된 소프트웨어를 사용하여 테스트 및 측정을 수행하면 범용 도구로 시스템을 처음부터 구축하는 것보다 더 안정적입니다. 

오토메이션 프로세스의 예: 연기 검출기 검증 테스트

이제 앞서 설명한 자동화 과정이 예제 어플리케이션에서 어떻게 작동하는지 보여주도록 적용할 수 있습니다. 

이 예제에서 DUT(Device Under Test)는 리튬 기반 전원 공급 특성, 음향 알람 및 환경 센서를 갖춘 연기 감지기입니다. 테스트 엔지니어는 SMU 배터리 시뮬레이터, 오실로스코프 또는 아날로그 트리거, 온도, 디지털 I/O, 습도 및 산화탄소를 위한 아날로그 채널에 연결해야 합니다. 이 경우, 팀이 기본 I/O 및 트랜스듀서 기반 신호 수집을 위해 오실로스코프 및 SMU와 같은 NI PXI 모듈러 인스트루먼트와 NI CompactDAQ 모듈을 사용한다고 가정합니다. 

1단계: 자동화 최적화 도구를 사용한 대화식 가속도 

벤치 인스트루먼트 작업에 익숙한 엔지니어는 통합 InstrumentStudio 인터페이스로 쉽게 전환할 수 있습니다. InstrumentStudio 한 번의 클릭으로 사용 가능한 PXI 리소스를 스캔하고 자동으로 인스트루먼트 대시보드를 채워 사용자가 측정 및 실험 개발을 즉시 시작할 수 있도록 합니다. 

이 예제에서는 SMU, 오실로스코프, 아날로그 입력을 설정 및 시각화할 수 있습니다. InstrumentStudio 프런트패널을 사용하고 데이터를 스냅샷으로 저장하며, FlexLogger 일정 기간 동안 데이터 로깅을 실행하여 기본적으로 CompactDAQ I/O의 특정 조건을 캡처합니다. InstrumentStudio SMU로 보드에 전원을 공급하고, 다양한 신호와 포트를 스코프 프로브하여 올바른 값과 동작을 확인하며, 이 과정에서 다양한 아날로그 신호를 모니터링합니다. 이 단계가 완료되면, 팀은 다양한 환경 조건에서 테스트를 수행할 수 있으며, 이 때 FlexLogger 사용하여 추가적인 전자기적 신호 수집을 설정합니다. 각 어플리케이션의 경우, 설정은 프로젝트를 기반으로 하며, 프로젝트를 저장함으로써 팀은 자신이나 다른 팀 모두의 테스트를 시작할 수 있습니다. 

2단계: 오토메이션 활성화 측정 스크립트 및 유틸리티 

테스트를 실행할 적절한 설정을 설정한 후, 반출된 설정과 저장된 설정을 간단한 스크립트 및 프로그램 내에서 사용할 수 있습니다. NI PXI 인스트루먼트는 InstrumentStudio 생성한 설정 파일을 원활하게 반입하여 하드웨어를 알려진 상태로 즉시 가져올 수 있습니다. 그 후 팀은 사용자 UI 대화식과 시각화와 단순화된 생성을 통해 필요한 테스트를 프로그래밍 방식으로 조정하고, 정리하고, 실행하는 간단한 측정을 개발할 수 있습니다.  

데이터 로깅 세션의 경우, FlexLogger API 호출로부터 직접 자동화될 수 있으므로 테스트 엔지니어는 FlexLogger 기본적으로 제공하는 광범위한 기능을 사용하여 만난 한계를 초과할 수 있습니다. NI 소프트웨어를 사용하면 사용자가 신속하게 작업을 시작할 수 있고 고정된 기능으로 제한하지 않고 특정 요구사항을 충족시키기 위해 기능을 확장할 수 있습니다. 

3단계: 공식화된 오토메이션 통합 

조직의 자동화 성숙도 수준에 따라 다음 단계로 전환하기 위한 가이드라인과 도구를 설정하는 것이 매우 중요합니다. 그러나 엔지니어가 완전 자동화를 위해 최적화된 하드웨어와 소프트웨어를 활용하면 원활하게 진행할 수 있습니다. 예를 들어, 이전 단계에서 생성된 측정이 강력한 기능적인 경계 정책을 사용하는 경우, 인스트루먼트의 실행 및 처리에 대해 측정 설정을 분리하고 InstrumentStudio 및 FlexLogger 측정 플러그인 프레임워크에 맞출 수 있습니다. FlexLogger 올바르게 활용한 경우, 테스트 시스템에 데이터 소스, 데이터 프로세서 또는 데이터 싱크를 확장하면 가능한 최소의 코드 생성 수준으로 전체 로깅이 가능합니다. 테스트 팀은 다음 권장사항을 고려할 수 있습니다: 

  • 유틸리티를 초기화, 설정, 파라미터 계산, 측정 루프, 로깅을 처리하는 모듈로 분해합니다. 
  • 에러 핸들링 및 조건 관리를 위한 템플릿을 채택하고 리포트 단계를 준비합니다. 
  • 병렬화 또는 여러 스테이션 실행이 필요한 경우 테스트 시퀀서에 전달합니다.

PCB는 생산 주기 동안 테스트 중입니다.

그림 4. 생산 주기 동안 연기 검출기 PCB로 사용되는 특성있는 전자 디바이스.

결론

엔지니어링 수명 주기 초기에 자동화의 우선 순위를 두는 경우, 처음부터 자동화를 통합하여 재작업을 줄이고, 반복 가능성을 높이고, 반복 속도를 높이는 팀은 항상 이득을 얻게 됩니다. 엔지니어는 테스트 및 측정용으로 구축된 소프트웨어와 자동화하도록 설계된 하드웨어를 사용하여 측정 가능한 효율성을 확보하고 직접 수동으로 시작하는 작업 흐름의 장애를 방지할 수 있습니다. 그리고 DIY 도구의 패치를 조립하는 대신 신뢰할 수 있는 공급업체의 소프트웨어 제품군을 사용하면 상호 운용성이 보장되고, 기술적 위험이 감소하며, 팀이 탐색적인 구현부터 구조화된 어플리케이션 및 전체 시퀀싱까지 확장할 수 있습니다. 초기, 의도적 자동화는 모범 사례가 아니라 설계 및 검증의 모든 단계에서 결합되는 전략적 이점입니다.