4. Programmazione del PLC Siemens
Il Function Block base permette di controllare tramite fieldbus i parametri di base dell'azionamento PSD. Di seguito la struttura dei dati scambiati tra PSD e PLC:
-
Ouptut PSD --> Input PLC
Nome DataType Contenuto 0x6041.0WORD Status word 0x6064.0LREAL Posizione attuale 0x606C.0LREAL Velocità attuale 0x31C1.1WORD Input digitali Drive 0x3C2D.1WORD Codice errore Drive 0x3321.2LREAL Corrente attuale -
Output PLC --> Input PSD
Nome DataType Contenuto 0x6040.0WORD Control word 0x607A.0LREAL Posizione target 0x6081.0LREAL Velocità posizionamento 0x6083.0LREAL Accel. posizionamento 0x6084.0LREAL Decel. posizionamento
Importare il Function Block in TIA Portal:
Per poter utilizzare l'FB in TIA Portal sarà necessario importarne il codice sorgente dal pacchetto FB base per PSD1
-
In Project Tree > PLC_1 > External source files selezionare la voce Add new external file e indicare il percorso del file FB_PSD.scl
-
Ora è necessario generare l'FB premendo il tasto destro del mouse sul file appena importato e selezionando la voce generate blocks from source
A questo punto sarà possibile richiamare il blocco nella sezione desiserata, assegnargli un'istanza e parametrizzarlo.
Parametrizzazione del Function Block:
-
Input:
Nome Funzione HW_AddressIndirizzo hardware Profinet del PSD1 EnableAbilitazione Drive ResetReset allarmi Drive QuickStopFermata rapida Drive [1] StartMoveStart movimento (NON-latching) JogPComando Jog positivo JogNComando Jog negativo HomingAvvio procedura di homing del Drive MovingModeModalità di movimento Limit_RangeFinestra di raggiungimento TargetRefSpeedVelocita posizionamento AccelAccel. posizionamento DecelDecel. posizionamento TargetRefTarget di posizione/velocità [2] [1] Il drive necessita di essere riabilitato tramite
Enabledopo unQuickStop[2]
TargetRefrappresenta il target di posizione perMovingMode = 0/1oppure il target veolcità perMovingMode = 2
la variabileHW_Addressidentifica il driver specifico controllato dalla FB e può essere configurato dinamicamente scrivendo al suo interno l'oggetto Profinet corrispondente al Drive desiderato
La variabileMovingModepuò assumere valori 0-3 corrispondenti alle seguenti modalità di movimento:Valore Funzione 0Controllo assoluto 1Controllo relativo 2Controllo in velocità 3Modalità Jog -
Output:
Nome Funzione EnabledDrive abilitato Errorerrore Drive MovingMotore in movimento HomedHoming eseguito TargetReachedTarget posizione/velocità raggiunto InPosla posizione è in TargetRef ± Limit_RangeActualPosPosizione attuale ActualSpeedVelocità attuale ActualCurrentCorrente attuale CommunicationErrorComunicazione interrotta o configurazione Profinet errata DriveStatusStato del Drive _StatusDescrizione dello stato ErrorCodeCodice di errore Drive (lista allarmi PSD)
Esempi di modalità di movimento:
-
Modalità di Movimento Assoluto o Relativo (
MovingMode = 0/1)I parametri necessari sono:
Nome Valore MovingMode0Speed305000Accel1000000Decel1000000TargetRef2450TargetRefcorrisponde alla quota da raggiungere in modalità assoluta o all'incremento in modalita relativa
-
Modalità di Movimento in Velocità (
MovingMode = 2)I parametri necessari sono:
Nome Valore MovingMode2Accel1000000Decel1000000TargetRef305000TargetRefcorrisponde alla velocità da mantenere e può essere modificato anche in movimento.Il motore può essere fermato con
StartMove = 0oppure conTargetRef = 0.
-
Modalità di Movimento Jog (
MovingMode = 3)I parametri necessari sono:
Nome Valore MovingMode3Il movimento viene gestito tramite gli ingressi
JogPeJogN, mentre velocità, accelerazione e decelerazione di Jog sono definite nella configurazione interna al PSD.
ℹ️Per poter modificare tramite Profinet velocità, accelerazione e decelerazione di Jog è necessario utilizzare il Function Block avanzato psd1-profinet-advanced-102 (Solo PSD ad asse singolo)