통합을 통한 발전: Python과 LabVIEW+ Suite

개요

LabVIEW+ Suite와 Python은 함께 작동하여 테스트 시스템을 구축합니다. LabVIEW+ Suite에서 Python 코드를 호출하거나 Python을 사용하여 프로세스를 자동화할 수 있습니다. "양쪽 모두의 장점"을 얻는 접근 방식을 사용하여 테스트 시스템을 더 빠르게 구축하십시오.

내용

LabVIEW+ Suite와 Python이 함께 작동하는 방법

테스트 분야에서는 여러 소프트웨어 개발 방향을 선택할 수 있습니다. 필요한 것을 코딩하고 구축하는 데 시간을 할애할 수도 있고, 기성품을 사용하여 개발 시간을 단축할 수도 있습니다. 여러분은 작업에 가장 적합한 도구를 사용하여 효율성을 높이고 싶을 것입니다. 공구 벨트에 공구가 하나 이상이 있다면 어떻겠습니까?

Python은 일반적인 용도의 프로그래밍 언어로 점진적인 학습 곡선과 비용 없는 활용, 데이터 분석의 강자로 인기가 높습니다. LabVIEW+ Suite는 NI의 테스트용 소프트웨어 중 가장 인기 있는 제품의 모음으로, 계측 자동화, 테스트 시퀀싱, 데이터 분석 등의 목적을 위해 특수하게 개발된 여러 도구를 포함하고 있습니다.

그러나 이 중 하나만을 선택할 필요는 없습니다. LabVIEW+ Suite와 Python은 함께 작동하여 더 나은 테스트 시스템을 구현합니다. 다음 두 가지 방법으로 Python 코드를 LabVIEW+ Suite에 통합할 수 있습니다.

  • 기존 코드 또는 기타 코드 활용하기 - 기존 코드를 재사용하여 LabVIEW, TestStand 및 G Web가 기본적으로 제공하는 장점과 사전 구축된 기능을 활용할 수 있습니다.
  • Python을 사용하여 LabVIEW+ Suite에서 프로세스 자동화 - 이를 사용하면 기존 프로그램과 함수를 사용하여 개발 시간을 절약하고 자동화를 통해 효율성을 높일 수 있습니다.

 

그림 1: Python과 LabVIEW+ Suite의 통합을 보여주는 다이어그램. 왼쪽 이미지는 데이터 분석을 위해 Python 함수를 호출하는 LabVIEW 테스트 어플리케이션의 구성요소를 보여줍니다. 오른쪽 이미지는 DIAdem의 데이터 분석 프로세스를 보여줍니다. 각 단계는 DIAdem에서 완료되며 전체 프로세스는 Python으로 자동화될 수 있습니다.

 

기존 Python 코드 활용

LabVIEW+ Suite를 채택한다고 해서 처음부터 시작해야 하는 것은 아닙니다. Python에서 코드를 재개발하는 데 드는 시간은 낭비되는 것입니다. 각 도구의 장점을 활용하는 것이 좋습니다. 기존 프로그램을 재사용하여 LabVIEW와 TestStand에 통합하거나 G Web Development Software에서 Python 프로그램용 웹 인터페이스를 구축할 수 있습니다.

LabVIEW에서 Python 기능 호출

LabVIEW는 엔지니어가 자동화된 테스트 시스템을 개발하는 데 사용하는 그래픽 기반 프로그래밍 환경입니다. 측정을 수행하거나, 디바이스를 자동화하거나, 분석을 수행해야 할 때 LabVIEW가 도움이 될 수 있습니다. 내장 사용자 인터페이스로 계측 자동화와 테스트 모니터링 속도를 높입니다. 미리 구축된 UI 시각화 도구를 끌어다 놓을 수 있는 기본 기능 덕분에 이는 30년 이상 동안 엔지니어가 선택한 도구로 자리 잡았습니다. 

그림 2: Python 스크립트를 호출하는 LabVIEW가 보이는 모니터.

LabVIEW 2018에서 NI는 사용자가 LabVIEW 어플리케이션을 실행할 때 Python 파일을 호출할 수 있는 Python 노드를 도입했습니다. 예를 들어 LabVIEW의 인스트루먼트 연결성을 활용하면서도 다른 동료가 Python으로 작성한 기존 데이터 분석 라이브러리를 활용하고 싶을 수 있습니다. 전체 프로세스에 Python을 사용할 수도 있지만, 하드웨어에 연결할 때 어려움을 겪거나 UI 개발에 원하는 것보다 더 많은 시간을 할애하게 될 수 있습니다. 이 방식은 언어 간 효율적 상호 운용을 통해 두 언어의 장점을 모두 활용할 수 있도록 합니다.

TestStand에서 Python으로 테스트 시퀀싱 수행

TestStand는 테스트 관리 소프트웨어 엔지니어가 검증 실험 또는 생산 현장으로 테스트를 확장하기 위해 자동화된 테스트 시퀀스를 개발하는 데 사용하는 소프트웨어입니다. TestStand는 테스트 시퀀스를 생성하기 위한 대화형 개발 환경입니다. 이 소프트웨어에는 테스트 관리의 모든 기능(유닛 추적, 보고, 병렬 테스트 실행 등)이 있습니다. 

TestStand Python 어댑터를 사용하면 테스트 시퀀스의 일부로 Python 코드 모듈을 호출할 수 있습니다. Python에서는 몇 가지 측정을 쉽게 시퀀스로 만들 수 있지만 규모와 복잡성이 증가함에 따라 문제가 발생할 것입니다. 유닛 추적, 병렬 테스트 실행, 보고, 운영자 인터페이스 등을 위한 기능을 개발하려면 수많은 시간을 써야 합니다. TestStand에는 이미 그런 기능이 있습니다. 두 가지의 장점을 활용하면 TestStand에서 Python 측정 코드를 호출하고 효율적으로 확장할 수 있습니다.

"TestStand 는 여러 주요 기능을 제공하여 개발 시간을 단축하는 즉시 사용 가능한 솔루션을 제공하고, LabVIEW에는 필요한 테스트 시스템 하드웨어를 제어하기 위한 기능이 기본적으로 포함되어 있습니다."

딜런 글리스만(Dillon Glissmann), DISTek Integration, Inc.

G Web Development Software를 사용하여 원격으로 Python 테스트 프로그램에 접근

G Web Development Software는 테스트용 웹 기반 사용자 인터페이스 개발에 최적화된 그래픽 프로그래밍 환경입니다. 많은 엔지니어가 숙련된 프로그래머이지만, 이러한 기술이 HTML 또는 JavaScript를 사용한 웹 개발에 필요한 능력과 항상 일치하는 것은 아닙니다. 이러한 경우, 사전 구축된 데이터 디스플레이 및 사용자 컨트롤 객체를 제공하는 대화형 환경인 G Web을 활용하는 것이 보다 효율적일 수 있습니다. Python으로 작성된 기존 테스트 어플리케이션을 위해, G Web에는 데이터 전송 및 통신을 단순화하는 API가 탑재되어 있어 고급 웹 개발 지식 없이도 웹에서 사용할 수 있는 Python 테스트 시스템을 만들 수 있습니다.

그림 3: G Web Development Software가 표시된 모니터와 웹 어플리케이션을 표시하는 스마트폰.

Python으로 NI 소프트웨어 제어

FlexLoggerDIAdem은 각각 데이터 수집 및 분석을 위한 NI 도구입니다. FlexLogger에서는 몇 분 만에 측정값을 얻을 수 있습니다. DIAdem 에서는 데이터를 신속하게 확인하고 분석할 수 있습니다. 개발을 건너뛰십시오. 이 도구는 엔지니어를 위해 제작되었으며 테스트 프로세스를 단순화합니다. 필요할 때 Python으로 전환하여 미래를 위해 프로세스를 자동화하십시오.

FlexLogger에서 데이터 수집 자동화

FlexLogger는 코드 없이 NI 하드웨어로 데이터 수집을 수행할 수 있게 하는 어플리케이션 소프트웨어입니다. 이 어플리케이션은 테스트 설정 및 데이터 저장을 직관적인 방식으로 수행해 최초 측정까지의 시간을 단축합니다. NI는 하드웨어로 테스트를 수행할 수 있도록 Python API를 제공하지만, FlexLogger는 사용자가 클릭 몇 번으로 더욱 민첩하게 테스트를 수정할 수 있도록 도와줍니다. 

FlexLogger의 간단한 설정을 활용하면 FlexLogger Python API를 활용한 자동화가 제공하는 효율성에 집중할 수 있습니다. FlexLogger를 사용하면 Python 코드에서 태스크 실행을 제어하고 프로그래밍 방식으로 설정을 변경할 수 있습니다.

DIAdem에서의 데이터 분석 및 보고 자동화

DIAdem은 데이터 시각화, 분석, 보고를 위한 측정 데이터 분석 툴입니다. DIAdem은 데이터 검색을 위한 디렉토리 인덱싱용 첨단 툴과 분석을 위한 내장 기능, 데이터 시각화를 위한 차트 및 그래프를 포함하고 있습니다. 복잡한 시각화를 생성하고 고급 계산을 수행하기 위해 자체 프로그램을 작성하는 대신, DIAdem 에는 기본적으로 이러한 기능이 포함되어 있습니다.

Python에서는 코드 반입에서 보고까지 전체 프로세스를 자동화할 수 있습니다. DIAdem은 하나의 도구에 전체 데이터 후처리 작업 흐름을 위한 기능을 포함합니다. 서로 다른 프로그램에서 분석 라이브러리를 구축하거나 리포트를 개발하는 대신, DIAdem을 사용하고 Python에서 자동화하십시오.

“보고서 작성 및 분석 시간을 95% 줄였으며, 여러 단계로 구성된 기존의 프로세스를 버튼 하나로 실행하는 DIAdem 솔루션으로 대체하는 데 성공했습니다.”

짐 크누프(Jim Knuff), Raytheon Missile Systems

 

그림 4: DIAdem 분석을 자동화하는 Python 스크립트를 보여주는 모니터.