Siemens PLC通信のステータスコードが正常なのに、位置姿勢データが0になる場合の対処法
問題
Siemens PLC通信を行う際、PLCはビジョンシステムにコマンドを送信した後、ビジョンシステムのログ画面にはすでに位置姿勢のデータが表示されています。また、PLCのステータスコードも正常を示しています。しかし、PLCが受信した位置姿勢のデータは0です。
考えられる原因
PLCはエラー防止策として、定期的に位置姿勢データをクリアしています。ビジョンシステムが位置姿勢データを受信する際、データがちょうどクリアされている可能性があります。
解決策
-
位置姿勢をクリアする操作に、自動実行ステップ番号を設定します。例えば、画像取得の初期段階に操作することができます。
-
MM_Empty_Target機能を使用したとしても、下図のように、上記「1」の方法を採用する必要があります。
この機能が常に有効になっている場合、画像取得ごとに、InOutインターフェースパラメータの読み書きが行われます。位置姿勢が0のサイクル内に、ビジョンシステムが位置姿勢の書き込み(下図のTarget_Poseのように)を行う場合、位置姿勢データはクリアされます。 -
MM Interfaceデータブロック全体がINOUTインターフェースパラメータとして使用され、常に有効になっている場合も、位置姿勢データが0になる可能性があります。下図のように、MM Interfaceデータブロックに「カメラのコントロール」と「カメラの読み込み」の構成を追加し、この構成データをそれぞれOUTインターフェースパラメータとINインターフェースパラメータとして使用することができます。