Beckhoff Example #03 : TF5100 | TwinCAT 3 NC I (Tc2_PlcInterpolation)

PLC

Beckhoffの補間動作機能「NC I」の2つのサンプルプログラムの内、Gコードを使用しない「PlcInterpolationSimpleSample」を動かします。

1 構成

2 サンプルプログラムのダウンロード

Beckhoff Twincat3 InfoSysの下記リンクから「2944140171.zip」をダウンロードします。
https://infosys.beckhoff.com/english.php?content=../content/1033/tf5100_tc3_nc_i/3281888011.html&id=

3 サンプルプログラムを開く

ダウンロードしたZipを解凍し、「PlcInterpolationSimpleSample.sln」を開きます。

4 サンプルプログラムの立ち上げ

CX5140とオンライン接続した状態とします。(Localで実行する場合は不要)

“BUILD”>“Build Solution”でビルドします。

“Activate Configuration”を選択します。

“OK”

“はい”

“OK”

“Login”

“Yes”

“Start”

5 動作確認

5.1 プログラムの操作

プログラムPOU“MAIN”の変数“bExecute”の“Prepared value”に“TRUE”を入力して“Write values”を選択すると動作します。

5.2 Scope view

あらかじめScope viewのサンプルが含まれていますが、新たに“XYZ Scope”を追加してみます。
“TwinCAT Measurement Project1”を右クリックし“Add”から“New Item”を選択します。

“XYZ Scope Project”を選択し任意の名前を入力して“Add”を選択します。

追加した”Scope Project1”を右クリックし”Change Target System”からターゲットを選択します。

“DataPool”を右クリックし”Target Browser“を選択します。

ターゲットの“501:TCNC.NcTaskSaf”を選択し、“Axes”の“X.ActPos”を右クリックして“Add to Scope”を選択します。

同様に“Y.ActPos”と“Z.ActPos”を追加します。

追加した3個のActPosを複数選択して“Axis Group”に追加します。

以下のようになります。

“Start Record”を選択しロギング開始します。

プログラムPOU“MAIN”の変数“bExecute”の“Prepared value”に“TRUE”を入力して“Write values”を選択すると動作します。

5.3 動作解説

補間動作の設定はプログラムPOU“MAIN”の下のアクション“PrepareTable”の中で実行する“FB_NciFeedTablePreparation”のインスタンス“fbFeedTablePrep”で行っています。
位置と速度の設定値は構造体配列“aPositionCmds”の初期値に9個分格納されており、下表のようになっています。

fPosX:=1000.0fPosY:=100.0fPosZ:=500.0
fPosX:=1200.0fPosY:= 80.0fPosZ:=300.0
fPosX:=1250.0fPosY:= 80.0fPosZ:=300.0
fPosX:=1200.0fPosY:= 80.0fPosZ:=300.0
fPosX:= 900.0fPosY:=100.0fPosZ:=500.0
fPosX:= 100.0fPosY:=100.0fPosZ:=300.0
fPosX:= 100.0fPosY:=100.0fPosZ:=100.0
fPosX:= 100.0fPosY:=100.0fPosZ:=300.0
fPosX:= 800.0fPosY:= 80.0fPosZ:=500.0

表の位置とXYZ Chartの実際の軌跡との関係は以下のようになります。

6 参考文献

Beckhoff: TF5100 | TwinCAT 3 NC I

以上。