LabVIEW NXG에서 코드의 재사용

개요

급변하는 테스트 요구사항과 테스터 프로젝트 개발 주기 단축으로, 기존 테스트 소프트웨어 및 측정 라이브러리를 최대한 재사용하는 것이 개인적으로나 팀 차원에서 더욱 중요하게 되었습니다. 그렇다면 더 많은 테스트 엔지니어가 더 자주 소프트웨어를 재사용하지 않는 이유는 무엇일까요? 테스트 그룹에서 가장 많이 듣는 답변은 다음과 같습니다.

  • 퇴사한 직원이 개발한 래거시 소프트웨어를 사용 중이며, 잘 알지 못하는 코드를 변경하는 데에는 상당한 위험 부담과 비용이 따릅니다.
  • 테스트 및 검증 엔지니어링 팀마다 각기 선호하는 도구 및 언어 설정, 그룹 표준화 방식이 있기 때문에, 코드 모듈을 재사용하기 어렵습니다. 지난 프로젝트에 사용한 도구나 소프트웨어를 그대로 현재 사용할 수 없기 때문입니다.
  • 소프트웨어 재사용을 최대화하고 추상화 계층이나 프레임워크를 구축할 필요가 있지만, 여기에는 많은 비용과 시간이 소요됩니다. 단기적 프로젝트 요구로 인해, 재사용 기준 및 모범 사례의 활성화 방안에 대한 집중적 논의가 계속 미뤄지고 있습니다.


기존 코드 및 소프트웨어 기술 또는 선호와 장기적 표준화의 이익 사이에서 균형을 유지하는 것은 현실적으로 쉽지 않은 문제입니다. 이러한 까다로운 균형 문제를 해결하기 위해, LabVIEW NXG는 개방형 플랫폼으로서 모든 테스트 하드웨어 및 소프트웨어 시스템을 함께 통합할 수 있도록 설계되었습니다.

LabVIEW NXG에서는 단일 어플리케이션에서 그래픽 데이터 흐름 (G)과 함께 여러 프로그래밍 방식을 결합할 수 있습니다. 이러한 유연성을 통해, 테스트 대상 디바이스 (DUT) 컨트롤, 설정, 측정 라이브러리의 생성에 필요한 도구를 선택할 수 있습니다. LabVIEW NXG는 C 등의 여러 언어를 어플리케이션에 통합하고 로컬 또는 네트워크에서 실행되는 다른 소프트웨어와 연동함으로써 단시간 안에 팀 전체가 성공에 이를 수 있도록 도와줍니다.

 

샘플 코드 다운로드              무료 LabVIEW NXG 평가판 받기

 

내용

기존 DLL 호출하기

소스 코드를 LabVIEW NXG 다이어그램으로 반입하는 것 외에, 이를 LabVIEW NXG 어플리케이션에서 호출하여 다른 언어로 개발된 기존 어플리케이션과 알고리즘을 재사용할 수 있습니다. 예를 들어, 가지고 있는 기존 C/C++ 공유 라이브러리를 LabVIEW NXG에서 재사용해야 하는 경우, 공유 라이브러리 인터페이스 (SLI)를 사용하여 이를 호출할 수 있습니다. 외부 라이브러리의 반입이 용이하도록, LabVIEW NXG는 공유 라이브러리 편집기를 포함하며, 이를 사용하면 LabVIEW NXG 다이어그램에 병합할 LabVIEW NXG SLI를 만들 수 있습니다.


그림 1: 공유 라이브러리 편집기를 사용하여 기존 라이브러리를 LabVIEW NXG에서 사용할 수 있도록 맵핑합니다.




그림 2: 공유 라이브러리 인터페이스를 사용하여 G 프로그래밍에 따라 기존 C 또는 C ++ 공유 라이브러리를 재사용합니다.




C 코드 통합

C 노드를 사용하면, 함수 자동 완료 및 기본 도움말 등과 같이 텍스트 기반 개발 방식과 비슷한 환경에서 기존 C 코드를 반입, 작성, 실행할 수 있습니다. C 노드에서는 다음 라이브러리의 함수를 호출할 수 있습니다.

  • ANSI C 라이브러리
  • 분석 라이브러리

더 자세한 정보는 C 노드 개요를 참조하십시오.

그림 4: C 노드를 사용하여 LabVIEW NXG에서 C 코드를 통합 및 편집합니다.



LabVIEW NXG와 LabVIEW로 Python 코드 재사용

Python 프로그래밍 언어는 거의 모든 업계에서 널리 사용되고 있으며, 테스트 및 측정 어플리케이션에서 점차 사용 빈도가 높아지고 있습니다. Python이 테스트 및 측정 영역에 적합한 이유는 NI 하드웨어 및 소프트웨어와 통합될 수 있어 NI의 풍부한 측정 전문 기술과 함께 스크립팅의 장점을 활용할 수 있기 때문입니다.

NI 하드웨어와 소프트웨어에 사용 가능한 모든 Python 리소스에 대해 알아보려면 여기를 클릭하십시오.

추가 리소스