プログラムによるカムの作成
の BasicMotion_CreateCamTableOnline.project
サンプルプロジェクトは、インストールディレクトリにあります。 CODESYS 下 ..\CODESYS SoftMotion\Examples
。
この例は、IEC コードを使用してカムを作成して使用する方法を示しています。ここでは以下の点について説明します
カムエディタで作成されたカムは、IEC コードを使用して再度作成されます。
あるケースでは、カムディスクはバスタスクで生成されます。
それ以外の場合は、カムディスクは別のタスクで生成されます。
次に、3 つのカムすべてが同じマスター軸と異なるスレーブ軸で動作します。3 つのスレーブの動きは同じです
IEC コードで生成されたカムがビジュアライゼーションに表示されます。
プログラムによるカムの作成に関する詳細については、以下を参照してください。 プログラムによるカムの作成
アプリケーションの構造
アプリケーションは次のコンポーネントで構成されています。
CamOffline
カムエディタで作成したカム。IEC コードを使用して再度作成する必要があります。
PLC_PRG
このプログラムは、単純なステートマシンと、論理的には3つの部分で構成されています。第 1 部と第 2 部では IEC コードでカムが作成されています。第 3 部では、以前に作成したカムとオフラインで作成した同一のカムを実行します
パート1:
最初の状態では
STATE_CREATE_ONLINE_TABLE
、カムはIECコードで作成されます。 SMCB.カムビルダー 機能ブロックからSM3_CamBuilder
この目的にはライブラリが使用されます。3つのセグメントが追加されます。Poly5要素、Line要素、そしてもう1つのPoly5要素です。ビルダーは カムオンライン ここからカムを作成します。この時点から、カムはIECコードで作成され、 カムオフライン カム エディターでオフラインで作成されたカム。パート2:
で
STATE_INIT_ONLINE_TABLE_MULTITASK
、STATE_START_CREATE_ONLINE_TABLE_MULTITASK
、およびSTATE_READ_ONLINE_TABLE_MULTITASK
という状態で、カムの作成は別のタスクで開始されてから読み込まれます。パート 3:
で
STATE_POWER_DRIVES
状態、マスター軸と 3 つのスレーブ軸の仮想軸が初期化されます。次に、以下を使用してカムを選択しますMC_CamTableSelect
でSTATE_SELECT_TABLE
ファイナルでステートと実行STATE_MOVEMENT
状態。マスター軸は以下を使用して移動されますMC_MoveVelocity
そして 3 つのカムのマスターとして使用されます。
MultitaskCamBuilder
第 1 回で説明したカムを生成するプログラム
PLC_PRG
。唯一の違いは、カムのマルチタスク/マルチコアセーフバリアントが使用されていることですGVL
カムのマルチタスク/マルチコアセーフバリアントがここでインスタンス化されています。
Visualization
ビジュアライゼーションには
SMC_Visu_CamDisplayer
カムを表示するためのエレメント。のパート 1 で生成されたカムPLC_PRG
が表示されます。CamDisplayerSettings
にカムを表示するための追加要素
Visualization
Trace
トレースを使用して仮想軸の動きを追跡できます。マスターの現在位置と、3 つのスレーブ軸の位置、速度、加速度が記録されます
試運転
アプリケーションをビルドし、コントローラーにダウンロードします。
トレースおよびアプリケーションを起動します。
サンプリングトレースを観察します。
生成されたカムのビジュアライゼーションでの表示