Skip to main content

軸位置の永続化

アブソリュートエンコーダーを備えた軸は、位置を保存して、コントローラーを再起動した後も前の位置を維持できます。ホーミングは不要です。は SMC3_PersistPosition そして SMC3_PersistPositionLogical ファンクションブロックは保存操作のための機能を提供します。必要なデータはに保存されます。 SMC3_PersistPosition_Data そして SMC3_PersistPositionLogical_Data

ザル bPositionStored 出力は、次の内容かどうかを示します。 PersistentData 変更されました。これはパーシステンスのタイプによって異なるタイミングで発生します

エンコーダによって保持される値の範囲は、以下で設定する必要があります。 SMC_PersistPosition.maxPersistedValue 入力。マルチターンエンコーダの場合、値は次のように設定されます 16#FFFFFFFFFF。たとえば、12 ビットのシングルターンエンコーダの場合、値は 2^12 = 4096 に設定されます

詳細については、以下を参照してください。 データの永続性

ヒント

インスタンスは、次のような宣言によって永続化されます。 VAR_PERSISTENT またはApplicationComposerのPersistenceManager。

マルチターンアブソリュートエンコーダの軸位置を物理軸で永続化

要件:軸にはマルチターンアブソリュートエンコーダがあります。

使用 SMC3_PersistPosition 物理軸の位置を永続化するためのFB。それぞれのプログラムはモーションタスクで実行されます。

  1. のインスタンスを作成する SMC3_PersistPosition 軸のファンクションブロック。

    pp: SM3_BASIC.SMC3_PersistPosition;

  2. の永続データ構造をインスタンス化します SMC3_PersistPosition_Data タイプ。

    pp_Data: SM3_BASIC.SMC3_PersistPosition_Data1;

  3. モーションタスクのプログラムを拡張して、 SMC3_PersistPosition インスタンスはそこで実装されます。

    CFCに実装された呼び出し:

    _sm_img_call_of_SMC3_PersistPosition.png

    機能ブロックは、モーションタスクと周期的に呼び出されます。 The SMC3_PersistPosition インスタンスは、起動操作中に保存された位置の復元を実行します。通常の操作では、FBはそれぞれのデータ構造に実際の位置を保存します。

物理軸によるシングルターンアブソリュートエンコーダの軸位置の持続

要件:物理軸にはシングルターンアブソリュートエンコーダがあります。

を使う SMC3_パーシスト・ポジション 軸の位置を固定するためのファンクションブロック。それぞれのプログラムはモーションタスクで実行されます。位置が正しく表示されるのは、軸がまったく移動していない場合、またはコントローラーのスイッチをオフにしてからオンにするまでの距離が短い場合 (1 回転距離の最大半分) の場合に限られます。たとえば、機械式ブレーキを使用してこれを行うことができます。コントローラーのスイッチを切ったときに軸が大きく動くと、誤った位置になります。FBでは確認できません

  1. のインスタンスを作成する SMC3_PersistPosition 軸のファンクションブロック。

    ppst_X: SM3_BASIC.SMC3_PersistPositionSinglturn;

  2. の永続データ構造をインスタンス化します SMC3_PersistPosition_Data タイプ。

    ppst_Data_X: SMC3_PersistPositionSingleturn_Data;

  3. モーションタスクのプログラムを拡張して、次の呼び出しを行うようにする SMC3_PersistPosition インスタンスが実装され、の永続データ構造が実装されました。 SMC_PersistPosition_Data タイプが渡されます。

論理軸の軸位置を永続化する

要件:軸は論理的です。

を使う SMC3_パーシスト・ポジション (ロジカル) 論理軸の位置を固定するためのファンクションブロック。これは、上位の物理軸の位置が固定されている場合にのみ機能します。これらの FB を使用して仮想軸の位置を固定することはできません

  1. のインスタンスを作成する SMC3_PersistPositionLogical 軸のファンクションブロック。

    ppl: SM3_BASIC.SMC3_PersistPositionLogical;

  2. の永続データ構造をインスタンス化します SMC3_PersistPositionLogical_Data タイプ。

    ppl_Data: SMC3_PersistPositionLogical_Data;

  3. モーションタスクのプログラムを拡張して、 SMC3_PersistPositionLogical インスタンスが実装され、タイプの永続データ SMC3_PersistPositionLogical_Data それに渡されます。