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 に設定されます。

 

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

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

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 CountInspection 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 のまま保持されます。

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

  • 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 ビジョンシステムの一般的な動作を示しています。