10-04-2010 12:27 AM
お世話になっております。NI8451をVEE(Agilent社)にてI2C制御し、EEPROMへの読み書きを行っております。ProgramはC++用に作成されたSample Programをベースに作成しております。書き・読み(4K)を各製品に対して行っておりますが、バラツキはあれど数10回に一度301742なるエラーが”ni845xI2cScriptRun"関数実行時に排出され、書き込みFailします。再度実行すると特に問題なく書きこみが出来ます。エラー原因として何か考えられるでしょうか?また、再実行にて書き込みが完了するとなればエラーを関ししておいてエラー発生時にScriptRunを再実行させることも可能かと考えておりますが、ScriptRunのみ再実行などやっても大丈夫なものでしょうか?お手数ですが回答頂けると助かります。よろしくお願いいたします。
10-06-2010 02:40 AM
G奥山 様
平素より弊社ディスカッションフォーラムをご利用頂きまして誠に有難うございます。
日本ナショナルインスツルメンツ黒須と申します。
301742エラーについてですが、デバイスアドレスなどが間違っておりACKが正常に帰ってこないために通信が出来なくエラーが起きております。
10回に1回程度問題が起きるとのことですのでアドレスの設定間違えというよりかはノイズによる影響などかもしれません。
一度ノイズ環境や配線をご確認ください。
エラーの処理としてエラーが出たときにScriptRunを再度実行させる方法についてですが、
こちらはリファレンスがクリアされる前であればスクリプトで書かれていたものが再度通信される形になりますので、
エラーが出た場合にScriptRunを実行させて上げることで再度通信を行うことは可能になります。
よろしくお願いします。
10-06-2010 02:40 AM - 編集済み 10-06-2010 02:41 AM
10-06-2010 07:57 PM
日本NI 黒須様:
お世話になっております。
早速の回答ありがとうございます。エラーを監視し、ScriptRunを数回繰り返す方法にて対処療法致したく思います。
大変助かりました。
奥山