NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

ログのテキスト保存

添付したviにおいて状況が変化するたびにログを取得してテキストに保存したいのですが、何かいい案はありますでしょうか?LabVIEW初心者のためご教示いただきたいです。

よろしくお願いします。

0 件の賞賛
メッセージ1/12
2,793件の閲覧回数

平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。

 

やり方は、いろいろあるかと思いますが、個人的に一番シンプルだと思う方法は、イベントストラクチャでボタンのイベントを監視&ログ保存をするループを別に作成する方法です。サンプルコードを添付しますのでご確認ください(LabVIEWお 014用に保存しています)。イベントストラクチャの使用方法については、LabVIEWヘルプを参照いただけると幸いです。

 

このコードは、メインループにおいてファイル読み取り、ボタンのステータス確認、ボタンのラベルと色変更を高速処理しています。そのため、CPUに負荷がかかっており、さらにコードを追加するとループ速度が変化するかと思います。

より効率よく処理するには、現在の時刻表示と停止ボタンを一定間隔で動作するWhileループにいれて、それ以外はイベントストラクチャでボタンが押されたときのみ処理するようにすることだと思います。

0 件の賞賛
メッセージ2/12
2,774件の閲覧回数

ありがとうございます。

添付していただいたviで保存されたテキストファイルのstatuschange~の部分を文字(入室)等に変えるにはイベントストラクチャを変更すればいいのでしょうか?

0 件の賞賛
メッセージ3/12
2,760件の閲覧回数

それでしたら、検出したイベントでラベルテキスト以外にブールテキストも合わせて読み取ればいいと思います。

0 件の賞賛
メッセージ4/12
2,754件の閲覧回数

ありがとうございます。

度々の質問で申し訳ないですが、ボタンのステータスが変更された箇所の文字列もログに表記するには別のプロパティノードを使用するのでしょうか?

0 件の賞賛
メッセージ5/12
2,732件の閲覧回数

ご推察のとおり、適切な文字列表示器に対する「値」プロパティノードが必要です。

ボタンと文字列は個別のオブジェクトであり、固有のラベルがオブジェクト名ですので、名称付けが揃っていれば扱いやすくなると思います。

 

添付ファイルはリファレンス配列の作成場所を変更しており、すべてのボタンをデバッグしておりませんのでご了承ください。

0 件の賞賛
メッセージ6/12
2,728件の閲覧回数

ご丁寧な回答ありがとうございました。

 

0 件の賞賛
メッセージ7/12
2,720件の閲覧回数

リング制御器を使用した場合のサンプルプログラムを添付致します。

 

0 件の賞賛
メッセージ8/12
2,599件の閲覧回数

添付したようなログを出力したい場合はどうすれば良いのでしょうか?

各文字列のステータス状況を1,0という表現でどこかのステータスが

変わったごとに全ての状況を出力したいです。

何かアドバイスお願いします

0 件の賞賛
メッセージ9/12
2,535件の閲覧回数

各文字列のステータス状況を1,0」というのは、ダイアグラムで各リング制御器のオブジェクトから取得でますので、ファイルにフォーマット関数部分を変更して、時刻の後、タブ定数を挟みながらすべてのリング制御器の値を配線するようにすれば、添付いただいたファイルのように保存されます。

0 件の賞賛
メッセージ10/12
2,530件の閲覧回数