RTでエラー -2202が発生する場合の対処法



使用ソフトウェア:
使用ソフトウェア・バージョン: 7.0
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A

問題:
Communication Wizardを使い,アプリケーションを分割しました。ホスト側のVIでエラー66が発生し,RTターゲット側のNPL(通常優先度ループ)でエラー -2202: The Specified Name Does Not Exist が発生します。このエラーの意味と,対処法を教えてください。


解決策:
RT Communication Wizardが作成したRT FIFOが正常に初期化されていない可能性があります。NPLの初回繰り返しで読み書きされない制御器や表示器をFIFOで通信するように設定した場合,FIFOは初回繰り返しで初期化されません。例として,制御器や表示器がケースストラクチャの中にあり,必ずしも初回繰り返しで呼び出されない場合があげられます。
この問題は,NPL(通常優先度ループ)ではFIFOは既に初期化されていると仮定して処理が行われ,初期化されていなければ存在しないリファレンスにアクセスされるためです。この場合,エラー -2002のみでなくホスト側でエラー63や66等のTCPエラーも発生する場合があります。

エラーを避けるためには,Communication Wizardで通信用に選択する制御器や表示器はすべて初回繰り返しで初期化されるようにプログラムを変更します。初回繰り返しでFIFOに初期値が与えられるようにしてください。この後プログラムをテストし,すべてのFIFOが初期化されていることを確認してください。

関連リンク:
Developer Zone Tutorial: Real-Time FIFO for Deterministic Data Transfer Between VIs.
Developer Zone Tutorial: Organizing Inter-Thread Communication in LabVIEW Real-Time

添付:





報告日時: 03/26/2003
最終更新日: 12/31/2007
ドキュメントID: 2VK9O15U