4. Programmazione del PLC Siemens
Il pacchetto applicazione tavola comprende un Function Block destinato al controllo dell'azionamento mediante la rete Profinet appena configurata, di seguito la struttura dei dati scambiati tra PSD e PLC:
-
Output 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 tavola 0x6081.0LREAL Velocità tavola 0x6083.0LREAL Accelerazione tavola 0x6084.0LREAL Decelerazione tavola 0x346A.0LREAL Velocità Jog 0x3468.0LREAL Accelerazione Jog 0x60F2.0WORD Option Code posizione
Importare il Function Block in TIA Portal:
Per poter utilizzare l'FB in TIA Portal sarà necessario importarne il codice sorgente dal pacchetto Applicazione Tavola
-
In Project Tree > PLC_1 > External source files selezionare la voce Add new external file e indicare il percorso del file TurnTable.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 tavola ResetReset allarmi drive/tavola GradiPassoAGradi di avanzamento con passo A GradiPassoBGradi di shifting rispetto a passo A StartPassoStart passo selezionato (NON-latching) EseguiPassoBSelezione passo B (shifting) nStazioniN. stazioni shift (Gradi A / Gradi B) JogPComando Jog positivo JogNComando Jog negativo PassoLentoAttivazione passo lento JogLentoAttivazione Jog lento AzzeramentoTavolaComando di azzeramento tavola RangePosRange posizionamento (Es: 0,1° = 1/10°) VelPassoRapidoVelocità passo rapido AccPassoRapidoAcc/Dec passo rapido VelJogRapidoVelocità Jog rapido AccJogRapidoAcc/Dec Jog rapido VelPassoLentoVelocità passo lento AccPassoLentoAcc/Dec passo lento VelJogLentoVelocità Jog lento AccJogLentoAcc/Dec Jog lento la variabile
HW_Addressidentifica il driver specifico controllato dalla FB e può essere configurato dinamicamente scrivendo al suo interno l'oggetto Profinet corrispondente al Drive desiderato
-
Output:
Nome Funzione DriveStatusStato del Drive della tavola _StatusDescrizione dello stato EnabledTavola abilitata FaultAnomalia/Allarme tavola o Drive TavolaInPosTavola in posizione TavolaFermaTavola non in movimento ActPosPosizione attuale Tavola ActShiftPosPosizione attuale Tavola dopo shift (passo B) nPalletRiferimento di pallet dopo shift ErrorDriveCodice di errore Drive (lista allarmi PSD) ErrorCodeCodice di errore FB tavola La variabile
DriveStatuspuò assumere valori 1-4 corrispondenti alle relative descrizioni nella variabile_Status:Valore Descrizione 1Switching On Inhibited 2Ready To Switch On 3Switched On 4Operation Enabled La variabile
ErrorCodepuò assumere valori 1-7:Valore Descrizione 1Start senza abilitazione Tavola 2Jog senza abilitazione Tavola 3Homing senza abilitazione Tavola 4Gradi Passi errato (Passo A o Passo B non divide interamente 360°) 5Numero stazioni errato (Se Passo A / Passo B non è uguale a numero stazioni) 6Gradi tolleranza errato (Se la tolleranza di posizione è uguale a 0) 7parametri posiizonamento errati (Se velocità o accelerazioni sono uguali a 0)
Esempi di gestione della Tavola:
-
Abilitazione Tavola: Per poter abilitare la tavola è necessario che non ci siano anomalie relative al Drive (
ErrorDrive = 0) -
Impostazione gradi step: Il numero di gradi espresso in
GradiPassoADEVE dividere per intero 360°, cioè un giro di tavola completo.Es:
GradiPassoA = 90.0 -
Impostazione numero di stazioni: Se sulla tavola sono presenti shift da eseguire, impostare il numero di gradi in
GradiPassoBin maniera tale da dividere interamenteGradiPassoA.Es:
GradiPassoA = 90.0 / GradiPassoB = 18.0 => nStazioni = 5Se correttamente impostato,
nStazioniindica quanti shift è possibile eseguire inGradoPassoAgradi. Il numero di stazione in cui ci si trova dopo uno shift è indicato dalla variabile in uscitanPallet. -
Impostazione tolleranza di posizionamento: Il parametro
RangePosindica il range di tolleranza per il posizionamento della tavola.Es.
RangePos = 0.1=> la tolleranza è 1/10 di grado
⚠️ SeRangePos = 0.0la tavola NON eseguirà alcun movimento (ErrorCode = 6)
-
Impostazione parametri di posizionamento: Di seguito un esempio di parametrizzazione delle velocità è delle accelerazioni della tavola.
Nome Valore VelPassoRapido120000AccPassoRapido500000VelJogRapido30000AccJogRapido400000VelPassoLento15000AccPassoLento400000VelJogLento100AccJogLento400000