Skip to main content

Errori comuni

Questa pagina descrive gli errori comuni durante l'utilizzo CODESYS Softmotion Basic, le relative cause e le possibili azioni da intraprendere per correggere l'errore. Per un elenco di tutti i possibili errori con una breve descrizione, consultare la documentazione della libreria: SMC_ERRORE

Tabella 40.

Codice di errore

Descrizione e cause

Azioni

SMC_DI_AXIS_ERROR

L'unità ha segnalato un errore.

Cause possibili:

  • Ritardo di posizione

  • Finecorsa

  • Sovraccarico (errore I²t)

Controlla quale errore sta segnalando l'unità. L'errore può essere letto dal display dell'azionamento (se disponibile) oppure recuperandolo con il file MC_ReadAxisError blocco funzione.

SMC_AXIS_ERROR_DURING_MOTION

L'unità ha segnalato un errore. Durante un movimento, il blocco di movimento attivo restituisce questo errore.

Vedere le azioni per l'errore SMC_DI_AXIS_ERROR.

SMC_FB_WASNT_CALLED_DURING_MOTION

Il blocco funzione che controlla il movimento attivo non è stato chiamato nel ciclo corrente.

Possibili cause:

  • L'ordine di chiamata per i movimenti bufferizzati o i movimenti di fusione non è corretto. L'istanza del blocco funzione del movimento successivo non deve essere chiamata prima dell'istanza del blocco funzione che ha comandato il

  • Come di SoftMotion versione 4.15.0.0, il messaggio di registro per questo errore contiene il percorso dell'istanza del blocco funzione interessato.

  • Nell'applicazione verificare il motivo per cui il blocco funzione non è stato richiamato ciclicamente.

  • Correggere la chiamata in modo che venga eseguita ciclicamente (almeno finché il blocco è in uso).

SMC_BLOCKING_MC_STOP_WASNT_CALLED

Durante un arresto attivo, il blocco funzione associato MC_Stop non è stato chiamato nel ciclo corrente.

Vedere le azioni per l'errore SMC_FB_WASNT_CALLED_DURING_MOTION.

SMC_AXIS_NOT_READY_FOR_MOTION

L'asse non è pronto per l'uso e non può eseguire il movimento desiderato.

Cause possibili:

  • L'asse non è in uno stato operativo per il rispettivo movimento (ad es. power_off O errorstop).

  • L'asse è in uno stato di errore e tutti i movimenti bufferizzati restituiscono questo errore.

  • L'asse è nel stopping stato (durante uno stato attivo MC_Stop) e viene comandato un nuovo movimento di interruzione.

Controllare lo stato dell'asse:

  • L'asse è in uno stato operativo? MC_Power?

  • L'asse è nel errorstop stato? In tal caso, identificare l'errore dell'asse e correggerlo.

  • Lo stato dell'asse corrisponde al movimento comandato? Per esempio, MC_CamOut può essere comandato solo quando l'asse è nello stato di movimento sincronizzato.

SMC_FB_CALLED_FROM_WRONG_TASK

IL SoftMotion il blocco è stato richiamato da un task che non corrisponde al task bus dell'asse.

Perché il SoftMotion i blocchi modificano i valori nell'asse, possono verificarsi stati incoerenti se vengono effettuate chiamate da task diversi dal task bus. Ciò può portare a errori non definiti, che vengono impediti da questo errore.

  • Controllare il protocollo: l'asse interessato e l'istanza del blocco vengono registrati.

  • Rimuovere la chiamata dall'attività errata.

SMC_DI_FIELDBUS_LOST_SYNCRONICITY

Si verifica durante l'utilizzo EtherCAT con orologi distribuiti, se il telegramma dal controllore all'azionamento non è stato ricevuto in tempo (entro la finestra temporale definita ("SyncWindow") o non è stato ricevuto affatto.

Cause possibili:

  • Problemi in tempo reale:

    • Il jitter del compito è troppo alto.

    • La priorità del compito del EtherCAT il compito è troppo basso.

    • Altri bus di campo (ad esempio, Modbus) o operazioni lunghe in aggiunta alle attività di controllo (ad esempio, accesso ai file) nel file EtherCAT compito

    • Modbus viene eseguito in un altro task, ma si fa riferimento anche ai canali I/O che utilizza nel file EtherCAT compito.

    • Soprattutto con i sistemi operativi Linux, la configurazione del sistema (ad esempio le priorità IRQ)

  • Problema di comunicazione con il EtherCAT slave: Collegamento interrotto, problemi di compatibilità elettromagnetica (EMC), ecc.

Verificare la causa del comportamento. Le seguenti funzioni possono aiutarti in questo:

Possibili azioni per problemi in tempo reale:

SMC_DI_SWLIMITS_EXCEEDED

L'asse si muove nella direzione del finecorsa software positivo o negativo e lo supera con la dinamica attuale. L'errore si attiva anche prima della posizione effettiva del finecorsa perché nel calcolo viene inclusa anche la distanza di frenata richiesta.

  • Controllare se il movimento è desiderato o meno in questo intervallo di posizioni.

  • Se necessario, regolare la posizione del finecorsa software negativo e/o positivo. Vedere Scheda: Generale

SMC_DI_HWLIMITS_EXCEEDED

Il finecorsa hardware positivo o negativo è intervenuto e l'asse si muove nella direzione di questo finecorsa.

  • Controllare la posizione comandata del movimento. Questo non deve superare le posizioni dei finecorsa hardware.

  • Se il movimento è ok verificare i segnali dei finecorsa hardware.

SMC_MOVING_WITHOUT_ACTIVE_MOVEMENT

Non c'è movimento attivo, ma la velocità impostata non è uguale a zero e l'asse è in uno stato operativo in cui vengono seguiti i valori impostati.

Cause possibili:

  • Quando si usa MC_PositionProfile, MC_VelocityProfile, O MC_AccelerationProfile, al termine di questo movimento l'asse deve arrestarsi oppure nello stesso ciclo deve essere comandato un movimento successivo. Altrimenti viene restituito questo errore.

Verificare la causa del problema:

  • Ordine di chiamata errato per movimenti bufferizzati e blending: modificare l'ordine di chiamata. Per ulteriori informazioni consultare la sezione Ordine di esecuzione dei blocchi funzione di movimento.

  • MC_PositionProfile, MC_VelocityProfile, O MC_AccelerationProfile viene utilizzato e alla fine non viene raggiunto alcun arresto: adattare opportunamente il profilo in modo tale che alla fine venga raggiunto l'arresto. O invece usa camme, che coprono un caso d'uso simile a questi blocchi funzione, ma sono più flessibili e più facili da usare.