Rockwell SLC 5/05 PLC との通信
概要
このセクションでは、In-Sight ビジョンシステムと PLC 間における PCCC (PC3) 通信の設定についての概要を示します。この例では Allen-Bradley SLC5/05 と Rockwell 500 ソフトウェアを使用します。
必須コンポーネント
- ファームウェアバージョン 2.2 ~ 4.9.1 が実行されている In-Sight ビジョンシステム
- Rockwell RSLogix 500 プログラミングソフトウェア (バージョン 4.5 以降)
- RSLogix500 をサポートする対応するファームウェアがインストールされている Allen-Bradley SLC5/05 コントローラ
RSLogix 500 の使用
-
RSLogix 500 ソフトウェアプログラムから .RSS ファイルを開き、[Channel Configuration (チャンネル設定)] ダイアログ ([プロジェクトフォルダ] → [Controller Folder (コントローラフォルダ)] → [Channel Configuration (チャンネル設定)]) を開きます。
- Allen-Bradley SLC では 2 つのチャンネルを設定できます。チャンネル 1 (Ethernet) とチャンネル 0 (DF1 全二重 - シリアル) です。[Chan.1 - System (チャンネル 1 - システム)] タブをクリックします。
-
必要に応じてチャンネル 1 (Ethernet) を設定します。適切な設定についてはネットワーク管理者に問い合わせてください。
注 : PLC と In-Sight ビジョンシステムでの IP/Subnet/Gateway パラメータが正しいことを検証します。 - 必要に応じて [タイムアウト] を設定します。
-
注 : 接続タイムアウトと応答タイムアウトはミリ秒単位、非アクティブ状態は秒単位です。これらのパラメータにより、要求を送受信するときにシステムによって後で使用される Message Timeout パラメータの値が決まります。([Msg Connection Timeout (メッセージ接続タイムアウト)] + [Msg Reply Timeout (メッセージ応答タイムアウト)] + 5 ミリ秒 = [Msg Timeout (メッセージタイムアウト)])
メッセージ (MSG) 命令
アプリケーション内でメッセージ命令を設定できるようになりました。メッセージ作成のための拡張指示については、RSLogix 500 のドキュメントを参照してください。
メッセージ (MSG) 命令内では次の設定パラメータを設定することができます。
- Type: Peer-To-Peer。変更できません。
- Read/Write: In-Sight ビジョンシステムで実行する機能を選択します。[Read] を選択すると DataMan からデータが取得され、[Write] を選択すると DataMan にデータが送信されます。
- Target Device: In-Sight ビジョンシステムと通信するには [PLC5] を選択します。これによって SLC が使用する通信プロトコルを指定します。In-Sight ビジョンシステムの動作は ControlLogix コントローラの動作によく似ています (Rockwell のマニュアル 13862 を参照)。
- [Local/Remote (ローカル/リモート)]: In-Sight ビジョンシステムが SLC と同じネットワーク上にあることを示すには [Local] を選択します。[Remote] を選択すると、別のネットワーク上にある In-Sight と通信することが SLC に指示されます。リモート通信では、セカンダリネットワークへのゲートウェイとして機能する別のデバイスを通じてメッセージを直接送信する必要があります。通常、Allen-Bradley ControlLogix コントローラがその役割を果たします(ゲートウェイを介してほかのネットワーク上のデバイスのアドレスを指定する方法については、Rockwell のドキュメントを参照してください)。
- Control Block: これは MSG 命令でデータ (IP アドレス、メッセージタイプなど) を格納するために使用する一時整数ファイルです。通常、送信されるユーザデータではありません。
- Control Block Length: これは MSG 命令によって自動的に計算されます。
- Setup Screen: 「Setup Screen」を選択すると、[Message Instruction Setup (メッセージ命令の設定)] ダイアログが開きます。
MSG 命令の設定画面
[MSG Instruction Setup (メッセージ命令の設定)] 画面では次の設定パラメータを設定することができます。
[全般] タブ
[This Controller (このコントローラ)] セクション:
- [Communication Command (通信コマンド)]: 最初の画面 (MSG 命令画面) で選択されたコマンド (READ/WRITE) と同じである必要があります。
- [Data Table Address (データテーブルアドレス)]: これは SLC でデータの書き込み先 (READ) または送信元 (WRITE) になるデータファイルの場所です (MSG 命令画面と同様)。このインスタンス 'F8:0' において、'F' は浮動小数点値ファイルを、'8' はファイル番号 8 を、'0' はそのファイルへのオフセット (この場合は 0 番目の要素から始まります) を示します。次の図に、RSLogix 500 メイン画面からアクセスする浮動小数点値テーブルの例を示します。
- [Size in Elements (要素のサイズ)]: これは、送信する要素 (または個々のデータ) の数です。この例では、2 つの要素 (3.14 および 78.87) が送信されます。
- [Channel (チャンネル)]: SLC の設定によって異なります。SLC では、チャンネル 1 は Ethernet ポートです。
[Target Device (ターゲットデバイス)] セクション:
- [Message Timeout (メッセージのタイムアウト)]: In-Sight ビジョンシステムが応答することができる適切な時間の長さを選択します。In-Sight がこの時間内に応答しない場合、MSG 命令はエラー終了します。この画面からは、このパラメータを変更することはできません。[Message Timeout (メッセージのタイムアウト)] は、[Channel 1 setup (チャンネル 1 の設定)] ダイアログで入力したパラメータによって決まります (「RSLogix 500 の使用」の手順 4 を参照)。
- [Data Table Address (データテーブルアドレス)]: これは、データの読み取り/書き込みが行われる In-Sight ビジョンシステム上の場所です。このインスタンス 'F8:1' において、'F' は浮動小数点型 (real) のデータを、'8' は In-Sight が無視することを示します。(データは常に入力アセンブリに書き込まれ、出力アセンブリから読み取られます)。'1' は、READ または WRITE が実行されているかどうかに基づいて異なる意味を持ちます。
WRITE が発生している場合、'1' は、入力アセンブリのデータ部分への実際のデータバイトオフセットを示します。READ が発生している場合、'1' は要素を示します。次に例を示します。メッセージが READ であった場合は、'F8:2' によって 3 番目の要素 (SLC のインデックスはゼロから始まるため、':2' は 3 番目の要素を指します) を読み取るよう指示されます。これは、(READ では In-Sight の出力アセンブリからデータを取得するため) 出力アセンブリからの浮動小数点型の要素です。メッセージが WRITE であった場合は、'F8:12' により、入力アセンブリのデータ部分の 12 番目のバイトに浮動小数点値を書き込むよう指示されます。WRITE は、データの書き込みを開始するアセンブリの実際のバイトを示し、READ は実際のデータ要素を示します。
- [Local/Remote (ローカル/リモート)]: アプリケーションに応じて、[ローカル] または [リモート] に設定されます。
- MultiHop (マルチホップ): この設定は以前に入力した情報によって異なります。In-Sight 通信を正常に行うため、この時点では [YES(あり)] にする必要があります。
[MultiHop] タブ
[MultiHop] タブは、In-Sight システムのアドレスとコントローラの場所を識別するために使用されます。In-Sight ビジョンシステムへの通信を経路指定するため、両方の情報を指定する必要があります。前述のとおり、In-Sight ビジョンシステムは、PC3 の通信時に ControlLogix モジュールとして動作します。
MSG 命令を使用したデータの受信
次の例では、In-Sight スプレッドシートに、MapSpec の値が '0f:4f:8il:10il:12il' の WriteEIP 関数が格納されたセルがあることを前提としています。
例: |
RSLogix500 の MSG 命令では、ターゲットデバイスのデータテーブルアドレスが 'N8:2' (DTA = 'N8:2') になっており、3 つの要素 (n = 3) を要求しています。 MSG 命令において、'N' は整数が転送されることを、'2' は MapSpec の 3 番目の項目から始まることを示しています。 |
In-Sight ビジョンシステムは、MapSpec (8il) の 3 番目の項目のデータと、それに続く 10il と 12 il のデータ (3 要素、すべて整数) で応答します。
例: |
DTA = 'F8: 1' n = 2 応答は 4f (MapSpec の 2 番目の項目) のデータとなり、In-Sight は 8il と 10il でのすべてのデータを組み合わせて 2 番目の浮動小数点値を生成しようと試みます。連続する類似の要素 (2 浮動小数点値、42 整数、13 文字など) のみを要求可能です。 |
例: |
DTA = 'F8: 0' n = 2 応答は 0f と 4f (2 要素、どちらも浮動小数点値) のデータになります。 |
例: |
DTA = 'N8: 3' n = 2 応答は 10il と 12il (2 要素、どちらも整数) のデータになります。この例では、同じ型の連続する要素を取得できるようにしています。 |
SLC5/05 からのネイティブモードコマンドの送信
- 必要に応じて SLC5/05 を設定します。
-
ネイティブモードコマンドを格納する文字列テーブルを作成します。
-
必要なネイティブモードコマンドの文字列をデータファイルに追加します。
-
新しいメッセージ (MSG) 命令をラダーロジックに追加し、次の例のように設定します。
-
[MSG Setup (MSG 設定)] 画面で次のように設定します。
このコントローラ (SLC) パラメータ 説明 [Data Table Address (データテーブルアドレス)]: ST10:1 前に作成した文字列テーブル (ST) からの最初の要素 [Size in Elements (要素のサイズ)]: 1 常に 1 に設定します。PCCC MSG で同時に送信できる文字列は 1 つ (従って 1 つのコマンド) のみです。 [Channel (チャンネル)]: 1 コントローラの Ethernet チャンネルに設定します。 ターゲットデバイス
(In-Sight センサ)
パラメータ 説明 [Message Timeout (メッセージのタイムアウト)]: ([Channel Configuration (チャンネル設定)] ダイアログから) [Data Table Address (データテーブルアドレス)]: ST10:0 これは宛先アドレスです。ネイティブモードコマンドの場合は常に ST10:0 になります。 -
[MultiHop] タブをクリックし、必要に応じて設定します。
例: この例では、In-Sight ビジョンシステムの宛先 IP アドレスのみを設定する必要があります。
- すべて設定し終えたら、MSG ウィンドウを閉じます。
- ラダーロジックを保存してコントローラにダウンロードし、オンラインでコントローラを実行モードに設定します。
- メッセージをトリガして In-Sight ビジョンシステムに送信します。
メッセージ命令の結果
命令への入力が high に設定されると、メッセージ命令の有効化 (EN) ビットが 1 に設定されます。ネイティブモードコマンドを受信して正常に実行したことを In-Sight が応答すると、Done (DN) ビットが 1 にセットされます。エラー (ER) ビットが有効になった (1 に設定された) 場合、メッセージ命令に問題が発生したことを示します。エラーが発生した場合、MSG 命令の設定画面をクリックします。エラーコードはウィンドウ下部に表示されます。以下の表にエラーコードのリストを示します。
エラーコード
エラーコード | 説明 | ネイティブモード戻りコード |
00 | 成功 - エラーなし | 1 |
10 | 不正なコマンドまたはフォーマット | 0 |
EE | コマンドを実行できません。 | -2、-4、または -5 |
D9 | ユーザ指定のタイムアウト前に応答を受信しなかった | 該当なし |
F2 | 無効なパラメータまたは無効なデータ | -1 |