【LabVIEW講座】関数の紹介・入力デバイス制御

ブログ2022.06.01

はじめに

初めまして!ソフトウェア技術本部所属のMです。
今回はLabVIEWを使った関数の紹介・入力デバイス制御についてお話しします。
(LabVIEWの詳細⇒LabVIEWを用いたシステムインテグレーション【中央電機計器製作所 製品情報】
LabVIEWを使用したデータ集録に関しては日本ナショナルインスツルメンツ(NI)株式会社様から様々な記事が出ているので、
ここでは充実したLabVIEWライフを目指すために少しマニアックな関数について紹介していきたいと思います。
この記事を通じて、本記事閲覧者様のLabVIEWの知見が広がれば幸いです。

もくじ
・はじめに
・一般的に使用されるイベントストラクチャを活用する方法
・入力デバイス関数を活用する方法
・注意すること
・まとめ

※本記事の内容はLabVIEW2017を使用して記載しております。
バージョンが変わると本記事に記載の動作も変わる可能性があります。
執筆時の最新情報ですので、何卒ご了承くださいませ。

一般的に使用されるイベントストラクチャを活用する方法

LabVIEWでキーボード入力やマウス入力の動作を取得する場合、主にイベントストラクチャで、マウス操作またはキーボード操作のイベントを取得することが多いと思われます。


図1 イベントストラクチャ

この方法で、キーボードまたはマウスのある動作イベントをトリガとして、イベントストラクチャ内の処理を実施することができます。
しかし、イベントストラクチャを使用する場合、別のアプリケーションを操作している時はマウスやキーボードのイベントを取得することができません。
別のアプリケーションが動作中でもキーボードやマウスの動作を取得したい!!という特殊なことをしたい場合、入力デバイス制御を使用することで解決する可能性があります。
次章で入力デバイス制御の関数について紹介します。

入力デバイス制御はブロックダイアグラムで以下の場所にあります。


図 2 入力デバイス制御の場所

入力デバイス制御VIの使用サンプルは、LabVIEWの【ヘルプ】→【サンプルを検索】をクリックし、NIサンプルファインダを開きます。
NIサンプルファインダが開いたら参照タブを選択し、表示オプションはタスクを選びます。あとは以下の図の通り、
【キーボードとマウスの動作の監視】をダブルクリックすると、サンプルが開きます。


図 3 キーボードとマウスの動作監視のサンプルの場所

入力デバイス関数を活用する方法

キーボードとマウスの監視処理を簡単に作成してみました。


図 4 キーボードのマウスの監視処理

図 3の【キーボードとマウスの動作の監視】サンプル または上記(図 4)のような処理を実行しながら別のアプリケーションを操作すると、別のアプリケーションで入力しているキーボードのキーやマウスのボタンの状態、マウスの位置等を取得できます。

関数の使用方法は特に難しくなく上記のブロックダイアグラムを確認すると、基本的には以下の3種関数で構成されています。

  • 使用する入力デバイスの初期化
  • データ取得
  • 入力デバイスを閉じる

これら3種のうち、使用する前に初期化の関数を呼び出し、キー入力やマウスの座標等、入力値を取得したところで入力データを取得する関数、終了時に入力デバイスを閉じる関数を配置します。

監視ループ内は適宜必要な待機時間を設定した待機関数を置き、ある条件(今回のサンプルの場合は、停止ボタンがTrueになるかエラーが発生した場合)を満たせば監視ループから抜け、終了処理を実施します。

以下にキーボード監視に必要な初期化・データ取得・入力デバイスを閉じる関数を記載します。


5 初期化の関数(キーボードの場合)


図 6 入力値の取得の関数(キーボードの場合)


7 入力デバイスを閉じる関数

これらの関数を使用することで別アプリケーションを使用している時にキー入力やマウス座標、マウスのボタンの入力信号を監視することができます。
この関数を使用した応用例を考えると、特定のマウス操作をトリガで動作するソフトウェアや特定のキー入力で指定のEXEを立ち上げるなど、別アプリケーションを使用している時にマウスとキーボードの入力を監視し、特定の条件を満たした時に動作するような面白いソフトウェアが作れる可能性があります。

注意すること

今回紹介した入力デバイス制御の関数ですが、以下の内容について注意してください。

  • 日本語のキーに対応していない。(半角・全角キー等)
  • 【入力データを取得VI】を使用した時の入力信号をチェックする処理になるので、ある動作が発生した時をトリガとしたい場合、イベント処理とは異なり、自力でトリガチェック処理を作る必要があります

まとめ

このように、普段使用はしないかもしれないですが、LabVIEWには知っていれば便利な関数が様々用意されており、サンプルも豊富に存在します。
いろんな関数を使用しながら素敵なLabVIEWライフをおくりましょう!!

LabVIEWの開発でお困りごとがあれば、お電話やHPからご連絡をいただければ、まずは営業からお話しをお伺いさせていただきますので、お気軽にお問合せください。

LabVIEWの導入・開発支援「LabVIEWレスキュー」というサービスもございます。(1日~)

LabVI計測・制御に特化したソフトウェア開発言語「LabVIEW」の導入・開発支援(当社HP)

 

今回はLabVIEWの紹介をしましたが、LabVIEWだけでなく、VB.NETC++等のテキスト言語を使用したアプリケーションについても弊社では対応しております。

お困りごとがあれば、是非とも中央電機計器製作所にご相談下さい。
また、これからもLabVIEWの使い方などについて定期的に発信させていただきます。
ご興味のある方は是非こちらのブログをご覧ください。

それでは次回のブログもお楽しみに!

テスト・計測・制御・寸法測定のお困りごとなら
中央電機計器製作所へお気軽にご相談ください

お電話でのお問い合わせ
06-6953-2366

受付時間:平日9:00~17:30

メールでのお問い合わせ
Page Top
Translate »