情報詳細Q:GigEタイプのカメラを使用していてアプリが異常終了した時、カメラとの再接続ができずエラーが発生します。デバッガとアプリケーションで挙動が異なりますが、どうしてでしょうか。A: こちらは、GigEVisonカメラにのみ存在するハートビートが影響していると考えられます。ハートビートのタイムアウト時間は通常3秒で設定されておりますが、プログラミングのデバッガの環境では自動的に5分に設定される仕様となっております。プログラム開発時にプログラムが強制終了した後、カメラが再接続できないのはこのタイムアウトの設定が長く設定されているためです。通常、ソフトウェアが強制終了してしまった場合、PC側は強制的にクローズされている状態になるのですが、カメラは接続したままである状態となります。この状態の時、新たにカメラの再接続を行こうとしても、カメラは接続中というステータスであるため、接続を拒否します。この状態は、ハートビートのタイムアウト時間が発生するまで継続し、その時間が経過すると自動的にカメラがクローズされるという動きを行います。HeartbeatTimeoutはプログラムより調整が可能です。サンプルコードは下記の通りです。C++:camera.GetTLParams().HeartbeatTimeout.SetValue(3000);C# :camera.Parameters[PLTransportLayer.HeartbeatTimeout].SetValue(3000);注意点1pylonViewerからでも設定可能ですが、設定の保存を行うことができないため、ご留意ください。注意点2HALCONからプログラム制御する場合は'GevHeartbeatTimeout'というパラメータを使用します。注意点3デバッグ中にブレークポイントを設定してプログラムを止めたときもHeartBeatTimeoutのカウントがされます。例:・HeartBeatTimeoutを3秒に設定・デバッガーでブレークポイントで3秒以上一時停止すると、その後のカメラの処理でエラーが発生添付ファイルGigEカメラ_Heartbeatについて.pdfタイトルHeartbeatTimeout (GigEカメラがデバッグの際すぐに再接続できない理由について)URL 名000004733公開状況公開済み検証状況公開済み