Skip to main content

標準的なユースケース

The SM3_Basic ライブラリには、標準の設定/実際の値のインターフェイスを介してドライブと対話しない上位の機能ブロックが含まれています。これらの機能ブロックは、コマンドを提供したり、インスタンスのパラメータを読み書きすることによってドライブの設定を変更したりします。 AXIS_REF_SM3

ドライブの再初期化

実行時にドライブパラメータを変更した場合は、ドライブを再初期化する必要があります。例:ロータリードライブのスケーリング係数またはモジュロ周期を変更します。を呼び出して SMC3_ドライブを再起動 にライジングエッジがあるファンクションブロック Execute 入力、 wCommuncationState ドライブのパラメータがリセットされ、ドライブの完全な起動プロセスが繰り返されます。

重要

再初期化は、軸が必要な状態に達するまで待機する必要があります SMC_COMSTATE_BASE_COM_INITIALIZATION 以上。そうしないと、エラーが出力されます SMC_RAG_ERROR_AXIS_NOT_INITIALIZED

下位フィールドバスの通信が中断された場合、明示的な再初期化はもはや必要ありません CODESYS SoftMotion バージョン 4.18.0.0 以降。軸は、フィールドバス通信が回復するとすぐに自動的に再初期化されます。バージョン 4.18.0.0 より前のバージョンでは、フィールドバスの通信が中断された後、明示的に次の呼び出しが行われていました SMC3_ReinitDrive 必要でした (エラー: SMC_DI_GENERAL_COMMUNICATION_ERROR) フィールドバス通信が復元され次第。

ヒント

以前の動作は、次のように設定することで復元できます。 AutoRestart の入力 SMC_AxisChangeSettings ファンクションブロックへ SMC_AXIS_AUTORESTART_MODE.OFF

ドライブのオンとオフを切り替える

The bRegulatorOnbDriveStart のパラメータ AXIS_REF_SM3 ファンクションブロックは、ドライブのパフォーマンスレベルと減速を制御します。アクセスは、 MC_Power ファンクションブロック。

出力ステージを解放するには、を設定する必要があります bRegulatorOn のパラメータ MC_Power ファンクションブロック。ドライブは、このプロセスの現在のステータスを bRegulatorRealState 出力。ドライブでサポートされている場合、 bRegulatorOn 移動中にリセットすると、すぐにトルクが無効になります。この場合、機能ブロックはエラーを報告し、軸を errorstop 州。

The bDriveStart 変数は、ドライブの移動を許可するかどうかを決定します。このパラメータの現在の状態は、 bDriveStartRealState

ドライブでサポートされている場合、 bDriveStart パラメータリセットは、モーション中に設定されたランプ(「QuickStop」)でドライブを減速します。その後、設定されている限り、ドライブは到達位置で停止します bRegulatorOn。軸は stopping 「QuickStop」メカニズムがアクティブである限り状態(bDriveStart input = FALSE)。ドライブが以前に機能ブロックによって移動されたことがある場合は、次のように表示されます CommandAborted。これは、 MC_Stop エラーを報告し、軸をに設定する機能ブロック errorstop 州。

機械式ブレーキの取り扱い

ドライブでサポートされている場合、 eBrakeControl 変数は、次の方法で設定またはリセットできます。 SMC3_BrakeControl ファンクションブロック。 3つの異なるモードが可能です。

. SMC3_BrakeSetState
  • SMC_BRAKE_AUTO:ブレーキの状態はドライブによって制御されます。

  • SMC_BRAKE_OPEN:ブレーキが開いています。

  • SMC_BRAKE_CLOSE:ブレーキが閉まっています。

The bBrakeClosedRealState 変数はブレーキの現在のステータスを報告します。

の観点から SoftMotion、制御、および機械式ブレーキの状態は、ドライブの状態や走行動作に依存しません。

制御モードの切り替え

とともに SMC_SetControllerMode 機能ブロックでは、異なる制御モードを切り替えることができます。 The byControllerModebyRealControllerMode からのパラメータ AXIS_REF_SM3 コントロールユニットの望ましい状態と現在の状態を表します。

1. 可能な値

SMC_nocontrol

SoftMotion ドライブにサイクリックデータを送信しません。これにより、他の方法でドライブを制御することが可能になります。

SMC_torque

トルク/力制御

SMC_velocity

速度制御

SMC_position

位置制御

SMC_current

パワーコントロール



書いた後 byControllerMode 変数の場合、現在の状態は、目的の制御モードと一致するまでチェックされます。

その間、FBは制御モードを変更するときなどに軸の設定値を計算します。それからそれは bDone に出力 TRUE。現時点では、軸の設定値はこれ以上用意されていません。これは、他の機能ブロックによって実行する必要があります。例: bDone 出力トリガー MC_MoveVelocityMC_MoveAbsolute、 また MC_Halt ファンクションブロック。それ以外の場合、軸は制御モードが変更された直後に停止します。

ホーミング(ドライブ制御)

SoftMotion、ドライブを参照する方法は2つあります。

  • PLC内のコントローラによる参照:この参照は、 SMC_Homing ファンクションブロック。基準信号は、コントロールユニットのI / Oマッピングの一部である必要があります。参照時、ドライブは制御モード「位置制御」のままです。一般に、この方法は、位置の検出(参照スイッチがアクティブになっているとき)がドライブによって取得された現在の位置に基づいているため、特に正確ではありません。その結果、精度は通信サイクルによって制限されます。

  • ドライブ内のコントローラーによる参照:参照スイッチはドライブに配線されています。その位置はより速く、より正確に検出されます。ドライブ制御の基準経路の間、ドライブは別の制御モードにあり、ドライブは内部プロセスによって制御され、コントロールユニットの設定値に従わない。参照パスが終了すると、ドライブは元の制御モードにリセットされます。

    The MC_Home 機能ブロックは、以下を設定することにより、ドライブ制御の基準経路を開始します。 fReferencebStartReference。また、 AXIS_REF_SM3 ((wState) に設定されています homing。ドライブが参照パスを通過すると(つまり、コントロールユニットによって指定された値に従わなくなると)、ドライブはパラメータを次のように設定します。 TRUE。参照パスの終わりを表示するために、ドライバーは次の値を設定します。 bStartReferencebStartReferenceRealStateFALSE

ラッチング

ドライブがサポートするドライブ機能に応じて、さまざまな方法で軸の位置を検出できます。

  • ドライブは軸位置自体を検出します(統合されているか、外部センサーをオンにすることによって)。実際の位置はドライブ自体によって転送されるため、信号の転送時間は最小限で正確です。

  • 軸の現在の位置は、ドライブとは独立して決定され、入力を介してコントローラに転送されます。コントローラ入力のレイテンシとアプリケーションサイクルが発生すると、この方法の精度が低下します。

    ドライブ自体の位置が転送されると、通常はメーカーに応じてそれぞれのドライバーによってアプリケーションで直接処理されます。この種の軸の位置を決定するには、 MC_TouchProbe ファンクションブロック。これにより、軸の位置を構成可能なトリガーに、位置ウィンドウ内で記録できます。位置がドライブによって転送されない場合は、たとえば制御のために、ドライブのデバイスドライバに渡す必要があります。

    詳細については、次を参照してください。 SM_Drive_PosControlを使用したコントローラーの位置制御