NI製品ディスカッション

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

出力ファイルの更新時間が変わるのはなぜ?

 多くの測定を行い、その結果をその都度ファイルに出力するviを実行しました。測定
ポイント数によっては優に 1時間以上かかります。
 
 極大雑把なviを添付します。実物はもっと複雑で 4重ループになっていて、一番内側
のループで測定器との通信・計測を行っています。
 
 数分間だけ実行しては出力ファイルと計測器の通信履歴を見比べてデバッグをしてい
たのですが、測定中にファイルサイズが大きくなってゆくのと同時に、ファイルの更新
日時も変わってゆくのに気がつきました。なぜでしょうか?
 
 ファイルにフォーマットは、入力ファイル端子がファイル・パスの時はファイルをク
ローズするとヘルプにありますが、Refnumだったときは特に記載がありません。
 
 実はRefnumのときもファイルをクローズし、ファイル・パスと違って追記しているな
んてオチになりそうな気もするのですが、よろしくお願いします。
0 件の賞賛
メッセージ1/3
3,492件の閲覧回数
平素よりNI製品をご利用頂きまして誠に有難うございます。
日本ナショナルインスツルメンツ技術部 下田と申します。

ファイルにフォーマット関数の挙動について、以下の通り回答致します。

ファイルにフォーマット関数の入力にファイルRefnumが与えられた場合、ファイルにフォーマット関数はファイルが明示的に閉じられるまでファイルが使用中であるとみなします。
つまり、ファイルを開く/閉じるを繰り返す、という挙動はしていないことになります。
ご投稿頂いたスクリーンショットと同様のVIをLV8.2, 7.1の両バージョンで試してみましたが、ファイルハンドラは一つのみ取得され、ファイルを閉じる関数が呼ばれるまで同一の物が使われていました。
添付画像のようなVIを組む、あるいはサードパーティ製のプロセス監視ツールをご利用いただくことでファイルハンドラの状況をご確認いただけるかと思います。

ファイルの更新日時ですが、弊社環境で試した限りでは、更新日時が変化したのはファイルハンドラが解放されたタイミングでしたので、上記のファイルハンドラのモニタリングもあわせて今一度プログラムの動作をご確認下さい。

以上、お手数ですが宜しくお願い致します。
0 件の賞賛
メッセージ2/3
3,456件の閲覧回数

日本ナショナルインスツルメンツ技術部 下田 様


 お世話になっています。

 開く/閉じるを繰り返していないので、タイムス・タンプは変わらないということで
すね。ひとまず了解しました。


 簡単なviを作成して再現しようとしたところ、再現されました。もう一度、ご確認を
お願いしたいと思います。

 添付のTest.pngが作成したviです。

 Fig01.png から Fig13.pngが、viを実行中のデスク・トップのスクリーン・ショット
です。

 Fig01.png が実行前のスクリーン・ショットです。まだファイルは存在していません。

 Fig02.png が実行直後のスクリーンショットで、ファイルは作成されましたがサイズ
は 0です。

 Fig03.png が、実行後暫く経ったときのスクリーン・ショットです。ファイルのタイ
ムス・タンプが更新されています。

 以下 Fig13.pngまで、出力ファイルのタイム・スタンプが更新されたときや更新され
ていないときのスクリーン・ショットです。


 観察していて気がついたのですが、PC内蔵時計の分が更新されると同時にファイルの
タイム・スタンプが更新されているようです。Fig07.png から Fig09.pngは内蔵時計の
分が更新されていないので、ファイルのタイムスタンプが更新されていません。
Fig10.png で内蔵時計の分が更新され、ファイルのタイム・スタンプも更新されていま
す。Fig11.png と Fig12.pngも分が更新されていないのでタイム・スタンプが更新され
ていませんが、Fig13.png で分が更新されてタイム・スタンプも更新されています。

 普通、エクスプローラーのタイトル・バーには特に何も表示されていません。私は、
ツール・バーの[ツール]-[オプション]で『タイトル・バーにファイルのパス名を
表示する』にチェックを入れているので、タイトル・バーにファイル・リストを表示し
ているファイル・パスが表示されています。加えて、アクティブになっているウィンド
ウのタイトル・バーに日付と時間を表示するフリー・ウェア (HiG)を常駐させているの
で、エクスプローラのタイトル・バーに日付と時間が表示されています。内蔵時計の秒
に合わせてこの表示が更新され、それに連動してエクスプローラの表示内容も更新され
ているようです。内蔵時計の秒が更新されるたびにフォルダー・ツリーがチラチラとチ
ラつくのに気がつきました。これが正しいとすれば、エクスプローラーのタイム・スタ
ンプに秒を表示させれば、内蔵時計の秒が更新されるたびにタイム・スタンプが更新さ
れるかもしれません。


 恐れ入りますが、エクスプローラーのツール・バーから[表示]-[最新の表示に更
新]をこまめに実行して確認していただけないでしょうか。


 よろしくお願いします。

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