Casi d'uso standard
Il SM3_Basic
libreria contiene blocchi funzione sovraordinati che non interagiscono con l'azionamento tramite l'interfaccia valore nominale/ reale standard. Questi blocchi funzione forniscono comandi o modificano le impostazioni del convertitore leggendo o scrivendo i parametri dell'istanza di AXIS_REF_SM3
.
Reinizializzazione di un'unità
Se sono stati modificati i parametri dell'unità in fase di esecuzione, è necessario reinizializzare l'unità. Esempio: modifica del fattore di scala o del periodo di modulo degli azionamenti rotativi. Chiamando il Unità SMC3_ReinitD
blocco funzionale con un bordo ascendente in Execute
input, il wCommuncationState
il parametro dell'unità viene ripristinato e il processo di avvio completo dell'unità viene ripetuto.
Importante
La reinizializzazione deve attendere che l'asse raggiunga lo stato richiesto SMC_COMSTATE_BASE_COM_INITIALIZATION
o più alto. In caso contrario, verrà visualizzato l'errore SMC_RAG_ERROR_AXIS_NOT_INITIALIZED
.
Se la comunicazione di un bus di campo subordinato viene interrotta, la reinizializzazione esplicita non è più necessaria per CODESYS SoftMotion versione 4.18.0.0 e successive. L'asse viene reinizializzato automaticamente non appena viene ripristinata la comunicazione con il bus di campo. Prima della versione 4.18.0.0, dopo l'interruzione della comunicazione del bus di campo, veniva richiamata SMC3_ReinitDrive
era necessario (errore con SMC_DI_GENERAL_COMMUNICATION_ERROR
) non appena la comunicazione con il bus di campo è stata ripristinata.
Suggerimento
Il vecchio comportamento può essere ripristinato impostando AutoRestart
ingresso di SMC_AxisChangeSettings
blocco funzione per SMC_AXIS_AUTORESTART_MODE.OFF
.
Accensione e spegnimento di un'unità
Il bRegulatorOn
e bDriveStart
parametri del AXIS_REF_SM3
il blocco funzione controlla il livello di prestazioni e la decelerazione di un convertitore. L'accesso avviene tramite il MC_Power
blocco funzione.
Per rilasciare lo stadio di uscita, è necessario impostare il bRegulatorOn
parametro del MC_Power
blocco funzione. L'azionamento segnala lo stato attuale di questo processo tramite il bRegulatorRealState
produzione. Se è supportato dall'unità, a bRegulatorOn
reset durante il movimento disattiva immediatamente la coppia. In questo caso, il blocco funzione segnala un errore e imposta gli assi su errorstop
stato.
Il bDriveStart
variabile determina se l'unità può muoversi o meno. Lo stato corrente di questo parametro si trova in bDriveStartRealState
.
Se è supportato dall'unità, a bDriveStart
il ripristino dei parametri decelera l'azionamento con la rampa configurata ("QuickStop") durante il movimento. Dopodiché, l'azionamento si ferma nella posizione raggiunta fintanto che è stato impostato bRegulatorOn
. L'asse rimane nel stopping
stato finché il meccanismo "QuickStop" è attivo (bDriveStart
input = FALSO). Se l'azionamento è stato spostato in precedenza da un blocco funzione, ora verrà visualizzato CommandAborted
. Questo non si applica al MC_Stop
blocco funzione che segnala un errore e imposta gli assi su errorstop
stato.
Gestione dei freni meccanici
Se è supportato dall'unità, il eBrakeControl
variabile può essere impostata o ripristinata tramite il tasto SMC3_BrakeControl
blocco funzione. Sono possibili tre diverse modalità.
SMC3_BrakeSetState
SMC_BRAKE_AUTO
: Lo stato del freno è controllato dall'azionamento.SMC_BRAKE_OPEN
: Il freno è aperto.SMC_BRAKE_CLOSE
: Il freno è chiuso.
Il bBrakeClosedRealState
la variabile riporta lo stato attuale del freno.
Dal punto di vista di SoftMotion, il controllo, così come lo stato del freno meccanico, non dipende dallo stato dell'azionamento o dal movimento in corso.
Cambio della modalità di controllo
Con il SMC_SetControllerMode
blocco funzione, è possibile passare da una modalità di controllo all'altra. Il byControllerMode
e byRealControllerMode
parametri da AXIS_REF_SM3
rappresentano lo stato desiderato e quello attuale della centralina.
| SoftMotion non invia dati ciclici all'azionamento. Ciò consente di controllare l'azionamento in altri modi. |
| Controllo coppia/forza |
| Controllo della velocità |
| Controllo di posizione |
| Controllo di potenza |
Dopo aver scritto il byControllerMode
variabili, lo stato corrente viene verificato finché non corrisponde alla modalità di controllo desiderata.
Nel frattempo, l'FB calcola il valore impostato per l'asse, ad esempio quando si cambia la modalità di controllo. Quindi lo imposta bDone
uscita a TRUE
. Da questo momento, non prepara più valori impostati per l'asse. Questo deve essere fatto da altri blocchi funzione. Esempio: il bDone
trigger di uscita a MC_MoveVelocity
, MC_MoveAbsolute
, o MC_Halt
blocco funzione. In caso contrario, l'asse si arresta immediatamente dopo il cambio della modalità di controllo.
Homing (controllato dall'azionamento)
In SoftMotion, esistono due modi per fare riferimento a un'unità:
Riferimento da un controller nel PLC: questo riferimento viene eseguito chiamando il
SMC_Homing
blocco funzione. Il segnale di riferimento deve essere parte della mappatura I/O dell'unità di controllo. Al momento del referenziamento, l'azionamento rimane nella modalità di controllo "controllo di posizione". In generale, questo metodo non è particolarmente accurato perché il rilevamento della posizione (quando è attivato l'interruttore di riferimento) si basa sulle posizioni attuali ottenute dall'azionamento. Di conseguenza, la precisione è limitata dal ciclo di comunicazione.Riferimento da un controller nell'azionamento: l'interruttore di riferimento è collegato all'azionamento. La sua posizione viene rilevata più velocemente e con maggiore precisione. Durante il percorso di riferimento controllato dall'azionamento, l'azionamento si trova in un'altra modalità di controllo, in cui l'azionamento è controllato da processi interni e non segue i valori impostati dell'unità di controllo. Al termine del percorso di riferimento, l'azionamento viene riportato alla modalità di controllo originale.
Il
MC_Home
Il blocco funzione avvia il percorso di riferimento controllato dall'azionamento mediante l'impostazionefReference
ebStartReference
. Inoltre, lo stato diAXIS_REF_SM3
(wState
) è impostato perhoming
. Quando l'azionamento passa alla traiettoria di riferimento (ovvero non segue più i valori specificati dalla centralina), l'azionamento imposta il parametro suTRUE
. Per visualizzare la fine del percorso di riferimento, il driver imposta i valori dibStartReference
ebStartReferenceRealState
aFALSE
.
Aggancio
È possibile rilevare la posizione di un asse in molti modi, a seconda delle funzioni dell'azionamento supportate dall'azionamento:
L'azionamento rileva la posizione dell'asse stesso (integrato o attivando un sensore esterno). Poiché la posizione effettiva viene trasferita dall'azionamento stesso, il tempo di trasferimento del segnale è minimo e preciso.
La posizione attuale dell'asse viene determinata indipendentemente dall'azionamento e trasmessa al controllore tramite un ingresso. La latenza dell'input del controller e il ciclo dell'applicazione rendono questo metodo meno preciso.
Quando la posizione dell'azionamento stesso viene trasferita, viene elaborata direttamente nell'applicazione in genere dal rispettivo driver a seconda del produttore. Per determinare la posizione di questo tipo di asse, è possibile utilizzare il
MC_TouchProbe
blocco funzione. Consente la registrazione della posizione dell'asse su un trigger configurabile e all'interno di una finestra di posizione. Se la posizione non viene trasferita dall'azionamento, deve essere trasmessa al driver del dispositivo dell'azionamento, ad esempio per il controllo.Per ulteriori informazioni, vedere: Controllo di posizione sul controllore con SM_Drive_PosControl