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 ビットのフィールドです。
注 : 複数のデバイスから 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 に戻ります。 注 :
|
|||||
4 | Job Pass | このビットは、最後のジョブが [ジョブの PASS/FAIL セルの設定] ダイアログの設定に合格するとセットされます。このビットはジョブが合格しないとクリアされます。 注 : ジョブの 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 ビットの数値表現:
|
バイト 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 以外の値が返されます。
|
バイト 16 ~ 499
名前 | 説明 |
---|---|
Inspection Results (0 ~ 483) |
[スプレッドシートビュー] の WriteResultsBuffer 関数、または EasyBuilder GUI の [通信] の手順での [フォーマット出力データ] タブを介して In-Sight Explorer から書き込まれるデータです。 送信されるデータは、In-Sight Explorer GUI での表示どおりに書き込まれ、FormatOutputBuffer 関数 (スプレッドシート) または [フォーマット出力データ] タブ (EasyBuilder) で定義される順序と同じ順序で表示されます。 注 :
|
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 |
バイト 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 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 | Trigger |
このビットをセットすると、次の条件が満たされた場合に取り込みがトリガされます。
|
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 配列 |
検査への入力として使用できるユーザ定義データ。 注 :
|
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 |
通信プロトコルによって、ビジョンシステムがオフラインになっています。 |
SetOffline 属性を使用すると、In-Sight ビジョンシステムをオフライン状態にできます。SetOffline 属性を True に設定すると、In-Sight ビジョンシステムがそれ以外の理由なしでオフラインに保持されている場合には、OfflineReason 属性が通信オフラインに設定されます。
画像取り込み属性
画像取り込み属性を使用することによって、画像を取り込むようにビジョンオブジェクトをトリガすることができます。ビジョンオブジェクトの画像取り込み属性をリセットするには、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 は次の方法でバイパス可能です。
- カメラにログオンします。
- メインメニューバーで、[センサ] → [ネットワークの設定] を選択します。
-
[産業用イーサネットのプロトコル] セクションで [EtherNet/IP] を選択します。
- 選択した EtherNet/IP の横の有効な [設定] ボタンを選択します。
-
[ユーザデータバイパスの有効化] チェックボックスをオンにします。
-
ビジョンシステムを再起動します。
EtherNet/IP の関数
これらの関数は、In-Sight Explorer のスプレッドシートと EtherNet/IP スタックの間のデータの送受信に使用されます。
EtherNet/IP による通信
次のトピックには、EtherNet/IP と In-Sight ビジョンシステムの設定と利用に関する情報とそのための手順が記載されています。