便利で役に立つOPC UA
RCDIGITAL.CO.JP
November 2021
1
はじめに
EthernetでパソコンとPLC間でデータの送受信をする時は、PLCのメーカー毎に、パソコンのプログラムを開発する必要がありました。
例えば、三菱電機だとMCプロトコル、オムロンだとFINS、シーメンスだとオープンソースのSnap7などの方法でパソコンとPLCが接続できます。
MCプロトコル、FINS,Snap7ではなく、OPC UAを使用しても、上記PLCメーカーに接続できます。
これは、各PLCメーカーがOPC FoundationのOPC UA サーバーという機能をPLCに追加したことによります。
OPC UA サーバーに接続するプログラムは、OPC FoundationがOPC UA クライアントとしてソースを公開しています。
OPC UA サーバーの機能を持った各メーカーのPLCは、オフィスのネットワークのパソコンのOPC UA クライアントで接続できるようになります。
OPC UAが便利ですというのは、いろいろなメーカーのPLCと接続できるからです。
役に立つというのは、PLCとパソコン間のデータを情報モデル化できるからです。これは、XMLファイルなので理解しやすく、容易にメンテナンスできるでしょう。
注意>
GITHUBのOPC UA クライアントのソースコード。
シーメンスも、OPC UAのサンプルソースコードを公開しています。こちらの方が、わかりやすいと思います。
Creating of OPC UA clients with .NET and helper class
↑TOP of Page
2
OPC UA サーバー機能があるPLCは
メーカー
|
PLC
|
備考
|
三菱電機
|
iQ-Rシリーズ OPC UAサーバユニット
|
コントローラ(PLC)は現在無し 約20万円
|
オムロン
|
NJ/NXシリーズコントローラ
|
小型のNX102(約20万~50万円)
|
シーメンス
|
S7-1200/S7-1500シリーズコントローラ
|
ET200SP(S7-1510)が低価格(約9万円)
|
注>使用したことのあるPLCメーカーだけです。他にもあると思います。
iQ-RシリーズのPLCとNJ/NXシリーズコントローラのPLCは、OPC UAサーバーとして使用できます。
しかし、どちらも新しい世代のPLCです。
Q03UDVCPUやCJ1Mの古い世代のPLCしか使用していないと、新し世代のPLCでOPCUAを使用するのは、難しいかもしれません。
シーメンスのS7-1200/S7-1500は使用して、OPC UAをテストしました。
S7-1500は構造体が使用できますが、S7-1200は構造体が使用できません。そのため、情報モデルの利点がいかせないので、S7-1500が推奨です。
機種は、ET 200SP(S7-1510)を使用するのが良いです。価格が安く、リモートIO機能とOPC UAサーバーの機能があります。
普通のS7-1500としても使用できるようです。
説明> 実験用の制御盤、上がET200SP,下がQ03UDVCPUです。
PLCは制御盤にいれて使用します。パソコンのケースのようなものです。アースと電源を1箇所から取れて便利です。
上段は、電力量計、次がブレーカー、24V電源、サーキットプロテクタ、そしてET200SPです。
中段は、サーキットプロテクタ、100VACリレー、100Vと24Vの端子台。端子台は、1つの電源でたくさん機器の電源を供給できます。ACリレーは、ブレーカーとサーキットプロテクタがONになると、A接点の24Vの信号がONになり、制御盤の外のモータ用ドライバに信号電源を供給します。
下段は、24V電源、Q03UDVCPU,高速パルスカウンタです。
ブレーカーは、PLCの電源をONにするためのものです。過電流が流れるとOFFになり、火事を防止します。漏電機能のついたブレーカーもあります。長く使用すると、絶縁が劣化して漏電することがあるからです。
サーキットプロテクタは、PLCを保護するためのものです。PLCのON/OFFにも使用します。
↑TOP of Page
3
CC Link IE FieldネットワークでS7-1500のOPC UAサーバーを使用する
CC Link IE Fieldネットワークが、古い世代のQシリーズPLCで構成されていると、三菱電機のOPC UAサーバユニットが使用できません。
S7-1500のOPC UA サーバーは、プロファイネット上のPLCと接続できます。しかし、CC Link IE Field 上のPLCには接続できません。
接続するためには、NT 151-CCIES-RE/PNSというプロトコル変換器が必要です。
NT 151-CCIES-RE/PNSはCC Link IE Field 上ではスレーブとして、プロファイネット上ではIOデバイスとして認識されます。
OPC UAサーバーで稼働するユーザーのPLCプログラムとWindowsで動くOPC UA クライアントソフトは、1種類の方がメンテナンスが楽です。なぜなら、三菱もオムロンもシーメンスも、PLCプログラムを作成するツールが異なるからです。多分、接続方法も異なるでしょう。
三菱のツール :GX Works3(約5万円)+ MX OPC UA Module Configurator-R(約2万円)
オムロンのツール:Sysmac Studio(約30万円)
シーメンスのツール: TIA Portal V16(約30万円)
プロトコル変換器が利用できるネットワークでは、使いなれたツールと使い慣れたOPC UAサーバーを利用しても良いでしょう。
注>NT 151-CCIES-RE/PNSの説明があります。
プロトコル変換ゲートウェイ netTAP | ヒルシャー-Product Search(プロダクトサーチ)
注>NT 151-CCIES-RE/PNSはまだテストはしていません。
↑TOP of Page
4
OPC Foundationとは
パソコンとPLCをEtihternetで接続するようにしたのは、パソコンにEthernet用の端子が標準で装備されているためです。
それ以前は、パソコンと機械を接続するには高額な計測ボードというものを、別途に購入する必要がありました。
OPC FoundationはPLCに接続できるOPC UAというライブリを開発しました。そのライブラリを無料で配布しています。
但し、OPC UA サーバー機能をPLCに追加するかどうかは、PLCメーカーが自由に決定できます。
OPC Foundationの役割は、ホームページを見ると以下のようです。
OPC Foundation の役割は、ユーザー、ベンダー、関連団体が協力し、マルチベンダーとマルチ・プラットフォームのデータ転送に関する標準を作成し、産業オートメーションの安全で信頼性ある相互接続を実現するグローバル組織の管理です。
第1世代のOPC技術は、1996年に発表されました。
当時は OPC = OLE for Process Control と定義されていました。
マイクロソフトがWindows用に開発した技術に基づいています。
OPC DA (Data Access)として大きく普及し、工場へのパソコン導入と情報化を推し進めました。
第2世代のOPC UAは、2006年に発表されました。
OPCの定義も OLE for Process Controlから Open Platform Communicationsに改められました。
国際標準規格IEC6254となっています。
これにより、データサーバーが、パソコンからPLCになりました。
2015年に、ドイツのIndustrie 4.0の参照モデルであるRAMIモデルに、OPC UA 仕様が採用されました。
注>RAMIモデルとは
Reference Architecture Model Industrie 4.0(RAMI4.0):3次元のアーキテクチャモデル。
通信層はIEC 62541: OPC-UAが推奨されている。
説明>RAMI4.0モデル
↑TOP of Page
5
OPC UAとは
OPC UA(OPC Unified Architecture)は、IIoT(産業用IoT)時代に対応した情報データ転送のための国際標準のソフトウェア通信仕様(IEC 62541)です。
工場のLANとオフィスのLANを繋げるための統一規格です。
OPC UAの特徴には以下の3つがあります。
- マルチ・プラットフォーム
Windows、LINUX、Androidの各OSに対応しています。
- セキュアナ通信
- 情報モデル
情報モデルは4つの階層に分かれています。
1が装置独自の情報モデル(この階層は、PLCのプログラムから情報モデルを作成できます)。
2が業種に特化した情報モデル(コンパニオン仕様)。以下のものがあります。
・Euromap(ヨーロッパのプラスチックおよびゴム生産機械産業の団体)
・AIM(Association for Automatic Data Capture, Identification and Mobility)
・VDMA(ドイツ機械工業連盟)
・PLCopen(欧州に本部を持つ PLC のプログラミングの国際標準規格である IEC 61131-3 の普及団体)
・AutomationML
・OMAC(The Organization for Machine Automation and ConTrol)
コンパニオン仕様には階層構造と変数名が定義されています。PLCのプログラム変数と対応させるマッピング処理をして使用します。
3が共通情報モデル
4が情報を表すための規則
3と4は、OPC Foundationが作成します。
6
OPC UA クライアントライブラリを使用する場合の注意
OPC Foundation のOPC UA クライアントのサンプルソースを使用する場合は注意が必要です。
オープンソースと言っても、GPLv2のライセンスがあるためです(Opc.Ua.Core)。MITライセンスの部分もあります(Opc.Ua.Client)。
OPC UA クライアントライブラリ(Opc.Ua.Core)を使用したプログラムをお客に提供する場合、Opc.Ua.Core以外のソースコードの開示が必要になるかもしれません。
そのため、OPC UA クライアントプログラムの部分と、ノウハウのあるオリジナルな処理の部分は別プログラムにした方がよいでしょう。
例えば、IPCなどのプロセス間通信を使用します。
PLC側のOPC UA サーバーのユーザープログラムも、普通はソースを開示します。パソコン側のOPC UAクライアントプログラムも、ソースを開示しても問題ないでしょう。処理はデータを送受信しているだけで、単純です。
プログラムソースがあるということで、お客が安心し、購入に前向きになるということがあるかもしれません。OPC UA 以前は、パソコンとPLCのデータの送受信も、PLC会社やソフト会社のノウハウの1つだったからです。
OPC Foundationのコーポレート会員は、プログラムのソースを開示する義務がありません。(年間最低、約30万円のコーポレート会員費用が必要です。)
OPC UA Client SDKを販売している会社もあります。内容までは調べていませんが、100万円以上するようです。購入したSDKを使用すれば、プログラムのソース開示の義務は生じないと思います。
従って、プログラムのソースを開示したくない場合は、少なくとも2つの方法があります。
注>ソースコードにあるライセンスのコメント
//RCL license terms accompanied with this source code. See http://opcfoundation.org/License/RCL/1.00/
GNU General Public License as published by the Free Software Foundation;
// version 2 of the License are accompanied with this source code. See http://opcfoundation.org/License/GPLv2
// The complete license agreement can be found here: * http://opcfoundation.org/License/MIT/1.00/
シーメンスのOPC UAクライアントのサンプルプログラムは、ソースコードがついています。
↑TOP of Page
7
RCDWIN,EM,EDAとEPでのOPC UA通信対応
OPC UAに対応すれば、全てのアルミ押出工場でRcdWin,EM,EDA,EPが使用できるということを意味します。そのため、これらのプログラムのOPC UA対応の意義は大きいでしょう。OPC UA 以前は、工場で使用しているPLC毎に、通信部分を開発する必要がありました。
EP0S(OPC UAクライアントブログラム)が、PLCのOPC UA サーバーとデータの送受信を行います。
EP0Convは、EP0SとIPCにより、データのやり取りを行います。そして、プログラムが使用する構造体データに変換します。
RcdWin,EM,EDA,EPは、EP0Conv とプロセス間通信を行い、OPC UA データを処理します。
OPC UA のデータは情報モデルと呼ばれています。アルミ押出工場の情報モデル(注1)なので、かなり変数の量は多いです。ただ、PLCのデータが情報モデルとして定義できるのは、メンテナンスの上でメリットがあります。つまり、わかりやすいです。変数を追加する時や、削除する時に楽になります。
このモデルは、XMLファイルになっていて、シーメンスの無料のツールのSiOMEで内容を見ることができます。
SiOMEは、XMLの情報モデルの作成ツールです。TIA PORTALとSiOMEがあれば、情報モデルをOPC UAサーバーに転送できます。
PLCのデータ構造から情報モデルを作成し、TIA PORTALでその情報モデルをPLCに転送するという流れです。
注1> 一般的なアルミ押出工場の情報モデルがあるわけではありません。会社ごとに異なると思います。
注2> SiOMEのダウンロード
Siemens OPC UA Modeling Editor (SiOME) for implementing OPC UA companion specifications
Siemens OPC UA Modeling Editor (SiOME) for implementing OPC UA companion specific... - ID: 109755133 - Industry Support Siemens
説明>アルミ押出工場の情報モデルのデータ構造
↑TOP of Page