このシリーズではBosch rexrothのctrlX AUTOMATIONについて紹介します。自分は実機をもっていませんのでどこまでテストできるかわかりませんが、よろしくお願いします。
最初はctrlX AUTOMATIONやctrlX WORKSの紹介や、簡単な導入方法を説明しますね。
What is ctrlX AUTOMATION?
ctrlX AUTOMATION は組み込みデバイス向けに設計されたUbuntu Coreと、Linuxアプリケーションコンテナであるsnapsを利用し、オープンソースプラットフォームを提供して、機械の制御、IT、OTの統合ができます。
そしてUbuntu Coreとsnapsを用いてctrlX AUTOMATION上に構築されるシステムは、オープン・エコ、なおかつ立ち上げるまでの時間の短縮、セキュリティの強化などのメリットがあります。
システム開発者はC、C++、Python、JavaScript、Goなど、好きなプログラミング言語でアプリケーションを作成して、snapsとして配布できます。それは従来は、IEC 61131やGコードのような、プログラミング言語と異なります。
Ubuntu Coreとsnapsによって、ctrlX AUTOMATIONプラットフォームを使用するシステム開発者は、IT(C、C++、Python、JavaScript、Goなど)とOT(IEC 61131やGコード)を自由に選んで使用できるようになります。
ctrlX AUTOMATIONというオープンソースのアプローチは、ユーザーが自分のシステムに合わせて機能拡張したり、自分のアプリを実装したりでき、自由度が非常に高いです。
What is ctrlX WORKS?
ctrlX WORKSはBeckoffのTwinCAT・Siemens のTIAや三菱のGXWORKSのようなイメージでよいでしょう。ctrlX WORKSはPLCプログラムやConfigurationのようなエンジニアリングツールがいくつか含まれ、インストールするなどの選択肢が選べます。
ctrlX WORKS主に3つの部品があります。
- ctrlX PLC Engineering
- ctrlX IO Engineering
- ctrlX DRIVE Engineering
- ctrlX WORKS – Device Management
System Requirment
- Windows 10 64 Bit
- 8 GB RAM
- Processor: Intel with support of the virtualization technology (Intel VT)
What is ctrlX WORKS Device Management?
Device ManagementというのはTableでネットワーク上で使用可能なctrlx COREやctrlx COREvirtualを表示されています(同じSubnetにあるデバイスがすべて自動検知できる)
ツールにはIT技術で使われているDHCP・DPNP・mDNSのおかげで特別な設定がいらなくなります。
本来ならBoschのctrlX COREにアプリケーション走るんですが、実機がない人(私)にもctrlX COREvirtualが提供しており、Windows PC上で仮想なLinux環境を構築できます。
What is ctrlX PLC Engineering?
ctrlX PLC EngineeringはIEC61131-3標準に準じるCodesysベースプログラム環境です。このツールは今回の記事でメインで紹介したいと思います。
ツールは様々な機能が提供され、例えば:
- FBD/LAD/STL/ST/CFCのプログラムEditor
- OOPのプログラム手法
- ライブラリでリソース管理
- セキュリティOptionsからSoruce Codeを守る
- などなど…
What is ctrlX IO Engineering?
ctrlX IO EngineeringはEtherCAT fieldbus Networkを構築するためのアプリケーションです。そのソフトはPLC IDEと分かれておりFlexibilityな構築方法を提供しています。
What is ctrlX DRIVE Engineering?
ctrlX DRIVE EngineeringというのはGraphical 操作でDriveの試運転・パラメータ設定のためにあるアプリケーションです。簡単で直感的な操作でDriveアプリケーションを最適化できます。ツールはそのような機能を提供しています。
- Step by Stepの試運転
- エラー診断・履歴
- Logging
- などなど…
Download
下記のLinkからctrlxX WOKRSをDownloadしてください。
Installation
ZIPを解凍し、ctrlx-works-xxx.exeを起動しインストールを始めます。
言語は英語とドイツしかないが、英語を選び、Nextします。
ライセンス同意し、Acceptで進みます。
インストールのLocationを選び>Nextします。
インストールするOptionsを選びます。とりあえず全部入れて、Nextで進みます。
Installで進みます。
暫く待ちます…
Done!
Your First VirtualCore!
ctrl WORKS WRK-V-XXXをダブルクリックでCtrlx Worksをスタートします。
ctrl WORKSが起動され、そのツールからVirtualCoreなどを設定できます。
+Buttonで新しいVirtualCoreを作成します。
VirtualCoe名を入力し、OKします。
Done!
Edit
VirtualCoeにある鉛筆ICONで該当するCOREの設定ができます。
Basicでは該当するCore名設定できます。
Extended Tabで Network Adapter・CPU CoreなどCoreのPerformance関連するITEM設定できます。
Start your VirtualCore!
白い三角ICONでVirtualCoreをStartします。
VirtualCoreのStateがOfflineからBootingに変わります。
Done!StateがOnlineになりました。
Access the VirtualCore WebServer
VirtualCoreが起動したら、VirtualControl-1をクリックしWebServerを起動します。
Browserが起動したら、Advancedをクリックします。
Accept the Risk and Contnueで進みます。
Done!Login画面が表示されました。
Defaultでは、UsernameとPasswordもboschrexrothです。
Ctrlx VirtualcoreのWeb Serverが表示されました。
Configure the IP Address
Settings>Connectivityをクリックし、IP Addressを設定します。
eth0が表示されました。それはVirtualCoeのNetwork Adapterになります。
eht0をクリックしたら、Network InterfaceのIPを変更できます。
今回は192.168.11.190/24にします。
PLC APP?
ctrlX PLCはScalable的なPLC Solutionを実装し、従来のPLC機能とIoT機能を一つの提案としてまとめます。ctrlX AUTOMATIONに関しては最初にも書きましたが、リアルタイム性拡張されたLinux Ubuntu Core Operation Systemであり、実際のアプリケーションに合わせて必要なSnapをインストールできます。
そのSnapsのこと、ctrlX AUTOMATIONは”Apps”と呼び、ctrlX Storeや3rd-partyにも使用可能です。
PLC APPでは基本なFunction Modules・Program Templates・REST API経由で自動コード作成もちろん揃えていますが、OPCUA・MQTTのようなIotに欠かせないProtocolも実装されています。それ以外、FieldbusにはEtherCATもちろん、Ethernet/IPやProfinetも対応。
そして一番うれしいのはPLC APPはCodesys V3ベースであることです。
Characteristics
- 1k命令の実行時間
- Bit Operation 2us
- Integer Operation 2us
- Real Operation 4us
- プログラムとデータメモリのリミットはデバイスのメモリそのものです
- 最大110kb Retain メモリ
- IEC 61131-3言語Support
- PLCopen LibraryからctrlX MOTIONを制御可能
- ctrlX Data LayerをREST/OPCからアクセス可能
- REST interface(ctrlX PLC API)経由で自動コード作成
- ツールとRuntime感はセキュリティ通信
- などなど…
Install
Settings>AppsでApps管理画面に変更します。
Appsのインストール画面に変わりました。
Change
右にあるService ModeボタンでCtrlx VirtualcoreをService Modeに切り替えます。ServiceではないとAppsをインストールできません。
Service modeに切り替えるとリアルタイムデータの処理がStopになります。
Continueで進みます。
Download the PLC Apps
下記のLinkからPLC AppsをDownloadします。
https://developer.community.boschrexroth.com/t5/Store-and-How-to/ctrlX-CORE-PLC-App/ba-p/13298
.tarの圧縮ファイルがDownloadされました。
7-ZIPで解凍し.snapのFileがあります。
Install the Apps
Install from fileでAppsをインストールします。
先程のrexroth-plc-1.12.5.snapを開きます。
FileはSystemにUploadしています…
Installで進みます。
Done! PLC Appがインストールされました。
Change to Operation Mode
CtrlX をOperation modeに戻します。
Operation Modeになるとリアルタイムのデータ処理が稼働します。
Continueで進みます。
Start the ctrlX Engineering
VirtualCoreのMenuから”PLC”が増えました。
Start ctrlX PLC Engineeringで Ctrlx エンジニアツールを起動します。
Open Linkで進みます。
暫く待ちます…
Done!CtrlX Engineeringが起動しました。
Your First Project
簡単なプロジェクトを作成してみます。ctrlX PLC Engineeringは基本Codesysと同じの操作で、CodesysやTwinCATなれてる方はすぐ使えるでしょう。
New Project
Basic Operations>New Projectをします。
プロジェクトが作成されました。
Program
PLC_PRGで新しいプログラムを作成します。
画面はCodesysとほぼ一緒です。
周期で変数を加算するプログラムを作成します。
Login!
プログラムをDownloadする前に、まずControl PanelからVirtualControl-xxxxのNetwork AdapterのIPアドレスを変更してください。
ProjectをDownloadします。
Communication Settingsの画面が表示されています。
VirtualCoreのIPを入力し、OKします。
証明書に同意>Okで進みます。
UssernameとPasswordはWEB ServerのLogin情報と一緒です。
Username:boschrexroth
password:boschrexroth
になります。
Done!Connectionが確立されました。
もう一度Loginし、Yesで確定します。
プログラムがDownloadされました。
Runtime ApplicationをRunします。
Done!プログラムを実行しています。