Beckhoff CX5140に「TF5112 | TwinCAT 3 Kinematic Transformation L3」を適用し、3軸デルタ型パラレルリンクロボット「3D Delta」を仮想軸で制御します。
1 構成
![](https://control-design.jp/wp-content/uploads/2023/04/image-172.png)
2 TwinCAT 3 Advanced Motion Pack :ダウンロード
Beckhoffのサイトから「TwinCAT 3 Advanced Motion Pack」をダウンロードします。
https://www.beckhoff.com/ja-jp/products/automation/twincat/tfxxxx-twincat-3-functions/tf5xxx-tc3-motion-control/tf5110.html
![](https://control-design.jp/wp-content/uploads/2023/03/image-1.png)
3 TwinCAT 3 Advanced Motion Pack:インストール
ダウンロードした「TF5400-TC3-Advanced-Motion-Pack.exe」を起動しインストールを開始します。
“OK”
![](https://control-design.jp/wp-content/uploads/2023/03/image-2.png)
“NEXT”
![](https://control-design.jp/wp-content/uploads/2023/03/image-3.png)
“I accept…”→“NEXT”
![](https://control-design.jp/wp-content/uploads/2023/03/image-4.png)
“NEXT”
![](https://control-design.jp/wp-content/uploads/2023/03/image-5.png)
“Install”
![](https://control-design.jp/wp-content/uploads/2023/03/image-6.png)
“Finish”
![](https://control-design.jp/wp-content/uploads/2023/03/image-7.png)
“Yes”
![](https://control-design.jp/wp-content/uploads/2023/03/image-8.png)
4 構成情報の作成
TwinCAT3 XAEを起動し適当な名前の新規プロジェクトを作成します。
“MOTION”にACS用の仮想軸ACS1~3、TCPの座標用に仮想軸MCS1~3の計6軸を作成します。
![](https://control-design.jp/wp-content/uploads/2023/04/image-173.png)
ACS1~3の単位をDegree、表示単位をModuloに変更します。
![](https://control-design.jp/wp-content/uploads/2023/03/image-10.png)
“MOTION”にKinematics用の軸グループを作成し、ロボットタイプ「3D Delta Type1」を指定します。
(今回、ロボット本体が無いのでロボット本体設定はデフォルトのまま)
![](https://control-design.jp/wp-content/uploads/2023/02/e2ecbc6d524ad351d80cfa2a4a1af933.gif)
5 PLC Configuration
“PLC”を右クリックし“ADD New Item…”を選択し、適当な名前を入力して“Add”します。
![](https://control-design.jp/wp-content/uploads/2023/03/image-12.png)
“Reference”を開き“Add library”を選択します。
![](https://control-design.jp/wp-content/uploads/2023/03/image-13.png)
“Tc2_NcKinematicTransformation”→“OK”
![](https://control-design.jp/wp-content/uploads/2023/03/image-14.png)
他にもライブラリを追加し以下のような状態にします。
![](https://control-design.jp/wp-content/uploads/2023/03/image-15.png)
“FB_KinConfigGroup”のヘルプに記載のサンプルプログラムを参考に軸変数を作成します。
![](https://control-design.jp/wp-content/uploads/2023/03/image-16.png)
以下のように各軸とリンクします。
![](https://control-design.jp/wp-content/uploads/2023/04/image-174.png)
キネマティクス用軸グループにもリンクします。
![](https://control-design.jp/wp-content/uploads/2023/03/image-18.png)
6 MCS制御プログラム
以下の「TF5100 | TwinCAT 3 NC I」を参考に、MCSに割り付けた軸変数に対して補間制御を実行するプログラムを作成します。
7 動作確認
MCSのX,Y,Z座標が以下のように移動する直線補完動作を作成し動作確認しました。
(0,0,0)→(50,50,50)→(50,100,50)→(50,100,100) →(50,50,100)→(50,50,50)→(0,0,0)
![](https://control-design.jp/wp-content/uploads/2023/02/ec04ceccad5146c21d90cecd29a04612.gif)
このときのMCSの軌跡をScope ViewのXYZ Chartで見ると以下のようになります。
![](https://control-design.jp/wp-content/uploads/2023/02/3f8dffc788b4f54bea76e019f1a6a753.gif)
8 参考文献
Beckhoff:TF511x | TwinCAT 3 Kinematic Transformation
以上。