CX-Compoletとは

CX-CompoletはOMRONが提供する.NET向け通信ライブラリです。 Visual BasicやC#からPLCへアクセスし、変数やメモリエリアの読み書きを行うことができます。

項目SYSMAC GatewayFins Gateway
通信方式CIPFINS
アクセス対象変数DM/CIO等
主な対象PLCNJ/NX/NYCJ/CS/CV (NX/NJ)

構成

VisualBasicまたはC#で作成するアプリケーションにCX-Compoletが提供するコンポーネントを組み込んでFins GatewayまたはSYSMAC Gatewayを経由してPLCにアクセスします
コンポーネントによってGatewayが変わります

物理アドレスにアクセスする場合はFins Gateway
変数にアクセスする場合はSYSMAC Gateway

CX-Compoletのソフトウェア構成図

通信ミドルウェアの準備

セットアップ

CX-Compoletを使用するには、通信ミドルウェアのSYSMAC GatewayまたはFinsGatewayが必要になります
通信ミドルウェアはCX-Compoletに同梱されているのでインストールするときに一緒にインストールされます

SYSMAC Gateway

CIPプロトコル(Ethenet/IP)で接続するときはSYSMAC Gatewayが必要になります
CIPプロトコルでは変数を指定して値の読み書きをすることになります
PCとの接続はEIPユニットまたはCPU内蔵のEIPポートと接続します
SYSMAC Gateway Consoleを起動してネットワークポートをオープンしておきます
SYSMAC Gateway Consoleの設定画面

NOTE

イーサネットカードのプロパティでIPv6のチェックが入っていると通信できないことがありました
接続できないときはチェックを外してみてください
イーサネットのプロパティ

FinsGateway

Finsプロトコルで接続するときはFinsGatewayが必要になります
Finsプロトコルでは物理アドレス(DM0000など)を指定して値の読み書きをすることになります
PCとの接続はETNユニット、EIPユニットまたはCPU内蔵のEIPポートと接続します

FinsGatewayの設定を起動してETN_UNITを開始します
Fins GatewayのETN_UNIT設定画面


次に、ローカルネットワーク0(Ethernet)のプロパティを開いて、通信ユニットタブでPLCが接続されているネットワークカードを選択します
ETN_UNITの設定

VisualStudioの準備

アイテムの選択

メニューバーの[ツール]-[ツールボックス アイテムの選択]を開きます
CompoletItem

SYSMAC Compolet

PLCのメモリエリアの読み書きやPLCの状態の読出しなどを行うことができます

SYSMAC Compolet
コンポーネント概略使用するGateway
CJ2CompoletCJ2とCIP通信SysmacGateway
NE1SCompoletNE1SとCIP通信
NJCompoletNJとCIP通信
NXCompoletNXとCIP通信
NYCompoletNYシリーズとCIP通信
CommonCompoletODVA標準タグの読み書き
DataAccessCompolet全てのCIP通信
SysmacCCシリーズとFins通信FinsGateway
SysmacCVCVシリーズとFins通信
SysmacCSCSシリーズとFins通信
SysmacCJCJシリーズとFins通信

SYSMAC Gateway Compolet

SYSMAC GatewayにアクセスしてCIP通信サービスの情報や操作が行うことができます

SYSMAC Gateway Compolet
コンポーネント概略
VariableCompoletSYSMAC Gatewayに登録した変数の読み書き
PortCompoletEtherenetポートのオープン/クローズ
SYSMAC Gateway Service CompoletCIP通信サービスの操作と情報取得
DataLinkCompoletCIPデータリンクの設定や状態取得

Fins Gateway Compolet

FinsGatewayにアクセスしてFinsGatewayのイベントメモリの読み書きなどが出来ます

Fins Gateway Compolet
コンポーネント概略
VariableCompoletSYSMAC Gatewayに登録した変数の読み書き
PortCompoletEtherenetポートのオープン/クローズ
SYSMAC Gateway Service CompoletCIP通信サービスの操作と情報取得
DataLinkCompoletCIPデータリンクの設定や状態取得

ヘルプとサンプル

ヘルプ

ヘルプファイルは [スタート] - [OMRON] - [CX-Compolet]にあります

  • FinsGateway Compolet ヘルプ
  • SYSMAC Compolet ヘルプ
  • SYSMAC Gateway Compolet ヘルプ

サンプル

CX-Compoletのサンプルは [スタート] - [OMRON] - [CX-Compolet] - [samples]にあります

  • DataAccess Compolet
  • FinsGateway Compolet
  • Port Conpolet
  • SysmacC C-CV-CS-CJ Compolet
  • SYSMAC CJ2-CIP Compolet
  • SysmacGateway Compolet
  • Variable Conpolet

簡単なサンプル

以下のリンクはメッセージ通信を中心にできるだけ簡単なサンプルを作って説明しています

CIP通信

PLCと接続して変数の値を読み書きするサンプルと
PCの時刻をPLCに書込むサンプルです

Fins通信

PLCと接続してDMの値を読み書きするサンプルです

イベント通知

PLCの変数に変化があったときにアプリケーションにイベントが通知されるサンプルです

読み出し通信時間

メモリの値を読み出すときに掛かる通信時間は主にパケット数に依存します
例えば下表のCIP UCMM通信で492byte(286word)を読み出すのに1パケットでおよそ5msかかりますが、2byte多い494byte(287word)を読み出すには2パケット使いおよそ10msかかります
このように2byte増えるだけで読み出しにかかる時間が増えてしまうので読み出し速度を上げたい場合は参考にしてください

CIP通信

NXCompolet.ReadVaribleを使って変数の値を読み出す時の読み出し時間



読み出し時間
パケット数UCMMClass3
バイト数通信時間 (ms)バイト数通信時間 (ms)
14925.47319845.753
298410.305396810.294
3147615.517595215.417
5246027.289992025.046
10492052.2351984055.068
209840108.01939680107.269

Fins通信

読み出し時間
パケット数バイト数通信時間 (ms)
119988.579

よくある質問

CX-Compoletとは何ですか?

CX-CompoletはOMRONが提供する.NET向け通信ライブラリで、Visual BasicやC#からPLCへアクセスし、変数やメモリエリアの読み書きを行うことができます。

SYSMAC GatewayとFins Gatewayの違いは何ですか?

SYSMAC GatewayはCIP通信を利用してNJ/NX/NYシリーズの変数へアクセスします。Fins GatewayはFINS通信を利用してDMやCIOなどのメモリエリアへアクセスします。

CX-Compoletを使用するために必要なソフトウェアは何ですか?

CX-Compoletを使用するには通信ミドルウェアとしてSYSMAC GatewayまたはFins Gatewayが必要です。これらはCX-Compoletに同梱されています。

NJ/NXシリーズの変数へアクセスするにはどのCompoletを使用しますか?

NJシリーズはNJCompoletクラス、NXシリーズはNXCompoletクラスを使用してCIP通信による変数アクセスを行います。

CIP通信とFINS通信ではアクセス対象が異なりますか?

CIP通信はPLC変数を対象とし、FINS通信はDMやCIOなどの物理アドレスを対象とします。

この記事へのコメント