こちらはBeckhoff TwinCATの新しいシリーズXTSシステムに関連する記事です。みなさんは展示会でよくBeckhoffの展示ブースでXTSシステムを見かけますが、なんか難しそうなイメージがありますね。
このシリーズを通じてみんなと一緒にXTSシステムを楽しく体験できれば嬉しいです。
さ、XTS GOGOG!
Install Packages
XTSシステムを構築するにはTF5850とTF5400のパッケージが必要です。
こちらのLinkでTF5850をDownloadしてください。
こちらのLinkでTF5400をDownloadしてください。
XTS Configuration
XTSシステムは、ハードウェア・コンポーネントとソフトウェア・コンポーネントを相互に通信し機能しなければならない構成で作られ、システムを思い通りに動作させるには、ソフトウェアとハードウェア間のプロセスと通信経路を理解する必要があります。
このXTSシステムのコンポーネントはこのように含まれてます。
- modules
- guide rails
- movers
- IPC上で動作するいくつかのソフトウェア・コンポーネント
XTSの通信は、CANopen通信構造に基づいて行われ、追加データを転送し、コイル電流、整流、ダイナミクス、モーションプロファイルを計算します。
XTS Modules<–>XTS Driver
通信の基礎となるのは、XTS Moduleで構成されるハードウェアであり、XTS Moduleはセンサー値をXTS Driverに送信します。
XTS Driver<–>SoftDrive
XTS DriverはXTS Moduleのセンサ値を使用してMoverの位置を決定し、各Moverの位置値をそれぞれのSoftwareDriveに送信します。
NC Axis<–>SoftDrive
SoftDriveは、現在Moverの位置値と速度値をNC Axisに送信します。
NC Axisは受信した値に基づいてMotion Profilesを生成し、位置と速度の設定値をSoftDriveに送信します。
SoftDriveは値を補間し、設定値と実際値の比較を行い、制御構造から得られるMoverの現在値をXTS Driverに返送します。最後はXTS Driverが電流設定値を計算し、XTS Moduleのコイルに送信する。
NC Axis<–>Collision Avoidance Group
NC AxisがCollision Avoidance Group(衝突回避)に含まれている場合、NC Axisは各Moverの動作プロファイルを表す外部設定値を受信します。
NC Axis<–>AXIS_REF
モーションコマンドと管理コマンドは、ユーザがPLCアプリケーションのライブラリからNC AxisまたはCollision Avoidance group(衝突回避)に直接転送します。
Basic principles
XTS Softwareの操作Interfaceでは、XTSで実装される大規模かつ高度なシステムの作業と取り扱いを簡単にし、シンプルな画面構成のおかけで迅速な試運転と直感的な操作が可能になります。それにより、長さ、形状、バリエーションに関係なく、多数のXTSシステムを非常に簡単にセットアップできるようになります。
そのXTS Softwareでは、XTSソフトウェアの主な目的は、Track Management やLeave and Arrive機能といった様々なソフトウェア機能をサポートすることで、
- Track Management機能を活用し、XTSシステムを個々のセクションに分割し、それらを結合して連続Trackを形成することができます。これにより、個々のセクションをさまざまな方法で機械的に整列させることができ、システム上でより柔軟に使用することができます。
- Leave and Arrive機能を使えば、システム稼働中にMoversを削除や追加したりすることも可能です。
次はXTSのMain構成例を紹介します。
Closed XTS system
例えば3mのXTSスターターキットの構成では、180度回転と10個のMoversを備えたClosed XTS Systemです。
XTS system with Track Management
下図のように4台のXTSPartsと6台のMoversによる、スイッチまたはエレベーターのようなXTSTrack Management Systemです。
The difference between these two systems?
この2つのシステム構成の大きな違いは、Closed XTS Systemでは、ModuleとMoversの順序が常に一定であることです。なので、Moversが移動できるXTS Trackは1つだけです。
Track Management機能を備えたXTS Systemでは、Moduleはその位置を変更し、他のModuleと整列することができます。なので、ModuleとMoversの順序を変更し、新しいTrackを形成することができます。これらの新機能の概要を把握できるように、XTS PartsとXTS Tracks機能を導入してください。
![](http://soup01.com/wp-content/uploads/2024/06/image-147.png)
More about Track Management…
例えば、いま下図のようなTrack Systemがあるとあるとします。
XTS Parts
XTS Partsは、移動体が走行する物理的なハードウェア部品であり、自動車にとっての道路部分に相当します。
![](http://soup01.com/wp-content/uploads/2024/06/image-148.png)
XTS Track
XTS TrackはMoversの実際の軌道であり、個々のハードウェア・コンポーネントを組み立て
ることによって、自動車はさまざまな路面区間を持つ可能性のあるコースが作られます。
![](http://soup01.com/wp-content/uploads/2024/06/image-149.png)
How to Config?
TwinCATプロジェクトはXTS Configuratorを使用しシンプルなXTSシステムを構築し、すべてのMoversに対して1つのXTS Partsと1つのXTSトラックTrackで作成できます。
More sophisticated XTS systems
より複雑さXTSシステムは、複数のXTS Partsが組み合わされ、異なるXTS Trackを形成できます。
Leave and Arrive function
下図のように、カーフェリーは2つの可能な線路の間で使用でき、自動車を異なるルートに移動できます。Leave and Arrive機能を使えば、一つのMoversをシステムから出したり、追加のMoversをシステムに入れたりすることができます。
![](http://soup01.com/wp-content/uploads/2024/06/image-151.png)
Entrance and Exit
XTS Partsの外には未使用車の駐車場、新車ディーラー、故障車の修理工場になり、道路部分は出入り口の役割になります。
自動車をXTSのシステムに移行すると、こんなことができるようになります。
- メンテナンスのためにMoversを取り外せます
- 必要に応じて新しいMoversを追加します
- 不要になったMoversを撤去します
![](http://soup01.com/wp-content/uploads/2024/06/image-152.png)
Configuration Setup
XTSのハードウェアコンポーネントとI/Oコンポーネントなどは、手動で作成することやTwinCATのXTS ConfiguratorとXTS Simulation Builderを使用して素早く簡単に作成することもできます。その前に、XTSシステムにある構成を理解しましょう。
XTSシステム設定の主な構成は以下の通りです。
- XTS Processing Units
- XTS Parts
- XTS Modules
- XTS Tracks
- XTS Movers
- XTS Stations
- NC axis
- SoftDrive
- I/O Terminal
![](http://soup01.com/wp-content/uploads/2024/06/image-153.png)
Processing Unit
Processing UnitはXTSシステムの中心であり、必要なオブジェクトはすべて処理またはユニットに集約され、互いに論理的にリンクします(旧バージョンのXTS IO Driverオブジェクトを置き換えます)。
アプリケーションで使用される個々のシステムの数に応じて、1つまたは複数のProcessing Unitを作成できます。注意するのは各Processing Unit には、他のProcessing Unit で使用されていないタスクが最低限1つ必要です。
![](http://soup01.com/wp-content/uploads/2024/06/image-154.png)
Parts
Partsとは、XTSシステムに最低限必要な構成要素であり、またシステムでは最低限は1つのモジュール1つが必要です。通常、1つの部品は1つのInfeed Lineで構成され、Parts内に複数の供給を行うこともできます。
![](http://soup01.com/wp-content/uploads/2024/06/image-155.png)
Module
Moduleは物理module AT2xxx-0xxx に対応し、常に部品のLower Layerにあります。注意するのはTaskは各Moduleに割り付ける必要があります。また、Infeed Modulesやコネクタ付
モジュールだけがEtherCAT通信インタフェースを持っています。
さらにModuleにはSimulationモードとMachine Modeがあります。
- Simulation Mode
ハードウェア必要なしのモードになります - Machine Mode
物理的なAT2xxx-0xxxモジュールを各モジュールに割り当てる必要があります。
![](http://soup01.com/wp-content/uploads/2024/06/image-156.png)
Machine Modeに必要な物理的なAT2xxx-0xxxをBeckhoffのHPから確認できます。
![](http://soup01.com/wp-content/uploads/2024/06/image-157.png)
Track
Trackとは、Moversが使用できる経路のことで、1つまたは複数のPartsから構成されます。また、Partsは特定のXTSトラックに複数あったり、複数の異なるTrackに挿入することもでき、好きなだけTrackを作成できます。
Traclを作成するには、どのPartsがこのTraclに含まれ、どの順番でPartsが現れるかを定義する必要があります。
注意するのはTrackが閉じているかどうかの設定が大事です。この設定によって、Moversが円のように無限に走行するか、システムに終点があるかどうかを決定します。
その指定が正しくない場合、Moversがシステムから離れる可能性があるし、Closed Systemの場合、Moversが通常のように円を描いて移動することはできません。
![](http://soup01.com/wp-content/uploads/2024/06/image-158.png)
Movers
MoversはModulesとともにXTSシステムの主要部品で、TwinCAT 3のNC機能を使って対応するTrackをアクティブにすることで、システム内のPartsの上を移動します。また現在、Collision avoidance function(衝突回避機能)を備えた250台のMoversをプロジェクト内で同時に制御できます。
各MoversはSoftDriveを介してNC軸に接続され、NCと通信して基本制御コマンドとの互換性を持つ独自のSoftDrive Objectを持っています。
SoftDriveは、Moversを制御する軸用のSoftware Controllerで、SoftDriveはMoversの制御を異なる負荷に適応させることができます。
![](http://soup01.com/wp-content/uploads/2024/06/image-159.png)
Stations
XTS Station機能は現在まだベータ段階で、将来的には、さらに多くの機能や情報が利用できるようになり、現在のインターフェースも変更される可能性があります。
Stationはシステムや関連アプリケーションを管理するのに非常に便利で、システム内で個々のプロセスが行われる場所に関する情報を提供し、アプリケーション全体の構造を示します。この情報は、PLC の XTS Utility ライブラリを使用して読み出すこともできます。
各Stationはそれぞれ識別データを持っています。
- ID
- 色
- 名前
- 説明
また、有効(Is Enabled)選択ボックスに関係なく、各Stationには開始位置と終了位置が定義されています。Station内では、Moversが停止すべき場所・特定のタスクが完了した場所を示す停止位置・などを設定することができます。
![](http://soup01.com/wp-content/uploads/2024/06/image-160.png)
NC Axis
各Moversは、それぞれのMoversの移動のための設定値プロファイルを生成するNC Axisに接続されている。NC軸はプロジェクト内のMOTION項目に作成され、SoftDriver Objectを介してMoversにリンクされます。
NC Axiesは、TwinCAT NCインタフェースを介して直接操作することも、PLC-open準拠のFunction Blockを備えたライブラリを使用してPLCを介して操作することもできます。
![](http://soup01.com/wp-content/uploads/2024/06/image-161.png)
SoftDrive
SoftDriveは各MoversをNC軸に接続し、NC設定値プロファイルを使用して、Moversを動かすための位置、速度、電流を制御し、必要な電流と電流方向を生成します。また、SoftDriveと各Movers間の接続はDataPointerを介して行われます。
![](http://soup01.com/wp-content/uploads/2024/06/image-162.png)
I/O terminal
各ModulesはEtherCAT経由でIPCに接続され、この接続はI/O terminalだといいます。
各I/O terminalにはインフィードラインの物理モジュールが割り当てられ、EtherCATマスタに統括されています。
EtherCATのネットワークスキャン後、接続ステータス、個々のセンサーデータ、ハードウェアのステータスデータをI/O概要で呼び出すことができます。
そしてI/O terminalとModuleのDriver 接続はDataPointer経由で行います。
![](http://soup01.com/wp-content/uploads/2024/06/image-163.png)
Implementation
Create New Project
TF5850とTF5400のパッケージをインストールした上、TwinCAT XAEを起動してください。TcXaeShellでもVS 2019からでもOkです。
今回の記事ではVS2019を使用します。
XTS Tool Window
Extension>TwinCAT>XTS>XTS Tool Windowを起動します。
XTS Tool Windowは、TwinCATプロジェクトのすべてのXTS関連コンポーネントのユーザインタフェースであり、そのXTS Tool Windowには、以下の便利なツールが揃えています。
- XTS Configurator
- XTS Simulation Builder
- XTS System View
などなどです。
XTS Tool Windowが表示されました。
XTS Simulation Builder
自分はもちろんXTSのような高価なデバイスをもっていませんので、Simulation上で記事を展開いたします。
XTS Simulation Builderを使用すると、XTSハードウェアの仮想構造を作成し、TwinCATでのシミュレーション用にI/Oコンポーネントを生成できます。
この便利なXTS Simulation Builderを直感的に操作でき、簡単にSimulationのXTSシステムを構築できます。さらに、XTSソフトウェアの多くの設定オプションがサポートされているため、新しいXTSシステムの計画やシミュレーションにツールをフル活用することが可能です。
XTS Simulation Builderを起動するため、下図の赤枠にあるボタンをクリックてください。
Done!XTS Simulator Builderを立ち上げました。
XTS Simulatorの一番したにScrollしてください。
Using Template
XTS Simulator BuilderにはいくつかのTemplatesは用意されていますので、今回の記事ではOral Templateを使用します。
Done!One Click するだけでClosed XTS Systemが作成しました。
Where are the Modules?
せっかくなので、ここでもう1度XTS Systemの部品を復習しましょう。Moduleは物理module AT2xxx-0xxx に対応し、常に部品のLower Layerにあります、と先ほど言いましたね。なので、下図のように、Module Folderの下にAT2001-250などのModulesがたくさん含まれています。
Add Movers
次はMoversを追加するため、MoversのTabから追加したいMoversを選び>+Add Moverします。
Done!Moverが追加されました。
先と同じ操作でトータル6つのMoversを追加しました。
Where are Tracks?
みんなさんが気がついたかもしれませんが、Track Folderがありますね。
先ほども説明しましたが、Trackとは、Moversが使用できる経路のことで、1つまたは複数のPartsから構成されます、と。
下図のXTS Systemは、Track1のみで、Closed XTS Systemの全体になります。
すべての設定が問題なければ、赤枠の右矢印で次のステップに進みましょう。
Configure Real-Time
次のReal Time画面ではTaskやXTS Process Unitの割り付けを設定します。今回はSimulationだけなので、そのまま進んでよいと思います。
Generate Project
XTS Simulator Builderで作成したHardware ConfigurationをそのままプロジェクトにImportできますので、赤枠の右矢印をクリックしてください。
Done!最後はもう一回赤枠の右矢印をクリックしXTS Simulator Builderを終了してください。
少々お待ち下さい。
Result
Done!先ほど構築したXTS Simulator BuilderプロジェクトがTwinCATプロジェクトに追加されました。
Axes項目にも6つのMoversが含まれています。
先程のXTS Tool Windowsからにもう一回確認しましょう。
Base time
次はReal Time>Base Time項目を250usに設定します。
Activate Configuration
最後はHardware ConfigurationをDownloadするため、Activate Configurationをクリックします。
OKで進みます。
OKでTwinCAT RuntimeをRun Modeに切り替えましょう。
Result
最初にはMover Axis1をPower-ONしましょう。
Online画面ではMover Axis 1のControl Panelを開きます。先ほども言いましたが、最終的にMoversはTwinCAT プロジェクトのNC Axisと紐つけますので、XTSだろうかXPlanarだろうか普通のServoだろうか、操作画面も同じです。
いまMover Axis1の現在地は45mmにあり、それはMover Axis1のStart Positionです。
実は先程のXTS Configuratorには各MoverにはSimulation Start-up Settingsという項目がありまして、Positionのところで起動位置を設定できます。
TF5850をインストールするとき、DesktopではXTS Viewerというツールもインストールされます。そのツールを使ってXTS システムの動きを3D確認することができます。
こちらはXTS Viewer画面です。
Defaultでは<Local>だと設定されますが、Drop Listから他のTwinCAT Runtimeと接続も可能です。
今回の記事ではLocalのTwinCATと接続し、Connectで進みます。
Done!XTS ViewerとLocal TwinCAT Runtimeが接続されました。
XTS System全体の角度を変更したい場合、Drop-Listから表示したい角度を設定できます。
Done!現在のXTS Systemは-45度になります。
次は赤枠のボタンをクリックし該当するシステムにある部品を一覧できます。
Done!
今度はMover Axis1のPower ONするため、EnablingにあるSetボタンをクリックします。
Set Enabling画面が表示されます。
Controller・Feed Fw・Feed BwのCheckboxを入れ、Overrideを100%に設定し、OkでMover Axis1をPower Onしましょう。
Done!Mover Axis1のReady FlagがONになりました。
こちらの動画から動作確認できます。
最後は他のMover AxisをPowerONし、CouplingのTabからMover Axis1にCouplingし同期動作を作成します。
こちらの動画から動作確認できます。