NI製品ディスカッション

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

ファイル読み取りキャンセル後の動作について

初歩的な質問かもしれませんが・・・。
 
CSVファイルを読み取るプログラムを検討しています(添付ファイル参照願います)。
ファイルダイアログボックスで、読み取りをキャンセルした場合、
画面がブロックダイアログに切り替わって、エラーダイアログが表示されます。
これを回避する方法はないでしょうか?
(キャンセルをしても、何事もなくループに戻る動作にしたいです。)
アドバイスをお願いいたします。
 
LabVIEW8.0使用
 
0 件の賞賛
メッセージ1/7
5,559件の閲覧回数
たなか様

平素より弊社製品をご使用いただき誠に有難うございます。
日本ナショナルインスツルメンツ技術部の竹内と申します。

このような場合、一般エラー処理VIの例外処理という機能を使用しますと、指定したエラーコードに一致した際にエラーをキャンセルすることができます。
フィルダイアログでキャンセルをした際にエラー43が発生するので、一般エラー処理VIの[例外コード]に43と[例外動作]に「一致でエラーをキャンセル」としていただければ、エラー43はキャンセルされエラーダイアログは表示されません。

以上、ご不明な点等ございましたらご連絡下さい。
よろしくお願いします。

日本ナショナルインスツルメンツ技術部
竹内
0 件の賞賛
メッセージ2/7
5,537件の閲覧回数

回答有難うございます。

添付ファイル(errorcancel.vi)を実行した所、希望した通り、エラーキャンセルできてるようなのですが、ブロックダイアグラムは添付図の様になっており、一般エラー処理VIではなく、バンドル解除されているだけの様なのですが、これでOKなのでしょうか?

因みに当方LabVIEW8.0を使用しております。

0 件の賞賛
メッセージ3/7
5,527件の閲覧回数
たなか様

プログラムを作成している最中のVIを添付してしまったようです。
申し訳ありません。
再度、VIを添付いたしますのでご確認下さい。

よろしくお願いいたします。

日本ナショナルインスツルメンツ技術部
竹内
メッセージ4/7
5,519件の閲覧回数

添付ファイル確認しました。確かに所望の動作になっています。非常に助かりました。有難うございます。

ただ、前回の添付ファイルの様に、エラー出力をバンドル解除しただけでもエラーキャンセルになっている様なのですが、何故でしょう?

0 件の賞賛
メッセージ5/7
5,514件の閲覧回数
たなか様

いつもお世話になっております。
日本ナショナルインスツルメンツ技術部の竹内です。

LabVIEWでは「一般エラー処理」VIや「シンプルエラー処理」VIを使用しなくても自動的にエラーを表示する機能がございます。LabVIEWのツールからオプションを開き、ブロックダイアグラムカテゴリで「自動エラー処理を有効」にチェックが入っていますと、エラー処理VIを使用しなくてもエラーダイアログを表示します。この状態がたなか様が最初に投稿していただいた時の状態です。
私が提案させていただいた内容は、あるエラーコードではエラーを発生させなくするように「一般エラー処理」VIの例外処理機能を使用しました。自動エラー処理を無効にせずに例外処理を使用したのは、ある特定のエラーコード(今回の場合は43)だけキャンセルすればよかったためです。
自動エラー処理が有効であるにもかかわらず、バンドル解除を付けてもエラーダイアログが発生しない理由としては、エラークラスタが最後に配線されているノードがエラー処理を自動的に行わないノード(今回の場合はバンドル解除)だったためです。今回はエラーダイアログは立ち上がってきませんでしたが、実際にはエラーが発生しております。
そのため、正常にエラー処理を行うためにも「一般エラー処理」VIを使用する方法をお勧めいたします。

以上、ご不明な点等ございましたらご連絡下さい。
今後ともよろしくお願い申し上げます。

日本ナショナルインスツルメンツ技術部
竹内
メッセージ6/7
5,493件の閲覧回数

本件了解いたしました。今回の様なエラー処理については「一般エラー処理」VIを使用して対応いたします。

ご教授有難うございました。また何かあった際には宜しくお願いいたします。

0 件の賞賛
メッセージ7/7
5,441件の閲覧回数