SLMP スキャナのファクトリインタフェース In-Sight 4.x.x ファームウェア
SLMP スキャナの操作
SLMP スキャナはコマンド/応答ベースのプロトコルであり、In-Sight ビジョンシステムから送信されます。またビジョンシステムは、コントロールビットが変化したかどうかを判別するために、定期的な間隔で三菱電機オートメーションコントローラに読み取り要求を送信する必要があります。このプロセスは「ポーリング」と呼ばれ、ポーリングサイクルが定義されています。
三菱電機通信プロトコルでは、In-Sight ビジョンシステムからの情報がデータブロックに結合され、ビジョンシステムとオートメーションコントローラの間で転送されます。この手法においては、ビットタイプのデータはオートメーションコントローラのビットレジスタに格納され、ワードタイプのデータはオートメーションコントローラのワードレジスタに格納されます。この実装のため、データブロック内ではビットデータはワードデータには結合されず、これらのデータ項目はオートメーションコントローラ内で個別にアドレス指定することができます。
定義済みデータブロック
定義済みデータブロックを使用すると、ビジョンシステムがオートメーションコントローラとの間でデータの読み取り、および書き込みを行う場所を制御することができます。アプリケーションの設定をするために、コマンド機能に必要なさまざまなコントロールおよびステータスビットは連続したブロックにグループ化され、これらを同時に処理することができます。ビジョンシステムとオートメーションコントローラ間の相互の設定をする場合は、データの各ブロックに対して開始アドレスとデバイスタイプを選択する必要があります。
ビジョンコントロールビットブロック
ビジョンコントロールビットブロックは、オートメーションコントローラが開始する動作に対して、ビットタイプを持つすべての信号を定義します。ビジョンコントロールビットブロックは 32 ビットで、一部のビットは将来の実装用に予約済みです。
ビット 7 |
ビット 6 |
ビット 5 |
ビット 4 |
ビット 3 |
ビット 2 |
ビット 1 |
ビット 0 |
Set Offline | 予約済み | Initiate Job Load | Inspection Results Ack | Buffer Results Enable | Trigger | Trigger Enable | |
ビット 15 |
ビット 14 |
ビット 13 |
ビット 12 |
ビット 11 |
ビット 10 |
ビット 9 |
ビット 8 |
予約済み | |||||||
ビット 23 |
ビット 22 |
ビット 21 |
ビット 20 |
ビット 19 |
ビット 18 |
ビット 17 |
ビット 16 |
予約済み | Clear Exposure Complete | 予約済み | Initiate String Cmd | Set User Data | |||
ビット 31 |
ビット 30 |
ビット 29 |
ビット 28 |
ビット 27 |
ビット 26 |
ビット 25 |
ビット 24 |
Soft Event 7 | Soft Event 6 | Soft Event 5 | Soft Event 4 | Soft Event 3 | Soft Event 2 | Soft Event 1 | Soft Event 0 |
ビジョンステータスビットブロック
ビット 7 |
ビット 6 |
ビット 5 |
ビット 4 |
ビット 3 |
ビット 2 |
ビット 1 |
ビット 0 |
Online | Offline Reason | Missed Acq |
Acquiring | Trigger Ack | Trigger Ready | ||
ビット 15 |
ビット 14 |
ビット 13 |
ビット 12 |
ビット 11 |
ビット 10 |
ビット 9 |
ビット 8 |
General Fault | Job Load Failed | Job Load Complete | Job Loading | Results Valid | Results Buffer Overrun | Inspection Completed | Inspecting |
ビット 23 |
ビット 22 |
ビット 21 |
ビット 20 |
ビット 19 |
ビット 18 |
ビット 17 |
ビット 16 |
予約済み | Job Pass | Exposure Complete | String Cmd Error | String Cmd Ack | Set User Data Ack | ||
ビット 31 |
ビット 30 |
ビット 29 |
ビット 28 |
ビット 27 |
ビット 26 |
ビット 25 |
ビット 24 |
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 |
ジョブの PASS ビッドの動作は結果バッファリングが無効か有効かによって異なります。
バッファリングが無効 | バッファリングが有効 |
---|---|
検査が完了したときに [ジョブの PASS/FAIL] のセルが合格を示すとセットされます。そうでない場合は、クリアされたままです。 Inspection Completed ビットが立つ前のジョブ PASS ビットは有効です。 |
新しい結果が InspectionResults 属性に挿入され、[ジョブの PASS/FAIL] のセルがその結果に対して合格を示すとセットされます。そうでない場合は、クリアされたままです。InspectionResultsAck 属性を真に設定することによって結果が確認応答され、ビットがクリアされるまで、状態は変化しません。 Results Valid ビットがセットされる前のジョブ PASS ビットは有効です。 |
出力ワードブロック
ワード 0 |
ワード 1 |
ワード 2 |
ワード 3 |
ワード 4 |
ワード 5 ..N |
Current Job ID | Acquisition ID | Inspection ID | Inspection Result Code | Inspection Result Length | Inspection Results |
入力ワードブロック
ワード 0 |
ワード 1 |
ワード 2 ..N |
Job Load ID | User Data Length | User Data |
文字列コマンドワードブロック
ワード 0 |
ワード 1 ..N |
Length | String Command |
文字列コマンド結果ワードブロック
ワード 0 |
ワード 1 |
ワード 2 ..N |
Result Code | Length | String Command Result |
SLMP スキャナのファクトリインタフェース
これらのモジュールを使用することによって、In-Sight ビジョンシステムの各種サブシステムへのアクセスが可能になります。
Acquisition
Acquisition のコントロールおよびステータスビットを使用すると、オートメーションコントローラは、In-Sight ビジョンシステムで画像取り込みをトリガして、画像取り込み完了時期を判別し、ビジョンシステムをオフラインステータスにして画像取り込みトリガを受け入れないようにすることができます。
-
Acquisition Control: In-Sight ビジョンシステムの画像取り込みとオンライン/オフラインステータスを制御します。
ビット
名前
説明
0
Trigger Enable
このフィールドは、Trigger ビット経由でトリガできるようにするために設定されます。このビットをクリアすると、ネットワークトリガメカニズムが無効になります。
1
Trigger
このビットをセットすると、次の条件が満たされた場合に取り込みがトリガされます。
- In-Sight ビジョンシステムがオンラインである。
- Trigger Enable ビットがセットされている。
- AcquireImage 関数の [トリガ] パラメータが [ネットワーク] または [外部] に設定されている。
2 Clear Exposure Complete この信号が High のときは、Exposure Complete ステータスはリセットのままです。この信号が Low に設定されると、次の露光完了時に Exposure Complete ステータスが High に設定されます。
3 ~ 6
予約済み
使用されません。
7
Set Offline
このビットがセットされると、このビットが再びクリアされるまで、In-Sight ビジョンシステムはオフラインになります。
-
Acquisition Status: In-Sight ビジョンシステムの画像取り込みとオンライン/オフラインステータスを示します。
ビット
名前
説明
0
Trigger
Ready
In-Sight ビジョンシステムが、Trigger ビットを介して新しいトリガを受け入れられることを示します。このフィールドは、ビジョンシステムがオンラインであり、Network Trigger Enable ビットがセットされ、AcquireImage 関数の [トリガ] パラメータが [ネットワーク] または [外部] に設定されて、ビジョンシステムが現在画像を取り込んでいないときに真になります。
1
Trigger Ack
In-Sight ビジョンシステムが Trigger ビットのセットによってトリガされたことを示します。このビットは、Trigger ビットがクリアされるまでセットされたままです。
2
Acquiring
画像取り込み方法に関係なく、In-Sight ビジョンシステムが現在画像を取り込んでいるときにセットされます。
3
Missed Acq
画像取り込み方法に関係なく、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
Exposure Complete
このビットは、In-Sight ビジョンシステムが露光完了するとセットされ、Clear Exposure Complete ビットでリセットされます。このビットは、Clear Exposure Complete 信号が High に設定されると Low に保持されます。
-
Acquisition ID: In-Sight ビジョンシステムによる特定の画像取り込みと検査結果を一致させます。
バイト数
名前
説明
0 ~ 1
Acquisition ID
この ID は現在の画像取り込みに関連付けられています。Network Trigger ビットを使用して画像取り込みされ、Trigger Ack 信号がアサートされると、この ID が Acquisition ID に設定されます。
一般的な画像取り込みシーケンス
In-Sight ビジョンシステムは、Acquisition Control レジスタの Network Trigger Enable および Network Trigger ビットを直接操作することにより画像取り込みが行えます。また Acquisition Status レジスタの Network Trigger Ready、Trigger Ack、Acquiring、および Missed Acq ビットにより画像取り込み状況をモニタリングすることができます。
最初の起動時には、Network Trigger Enable ビットは偽であり、トリガを有効にするには真に設定する必要があります。ビジョンシステムがトリガを受け入れる準備ができると、Acquisition Status レジスタの Network Trigger Ready ビットが真に設定されます。
Network Trigger Enable および Network Trigger Ready ビットが真である間、Trigger ビットが 0 から 1 に変化するのをビジョンシステムは見ており、それが確認されると画像取り込みが開始されます。Acquisition Status レジスタの Trigger Ack ビットが同じ状態値になるまで、Trigger ビットを新しい状態で保持する必要があります (これは、ビジョンシステムが変化を確実に確認するために必要なハンドシェークです)。
画像取り込み時には、Acquisition Status レジスタの Network Trigger Ready ビットがクリアされて、Acquiring ビットが真に設定されます。画像取り込みが完了すると、Acquiring ビットはクリアされます。ビジョンシステムが新しい画像取り込みを開始する準備ができると、Network Trigger Ready ビットが再度真に設定されます。
トリガメカニズムを強制的にリセットするには、Acquisition Status レジスタが 0 になるまで Network Trigger Enable ビットを偽に設定します。Network Trigger Enable ビットを真に設定すると、画像取り込みが再度有効になります。
Inspection
検査ステータスおよびコントロールモジュールを使用すると、オートメーションコントローラは、In-Sight ビジョンシステムのビジョン処理部分をモニタして新しい結果が有効になる時期を判別し、ビジョンシステムが新しい結果をキューに入れるように要求することができます。
-
Inspection Control: ジョブの実行と検査結果の処理を制御します。
ビット
名前
説明
0
Buffer
Results Enable
このビットがセットされると、Inspection Count、Inspection Result Code、および Inspection Results フィールドは、Inspection Results Ack ビットがセットされて確認応答されるまで変化しません。最大 8 つの検査が In-Sight ビジョンシステムのバッファに保持されます。ビジョンシステムは、Results Valid ビットをクリアすることによって、確認応答に応答します。Inspection Results Ack ビットがクリアされて、オートメーションコントローラに送信される新しい結果セットがあるときには、Results Valid ビットはクリアされません。Inspection Results Ack ビットがクリアされて、オートメーションコントローラに送信される結果がビジョンシステムのバッファにそれ以上ない場合には、Results Valid ビットはクリアされたままです。
1
Inspection Results
Ack
Buffer Results Enable ビットがセットされると、Inspection Results Ack ビットは、オートメーションコントローラが Inspection Count、Inspection Result Code、および Inspection Results データを受信したことを確認応答するように、オートメーションコントローラによってセットされます。その後、次の検査結果のセットがオートメーションコントローラに送信されます。Inspection Results Ack ビットがクリアされると、ビジョンシステムは Results Valid ビットをセットします (バッファが空でなかった場合)。
2
Set
User
Data
このコマンドは、ビジョンシステムにて消費される User Data フィールドを保持バッファに転送する必要がある場合に、オートメーションコントローラから In-Sight ビジョンシステムへ通知します。
3 ~ 7
予約済み
使用されません。
-
Inspection Status: ジョブの実行と検査結果のステータスを示します。
ビット
名前
説明
0
Inspecting
このビットは、In-Sight ビジョンシステムがジョブを実行しているときにセットされます。
1
Inspection Completed
このビットは、検査の完了時にトグルされます。Inspection Count、Inspection Result Code、Inspection Results、または Job Pass の各ビットが PLC に送信された後、確実に切り替えられます。
2
Results Buffer Overrun
このフィールドは、Buffer Results Enable ビットがセットされていて、Inspection Results Ack ビットをセットすることによってオートメーションコントローラが確認応答しなかったために In-Sight ビジョンシステムが検査結果のセットを破棄したときにセットされます。最大 8 つの検査がビジョンシステムのバッファに保持されるため、このビットは、9 番目の検査がバッファに追加されて、バッファ内の 8 番目の検査に上書きされたときにセットされます。有効な検査が発生して、前の検査が上書きされない限り、このビットはクリアされません。
3
Results Valid
Inspection Count、Inspection Result、および Inspection Results フィールドが有効なときにセットされます。
4 ~ 6
予約済み
使用されません。
7
予約済み
General Fault ビット用に予約済みです。
-
User Data:このデータは、ReadUserDataBuffer または ReadLatchedUserDataBuffer 関数を使用して、In-Sight スプレッドシートに読み込むことができます。
バイト
名前
説明
0 ~ 1
User Data Option
ユーザデータとともに渡される 16 ビットフィールド。将来の使用に備えて予約済みです。
2 ~ 3
User Data Length
ユーザデータフィールドの長さ。
4 ~ 1920
User Data
ReadUserDataBuffer または ReadLatchedUserDataBuffer 関数を使用してスプレッドシートに読み取ることができるデータバッファ。
-
Inspection Results: これは、WriteResultsBuffer 関数を使用して、In-Sight スプレッドシートから書き込まれたデータです。Inspection Control モジュールの Buffer Results Enable ビットがセットされていた場合、Inspection Results Ack ビットをパルス出力することによって確認応答されるまで、検査結果は変わりません。
バイト
名前
説明
0 ~ 1
Inspection ID
この結果セットに関連付けられている取り込み ID。
2 ~ 3
Inspection Result Code
現在は使用されていません。常に 0 です。
4 ~ 5 Inspection Results Length 検査結果データの長さ。
6 ~ 1914
Inspection Results
WriteResultsBuffer 関数を使用してスプレッドシートから書き出された検査結果データ。
検査/結果シーケンス
In-Sight ビジョンシステムによって取り込まれた画像は、処理のためにキューに入れられます。ビジョンシステムが画像を処理している間、Inspection Status レジスタの Inspecting ビットがセットされます。ビジョンシステムが画像の処理を終了すると、Inspecting ビットがクリアされ、Inspection Completed ビットが立ちます。
Inspection Control レジスタの Buffer Results Enable ビットによって、ビジョンシステムでの検査結果の取り扱い方が決まります。Buffer Results Enable ビットが偽に設定された場合、検査結果は直ちに Inspection Results レジスタに入ります。また、Results Valid ビットが真に設定されます。Buffer Results Enable ビットが真に設定されると、新しい結果がキューに入れられます。以前の検査結果は、オートメーションコントローラによって確認応答されるまで Inspection Results レジスタに入ったままであり、Inspection Results Ack ビットが真に設定されます。Results Valid ビットがクリアされると、オートメーションコントローラは Inspection Results Ack ビットを偽に戻す必要があります。これで、キューに入れられた結果を Inspection Results レジスタに入れることができます (これは、オートメーションコントローラが結果を確実に受信するために必要なハンドシェークです)。
検査ステータスレジスタの動作
ビット | ビット名 | バッファリングが無効な場合の結果 | バッファリングが有効な場合の結果 |
---|---|---|---|
0 | Inspecting |
検査の完了時にトグルされます。 |
検査の完了時にトグルされます。 |
1 | Inspection Complete |
検査の完了時に切り替えられます。 |
検査の完了時に切り替えられます。 |
2 | Results Buffer Overflow | 0 に設定されたままです。 | オートメーションコントローラが前の結果に確認応答しなかったために、検査結果をキューに入れることができなかったときにセットされます。結果バッファがオーバフローします。検査結果が正常にキューに入れられたときにクリアされます。 |
3 | Results Valid |
新しい結果が Inspection Results レジスタに入れられたときにセットされます。Inspection Results Ack ビットを真に設定することによって結果が確認応答されるまでセットされたままです。 |
新しい結果が Inspection Results レジスタに入れられたときにセットされます。Inspection Results Ack ビットを真に設定することによって結果が確認応答されるまでセットされたままです。 |
結果バッファリング
検査結果用のキューを有効にする必要があります。有効にした場合、オートメーションコントローラが有限個の検査データ結果を読み取るまでキューに入れておくことができます。これは、システムの複数の部分 (外部オートメーションコントローラを含む) の速度が短時間に低下した場合に、データの流れを滑らかにするのに有効な機能です。
通常、結果が送信される速度より検査を実行する速度の方が速い場合、バッファリングありとバッファリングなしの間の大きな相違点は、破棄される結果を判別するかどうかということです。バッファリングが有効でない場合は最新の結果が保持され、以前の結果はオートメーションコントローラが読み取ることができず失われます。原則的に、最新の結果によって以前の結果が上書きされるだけです。バッファリングが有効である (さらに、キューがいっぱいである) 場合は、結果キューに空きができるまで最新の結果が破棄されます。
Job Management
Current Job ID フィールドモジュールは、In-Sight ビジョンシステムの現在のジョブ ID を示します。現在のジョブに ID がない場合は、65535 になります。ジョブをロードするには、Set Offline ビットを使用してオートメーションコントローラがビジョンシステムをオフラインに設定する必要があります。次に、Job Load ID フィールドが該当するジョブの ID に設定され、Initiate Job Load ビットがセットされます。Job Load Complete ビットが High になると、Initiate Job Load ビットがリセットされます。
-
Job Control:Initiate Job Load ビットを Job Load ID フィールドと連動して使用し、ビジョンシステムでジョブのロード操作を開始します。
ビット
名前
説明
0
Initiate Job Load
セットされると、ビジョンシステムは Job Load ID フィールドで指定したジョブ ID をロードします。
-
Job Status: ジョブのロード操作のステータスを示します。
ビット
名前
説明
0
Job Loading
このビットは、このプロトコルを通してジョブのロードが開始されたときにセットされます。
1
Job Load Complete
このビットは、このプロトコルによって開始されたジョブのロード操作の完了時にトグルされます。
2
Job Load Failed
このビットは、ジョブのロードの最後の試みが失敗したときにセットされます。SLMP スキャナプロトコルがジョブのロードを開始し、ロードに成功するとクリアされます。
-
Job Load ID: オートメーションコントローラが Initiate Job Load ビットと連動して使用することによって、ビジョンシステムでジョブのロード操作を開始します。
バイト
名前
説明
0 ~ 1
Job Load ID
オートメーションコントローラによって Initiate Job Load ビットがセットされたときにロードされるジョブの ID 番号 (1 ~ 999)。
-
Current Job ID: オートメーションコントローラに現在ロードされているジョブの ID 番号を報告するために、ビジョンシステムが使用します。
バイト
名前
説明
0
Current Job ID
ビジョンシステムで現在実行中のジョブの ID 番号を示す 16 ビット整数。または、現在のジョブに ID 番号がない場合は 65535。このフィールドは、ジョブ変更の方法に関係なく、ビジョンシステムでジョブが変更されたときに更新されます。
Soft Events
オートメーションコントローラはソフトイベントを使用して、ジョブの特定の動作をトリガすることができます。各ソフトイベントには、トリガとそれに関連付けられている確認応答ビットがあります。トリガビットの立ち上がりエッジによって、In-Sight ビジョンシステムは、ソフトイベントに関連付けられている動作を処理します。ソフトイベントの開始時に、ビジョンシステムは Soft Event Ack ビットを High に設定します。このビットは、オートメーションコントローラが Trigger ビットをリセットして、ソフトイベントに関連付けられている動作の処理が完了するまで High のまま保持されます。ソフトイベントをトリガできない場合は、General Fault ビットが High に設定されます。このビットは、イベントが正常にトリガされるまで High のまま保持されます。
-
Soft Event Control: スプレッドシートのソフトイベントのトリガを可能にします。これらのビットをセットすると、スプレッドシート内の関連するソフトイベントがトリガされます。
ビット 7 ビット 6 ビット 5 ビット 4 ビット 3 ビット 2 ビット 1 ビット 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 -
Soft Event Status:
ビット 7 ビット 6 ビット 5 ビット 4 ビット 3 ビット 2 ビット 1 ビット 0 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 これらのビットは、Soft Event コマンドが受信されたことを示すために使用されます。
String Commands
In-Sight ビジョンシステムのネイティブモード通信に基づく、デバイス相互通信の文字列コマンドをサポートします。ネイティブモードコマンドを使用すると、特にコントロールビットを介してコマンドを発行できない場合に有効で、オートメーションコントローラからビジョンシステムに文字列スタイルのコマンドを発行することができます。この節では、ビジョンシステムに文字列コマンドを開始するときに使用される一般的なインタフェース、およびビジョンシステムからの応答の取得方法を定義します。
-
String Command Control:ビジョンシステムでネイティブモード通信を開始します。
ビット
名前
説明
0
Initiate String Cmd
このビットがセットされると、String Command フィールドからデータが読み取られ、文字列コマンドが実行されます。コマンドの読み取り時には、String Cmd Ack ビットがセットされます。このビットは、ビジョンシステムがコマンドを確実に受信するために、String Cmd Ack ビットをセットするまで High のまま保持する必要があります。
-
String Command Control Data:ネイティブモードコマンドを定義します。
バイト数
名前
説明
0 ~ 1
Command Data Length
ネイティブモードコマンドの長さ。
2 ~ 1920 String Command ビジョンシステムによって処理されるネイティブモードコマンド。 -
String Command Status: ネイティブモードコマンド文字列のステータスを示します。
ビット
名前
説明
0
String Cmd Ack
このビットは、ビジョンシステムがコマンドの処理を完了して、コマンドに対する応答を生成したときにセットされます。ビジョンシステムによってこのビットがセットされると、オートメーションコントローラは安全に文字列コマンド応答データを読み取ることができます。オートメーションコントローラが Initiate String Cmd ビットをクリアした後で、このビットがリセットされます。オートメーションコントローラは、Initiate String Cmd ビットをクリアして String Cmd Ack ビットが Low 状態に戻ってから、新しいコマンドを開始する必要があります。
1 String Cmd Error このビットは、前の文字列コマンドの結果がエラーコードを返したかどうかを示します。 -
String Command Response Data:ネイティブモードコマンド文字列のステータスコード。
バイト数
名前
説明
0 ~ 1
Response Result Code
ネイティブモードコマンドの応答コード。コマンドが成功したか失敗したかを、このコードで判別することができます。
注 : すべてのネイティブモードコマンドはここで確認できます。各コマンドは正常に実行された場合、1 を返します。失敗した場合、各コマンドに固有のエラーコードがあります。エラーコードの詳細については、各ネイティブモードコマンドのトピックを参照してください。2 ~ 3 Response Length ネイティブモードコマンドの応答データの長さ (バイト単位)。 4 ~ 1920 Response Data ネイティブモードコマンドの結果文字列。コマンドによって返されるデータの ASCII 文字列表記です。
SLMP スキャナのポーリング
SLMP スキャナはコマンド/応答ベースのプロトコルであり、In-Sight ビジョンシステムから送信されます。またビジョンシステムは、コントロールビットが変化したかどうかを判別するために、定期的な間隔でオートメーションコントローラに読み取り要求を送信する必要があります。このプロセスは「ポーリング」と呼ばれ、ポーリングサイクルが定義されています。
ポーリングサイクル
すべてのポーリングサイクルの最初には、オートメーションコントローラからビジョンコントロールビットブロックが読み取られます。次に、ビジョンシステムは、コントロールブロック内のビットの状態変化を順番に処理します。一部の状態変化では、オートメーションコントローラとの追加の通信 (Job ID または User Data フィールドの読み取り、ステータスブロックの書き込みなど) が必要です。これらの要求は、1 つのキューに入れられます。ポーリングメカニズムは、キュー内の項目がなくなるかまたはポーリング間隔を超えるまで、これらの要求を順番に処理します。ポーリングサイクルが完了すると、サイクルは繰り返されません。
- 前のサイクルでキューに入れられたにもかかわらず処理されていない通信項目は、次のサイクル時に最初に処理されます。サイクルの最初にキュー内にいくつかの項目があるときには、次のポーリングサイクルの処理によって遅延が発生することがある場合でも、各ポーリングサイクルでキュー内の少なくとも 1 つの項目が常に処理されます。
- [SLMP スキャナ設定] ダイアログ内の [ポーリング間隔 (ms)] パラメータを使用すると、ポーリングサイクルの間隔を定義することができます。
ブロック通信
下の表では、ビジョンコントロールビットブロック内のステータスビットの変化に応じて、In-Sight ビジョンシステムが実行する操作を定義します。
ブロック | 読み取り/書き込みが行われる場合 | 操作 |
---|---|---|
ビジョンコントロールビットブロック | ユーザが指定した定期的な間隔で読み取ります。 |
Acquisition Trigger Soft Event ほかのブロックの読み取りまたは書き込み |
ビジョンステータスビットブロック | 最初に接続が確立されて、新しいステータスが使用可能なときに書き込まれます。 | |
入力ワードブロック | 新しい検査結果が使用可能であるか、またはジョブ変更が発生したときに書き込まれます。 | |
出力ワードブロック | Set User Data ビットが 0 から 1 に変化したか、または Initiate Job Load ビットが 0 から 1 に変化したときに読み取られます。 | User Data フィールドの読み取り後、User Data Ack ビットをセットします。 |
文字列コマンドワードブロック | Initiate String Command ビットが 0 から 1 に変化したときに読み取られます。 | 文字列コマンドを処理します。 |
文字列コマンド結果ブロック | 新しい文字列コマンド結果が使用可能なときに書き込まれます。 | 文字列コマンド結果ワードブロックの書き込み後、String Cmd Ack ビットをセットします。 |
一般的なシーケンス図
次の図は、画像取り込みおよび検査サイクルをトリガするオートメーションコントローラに対応する、In-Sight ビジョンシステムの一般的な動作を示しています。