PROFINET IO モジュールリファレンステーブル - In-Sight 4.x.x ファームウェア

このトピックでは、PROFINET IO モジュールリファレンステーブルと、GSD ファイルのバージョン 2.3 と組み合わせて In-Sight 4.x.x ファームウェアが実行されている In-Sight ビジョンシステムのテーブルに格納されている信号について説明します。モデル一覧およびサポートされているファームウェアバージョンについては、ファームウェアのバージョンをご参照ください。

PROFINET IO モジュールリファレンステーブルとモジュールの説明

PROFINET IO モジュールリファレンステーブル - In-Sight ファームウェアバージョン 4.10.x

モジュール ID バイト ビット 7 ビット 6 ビット 5 ビット 4 ビット 3 ビット 2 ビット 1 ビット 0
Acquisition Control 0x101 0 Set Offline Reserved Trigger Trigger Enable

 

Acquisition Status 0x201 0 Online Offline Reason Missed Acq Acquiring Trigger Ack Trigger Ready
1..2 Acquisition ID

 

Inspection Control 0x102 0 Reserved Execute Command Set User Data Inspection Results Ack Buffer Results Enable

 

Inspection Status 0x202 0 Set User Data Ack Command Failed Command Complete Command Executing Results Valid Results Buffer Overrun Inspection Completed Inspecting
1 Reserved TestRun Ready Job Pass

 

Job Control Input

0x103 (デフォルト)

0

Job Load ID (8 ビット) (デフォルト)

:  TestRun は 8 ビットモジュールではサポートされません。デフォルトでは、8 ビットモジュールがロードされます。TestRun を使用するには、8 ビットモジュールを手動で削除し、16 ビットモジュールで置き換える必要があります。
Command Control Input

0x107

0..1

Command (16 ビット)

(missing or bad snippet)

 

Job Control Output

0x103 (デフォルト)

0 Current Job ID (8 ビット) (デフォルト)
Command Control Output 0x107 0..1 Current Job ID (16 ビット)

 

Soft Event Control Input 0x105 0 Soft Event 7 Soft Event 6 Soft Event 5 Soft Event 4 Soft Event 3 Soft Event 2 Soft Event 1 Soft Event 0

 

User Data

0x301(16)

0x302(32)

0x303(64)

0x304(128)

0x305(254)

0.. User Data

 

Inspection Results

0x401(16)

0x402(32)

0x403(64)

0x404(128)

0x405(250)

0..1 Inspection ID
2..3 Inspection Result Code
4.. Inspection Results

PROFINET IO モジュールリファレンステーブル - In-Sight ファームウェアバージョン 4.9.x 以前

モジュール ID バイト ビット 7 ビット 6 ビット 5 ビット 4 ビット 3 ビット 2 ビット 1 ビット 0
Acquisition Control 0x101 0 Set Offline Reserved Trigger Trigger Enable

 

Acquisition Status 0x201 0 Online Offline Reason Missed Acq Acquiring Trigger Ack Trigger Ready
1..2 Acquisition ID

 

Inspection Control 0x102 0 Reserved Set User Data Inspection Results Ack Buffer Results Enable

 

Inspection Status 0x202 0 Set User Data Ack Job Load Failed Job Load Complete Job Loading Results Valid Results Buffer Overrun Inspection Completed Inspecting
1 Reserved Job Pass

 

Job Control Input 0x103 0 Job Load ID (8 ビット)

 

Job Control Output 0x103 0 Current Job ID (8 ビット)

 

Soft Event Control Input 0x105 0 Soft Event 7 Soft Event 6 Soft Event 5 Soft Event 4 Soft Event 3 Soft Event 2 Soft Event 1 Soft Event 0

 

User Data

0x301(16)

0x302(32)

0x303(64)

0x304(128)

0x305(254)

0.. User Data

 

Inspection Results

0x401(16)

0x402(32)

0x403(64)

0x404(128)

0x405(250)

0..1 Inspection ID
2..3 Inspection Result Code
4.. Inspection Results

 

Acquisition Control モジュール

Acquisition Control モジュールAcquisition Status モジュールのビットにより、PLC では、In-Sight ビジョンシステムで画像取り込みをトリガし、画像取り込みが完了した時期を判別し、ビジョンシステムをオフラインステータスにして画像取り込みトリガを受け入れないようにすることができます。

In-Sight ビジョンシステムの画像取り込みとオンライン/オフラインステータスを制御します。

ビット 名前 説明

0

Trigger Enable

このフィールドは、Trigger ビット経由でトリガできるようにするために設定されます。このビットをクリアすると、ネットワークトリガメカニズムが無効になります。

1

Trigger

このビットをセットすると、次の条件が満たされた場合に取り込みがトリガされます。

  • In-Sight ビジョンシステムがオンラインである。
  • Trigger Enable ビットがセットされている。
  • AcquireImage 関数の [トリガ] パラメータは [ネットワーク] または [外部] に設定されます。

2 ~ 6

Reserved

未使用。

7

Set Offline

このビットがセットされると、このビットが再びクリアされるまで、In-Sight ビジョンシステムはオフラインになります。

Acquisition Status モジュール

In-Sight ビジョンシステムの画像取り込みとオンライン/オフラインステータスを示します。

ビット 名前 説明

0

Trigger Ready

In-Sight ビジョンシステムが新しいトリガを受け入れられることを示します。このフィールドは、ビジョンシステムがオンラインであり、Trigger Enable ビットがセットされ、ビジョンシステムが画像の取り込み中でないときに真になります。

1

Trigger Ack

In-Sight ビジョンシステムが Trigger ビットのセットによってトリガされたことを示します。このビットは、Trigger ビットがクリアされるまでセットされたままです。

2

Acquiring

In-Sight ビジョンシステムが画像を取り込み中であるときにセットされます。セットされる Trigger ビットによって、または外部トリガによってセットされます。

3

Missed Ack

In-Sight ビジョンシステムが画像取り込みトリガをミスしたときにセットされます。画像取り込みが正常にトリガされるとクリアされます。

4 ~ 6

Offline Reason

このフィールドは、In-Sight ビジョンシステムがオフラインである原因を示すために使用される 3 ビットのフィールドです。

Offline Reason 名前 説明

0

Online

ビジョンシステムはオンラインです。

1

Programming

ビジョンシステムのジョブが変更されています。

2

Discrete Offline

ディスクリート信号によって、ビジョンシステムがオフラインになっています。

3

Comm.Offline

通信プロトコルによって、ビジョンシステムがオフラインになっています。

:  複数のデバイスから In-Sight ビジョンシステムはオフラインにできます。このフィールドでは最小限のチャネルステータスを返します。

7

Online

このビットは、In-Sight ビジョンシステムがオンラインのときにセットされ、ビジョンシステムがオフラインのときにクリアされます。ビジョンシステムがオフラインのときには、Offline Reason フィールドを調べて、原因を判断してください。

8 ~ 23

Acquisition ID

この ID は、トリガソースに関係なく各画像取り込みが完了すると増分され、Acquisition とその Inspection Results を同期化するために使用できます。

一般的な画像取り込みシーケンス

:  ネイティブモード コマンドによる、PLC/モーションコントローラからの取り込みトリガを許可するように、In-Sight ビジョンシステムを設定する場合は、SetEvent and Wait 関数を利用して、イベントコードを 8 (SW8) に設定することを推奨します。これによって、ビジョンシステムは、画像取り込みと検査の両方が完了してから「完了」レスポンスを PLC/モーションコントローラに送り返すようになるため、前の検査結果が PLC/モーションコントローラに送信されることはなくなります。ビジョンシステムからの「完了」レスポンスを使用して、検査結果の読み取り要求を送信する条件付き PLC ロジックを作成することもできます。

In-Sight ビジョンシステムは、Acquisition Control モジュールの Trigger Enable および Trigger ビットを直接操作するか、または Acquisition Status モジュールの Trigger Ready、Trigger Ack、Acquiring および Missed Acq ビットをモニタすることによってトリガできます。

最初の起動時には、Trigger Enable ビットは偽であり、トリガを有効にするには真にセットする必要があります。ビジョンシステムでトリガを受け入れる準備ができると、Acquisition Status モジュールの Trigger Ready ビットが真にセットされます。

Trigger Enable および Trigger Ready ビットが真である間は、Trigger ビットが 0 から 1 に変化するのがビジョンシステムで認識されるごとに、画像取り込みが開始されます。Acquisition Status モジュールの Trigger Ack ビットが同じ状態値になるまで、Trigger ビットを新しい状態で保持する必要があります (これは、ビジョンシステムが変化を確実に確認するために必要なハンドシェークです)。

画像の取り込み中、Acquisition Status モジュールの Trigger Ready ビットがクリアされ、Acquiring ビットが真にセットされます。画像取り込みが完了すると、Acquiring ビットがクリアされ、ビジョンシステムで新しい画像取り込みを開始する準備ができるとすぐに Trigger Ready ビットが再び真にセットされます。

トリガメカニズムを強制的にリセットするには、Acquisition Status モジュールが 0 になるまで Trigger Enable ビットを偽にセットします。Trigger Enable ビットを真に設定すると、画像取り込みが再度有効になります。

Inspection Control モジュール

Inspection Status モジュールInspection Control モジュールにより、PLC では、In-Sight ビジョンシステムのビジョン処理部分をモニタして新しい結果が出力される時期を判別し、新しい結果をキューに入れるようにビジョンシステムに要求できます。

ジョブの実行と検査結果の処理を制御します。

ビット 名前 説明

0

Buffer Results Enable

このビットがセットされると、Inspection ID、Inspection Result、Inspection Results フィールドは、Inspection Results Ack フィールドが確認応答してセットされるまで変化しません。最大 8 つの検査がビジョンシステムのバッファに保持されます。In-Sight ビジョンシステムは、Results Valid ビットをクリアすることによって、確認応答に応答します。Inspection Results Ack フィールドがクリアされ、PLC に送信される新しいルールセットが存在する場合、Results Valid ビットはクリアされなくなります。Inspection Results Ack ビットがクリアされ、ビジョンシステムのバッファに PLC に送信される結果がほかにはなくなると、Results Valid ビットはクリアされたままになります。

1

Inspection Results Ack

Buffer Results Enable ビットがセットされると、Inspection Results Ack ビットは、PLC が Inspection ID、Inspection Result、および Inspection Results データを受信したことを確認応答します。その後、次の検査結果のセットが PLC に送信されます。Inspection Results Ack ビットがクリアされると、ビジョンシステムは Results Valid ビットをセットします (バッファが空でなかった場合)。

2 Set User Data

この信号の立ち上がりエッジでユーザデータ保持バッファがユーザデータフィールドにラッチされ、ビジョンシステムにユーザデータへのアクセス権が付与されます。ビジョンシステムがコマンドを受信したことを保証するには、Inspection Status モジュールで Set User Data Ack ビットがアサートされるまで、PLC でこのビットが high に保持される必要があります。Profinet Write Record コマンドを使用して、ユーザデータ保持バッファに書き込むことができます。PROFINET 接続で User Data モジュールが設定されている場合に Set User Data 信号がアサートされると、モジュールアラームがアサートされます。

3 Execute Command (4.10.x)

TestRun を使用する場合は、この信号の立ち上がりエッジでコマンドが実行されて TestRun が開始されます。信号は Command Completed 信号がトグルされるまで high に維持される必要があります。この信号の立ち下がりエッジ (Command Complete の前) は、中止要求と解釈されます。

:  TestRun は 16 ビットの Job Control モジュールでのみサポートされます。8 ビットモジュールが使用され、Execute Command 信号によってコマンドが実行されて TestRun が起動すると、Command Failed 信号が発信され、Command Complete 信号がトグルしてエラーが示されます。
Reserved (4.9.x 以前) 未使用。

4 ~ 7

Reserved

未使用。

Inspection Status モジュール

ジョブの実行と検査結果のステータスを示します。

ビット 名前 説明

0

Inspecting

このビットは、In-Sight ビジョンシステムがジョブを実行しているときにセットされます。

1

Inspection Completed

このビットは、検査の完了時にトグルされます。Inspection Count、Inspection Result Code、Inspection Results、または Job Pass の各ビットが有効なときにセットされます。

2

Results Buffer Overrun

このフィールドは、Buffer Results Enable ビットがセットされ、PLC が結果を確認応答しないで代わりに Inspection Results Ack ビットをセットしたために、In-Sight ビジョンシステムが検査結果のセットを破棄したときにセットされます。最大 8 つの検査がビジョンシステムのバッファに保持されるため、このビットは、9 番目の検査がバッファに追加されて、バッファ内の 8 番目の検査に上書きされたときにセットされます。有効な検査が発生して、前の検査が上書きされない限り、このビットはクリアされません。

3

Results Valid

Inspection Count、Inspection Result Code、Inspection Results の各フィールドが有効なときにセットされます。

 

4

Command Executing (4.10.x)

このビットは、TestRun または [ジョブを開く] が開始されると 1 にセットされます。TestRun 実行が完了するとクリアされます。Command Completed ビットと Command Failed ビットは、このビットの立ち下がりエッジの前にセットされます。

:  8 ビットモジュールを使用する場合は、JobID がビジョンシステムに書き込まれるとすぐに [ジョブを開く] 操作が実行されます。16 ビットモジュールを使用する場合は、Execute Command の信号が発信されるまで [ジョブを開く] 操作は実行されません。

Job Loading (4.9.x 以前)

このビットは、新規ジョブをロードするときにセットされます。

:  このビットは、PROFINET を使用する PLC によってジョブのロードが開始された場合にのみ機能します。
 

5

Command Completed (4.10.x)

このビットは、TestRun 実行または [ジョブを開く] が完了したことを示すためにトグルされます。

:  TestRun を設定せずにジョブで TestRun を実行しようとすると、CommandCompleted がトグルされ、CommandFailed がセットされます。TestRun は、TestRunReady がセットされていない場合には実行されません。

Job Load Complete (4.9.x 以前)

このビットは、ジョブロード操作の完了時にトグルされます。

:  このビットは、PROFINET を使用する PLC によってジョブのロードが開始された場合にのみ機能します。
 

6

Command Failed (4.10.x) このビットは 1 にセットされ、TestRun 実行または [ジョブを開く] を最後まで実行することに失敗したことが示されます。TestRun シーケンスが実行されるか、PLC/HMI によって新規のジョブがロードされるとクリアされます。In-Sight Explorer によってジョブが変更されても、このビットは変わりません。

Job Load Failed (4.9.x 以前)

このビットは、ジョブのロードの最後の試みが失敗したときにセットされます。次にジョブのロードが成功したときにクリアされます。

:  このビットは、PROFINET を使用する PLC によってジョブのロードが開始された場合にのみ機能します。

7

Set User Data Ack

このビットは、Set User Data コマンドの完了に確認応答するためにセットされます。

8 Job Pass このビットは、最後のジョブが [ジョブの PASS/FAIL セルの設定] ダイアログの設定に合格するとセットされます。このビットはジョブが合格しないとクリアされます。
:  

ジョブの PASS ビッドの動作は結果バッファリングが無効か有効かによって異なります。

バッファリングが無効バッファリングが有効
検査が完了したときに [ジョブの PASS/FAIL] のセルが合格を示すとセットされます。そうでない場合は、クリアされたままです。

Inspection Completed ビットが立つ前のジョブ PASS ビットは有効です。

新しい結果が InspectionResults 属性に挿入され、[ジョブの PASS/FAIL] のセルがその結果に対して合格を示すとセットされます。そうでない場合は、クリアされたままです。InspectionResultsAck 属性を真に設定することによって結果が確認応答され、ビットがクリアされるまで、状態は変化しません。

Results Valid ビットがセットされる前のジョブ PASS ビットは有効です。

9 TestRun Ready (4.10.x)

このビットは、ビジョンシステムの TestRun 設定が有効な場合に 1 にセットされます。この信号は、TestRun の実行中に (TestRun イニシエータに関係なく) クリアされ、実行完了後に 1 に戻ります。

:  このビットは、ビジョンシステムがオンラインかオフラインかどうかに関係なく信号として送信されます。
Reserved (4.9.x 以前) 未使用。
10 ~ 15 Reserved 未使用。

検査/結果シーケンス

In-Sight ビジョンシステムによって取り込まれた画像は、処理のためにキューに入れられます。ビジョンシステムが画像を処理している間、Inspection Status モジュールの Inspecting ビットがセットされます。ビジョンシステムが画像の処理を終了すると、Inspecting ビットがクリアされ、Inspection Completed ビットがトグルされます。

Inspection Control モジュールの Buffer Results Enable ビットによって、ビジョンシステムでの検査結果の取り扱い方が決まります。Buffer Results Enable ビットが偽にセットされると、検査結果は直ちに Inspection Results モジュールに格納され、Results Valid ビットが真にセットされます。Buffer Results Enable ビットが真に設定されると、新しい結果がキューに入れられます。PLC は、確認応答する結果がまだある場合、Inspection Results Ack ビットと Results Valid ビットを真にセットします。Results Valid ビットがクリアされると、PLC は Inspection Results Ack ビットを偽に戻す必要があります。これで、キューに入れられた結果を Inspection Results モジュールに格納することができます (これは、PLC が結果を確実に受信するために必要なハンドシェークです)。

Inspection Status モジュールの動作

ビット ビット名 バッファリングが無効な場合の結果 バッファリングが有効な場合の結果
0 Inspecting

このビットは、In-Sight ビジョンシステムがジョブを実行しているときにセットされます。

このビットは、In-Sight ビジョンシステムがジョブを実行しているときにセットされます。

1 Inspection Complete

検査の完了時に切り替えられます。

検査の完了時に切り替えられます。

2 Results Buffer Overflow 0 に設定されたままです。 PLC が前の結果に確認応答しなかったために、検査結果をキューに入れることができなかったときにセットされます。結果バッファがオーバフローします。検査結果が正常にキューに入れられたときにクリアされます。
3 Results Valid

新しい結果が Inspection Results モジュールに格納されたときにセットされます。Inspection Results Ack ビットを真にセットすることによって結果が確認応答されるまでセットされたままになります。

新しい結果が Inspection Results モジュールに格納されたときにセットされます。Inspection Results Ack ビットを真にセットすることにより、結果が確認応答されるまでセットされたままになります。

結果のバッファリング

検査結果用のキューを有効にする必要があります。有効にした場合、PLC が有限個の検査データ結果を読み取るまでキューに入れておくことができます。これは、システムの複数の部分 (外部 PLC を含む) の速度が短時間に低下した場合に、データの流れを滑らかにするのに有効な機能です。

通常、結果が送信される速度より検査を実行する速度の方が速い場合、バッファリングありとバッファリングなしの間の大きな相違点は、破棄される結果を判別するかどうかということです。バッファリングが有効でない場合は最新の結果が保持され、以前の結果は PLC が読み取ることができず失われます。原則的に、最新の結果によって以前の結果が上書きされるだけです。バッファリングが有効である (さらに、キューがいっぱいである) 場合は、結果キューに空きができるまで最新の結果が破棄されます。

Job Control Input/Output モジュール

このモジュールの入力バイトは、In-Sight ビジョンシステムの現在のジョブ ID (Job ID のデフォルトのプレフィックスは 0 で、ジョブは変更されないことを示します) を示すか、現在のジョブに ID がない場合は 255 になります。In-Sight ビジョンシステムがオフラインのときに出力バイトを設定すると、同じ ID のジョブがロードされます。有効なジョブ ID 番号は、1 ~ 254 です。.

:  
  • 255 のジョブ ID 接頭辞は使用しないでください。ジョブ ID 接頭辞のないジョブが In-Sight Explorer によってロードされたときに、255 の入力バイトが PLC に返されます。したがって、ジョブ ID 接頭辞が 255 のジョブがロードされた場合や、ジョブ ID 接頭辞のないジョブがロードされた場合にわかりにくくなります。

  • In-Sight 4.10.x ファームウェアが実行されている In-Sight ビジョンシステムの場合は、TestRun をサポートするため、16 ビットの Control Input/Output モジュールが追加されます。デフォルトでは、8 ビットモジュールがロードされます。TestRun を使用するには、8 ビットモジュールを手動で削除し、16 ビットモジュールで置き換える必要があります。

  • 16 ビットの Job Control モジュールを使用する場合、有効なジョブ ID は 255 を除く 0 ~ 999 の範囲の数字です。

ソフトイベント制御モジュール

スプレッドシートのソフトイベントのトリガを可能にします。これらのビットをセットすると、スプレッドシート内の関連するソフトイベントがトリガされます。

:  In-Sight Explorer または VisionView アプリケーションが検査をモニタするジョブ設置環境では、ジョブがスプレッドシートイベントのトリガをかけるソフトイベント (Timer 関数として設定) に依存する場合、画像取り込みサイクルの完了直前にトリガがかけられると、画像の検査が遅延することがあります。ジョブファイルが大きい場合 (つまり、追加されたジョブのロジックに加えて、ファイルにパターンマッチ傷検出 エッジ検査ツールなど多くのビジョンツールが含まれる)、In-Sight Explorer または VisionView に必要な更新により、表示の更新がキューに入れられるまで画像の検査が妨げられます。正確なタイミングを必要とするアプリケーションでは (10 ミリ秒による測定など)、この更新により合格/不合格の結果を決定するのが遅れるため、検査プロセスでの次のステーション (PLC またはモーションコントローラなど) への結果の転送も遅延します。こうしたアプリケーション環境では、検査の遅延を避けるために、ソフトイベントを使用しないことを推奨します。

User Data モジュール

このデータは、ReadProfinetBuffer 関数を使用して、In-Sight スプレッドシートから読み取ることができます。

Inspection Results モジュール

これは、WriteProfinetBuffer 関数を使用して、In-Sight スプレッドシートから書き込まれるデータです。Inspection Control モジュールの Buffer Results Enable ビットがセットされていた場合、Inspection Results Ack ビットをパルス出力することによって確認応答されるまで、検査結果は変わりません。

バイト

名前

説明

0 ~ 1

Inspection ID

この結果セットに関連付けられている取り込み ID。

 

2 ~ 3

Inspection Result Code (4.10.x)

TestRun の最新の実行結果を示します。すべてのテストに合格すると、ビット 0 がセットされます。不合格のテストがあった場合、または TestRun を実行している間のセットアップまたはクリーンアップに問題があった場合、ビット 0 はクリアされます。

  • このフィールドは、TestRun が正常に実行された後にのみ有効になります。
  • このフィールドの結果は、TestRun なしのジョブがロードされた場合、別の TestRun ジョブが実行された場合、TestRun が進行中の場合、TestRun またはジョブが失敗した場合、または TestRun が中止された場合には無効化されることがあります。
  • カメラが現在オンラインに設定されている場合、このフィールドの内容はスプレッドシートによって出力され、TestRun に関する意味はありません。

Inspection Result Code (4.9.x 以前)

現在は使用されていません。常に 0 です。

4 ~ 253

Inspection Results

WriteProfinetBuffer 関数を使用してスプレッドシートから書き出された検査結果データ。

PROFINET タイミング図 - バッファリングありとバッファリングなし

次のタイミング図は、画像取り込み制御、検査制御、画像取り込みステータス、検査ステータス、および検査結果の関係を示しています。

PROFINET での画像取り込みと検査のタイミング図 (バッファリング無効)

PROFINET での画像取り込みと検査のタイミング図 (バッファリング有効)