カムの切り替え
基本的に、いつでも異なるカムを切り替えることができます。ただし、いくつかの点を考慮する必要があります。
カムエディタでは、スレーブの位置はカム関数の関数値として一意に定義されます。この関数はマスター値の範囲で定義され、次のように表すことができます。
SlavePosition = CAM( MasterPosition )
マスタードライブの現在の位置は通常、マスター値の範囲から外れているため、有効な引数を表すには、カム関数の定義範囲でマスター位置をスケーリングする必要があります。
SlavePosition = CAM( MasterScale*MasterPosition + MasterOffset )
同様に、モードでカムが開始した場合は、機能値(スレーブ位置)をスケーリングする必要があります
Absolute
ジャンプにつながるでしょう:SlavePosition = SlaveScale*CAM( MasterPosition ) + SlaveOffset
両方のスケーリング値を適用する必要がある場合があります。その結果、次のようになります。
Slaveposition = SlaveScale*CAM( MasterScale*Masterposition + MasterOffset ) + SlaveOffset
スケーリングおよびオフセットパラメータの適切な値は、期間ごとに異なります。
カムの切り替えは、次の 3 つの方法で行うことができます。
2番目のインスタンスを介して2番目のカメラを起動します
MC_CamIn
とBufferMode = MC_BUFFER_MODE.Buffered
、StartMode = relative
、MasterAbsolute = FALSE
、 そしてSlaveAbsolute = FALSE
。重要
現在 CODESYS SoftMotion バージョン 4.17.0.0
割り当てて新しいカムを開始します
MC_CamIn.CamTableID
新しいカムに(再起動なしMC_CamIn
機能ブロックが必要です)。次の点がユースケースに当てはまる場合は、このバリアントをお勧めします。
以下のすべてのカムは、
MasterAbsolute = FALSE
またSlaveAbsolute = FALSE
。新しいカムは、前のカムの最後から正確に開始する必要があります。
他のパラメーターは変更されません(例:
SlaveOffset
)。重要
定期的なカムと次の例で説明されているジャンプ
SlaveAbsolute = FALSE
、します いいえ 次のカムは前のカムの終了位置に正確に配置されるため、このバリアントに適用されます。新しいカムは、前のカムが報告したときと同じサイクルで新しいカムへの切り替えが行われた場合にのみ、前のカムの最後に正確に配置されます
EndOfProfile = TRUE
。
再起動して新しいカムを開始します
MC_CamIn
ファンクションブロック。新しいカムの正しい機能のためにパラメータを変更する必要がある場合は、このバリアントをお勧めします(たとえば、
SlaveOffset
次の例から)。次の例の制限が適用されます。
次の例では、 CAM1
に CAM2
:
CAM1
5次多項式とそれに続く2つの線分で構成されます。

CAM2
2つの線分とそれに続く1つの5次多項式で構成されます。

両方のカムを切り替えるときは、次のことを考慮する必要があります。
ジャンプを防ぐために、最初のカムの終点での速度と加速度の値は、2番目のカムの始点での値と一致する必要があります。この例では、同じ速度(= 1)と加速度(= 0)がの終点に割り当てられているため、この条件が満たされます。
CAM1
との出発点CAM2
。2番目のカムを開始できます
Relative
スレーブの開始位置を0として定義した場合は、モードになります。ただし、最初のカムはで実行されている必要があります。non-periodic
モード。それ以外の場合、CAM1
定期的だった、そしてRelative
設定するとジャンプします。

倍率はからの移行を示しています CAM1
に CAM2
。青い線は、マスター位置でのカム機能の評価を示しています x1
と x2
。
今、私たちはの不利なケースを見ていきます periodic
:
| |
| 呼び出しは、マスター位置でカムの評価を開始します |
| モジュールの次の呼び出しでは、マスターの位置 |
| 新しいカムに切り替えます |
| 修士課程での2回目の評価 |
を選択 non-periodic
ジャンプを防ぐためのモード:
| |
| 呼び出しは、マスター位置でカムの評価を開始します |
| モジュールの次の呼び出しでは、マスターの位置 |
| 新しいカムに切り替えます。 |
| 修士課程での2回目の評価 |
カムを開始するには Absolute
モードでは、スレーブが適切な開始位置にあることを確認する必要があります。マスターの値の範囲がスレーブの周期と一致する場合、カムが周期的であるかどうかに関係なく、カム間の切り替えに問題はありません。
上記の例では、開始できます CAM2
の Absolute
マスターとスレーブの周期がマスター値の範囲と一致する場合のモード CAM2
(それぞれ360°です)。
そうでない場合、たとえば、スレーブの期間が 270°
(水色の線で示されています)、次に Absolute
オプションは、追加のアクションを実行せずに許可されていません。

この場合、から切り替えるときにスレーブは90°になります CAM1
に CAM2
。起動 CAM2
の Absolute
モードでは、0°にジャンプします(灰色の線で示されます)。
ただし、スレーブオフセットを適切な値の90°に設定することにより、ジャンプを防ぐことができます。