標準的なユースケース
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 bRegulatorOn
と bDriveStart
のパラメータ 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 byControllerMode
と byRealControllerMode
からのパラメータ AXIS_REF_SM3
コントロールユニットの望ましい状態と現在の状態を表します。
| SoftMotion ドライブにサイクリックデータを送信しません。これにより、他の方法でドライブを制御することが可能になります。 |
| トルク/力制御 |
| 速度制御 |
| 位置制御 |
| パワーコントロール |
書いた後 byControllerMode
変数の場合、現在の状態は、目的の制御モードと一致するまでチェックされます。
その間、FBは制御モードを変更するときなどに軸の設定値を計算します。それからそれは bDone
に出力 TRUE
。現時点では、軸の設定値はこれ以上用意されていません。これは、他の機能ブロックによって実行する必要があります。例: bDone
出力トリガー MC_MoveVelocity
、 MC_MoveAbsolute
、 また MC_Halt
ファンクションブロック。それ以外の場合、軸は制御モードが変更された直後に停止します。
ホーミング(ドライブ制御)
の SoftMotion、ドライブを参照する方法は2つあります。
PLC内のコントローラによる参照:この参照は、
SMC_Homing
ファンクションブロック。基準信号は、コントロールユニットのI / Oマッピングの一部である必要があります。参照時、ドライブは制御モード「位置制御」のままです。一般に、この方法は、位置の検出(参照スイッチがアクティブになっているとき)がドライブによって取得された現在の位置に基づいているため、特に正確ではありません。その結果、精度は通信サイクルによって制限されます。ドライブ内のコントローラーによる参照:参照スイッチはドライブに配線されています。その位置はより速く、より正確に検出されます。ドライブ制御の基準経路の間、ドライブは別の制御モードにあり、ドライブは内部プロセスによって制御され、コントロールユニットの設定値に従わない。参照パスが終了すると、ドライブは元の制御モードにリセットされます。
The
MC_Home
機能ブロックは、以下を設定することにより、ドライブ制御の基準経路を開始します。fReference
とbStartReference
。また、AXIS_REF_SM3
((wState
) に設定されていますhoming
。ドライブが参照パスを通過すると(つまり、コントロールユニットによって指定された値に従わなくなると)、ドライブはパラメータを次のように設定します。TRUE
。参照パスの終わりを表示するために、ドライバーは次の値を設定します。bStartReference
とbStartReferenceRealState
にFALSE
。
ラッチング
ドライブがサポートするドライブ機能に応じて、さまざまな方法で軸の位置を検出できます。
ドライブは軸位置自体を検出します(統合されているか、外部センサーをオンにすることによって)。実際の位置はドライブ自体によって転送されるため、信号の転送時間は最小限で正確です。
軸の現在の位置は、ドライブとは独立して決定され、入力を介してコントローラに転送されます。コントローラ入力のレイテンシとアプリケーションサイクルが発生すると、この方法の精度が低下します。
ドライブ自体の位置が転送されると、通常はメーカーに応じてそれぞれのドライバーによってアプリケーションで直接処理されます。この種の軸の位置を決定するには、
MC_TouchProbe
ファンクションブロック。これにより、軸の位置を構成可能なトリガーに、位置ウィンドウ内で記録できます。位置がドライブによって転送されない場合は、たとえば制御のために、ドライブのデバイスドライバに渡す必要があります。詳細については、次を参照してください。 SM_Drive_PosControlを使用したコントローラーの位置制御