EtherNet/IP オブジェクトモデルと入出力アセンブリオブジェクト - In-Sight 5.x.x ファームウェア

このトピックでは、In-Sight 5.1.0 以降が実行されている In-Sight ビジョンシステムの In-Sight オブジェクトモデルについて説明します。

:   モデル一覧およびサポートされているファームウェアバージョンについては、ファームウェアのバージョンをご参照ください。

In-Sight オブジェクトモデル

EtherNet/IP ネットワークでは、In-Sight ビジョンシステムはサーバとして機能し、明示的および非明示的 I/O メッセージングの両方をサポートします。例えば、検査データを、明示的メッセージによって、または非明示的接続によって、クライアントに転送することができます。非明示的な接続は、画像取り込み、トリガ、およびスプレッドシートのイベントの制御に使用することもできます。

識別オブジェクト、Ethernet リンクオブジェクト、TCP/IP オブジェクト、およびそのほかの内部オブジェクトは、EtherNet/IP 仕様によって必須とされています。アセンブリオブジェクトのさまざまなインスタンスは、EtherNet/IP クライアントとアプリケーションデータを交換するために使用されます。ビジョンオブジェクトは、In-Sight ビジョンシステムに固有の情報を提供するために、In-Sight システムによって定義されます。これがどのように行われるかという詳細については、「ビジョンオブジェクトの属性とサービス」の節を参照してください。In-Sight ビジョンシステムによって提供される現在のオブジェクトモデルを下の図に示します。

  • アセンブリオブジェクト: アセンブリオブジェクトは、複数のオブジェクトの属性をバインドして、各オブジェクト間でのデータの送受信を 1 つの接続でできるようにします。アセンブリオブジェクトを使用すると、入力データまたは出力データをバインドすることができます。「入力」と「出力」という用語は、ネットワーク側から見た定義です。「入力」はネットワーク上にデータを生成し、「出力」はネットワークからデータを消費します。
  • 識別オブジェクト: このオブジェクトは、デバイスの識別情報とデバイスに関する全般情報を提供します。
  • Ethernet リンクオブジェクト: Ethernet リンクオブジェクトは、Ethernet 802.3 通信インタフェースについて、リンク固有のカウンタとステータス情報を保持します。
  • TCP/IP オブジェクト: TCP/IP オブジェクトは、デバイスの TCP/IP ネットワークインタフェース設定を照会 (可能な場合は設定も) するメカニズムを提供します。該当する項目の例としては、デバイスの IP アドレス、ネットワークマスク、ゲートウェイアドレスなどがあります。
  • ビジョンオブジェクト: ビジョンオブジェクトには、In-Sight ビジョンシステム固有のすべてのサービスと属性が含まれます。これには、画像取り込み、検査、ジョブの変更、および In-Sight Explorer スプレッドシートとの通信などが含まれます。

入出力アセンブリオブジェクト

入出力データの I/O アセンブリデータ属性の形式は、次のとおりです。

ファームウェアのバージョン   入力アセンブリ   出力アセンブリ
インスタンス インスタンス
5.1.0 以降 13 22
:  
  • EDS で作成されたプロファイルを使用する場合、入力アセンブリの最大サイズが 500 バイトであっても、EDS で作成されたプロファイルは最大 496 バイトの接続しか許可しません。
  • Rockwell RSLogix Studio 5000 バージョン 21 ~ 25 を使用している場合、In-Sight EDS で作成されたプロファイルのデフォルト入出力アセンブリサイズ (各 496 バイト) は編集できず、デフォルトの最大の入出力アセンブリサイズに戻されます。
  • Trigger Ack が生成されて PLC に送信されている場合、Acquition ID は画像取り込みの開始時に増分されます。Inspection ID は、Inspection Completed ビットがトグルするときに増分されます (このとき、Results Valid は high に設定され、Inspecting ビットは low に設定されます)。
  • In-Sight 4.x.x ファームウェアが実行されている In-Sight ビジョンシステムから 5.x.x ファームウェアが実行されているビジョンシステムにアップグレードする場合の入出力アセンブリテーブル間の違いについては、「入出力アセンブリの変更」のトピックを参照してください。

入力アセンブリ ‐ インスタンス 13

インスタンス バイト ビット 7 ビット 6 ビット 5 ビット 4 ビット 3 ビット 2 ビット 1 ビット 0
13 0 Online

Offline

Reason

Missed

Acq

Reserved

Trigger

Ack

Trigger

Ready

1 Error

Command

Failed

Command

Completed

Command

Executing

Results

Valid

Results

Buffer

Overrun

Inspection

Completed

System

Busy

2 Reserved Reserved

Reserved (5.1.0 ~ 5.5.x)

Job

Pass

Exposure

Complete

Reserved Reserved

Set User

Data Ack

TestRun Ready (5.6.0 以降)
3

Soft

Event

Ack 7

Soft

Event

Ack 6

Soft

Event

Ack 5

Soft

Event

Ack 4

Soft

Event

Ack 3

Soft

Event

Ack 2

Soft

Event

Ack 1

Soft

Event

Ack 0

4 Error Code (16 ビット整数)
5
6 Reserved (16 ビット整数)
7
8 Current Job ID (16 ビット整数)
9
10 Acquisition ID (16 ビット整数)
11
12 Inspection ID (16 ビット整数)
13
14 Inspection Result Code (16 ビット整数)
15
16 Inspection Results 0
...  
499 Inspection Results 483

バイト 0

ビット 名前 説明
7 Online このビットは、In-Sight ビジョンシステムがオンラインのときにセットされ、ビジョンシステムがオフラインのときにクリアされます。ビジョンシステムがオフラインのときには、Offline Reason フィールドを調べて、原因を判断してください。
6 ~ 4 Offline Reason このフィールドは、In-Sight ビジョンシステムがオフラインである原因を示すために使用される 3 ビットのフィールドです。
Offline Reason名前説明

0

Online

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

1

Programming

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

2

Discrete Offline

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

3

Comm.Offline

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

:  複数のデバイスから In-Sight ビジョンシステムはオフラインにできます。このフィールドでは最小限のチャネルステータスを返します。
3 Missed Acq 画像取り込み方法に関係なく、In-Sight ビジョンシステムが画像取り込みに失敗したときにセットされます。画像取り込みが正常にトリガされるとクリアされます。
2 Reserved 未使用。
1 Trigger Ack In-Sight ビジョンシステムが Trigger ビットのセットによってトリガされたことを示します。このビットは、Trigger ビットがクリアされるまでセットされたままです。また、Acquisition ID は、このビットの立ち上がりエッジにラッチできます。
0 Trigger Ready

In-Sight ビジョンシステムが、Trigger ビットを介して新しいトリガを受け入れられることを示します。このフィールドは、ビジョンシステムがオンラインであり、Trigger Enable ビットがセットされ、AcquireImage 関数の [トリガ] パラメータが [ネットワーク]、[外部]、または [産業用イーサネット] に設定されて、ビジョンシステムが現在画像を取り込んでいないときに真になります。

:  トリガが PLC から送られてきたら、[産業用イーサネット] トリガタイプを使用する必要があります。

バイト 1

ビット 名前 説明
7 Error このビットはエラーが発生するとセットされます。これは [エラーコード] フィールドで定義されています。
6 Command Failed (5.1.0 ~ 5.5.x) このビットは 1 にセットされて、Job Load の実行に失敗して完了できなかったことを示します。新しいジョブが PLC/HMI によってロードされると、ビットがクリアされます。In-Sight Explorer によってジョブが変更されても、このビットは変わりません。このビットは常に、Command Completed ビットがセットされるより前にセットされます。
Command Failed (5.6.0 以降) このビットは、TestRun 実行または [ジョブを開く] に失敗したことを示すため 1 にセットされます。TestRun シーケンスが実行されるか、PLC/HMI によって新規のジョブがロードされるとクリアされます。In-Sight Explorer でジョブを変更しても、このビットは変わりません。
5 Command Completed (5.1.0 ~ 5.5.x) このビットは、[ジョブを開く] が完了したことを示すためにセットされます。コマンドが完了すると、Command Executing ビットが Low になり、Execute Command ビットがまだ High の場合、Command Completed ビットがセットされます。コマンドが完了しなかった場合、Command Failed ビットもセットされます。
:  Execute Command ビットが Low になると、カメラは Command Completed ビットをクリアします。
Command Completed (5.6.0 以降)

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

:  TestRun を設定せずにジョブで TestRun を実行しようとすると、Command Completed ビットと Command Failed ビットの両方がセットされます。TestRun を実行する前に、TestRun Ready ビットがセットされるのを待つ必要があります。
4 Command Executing (5.1.0 ~ 5.5.x) Job Load が開始されると、このビットは 1 にセットされます。Command Completed ビットと Command Failed ビットは、このビットの立ち下がりエッジの前にセットされます。
:  Command Executing は最大で 2 秒間オンになります。
Command Executing (5.6.0 以降) このビットは、TestRun 実行または [ジョブを開く] が開始されると 1 にセットされます。TestRun の実行が完了すると、このビットはクリアされます。Command Completed ビットと Command Failed ビットは、このビットの立ち下がりエッジの前にセットされます。
3 Results Valid

Inspection Count ビット、Inspection Result Code ビット、Inspection Results ビット、または Job Pass ビットがセットされたときにセットします。Inspection Results Ack ビットがセットされるとクリアされます。

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

このビットは、検査の完了時にトグルされます。Inspection Count、Inspection Result Code、Inspection Results、または Job Pass の各ビットが PLC に送信された後、確実に切り替えられます。

:  このビットは、結果の読み取り準備ができていることを示すために使用します。データの読み取り時期を指定するには、ResultsValid を使用します。
0 System Busy ビジョンシステムがジョブを実行しているとき、ジョブをロードしているとき、またはユーザ入力に応答しているときにセットされます。

バイト 2

ビット 名前 説明
7 ~ 6 Reserved 未使用。
5 Reserved (5.1.0 ~ 5.5.x) 未使用。
TestRun Ready (5.6.0 以降)

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

:  
  • このビットは、ビジョンシステムがオンラインかオフラインかどうかに関係なく信号として送信されます。

  • 外部デバイスによる TestRun の開始は、In-Sight ファームウェア 5.1.0 ~ 5.5.x が実行されているビジョンシステムではサポートされません。
4 Job Pass このビットは、最後のジョブが [ジョブの PASS/FAIL セルの設定] ダイアログの設定に合格するとセットされます。このビットはジョブが合格しないとクリアされます。
:  

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

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

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

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

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

3 Exposure Complete このビットは、In-Sight ビジョンシステムが露光完了するとセットされ、Clear Exposure Complete ビットでリセットされます。このビットは、Clear Exposure Complete 信号が High に設定されると Low に保持されます。
2 ~ 1 Reserved 未使用。
0 Set User Data Ack このビットは、Set User Data コマンドの完了に確認応答するためにセットされます。

バイト 3

ビット 名前 説明
7 Soft Event Ack 7 これらのビットは、Soft Event コマンドが受信されたことを示すために使用されます。
6 Soft Event Ack 6
5 Soft Event Ack 5
4 Soft Event Ack 4
3 Soft Event Ack 3
2 Soft Event Ack 2
1 Soft Event Ack 1
0 Soft Event Ack 0

バイト 4 ~ 5

名前 説明
Error Code (16 ビット整数)

発生したエラーの 16 ビットの数値表現:

コード Error 説明
0x0000 No Error エラーは発生しませんでした。
0x0100 Trigger set while disabled Trigger Enable ビットがクリアされている間に Trigger ビットがセットされた場合、または AcquireImage 関数の Trigger パラメータが、外部、ネットワークまたは産業用イーサネットに設定された場合に発生します。
0x0101 Trigger set while Offline ビジョンシステムがオフラインの間に Trigger ビットが設定されるときに発生します。
0x0400 Already Executing Error Execute Command ビットがセットされ、Excecuting ビットが High のままになっている場合に発生します。
0x0401 Job load requested while Online ビジョンシステムがオンラインの間に [ジョブを開く] コマンドが発行されるときに発生します。
0x0402 Job load fail PLC が値を書き込んでも (a 7 など)、a 7 を接頭辞とするジョブがない場合に発生します。

バイト 6 ~ 7

名前 説明
Reserved (16 ビット整数) 未使用。

バイト 8 ~ 9

名前 説明
Current Job ID (16 ビット整数) ビジョンシステムで現在実行中のジョブの ID 番号を示す 16 ビット整数。または、現在のジョブに ID 番号がない場合は 65535。このフィールドは、ジョブ変更の方法に関係なく、ビジョンシステムでジョブが変更されたときに更新されます。

バイト 10 ~ 11

名前 説明
Acquisition ID (16 ビット整数) この ID は、取り込みの開始時と Trigger Ack ビットがセットされると増分され、取り込みとその検査結果の同期に使用できます。

バイト 12 ~ 13

名前 説明
Inspection ID (16 ビット整数) この結果セットに関連付けられている取り込み ID。

バイト 14 ~ 15

名前 説明
Inspection Result Code (16 ビット整数) (5.1.0 ~ 5.5.x) 検査結果コードは、WriteResultsBuffer 関数の [結果コード] パラメータによって定義されます。
Inspection Result Code (16 ビット整数) (5.6.0 以降)

TestRun の最新の実行結果を示します。すべてのテストに合格すると、値が 0 になります。不合格のテストがあった場合、または TestRun 実行中のセットアップまたはクリーンアップに問題があった場合は、その障害を示す 0 以外の値が返されます。

  • このフィールドは、TestRun の実行が正常に完了した場合にのみ有効になります。
  • このフィールドの結果は、TestRun なしのジョブがロードされた場合、別の TestRun ジョブが実行された場合、TestRun が進行中の場合、TestRun の実行またはジョブを開くことに失敗した場合、または TestRun の実行が中止された場合には無効化されることがあります。

バイト 16 ~ 499

名前 説明
Inspection Results (0 ~ 483)

[スプレッドシートビュー]WriteResultsBuffer 関数、または EasyBuilder GUI の [通信] の手順での [フォーマット出力データ] タブを介して In-Sight Explorer から書き込まれるデータです。

送信されるデータは、In-Sight Explorer GUI での表示どおりに書き込まれ、FormatOutputBuffer 関数 (スプレッドシート) または [フォーマット出力データ] タブ (EasyBuilder) で定義される順序と同じ順序で表示されます。

:  
  • RSLogix 5000 は Inspection Results データアレイを受信すると、送信されたデータに複数のデータ型が含まれている (つまり、フォーマットされたデータに整数、浮動小数点、ビットが含まれている) かどうかに関係なく、1 つのデータ型をアレイ全体に割り当てます。したがって、送信されているデータにさまざまなデータ型が含まれる場合は、特定の結果 (最初に Inspection Results アレイのバイトオフセット、次にバイト単位の長さ) を、送信されているデータ型の予測を基に RSLogix の User-Defined Data Type にコピーします。

    詳細については、「例: In-Sight ビジョンシステムからの浮動小数点数値データの取得」を参照してください。

  • Buffer Results Enable ビットがセットされていた場合、Inspection Results Ack ビットをパルス出力することによって確認応答されるまで、検査結果は変わりません。

I/O アセンブリデータ属性の形式 - 出力アセンブリ - インスタンス 22

インスタンス バイト ビット 7 ビット 6 ビット 5 ビット 4 ビット 3 ビット 2 ビット 1 ビット 0
22 0 Set Offline Reserved

Execute

Command

Inspection

Results

Ack

Buffer

Results

Enable

Trigger

Trigger

Enable

1 Reserved
2 Reserved

Clear

Exposure

Complete

Clear

Error

Reserved

Set User

Data

3

Soft

Event

7

Soft

Event

6

Soft

Event

5

Soft

Event

4

Soft

Event

3

Soft

Event

2

Soft

Event

1

Soft

Event

0

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

バイト 0

ビット 名前 説明
7 Set Offline

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

6 ~ 5 Reserved 未使用。
4 Execute Command (5.1.0 ~ 5.5.x) 設定した場合、ビジョンシステムは、[コマンド] フィールドで指定されたジョブ ID をロードするか、[名前を基準にしたジョブのロード] コマンドを実行して、ユーザデータバッファで指定されたジョブ名をロードします。[コマンド完了] シグナルに切り替わるまで、シグナルは [High] のまま維持する必要があります。このシグナルの立ち下がりエッジ ([コマンド完了] の前の場合) は、停止リクエストとして解釈されます。
Execute Command (5.6.0 以降) セットすると、ビジョンシステムは、Command フィールドで指定されてているジョブ ID をロードするか、Job Load by Name コマンドを実行して User Data バッファにあるジョブ名をロードします。TestRun を使用する場合は、この信号の立ち上がりエッジでコマンドが実行されて TestRun が開始されます。この信号は、Command Completed 信号がトグルされるまで high を維持する必要があります。この信号の立ち下がりエッジ (Command Complete の前) は、中止要求と解釈されます。
3 Inspection Results Ack Buffer Results Enable ビットがセットされると、Inspection Results Ack ビットは、PLC が Inspection ID、Inspection Result、および Inspection Results データを受信したことを確認応答します。その後、次の検査結果のセットが PLC に送信されます。Inspection Results Ack ビットがクリアされると、ビジョンシステムは Results Valid ビットをセットします (バッファが空でなかった場合)。結果のバッファ処理が無効になっている場合、Inspection Results Ack ビットをセットして、Results Valid ビットをクリアする必要があります。
2 Buffer Results Enable このビットがセットされると、Inspection IDInspection ResultInspection Results フィールドは、Inspection Results Ack フィールドが確認応答してセットされるまで変化しません。最大 8 つの検査がビジョンシステムのバッファに保持されます。In-Sight ビジョンシステムは、Results Valid ビットをクリアすることによって、確認応答に応答します。Inspection Results Ack フィールドがクリアされて、PLC に送信される新しいルールセットがあるときには、Results Valid ビットはクリアされません。Inspection Results Ack ビットがクリアされて、PLC に送信される結果がビジョンシステムのバッファにそれ以上ない場合には、Results Valid ビットはクリアされたままです。
1 Trigger

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

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

    :  トリガが PLC から送られてきたら、[産業用イーサネット] トリガタイプを使用する必要があります。
0 Trigger Enable このフィールドは、Trigger ビット経由でトリガできるようにするために設定されます。このビットをクリアすると、ネットワークトリガメカニズムが無効になります。

バイト 1

ビット 名前 説明
7 ~ 0 Reserved 未使用。

バイト 2

ビット 名前 説明
7 ~ 4 Reserved 未使用。
3 Clear Exposure Complete この信号が High のときは、Exposure Complete ステータスはリセットのままです。この信号が Low に設定されると、次の露光完了時に Exposure Complete ステータスが High に設定されます。
2 Clear Error このビットをセットすると、エラーシグナルとエラーコードシグナルがクリアされます。Clear Error ビットは、Error ビットがクリアされるまで [High] に維持する必要があります。エラーがキューに入れられた場合、このビットがクリアされると、エラーシグナルとエラーコードシグナルは、キューに入れられた次のエラーコードに対してセットされます。
1 Reserved 未使用。
0 Set User Data このコマンドは、ビジョンシステムにて消費される User Data フィールドを保持バッファに転送する必要がある場合に、PLC から In-Sight ビジョンシステムへ通知します。

バイト 3

ビット 名前 説明
7 Soft Event 7 スプレッドシートのソフトイベントのトリガを可能にします。これらのビットをセットすると、スプレッドシート内の関連するソフトイベントがトリガされます。
6 Soft Event 6
5 Soft Event 5
4 Soft Event 4
3 Soft Event 3
2 Soft Event 2
1 Soft Event 1
0 Soft Event 0

バイト 4 ~ 5

バイト 名前 説明
4 ~ 5 Command (5.1.0 ~ 5.5.x) これは、ロードするジョブのジョブ ID 番号 (0 ~ 999) を示すため、または [名前を基準にしたジョブのロード] コマンド (0x4000) を指定するために使用される 16 ビットの整数です。[コマンド実行] ビットが PLC によって設定されると、ジョブロードが実行されます。[コマンド] フィールドは、[コマンド実行] シグナルの立ち上がりエッジと [コマンド完了] シグナルの立ち上がりエッジとの間で一定に保つ必要があります。そうしないと、結果が不確定になります。[名前を基準にしたジョブのロード] コマンドを使用する場合、[コマンド実行] ビットが設定される前にジョブ名をユーザデータバッファに転送する必要があります。
Command (5.6.0 以降) (missing or bad snippet)

バイト 6 ~ 7

バイト 名前 説明
6 ~ 7 Reserved 未使用。

バイト 8 ~ 495

バイト 名前 説明
8-495 User Data (0 ~ 487) ReadUserDataBuffer または ReadLatchedUserDataBuffer 関数を使用してスプレッドシートに読み取ることができるデータバッファ。バッファは、PLC の表示どおりに書き込まれ、ビットは、RSLogix 5000 の定義と同じ順序で表示されます。

I/O アセンブリデータ属性コンポーネントのマッピング

次の表に、In-Sight ビジョンシステムの I/O アセンブリデータ属性のマッピングを示します。

データ

コンポーネント

名前

クラス

インスタンス

番号

属性

名前

番号

名前 番号

Set Offline

Vision

78 Hex

1

SetOffline

8

Trigger Enable

Vision

78 Hex

1

AcqTriggerEnable

9

Trigger

Vision

78 Hex

1

AcqTrigger

10

BufferResultsEnable

Vision

78 Hex

1

BufferResultsEnable

13

Soft Event N

Vision

78 Hex

1

SoftTrigger bit N

18

Online

Vision

78 Hex

1

Online

6

OfflineReason

Vision

78 Hex

1

OfflineReason

7

Trigger Ready

Trigger Ack

Exposure Complete

Missed Acquisition

Vision

78 Hex

1

AcqStatusRegister

11

User Data

Vision

78 Hex

1

User Data

12

System Busy

Inspection Completed

Results Buffer Overrun

Results Valid

Vision

78 Hex

1

InspectionStatusRegister

14

Inspection ID

Inspection Data

Vision

78 Hex

1

InspectionResults

16

ビジョンオブジェクトの属性

このセクションでは、EtherNet/IP ビジョンオブジェクト内に存在するさまざまな属性とサービスについて説明します。

クラスコード: 78 Hex - このオブジェクトは、In-Sight フォームウェア 5.1.0 以降が実行されている In-Sight ビジョンシステムで実行可能なすべての操作をモデル化します。

インスタンス属性

属性 ID

アクセスルール

名前

データ型

属性の説明

6

Get

Online

BOOL

0 = オフライン

1 = オンライン

7

Get

OfflineReason

BYTE

0 = オンライン

1 = プログラミング

2 = ディスクリートオフライン

3 = 通信オフライン

4 ~ 255 = 予約済み

8

Set

SetOffline

BOOL

1 = In-Sight ビジョンシステムをオフラインにします。

9

Set

AcqTriggerEnable

BOOL

0 = 取り込みトリガは無効です。Trigger Ack を 0 にリセットします。

1 = 取り込みトリガは有効です。

10

Set

AcqTrigger

BOOL

AcqTriggerEnable が真のとき、In-Sight ビジョンシステムは AcqTrigger が 0 から 1 に変わると画像を取り込みます。

11

Get

AcqStatusRegister

BYTE

ビット 0: Trigger Ready

ビット 1: Trigger Ack

ビット 2: Exposure Complete

ビット 3: Missed Acquisition

ビット 4 ~ 7: Reserved

12

Set

UserData

BYTE 配列

検査への入力として使用できるユーザ定義データ。

:  
  • In-Sight ファームウェア 5.1.0 ~ 5.3.x が実行されている In-Sight ビジョンシステムの場合、UserData 属性に書き込まれるデータは、Set User Data サービスが実行されるまで表示されません。

  • In-Sight ファームウェア 5.4.x 以降が実行されており、User Data Holding Buffer Bypass が有効な In-Sight ビジョンシステムの場合は、UserData 属性に書き込まれるデータは書き込まれるときに表示されます。
  • ユーザデータ保持バッファバイパスは、グラフィカルユーザインタフェース (GUI) を介してのみ有効および無効にすることができます。

13

Set

BufferResultsEnable

BOOL

ResultsBufferEnable が真のとき、ResultsAck 属性が真に設定されるまで、検査結果のバッファリングを有効にします。

14

Get

InspectionStatusRegister

BYTE

ビット 0: System Busy

ビット 1: Inspection Completed

ビット 2: Results Buffer Overrun

ビット 3: Results Valid

ビット 4: Job Loading

ビット 5: Job Load Completed

ビット 6: Job Load Failed

ビット 7: Job Pass

15

Set

InspectionResultsAck

BOOL

クライアントが検査結果を受信したことを確認応答します。

16

Get

InspectionResults

STRUCT of (の構造体)

最後の検査結果。

InspectionID

UINT

検査カウンタ。

InspectionResultCode

UINT

WriteResultsBuffer 関数でセットされる検査結果コード。

InspectionResults

BYTE 配列

最後の検査結果。

18

Set

SoftTrigger

BYTE

ビット 0: ソフトトリガ 0

ビット 1: ソフトトリガ 1

ビット 2: ソフトトリガ 2

ビット 3: ソフトトリガ 3

ビット 4: ソフトトリガ 4

ビット 5: ソフトトリガ 5

ビット 6: ソフトトリガ 6

ビット 7: ソフトトリガ 7

19

Set

JobID

INT

現在ロードされているジョブの ID 番号。または、現在のジョブに ID がない場合は -1。

この値を設定すると (0 ~ 999)、関連付けられた ID を持つジョブがロードされます。

20

Set

JobName

STRING

現在ロードされているジョブのファイル名、またはファイル名が不明な場合は空の文字列。

この値を設定すると、ファイル名が関連付けられているジョブがロードされます。

21

Set

ClearExposureComplete BOOL

Exposure Complete ビットをクリアします。このビットの立ち上がりエッジで Exposure Complete ビットがクリアされます。Clear Exposure Complete ビットがセットされている間に別の Exposure Complete 信号が送信されると、Exposure Complete ビットは Clear Exposure Complete ビットがクリアされるときにセットされます。

22

Set

SoftEventAck 0 ~ 7

BYTE

ビット 0 = ソフトトリガ確認応答 0

ビット 1 = ソフトトリガ確認応答 1

ビット 2 = ソフトトリガ確認応答 2

ビット 3 = ソフトトリガ確認応答 3

ビット 4 = ソフトトリガ確認応答 4

ビット 5 = ソフトトリガ確認応答 5

ビット 6 = ソフトトリガ確認応答 6

ビット 7 = ソフトトリガ確認応答 7

オンライン属性

オンライン属性は、In-Sight ビジョンシステムがオンラインまたはオフライン状態であることを示します。In-Sight ビジョンシステムがオフラインのときには、OfflineReason 属性を使用して、In-Sight ビジョンシステムがオフラインになっている原因を調べることができます。

OfflineReason 属性の値

Offline Reason 名前 説明

0

Online

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

1

Programming

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

2

Discrete Offline

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

3

Comm.Offline

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

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

SetOffline 属性を使用すると、In-Sight ビジョンシステムをオフライン状態にできます。SetOffline 属性を True に設定すると、In-Sight ビジョンシステムがそれ以外の理由なしでオフラインに保持されている場合には、OfflineReason 属性が通信オフラインに設定されます。

画像取り込み属性

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

画像取り込み属性を使用することによって、画像を取り込むようにビジョンオブジェクトをトリガすることができます。ビジョンオブジェクトの画像取り込み属性をリセットするには、AcqTriggerEnable 属性が偽に設定されている必要があります。ただし、AcqStatusRegister が 0 の場合を除きます。この場合、AcqTriggerEnable 属性を真に設定して、ビジョンオブジェクト経由の取り込みを有効にすることができます。Acquisition Trigger がトリガを受け入れる準備ができると、AcqStatusRegister の Trigger Ready ビットがセットされます。

AcqTriggerEnable 属性が真に設定されている間、ビジョンオブジェクトは、AcqTrigger 属性が 0 から 1 に変わったことを検出するたびに、画像の取り込みを開始します。非明示的メッセージングによってこれを設定するときには、変更がビジョンオブジェクトによって確実に検出されるように、AcqStatusRegister の Trigger Ack ビットによって同じ値が検出されるまで、属性が変更状態に保たれる必要があります。

:  明示的メッセージングを使用するときには、変更は常に検出されるので、この必要はありません。

In-Sight ビジョンシステムで画像取り込みを完了したタイミングを判別するには、Exposure Complete ビットと Clear Exposure Complete ビットを利用します。画像取り込みは、Exposure Complete 信号を明示的に確認応答することによって明示的に確認応答される必要があります。Clear Exposure Complete ビットが HIGH の間に Exposure Complete 信号が送信されると、Exposure Complete ビットは Clear Exposure Complete ビットが PLC によってクリアされるときにアサートされます。

この動作により、複数の Exposure Complete 信号が発生しても、信号が 1 つだけ送信された場合と同じ効果が得られ、このシナリオでエラーは報告されません。これにより PLC では、Exposure Complete 信号を検出することによって、画像取り込みがディスクリート入力からトリガされたタイミングを検出できます。

ほかの方法で画像取り込みがトリガされた場合、AcqStatusRegister の Exposure Complete ビットと Missed Acquisition ビットはアクティブなままになります。

検査結果属性

画像取り込みトリガの結果として取り込まれた画像は、検査のためにキューに入れられます。画像の検査の実行中は、InspectionStatusRegister の System Busy ビットがセットされます。検査が完了すると、System Busy ビットはクリアされ、Inspection Completed ビットがトグルされます。

ResultsBufferEnable 属性によって、ビジョンオブジェクトでの検査結果の取り扱い方が決まります。ResultsBufferEnable 属性が偽に設定された場合、検査結果は直ちに InspectionResults 属性に入れられます。

ResultsBufferEnable 属性が真に設定された場合は、InspectionResultsAck 属性を真に設定することによって確認応答されるまで、前の検査結果が InspectionResults 属性に入ったままになります。Results Valid ビットがクリアされたら、新しい結果を InspectionResults 属性に入れることができるようにするため、InspectionResultsAck 属性を偽に設定する必要があります。これを使用して、ビジョンオブジェクトとクライアントの間で結果を取得するためのハンドシェークを確立することができます。

InspectionStatusRegister の動作

Inspection

Status

Register

ビット

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

System Busy

ビジョンシステムがジョブを実行しているとき、ジョブをロードしているとき、またはユーザ入力に応答しているときにセットされます。 ビジョンシステムがジョブを実行しているとき、ジョブをロードしているとき、またはユーザ入力に応答しているときにセットされます。
1 Inspection Completed このビットは、検査の完了時にトグルされます。Inspection Count、Inspection Result Code、Inspection Results、または Job Pass の各ビットが PLC に送信された後、確実に切り替えられます。 このビットは、検査の完了時にトグルされます。Inspection Count、Inspection Result Code、Inspection Results、または Job Pass の各ビットが PLC に送信された後、確実に切り替えられます。
2 Results Buffer Overrun 常にクリア。 クライアントが前の結果に確認応答しなかったために、検査結果をキューに入れることができなかったときにセットされます。検査結果が正常にキューに入れられるとクリアされます。
3 Results Valid

Inspection Count ビット、Inspection Result Code ビット、Inspection Results ビット、または Job Pass ビットがセットされたときにセットします。Inspection Results Ack ビットがセットされるとクリアされます。

:  オーバーラップモード時のジョブの処理を有効にした場合は、Buffer Results Enable ビットを有効/セットするか、Inspection Completed ビットを使って検査結果をラッチします。

Inspection Count ビット、Inspection Result Code ビット、Inspection Results ビット、または Job Pass ビットがセットされたときにセットします。Inspection Results Ack ビットがセットされるとクリアされます。

:  オーバーラップモード時のジョブの処理を有効にした場合は、Buffer Results Enable ビットを有効/セットするか、Inspection Completed ビットを使って検査結果をラッチします。
7 Job Pass 検査が完了したときに [ジョブの PASS/FAIL] のセルが合格を示すとセットされます。そうでない場合は、クリアされたままです。

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

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

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

ジョブ属性

ビジョンオブジェクトは、JobID および JobName 属性を設定することによって、In-Sight ビジョンシステムの不揮発性フラッシュメモリに格納されたジョブをロードすることができます。ロードが失敗した場合は、セット操作も失敗します。

ビジョンオブジェクトのサービス

共通サービス

ビジョンオブジェクトは、次の共通サービスを提供します。

サービスコード

サービス名

サービスの説明

05 Hex

Reset

ビジョンオブジェクトをリセットします。

0E Hex

Get_Attribute_Single

指定された属性の内容を返します。

10 Hex

Set_Attribute_Single

属性の値を変更します。

リセットサービス

リセットサービスは、ビジョンオブジェクトの画像取り込みトリガシステムをリセットし、無効にします。また、ビジョンオブジェクトの検査結果バッファリングシステムを無効にし、クリアします。

オブジェクト固有サービス

ビジョンオブジェクトは、次のオブジェクト固有サービスを提供します。

サービスコード サービス名 サービスの説明
32 Hex Acquire 1 回の画像取り込みをトリガします。
33 Hex Reserved 廃止。
34 Hex SendNativeCmd ネイティブモードコマンドを In-Sight ビジョンシステムに送信します。
35 Hex GetInspectionResults InspectionResults 属性を取得します。
36 Hex Transfer User Data データをユーザデータ保持バッファの一部に転送します。
37 Hex Set User Data ユーザデータ保持バッファをユーザデータフィールドにラッチして、In-Sight にユーザデータへのアクセス権を与えることを、ビジョンシステムに対して通知します。

画像取り込みサービス

ビジョンオブジェクトの画像取り込みサービスは、画像取り込みシステムが画像を取り込む準備ができていた場合、画像取り込みをトリガします。画像取り込みをトリガできなかった場合は、次に画像取り込みが成功するまで、AcqStatusRegister の Missed Acquisition ビットがセットされます。

コマンドが失敗した場合、Acquire Service はベンダー固有のエラーコード 1F を返します。

SendNativeCmd サービス

SendNativeCmd サービスは、ドキュメント化されている任意のネイティブモードコマンド文字列を In-Sight ビジョンシステムに送信します。SendNativeCmd の要求データは、In-Sight ビジョンシステムに送信されるネイティブモードコマンド文字列を含む必要があります。応答データはネイティブモードコマンドの文字列結果を含みます。

SendNativeCmd 要求データのフォーマット

名前

説明

Command

STRING

処理されるネイティブモードコマンド。

SendNativeCmd 応答データのフォーマット

名前

説明

Result

STRING

ネイティブモードコマンドの文字列結果。

コマンドが失敗した場合、サービスは次のベンダー固有のエラーコードの 1 つを返します。

エラーコード

説明

ネイティブモード

戻りコード

1

正しくないコマンドです。

-

4

応答なし - システムはビジーです。

100

Command Failed

0

101

コマンドを実行できません。

-1

102

-2

103

-3

104

-4

105

-5

106

-6

GetInspectionResults サービス

GetInspectionResults サービス (コード 0x35) は、ビジョンオブジェクトの InspectionResults 属性からデータを読み取ります。

GetInspectionResults 要求データのフォーマット

名前

説明

Size

UINT

読み取る InspectionResults 属性のバイト数。

Offset

UINT

InspectionResults 属性へのオフセット。これは、InspectionResults 属性で読み取る最初のバイトを指定します。

GetInspectionResults 応答データのフォーマット

名前

説明

InspectionResults

STRUCT of (の構造体)

最後の検査結果。

InspectionID

UINT

検査カウンタ。

InspectionResultCode

UINT

WriteResultsBuffer 関数でセットされる検査結果コード。

InspectionResults

BYTE 配列

最後の検査結果。

Transfer User Data コマンド

このコマンドを使用して、データをユーザデータ保持バッファの一部に転送します。ユーザデータ保持バッファは、Set User Data コマンドが発行されたときにユーザデータフィールドにラッチされます。

要求フォーマット

名前

説明

Size

UINT

書き込む User Data フィールドのバイト数。

Offset UINT User Data フィールドへのオフセット。
データ BYTE 配列 ユーザデータフィールドに書き込むユーザデータ。

Set User Data コマンド

PLC はこのコマンドを使用して、ユーザデータ保持バッファをユーザデータフィールドにラッチして、In-Sight にユーザデータへのアクセス権を与えることを、ビジョンシステムに対して通知します。

この追加の User Data ハンドシェイクが必要ではなく、通信の動作が 4.x.x カメラでのアセンブリ IO の場合と同じ場合、User Data Command は次の方法でバイパス可能です。

  1. カメラにログオンします。
  2. メインメニューバーで、[センサ] → [ネットワークの設定] を選択します。
  3. [産業用イーサネットのプロトコル] セクションで [EtherNet/IP] を選択します。

  4. 選択した EtherNet/IP の横の有効な [設定] ボタンを選択します。
  5. [ユーザデータバイパスの有効化] チェックボックスをオンにします。

  6. ビジョンシステムを再起動します。

EtherNet/IP の関数

これらの関数は、In-Sight Explorer のスプレッドシートと EtherNet/IP スタックの間のデータの送受信に使用されます。

EtherNet/IP による通信

次のトピックには、EtherNet/IP と In-Sight ビジョンシステムの設定と利用に関する情報とそのための手順が記載されています。