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.
Modifica della modalità del controller
Con il modalità SMC_SetController
blocco funzione, è possibile passare da una modalità di controllo all'altra. byControllerMode
e byRealControllerMode
parametri da AXIS_REF_SM3
rappresentano la modalità desiderata e la modalità corrente del controller.
| 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 |
Dopo aver scritto il byControllerMode
variabili, la modalità corrente viene controllata finché non corrisponde alla modalità controller desiderata.
Il blocco funzionale calcola i valori impostati fino alla conferma della nuova modalità da parte del convertitore. Non appena l'unità conferma la nuova modalità, bDone
l'uscita è impostata e SMC_SetControllerMode
non scrive più i valori impostati. Questa operazione deve essere eseguita utilizzando altri blocchi funzione.
Esempio: The bDone
l'uscita è collegata al Execute
immissione di un blocco funzionale, ad esempio MC_MoveVelocity
, MC_MoveAbsolute
, oppure MC_Halt
. Altrimenti l'asse si arresta immediatamente dopo la modifica della modalità. Si noti che il tempo morto viene utilizzato per calcolare la posizione impostata. Per ulteriori informazioni, vedere quanto segue: Valori effettivi, valori impostati e tempo morto.
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