06-12-2019 11:45 PM
添付したviにおいて状況が変化するたびにログを取得してテキストに保存したいのですが、何かいい案はありますでしょうか?LabVIEW初心者のためご教示いただきたいです。
よろしくお願いします。
06-13-2019 01:50 AM
平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。
やり方は、いろいろあるかと思いますが、個人的に一番シンプルだと思う方法は、イベントストラクチャでボタンのイベントを監視&ログ保存をするループを別に作成する方法です。サンプルコードを添付しますのでご確認ください(LabVIEWお 014用に保存しています)。イベントストラクチャの使用方法については、LabVIEWヘルプを参照いただけると幸いです。
このコードは、メインループにおいてファイル読み取り、ボタンのステータス確認、ボタンのラベルと色変更を高速処理しています。そのため、CPUに負荷がかかっており、さらにコードを追加するとループ速度が変化するかと思います。
より効率よく処理するには、現在の時刻表示と停止ボタンを一定間隔で動作するWhileループにいれて、それ以外はイベントストラクチャでボタンが押されたときのみ処理するようにすることだと思います。
06-14-2019 02:10 AM
ありがとうございます。
添付していただいたviで保存されたテキストファイルのstatuschange~の部分を文字(入室)等に変えるにはイベントストラクチャを変更すればいいのでしょうか?
06-14-2019 05:11 AM
それでしたら、検出したイベントでラベルテキスト以外にブールテキストも合わせて読み取ればいいと思います。
06-17-2019 11:50 PM
ありがとうございます。
度々の質問で申し訳ないですが、ボタンのステータスが変更された箇所の文字列もログに表記するには別のプロパティノードを使用するのでしょうか?
06-18-2019 12:20 AM
ご推察のとおり、適切な文字列表示器に対する「値」プロパティノードが必要です。
ボタンと文字列は個別のオブジェクトであり、固有のラベルがオブジェクト名ですので、名称付けが揃っていれば扱いやすくなると思います。
添付ファイルはリファレンス配列の作成場所を変更しており、すべてのボタンをデバッグしておりませんのでご了承ください。
06-18-2019 01:27 AM
ご丁寧な回答ありがとうございました。
06-26-2019 08:28 PM
リング制御器を使用した場合のサンプルプログラムを添付致します。
07-15-2019 08:55 PM
添付したようなログを出力したい場合はどうすれば良いのでしょうか?
各文字列のステータス状況を1,0という表現でどこかのステータスが
変わったごとに全ての状況を出力したいです。
何かアドバイスお願いします
07-15-2019 10:01 PM
「各文字列のステータス状況を1,0」というのは、ダイアグラムで各リング制御器のオブジェクトから取得でますので、ファイルにフォーマット関数部分を変更して、時刻の後、タブ定数を挟みながらすべてのリング制御器の値を配線するようにすれば、添付いただいたファイルのように保存されます。