連携させることで、効果倍増する:PythonLabVIEW+ Suite

概要

LabVIEW+ SuiteとPythonは、連携してテストシステムを構築します。LabVIEW+ SuiteでPythonコードを呼び出したり、Pythonを使用してプロセスを自動化できます。双方のメリットを最大限に活かすアプローチを採用することで、テストシステムをよりスピーディに構築できます。

内容

LabVIEW+ SuitePython連携について

テストに利用できるソフトウェアにはいくつかの選択肢があります。時間をかけてコーディングと構築を行うこともできますが、市販の製品を活用して開発時間を短縮することもできます。作業に最適なツールを効率的に利用したい、複数のツールを利用したいとお考えですか。

Pythonは、学習を難なく進めることができ、使用コストがかからず、データ解析の機能に優れているという点で人気のある汎用プログラミング言語です。LabVIEW+ Suiteは、計測器の自動化、テストシーケンス、データ解析などの専用ツールを含む、NIで最も人気のあるテスト用ソフトウェアの集まりです。

ただし、1つの選択に縛られる必要はありません。LabVIEW+ SuiteとPythonを連携することで、より優れたテストシステムを実現できます。PythonコードをLabVIEW+ Suiteに統合するには、次の2つの方法があります。

  • 既存のコードや他のコードを活用する―手持ちのコードを再利用して、LabVIEW、TestStand、G Webが持つネイティブの強みと組込済みの機能を活用できます。
  • Pythonを使ってLabVIEW+ Suiteからプロセスを自動化する―既存のプログラムや機能を活用して開発時間を短縮し、オートメーションによってさらに効率を高めることができます。

 

図1: PythonとLabVIEW+ Suiteの統合を示す図。左の図は、LabVIEWのテストアプリケーションのコンポーネントと、データ解析用のPython関数呼び出しを示している。右の図は、DIAdemでのデータ解析プロセスを示している。各ステップがDIAdemで完結し、プロセス全体をPythonで自動化することが可能

 

既存Pythonコード活用する

LabVIEW+ Suiteを導入してもゼロから始める必要はなく、Pythonでコード開発をやり直す無駄な時間も必要ありません。それぞれのツールの得意とするところを活用できます。既存のプログラムを再利用してLabVIEWやTestStandと連携したり、G Web Development SoftwareでPythonプログラム用のWebインタフェースを構築したりできます。

LabVIEWPython関数呼び出し

LabVIEWは、自動テストシステムの開発に使用されるエンジニア向けのグラフィカルプログラミング環境です。測定の実行、デバイスの自動化、解析の実行が必要な場合に、LabVIEWが役に立ちます。特長は、計測器の自動化と、標準ユーザインタフェースを使用したテストの監視です。組込済みのUI用視覚化ツールのドラッグアンドドロップをネイティブで実行できることが、30年以上にわたりエンジニアの必携ツールとして選ばれている理由です。 

図2: LabVIEWでのPythonスクリプトの呼び出しが表示されているモニタ

LabVIEW 2018ではPythonノードが導入されました。これにより、ユーザはLabVIEWアプリケーションの実行中にPythonファイルを呼び出すことができます。たとえば、LabVIEWの計測器接続機能を利用するときに、他のユーザがPythonで作成した既存のデータ解析ライブラリを再利用するとします。プロセス全体でPythonを使うことも可能ですが、ハードウェアへの接続で問題が起きたり、UIの開発に必要以上の時間がかかったりする可能性があります。このアプローチを採用すれば、異なる言語間の相互運用が効率化され、双方のメリットを最大限に活かすことができます。

TestStandPython使テストシーケンス実行

TestStandは、自動化されたテストシーケンスの開発に使用されるエンジニア向けのテストエグゼクティブソフトウェアで、検証ラボや製造現場でテストをスケーリングできます。TestStandでは、対話式の開発環境でテストシーケンスを作成できます。ユニットの追跡、レポートの作成、並列テストの実行など、テストエグゼクティブの機能のすべてを備えています。 

TestStand Pythonアダプタを使用すると、テストシーケンスの一部としてPythonコードモジュールを呼び出すことができます。Pythonでは、少数の測定ならば簡単にシーケンスにできますが、規模や複雑さが増してくると問題に直面します。ユニットの追跡、並列テストの実行、レポートの作成、オペレータインタフェースなどの機能を開発するには、数え切れないほどの時間と日数を費やさなければなりませんが、TestStandにはすでにそうした機能が用意されています。Pythonの測定コードをTestStandで呼び出すことで、双方のメリットを活用して効率的にスケーリングできます。

「TestStandには開発時間を短縮する主要機能が複数搭載されていますが、LabVIEWは必要なテストシステムハードウェアを制御する機能を備えています。」

DISTek Integration, Inc.、Dillon Glissmann

G Web Development Software使Pythonテストプログラムリモートアクセス

G Web Development Softwareは、テスト作業用のWebベースのユーザインタフェースを開発するために最適化されたグラフィカルプログラミング環境です。プログラミングに長けたエンジニアであっても、HTMLやJavaScriptでのWeb開発のニーズに適したスキルを持っているとは限りません。そうしたスキルが求められるとき、G Webを活用して効率を高めることができます。G Webは、データ表示やユーザ制御に対応する組込済みのオブジェクトを備えた対話型環境です。G Webには、データの転送・通信を簡素化するAPIがパッケージとして含まれているため、Pythonで記述されたテストアプリケーションがすでにあれば、高度なWeb開発の知識がなくてもPythonテストシステムをWeb対応にすることができます。

図3: G Web Development Softwareが表示されているモニタと、Webアプリケーションが表示されているスマートフォン

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は、データの後処理ワークフロー全体を、1つのツールで完結させる機能を備えています。複数のプログラムを使って解析ライブラリの構築やレポート作成を行う代わりに、DIAdemを使用してPythonで自動化することをお勧めします。

「レポート作成と解析にかかる時間を95パーセント短縮し、現在のマルチステッププロセスをボタン1つで完了できるDIAdemソリューションに置き換えるという目標を達成しました。」

Raytheon Missile Systems、Jim Knuff

 

図4: DIAdemによる解析を自動化するPythonスクリプトが表示されているモニタ