1. TOP
  2. OMRON
  3. 上位アプリケーション
  4. CX-Compolet

概要

CX-CompoletはPCと接続されているPLCの情報を読み書きするためのVisualBasicまたはC#の部品です

構成

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

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

変数にアクセスする場合はSYSMAC Gateway

compolet01

通信ミドルウェアの準備

セットアップ

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

SYSMAC Gateway

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

NOTE

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

FinsGateway

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

FinsGatewayの設定を起動してETN_UNITを開始します
FinsGateway1


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

VisualStudioの準備

アイテムの選択

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

SYSMAC Compolet

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

コンポーネント概略使用する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通信サービスの情報や操作が行うことができます

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

Fins Gateway Compolet

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

コンポーネント概略
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

このサイトが役に立ったと感じたら、ご支援いただけると嬉しいです

この記事へのコメント