10-02-2019 03:20 AM
PCのキーボードのスペースキーを押したタイミングでのみ計測器からのデータを呼び出す処理をLabVIEWで実施したいと思います。
ホームページ等参照したところ、イベントストラクチャのキーダウンを使用するとあるのですが、具体的な処理方法とスペースキーに該当するコードがわからない状況です。
できればスペースキー以外のキー入力も認識できるようにしたいので、コード一覧が掲載されているホームページがありましたらご紹介頂けると助かります。
すいませんがよろしくお願いします。
解決済! 解決策の投稿を見る。
10-02-2019 02:59 PM
平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。
イベントストラクチャでキーダウンイベントを使用するサンプルは下記にあります。
それ以外の方法としては、関数パレット>>コネクティビティ>>入力デバイス制御にあるVIを使用する方法があります。このサンプルは、ヘルプメニュー>>サンプルを検索>>参照タブ>>ユーザインタフェースの作成>>ユーザ入力の読み取り>>キーボードとマウス>>キーボードとマウスの動作の監視にあります。
10-03-2019 02:08 AM
日本ナショナルインスツルメンツ 技術部 上野様
ご回答ありがとうございます。
キー入力を待つという点でキーダウンイベント(Using the LabVIEW Key Down Event)を使用することにしましたが、プロパティノードだけをコピーして、別のブロックダイアグラムに持っていきましたが、未配線があるとエラーになりました(添付ファイルをご参照ください)。
キーダウンイベントは不要な機能もあるので、プロパティノードでキー入力を待つ機能のみを使用して、後は関数パレット>>コネクティビティにあるキーボード入力を認識する関数を使用しようと思いました。
すいませんがアドバイスをお願いします。
10-03-2019 02:51 AM
Keydown.viのWhileループ前に使用されていたTest Area文字列表示器に対するKeyfocusプロパティノードは、そのプログラムの実行開始時にTest Areaをフォーカスして、その表示器を選択しなくてもすぐテキスト入力をできるように設定していたものです。
そのプロパティノードだけをコピーしても、コピー先にTest Area文字列表示器がありませんし、未リンク状態なのでコンパイルできないため、実行矢印が壊れた状態となります。
10-03-2019 03:34 AM
日本ナショナルインスツルメンツ 上野様
ご回答ありがとうございます。
まだよく理解できなくてすいません、Keydown.viのWhileループ内にTest Area文字列表示器があるのですが、
1)これは通常の文字列表示器でしょうか?それとも特殊な処理が施されたもの
なのでしょうか?
2)このWhileループ内にTest Area文字列表示器は何も配線されていないように
見えますが、イベントストラクチャの出力(つまりキー入力された文字)が
このTeat Area文字列表示器につながっているという認識で正しいでしょうか?
3)2)のTest Area文字列表示器とKeyfocusプロパティノードを組み合わせる
(リンクさせる?)方法を教えて頂けないでしょうか?
すいませんが、よろしくお願いします。
10-03-2019 04:15 AM
失礼しました。Test Area文字列は、表示器ではなく制御器でした。
A1. デフォルト値に「Type Text Here」が設定された普通の文字列制御器です。
A2. 制御器のため、表示できる文字を入力すればそのまま表示されます。
A3. このプロパティノードは、ダイアグラムにあるTest Area文字列制御器のオブジェクトを右クリックして、作成>>プロパティノード>>キーフォーカスを選択します。そのプロパティノードを配置してから右クリックし、書き込みに変更します。
10-03-2019 06:25 AM
日本ナショナルインスツルメンツ 上野様
ご回答ありがとうございます。
おかげさまで解決しました。
完成版のviを添付させて頂きます。
また何かありましたらご指導よろしくお願いします。