IXL(ISaGRAF Exchange Layer:ISaGRAF交換レイヤー)とは、クライアントアプリケーションからISaGRAF Ver.4/5のターゲットのあらゆるオブジェクトにアクセスするためのAPI群です。
構成
クライアントは、ターゲットと同じマシン上で動作する別のタスクやプロセスでも構いませんし、ネットワークで接続された異なるOSのリモートマシン上にあってもかまいません。以下の図は、APIの一般的なアーキテクチャを示したものです。
従って、クライアントアプリケーションは接続時に以下の項目を指定することになります。
これは、API初期化時にドライバを登録しないようにすること(define宣言で)可能になります。(また、リンカの方式によっては、関連するオブジェクトモジュールを削除する/しないことで可能です。)
サービスセットといった他の部分も、コンパイル時にdefine宣言で削除できます。
なお、デバイスドライバによっては、利用できないメソッドがあります。また、メソッドとデバイスドライバによって、利用できないサービスがあります。
機能
PLCがISaGRAF Ver.4/5であれば、変数値のほか、I/Oの状態、SFCのステップ、SFCのブレークポイントなどにもアクセスできます。
ISaGRAF Ver.4/5以外のPLC用のドライバを作って対応することも可能ですが、通常は変数の読み込み、書きこみのみに制限されます。
構成
クライアントは、ターゲットと同じマシン上で動作する別のタスクやプロセスでも構いませんし、ネットワークで接続された異なるOSのリモートマシン上にあってもかまいません。以下の図は、APIの一般的なアーキテクチャを示したものです。
- IXL:クライアントが利用できる様々なサービスです。
使用するISXLドライバ種別の指定、ターゲットへの接続、変数の読み書きなどがあります。 - ISXL:ISaGRAFシステム交換レイヤー(ISaGRAF System Exchange Layer)。
各クライアントサービスと、対応するドライバサービスとをリンクさせる部分です。
標準ターゲットのほとんどが次のハードウェアに対応したISXLのドライバをもっています。 - 共有メモリ(HSD:Host System Driver): ローカルマシン内での通信に使用します。
- TCP/IP: ネットワーク上のリモートマシン間の通信に使用します。
- RS-232C: シリアル通信を利用した1対1の通信です。その他、デバイスに合わせたドライバを開発することで、新たなネットワークへの対応が可能です。
- IXS:ターゲット側のAPIライブラリ。
クライアントからの接続の受け付け、リクエストの取得などサービスがあります。 - ISXS:サーバ側のネットワークドライバ。
クライアント側のISXLと対応する部分です。 - ISaIXD:ディスパッチャ。
クライアントのリクエストを解析し、指定のPLCタスク(=リソース)に配信するタスクです。
従って、クライアントアプリケーションは接続時に以下の項目を指定することになります。
- 使用するデバイスドライバ(ISXL)デバイスドライバアクセスのメソッド
・・・
これは、API初期化時にドライバを登録しないようにすること(define宣言で)可能になります。(また、リンカの方式によっては、関連するオブジェクトモジュールを削除する/しないことで可能です。)
サービスセットといった他の部分も、コンパイル時にdefine宣言で削除できます。
なお、デバイスドライバによっては、利用できないメソッドがあります。また、メソッドとデバイスドライバによって、利用できないサービスがあります。
機能
PLCがISaGRAF Ver.4/5であれば、変数値のほか、I/Oの状態、SFCのステップ、SFCのブレークポイントなどにもアクセスできます。
ISaGRAF Ver.4/5以外のPLC用のドライバを作って対応することも可能ですが、通常は変数の読み込み、書きこみのみに制限されます。