Skip to main content

よくあるエラー

このページでは、使用時によくあるエラーについて説明します。 CODESYS Softmotion Basic、その原因、およびエラーを修正するために実行できるアクション。考えられるすべてのエラーのリストと簡単な説明については、ライブラリのドキュメントを参照してください。 エラー

40.

エラーコード

説明と原因

行動

SMC_DI_AXIS_ERROR

ドライブからエラーが報告されました。

考えられる原因:

  • 位置ラグ

  • リミットスイッチ

  • 過負荷(I²tエラー)

ドライブが報告しているエラーを確認します。エラーは、ドライブのディスプレイ(利用可能な場合)から読み取るか、 MC_ReadAxisError 機能ブロック。

SMC_AXIS_ERROR_DURING_MOTION

ドライブがエラーを報告しました。移動中に、アクティブなモーション ブロックがこのエラーを返します。

エラーに対する対処方法を確認する SMC_DI_AXIS_ERROR

SMC_FB_WASNT_CALLED_DURING_MOTION

アクティブな動きを制御する機能ブロックは、現在のサイクルでは呼び出されていません。

考えられる原因:

  • バッファリングされた動きまたはブレンドされた動きの呼び出し順序が正しくありません。次の動きのファンクションブロックインスタンスは、前の動きを指揮したファンクションブロックインスタンスより先に呼び出してはいけません

  • 現在 SoftMotion バージョン 4.15.0.0 では、このエラーのログ メッセージに、影響を受ける関数ブロックへのインスタンス パスが含まれます。

  • アプリケーションで、関数ブロックが周期的に呼び出されなかった理由を確認します。

  • 呼び出しが周期的に実行されるように修正します (少なくともブロックが使用されている間は)。

SMC_BLOCKING_MC_STOP_WASNT_CALLED

アクティブストップ中、関連する機能ブロック MC_Stop 現在のサイクルでは呼び出されませんでした。

エラーに対する対処方法を確認する SMC_FB_WASNT_CALLED_DURING_MOTION

SMC_AXIS_NOT_READY_FOR_MOTION

軸は使用できる状態ではなく、目的の動作を実行できません。

考えられる原因:

  • 軸はそれぞれの動作に対して動作状態ではありません(例えば、 power_off または errorstop)。

  • 軸はエラー状態にあり、バッファリングされたすべての動きがこのエラーを返します。

  • 軸は stopping 状態(アクティブ MC_Stop) と新たな中止動作が命令されます。

軸の状態を確認します。

  • 軸は動作状態にありますか? MC_Power?

  • 軸は errorstop 状態ですか? そうであれば、軸エラーを特定して修正します。

  • 軸の状態はコマンドされた動きと一致していますか? たとえば、 MC_CamOut 軸が同期動作の状態にある場合にのみ指令できます。

SMC_FB_CALLED_FROM_WRONG_TASK

SoftMotion ブロックは、軸のバス タスクに対応していないタスクから呼び出されました。

なぜなら SoftMotion ブロックが軸の値を変更すると、バス タスク以外のタスクから呼び出しが行われると、矛盾した状態が発生する可能性があります。これにより、未定義のエラーが発生する可能性がありますが、このエラーによって回避されます。

  • ログを確認します。影響を受ける軸とブロック インスタンスがログに記録されます。

  • 間違ったタスクからの呼び出しを削除します。

SMC_DI_FIELDBUS_LOST_SYNCRONICITY

使用時に発生する EtherCAT 分散クロックでは、コントローラからドライブへのフレームが時間どおりに(定義された時間ウィンドウ(「SyncWindow」)内に)受信されなかったか、まったく受信されなかった場合です。

考えられる原因:

  • リアルタイムの問題:

    • タスクのジッターが高すぎます。

    • タスクの優先度は EtherCAT タスクが低すぎます。

    • その他のフィールドバス(例えば、 Modbus)または時間のかかる操作(例えばファイルアクセス)に加えて、 EtherCAT タスク

    • Modbus 別のタスクで実行されますが、そのタスクで使用されるI/Oチャネルも参照されます。 EtherCAT タスク。

    • 特にLinuxオペレーティングシステムでは、システムの構成(IRQの優先順位など)

  • コミュニケーションの問題 EtherCAT スレーブ: 接続が中断された、電磁両立性 (EMC) の問題など。

動作の原因を確認します。次の機能が役立ちます。

リアルタイムの問題に対する可能なアクション:

SMC_DI_SWLIMITS_EXCEEDED

軸は正または負のソフトウェア リミット スイッチの方向に移動し、現在のダイナミクスでその位置を超えます。必要なブレーキ距離も計算に含まれているため、実際のリミット スイッチの位置よりも前にエラーが発生します。

  • この位置範囲で動きが望ましいかどうかを確認します。

  • 必要に応じて、負または正のソフトウェアリミットスイッチの位置を調整します。 タブ:一般

SMC_DI_HWLIMITS_EXCEEDED

正または負のハードウェア リミット スイッチがトリガーされ、軸がこのリミット スイッチの方向に移動します。

  • 移動の指示された位置を確認します。これはハードウェア リミット スイッチの位置を超えてはなりません。

  • 動きが正常であれば、ハードウェア リミット スイッチの信号を確認します。

SMC_MOVING_WITHOUT_ACTIVE_MOVEMENT

アクティブな動きはありませんが、設定された速度はゼロではなく、軸は設定された値に従う動作状態にあります。

考えられる原因:

  • 使用する場合 MC_PositionProfileMC_VelocityProfile、 または MC_AccelerationProfile軸はこの動きの終わりに停止するか、同じサイクルで後続の動きを命令する必要があります。そうでない場合は、このエラーが返されます。

問題の原因を確認してください:

  • バッファリングされた動きとブレンドの動きの呼び出し順序が正しくありません。呼び出し順序を調整してください。詳細については、セクションを参照してください。 移動機能ブロックの実行順序

  • MC_PositionProfileMC_VelocityProfile、 または MC_AccelerationProfile が使用され、最後に停止に達しない場合:プロファイルを調整して、最後に停止に達するようにします。または、代わりに カムは、これらの機能ブロックと同様のユースケースをカバーしますが、より柔軟で使いやすいです。