Skip to main content

プログラムによるカムの作成

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_MULTITASKSTATE_START_CREATE_ONLINE_TABLE_MULTITASK、および STATE_READ_ONLINE_TABLE_MULTITASK という状態で、カムの作成は別のタスクで開始されてから読み込まれます。

    • パート 3:

      STATE_POWER_DRIVES 状態、マスター軸と 3 つのスレーブ軸の仮想軸が初期化されます。次に、以下を使用してカムを選択します MC_CamTableSelectSTATE_SELECT_TABLE ファイナルでステートと実行 STATE_MOVEMENT 状態。マスター軸は以下を使用して移動されます MC_MoveVelocity そして 3 つのカムのマスターとして使用されます。

  • MultitaskCamBuilder

    第 1 回で説明したカムを生成するプログラム PLC_PRG。唯一の違いは、カムのマルチタスク/マルチコアセーフバリアントが使用されていることです

  • GVL

    カムのマルチタスク/マルチコアセーフバリアントがここでインスタンス化されています。

  • Visualization

    ビジュアライゼーションには SMC_Visu_CamDisplayer カムを表示するためのエレメント。のパート 1 で生成されたカム PLC_PRG が表示されます。

  • CamDisplayerSettings

    にカムを表示するための追加要素 Visualization

  • Trace

    トレースを使用して仮想軸の動きを追跡できます。マスターの現在位置と、3 つのスレーブ軸の位置、速度、加速度が記録されます

試運転

  1. アプリケーションをビルドし、コントローラーにダウンロードします。

  2. トレースおよびアプリケーションを起動します。

  3. サンプリングトレースを観察します。

  4. 生成されたカムのビジュアライゼーションでの表示