Obsidean_VM/03-Revised/93789 Sipa Italia - Tinny -.../Divider/Divider FC484-FB482 - Per t...

177 lines
7.9 KiB
Markdown

### FC482 - FC Divider 1-2 and Bypass
***
* Questa FC gestiona la FB482 che ha la logica del divider a plaquette.
La FB482 puo gestire un divider di 7 uscite a 3 punte di scambio pero su questa macchina abbiamo un divider a 3 uscite e solo un punto di scambio.
![[Pasted image 20240424092453.png|575]]
Quindi il primo segmento configura la DB del divider:
```pascal
L 3
T "DB Pack Divider 1-2 e Bypass"."Max Channels Allowed"
L 12
T "DB Pack Divider 1-2 e Bypass".ValvePositions[1]
UN "DB General".Bypass_Divider
S "DB Pack Divider 1-2 e Bypass".Recipe."Channels Enabled"[1]
R "DB Pack Divider 1-2 e Bypass".Recipe."Channels Enabled"[2]
S "DB Pack Divider 1-2 e Bypass".Recipe."Channels Enabled"[3]
U "DB General".Bypass_Divider
R "DB Pack Divider 1-2 e Bypass".Recipe."Channels Enabled"[1]
S "DB Pack Divider 1-2 e Bypass".Recipe."Channels Enabled"[2]
R "DB Pack Divider 1-2 e Bypass".Recipe."Channels Enabled"[3]
// Internal Timers
// Clock control
L 20 // 2s
T "DB Pack Divider 1-2 e Bypass".Aux.Timers[5].TW
// Start Delay
T "DB Pack Divider 1-2 e Bypass".Aux.Timers[1].TW
// Air pressure Alarm
T "DB Pack Divider 1-2 e Bypass".Aux.Timers[3].TW
// Jam switch
L 5
T "DB Pack Divider 1-2 e Bypass".Aux.Timers[4].TW
```
* Se il flusso è in modalità Bypass, disattiva i due canali laterali, mentre se è selezionata la modalità Divider, disattiva il canale centrale.
* Si caricano i timer per gli allarmi.
#### Timers di accumulo:
***
Nella logica della Funzione Blocco (FB), il divisore è già predisposto per gestire 8 timer salvati nella ricetta. Questi timer possono essere utilizzati per gestire esternamente gli accumuli in uscita.
Per impostare questi timer, è necessario settare questi bit: `"DB Pack Divider 1-2 e Bypass"."Photocells Accum"[x]`
e le uscite del timer vengono segnalate su `"DB Pack Divider 1-2 e Bypass"."Processed Timer"[x]`.
La logica dei Timers e cosi: ( FB482 )
```pascal
FOR #I := 1 TO #"Max Channels Allowed"
DO
#"Timers TON"[#I].TW := #Recipe."TON Accumulation"[#I];
#"Timers TOFF"[#I].TW := #Recipe."TOFF Accumulation"[#I];
#"Timers TON"[#I].S := NOT #"Photocells Accum"[#I];
#"Timers TOFF"[#I].S := #"Photocells Accum"[#I];
"FC S_Everz_Struct"(Clock_Sec:=#Clock_Sec,
Timer:=#"Timers TON"[#I]);
"FC S_Everz_Struct"(Clock_Sec := #Clock_Sec,
Timer := #"Timers TOFF"[#I]);
IF #"Timers TON"[#I].Q THEN
#"Processed Timer"[#I] := TRUE;
END_IF;
IF #"Timers TOFF"[#I].Q THEN
#"Processed Timer"[#I] := FALSE;
END_IF;
END_FOR;
```
Se usa un TON / TOFF su la fotocellula e dopo la uscita e copiata su "Processed Timer"
#### Abilitazione
***
* Sicurezza:
* Questo divider ha un Pilz dedicato che non lavora in automatico. Ci sono 2 reset pilz a ogni lato, e un Reset logica e un Start. Dopo se e aggiunto un Stop en fase.
* Questa logica e gestita su la FB.
* Logica:
* la FB richiede un bit: "Outfeed Enabled" e un bit "Infeed Enable" e "Section RUN" per girare e ci sono due modi di laboro:
* Auto e Manuale. Per questo impianto solo lavora in Auto
* Altri sensori richiesti sono:
* Feedbak pilz
* Feedbak presotato
* Fotocelula sicureza jam
* Banderole sicureza cannali
#### Logica:
***
* La logica opera in base al clock della ruota fonica, utilizzato per muovere la FIFO interna.
* Ingressi:
* Photocell Infeed: Fotocellula per il conteggio dei pacchi.
* Clock_Phase: Ruota fonica.
* Pht x Restart Energy Save: Se viene utilizzata la logica interna di Energy Save.
* Divider Motor Running: Segnale di feedback se il motore del divider è in funzione. Serve a generare un allarme in caso di mancanza di clock.
* Start Auto Mode Button: Pulsante per avviare la modalità automatica.
* Reset Alarms: Reset degli allarmi.
* Zone in Run Mode: Sezione in funzione: interrompe la modalità automatica.
* Stop Button: Pulsante NC di arresto per fermare il divider.
* Safety: Feedback PILZ.
* Internal Jam Detector Switch: Micro interruttore di ostruzione tipo banderola all'uscita dei canali.
* Internal Jam Exit Photocell: Fotocellula di uscita del divider per il rilevamento degli jam.
* Air Regulator OK: Feedback di pressione minima dell'area.
* Uscite:
* Divider Free: La FIFO interna è libera dai pacchi. Questo serve per essere sicuri che non ci siano pacchi rimasti all'interno del divider.
* Exit Channel 1 Step: Canale selezionato dal divider in fase con il clock nel punto di uscita della FIFO, programmato da ValvePositions[1].
Al FB da come uscita un numero che corrisponde con il canale dove le valvole debono uscire sul punto di scambio programmato da ValvePositions[1]
Con questo numero dopo se debe fare corrispondere con le valvole:
```pascal
CASE #"Channel Selected" OF
1:
// SX
#Move_ChDx_Div := FALSE;
#Move_ChDx_Neutro := TRUE;
#Move_ChSx_Div := TRUE;
#Move_ChSx_Neutro := FALSE;
2:
// BYPASS
#Move_ChDx_Div := FALSE;
#Move_ChDx_Neutro := TRUE;
#Move_ChSx_Div := FALSE;
#Move_ChSx_Neutro := TRUE;
3:
// DX
#Move_ChDx_Div := TRUE;
#Move_ChDx_Neutro := FALSE;
#Move_ChSx_Div := FALSE;
#Move_ChSx_Neutro := TRUE;
ELSE
#Move_ChDx_Div := FALSE;
#Move_ChDx_Neutro := FALSE;
#Move_ChSx_Div := FALSE;
#Move_ChSx_Neutro := FALSE;
END_CASE;
U #Move_ChDx_Div
= "Move_ChDx_Div":P
U #Move_ChDx_Neutro
= "Move_ChDx_Neutro":P
U #Move_ChSx_Div
= "Move_ChSx_Div":P
U #Move_ChSx_Neutro
= "Move_ChSx_Neutro":P
```
#### Scheda di synchronismo:
***
![[Pasted image 20240424115525.png|1000]]
Tp : Tempo in ms tra un pulso e il precedente della ruota fonica
Ta : Tempo in ms setto sui dipswitch
Questa scheda consente di prevedere il ritardo "fisso" del gruppo pneumatico e di processare tutti i segnali che provengono dal PLC rispetto alla ruota fonica. Di conseguenza, il principio di funzionamento consiste nel fatto che questa scheda calcola il tempo Tp tra un impulso ed il precedente della ruota fonica. Con questo tempo Tp e il tempo Ta impostato sui dip switch, codificato in binario in millisecondi, la scheda anticipa o in realtà aspetta Tp-Ta per far passare i segnali provenienti dal PLC verso il gruppo pneumatico. Ciò effettivamente anticipa il tempo impostato sui dipswitch e le valvole scambiano in anticipo per un tempo Ta.
![[Pasted image 20240424120717.png]]
#### HMI:
***
![[Pasted image 20240424120843.png]]
* Numero Pacchi Preset: Numero di pacchi necessari per passare al prossimo canale. Il conteggio viene eseguito con la fotocellula all'ingresso.
* Numero Pacchi Attuali: quante sono conteggiate fino ad ora.
* Accumulo ON/OFF : Tempistiche per i timer di accumulo
* Filtro TOFF fotocellula da Conteggio : tempo minimo di filtraggio per la fotocellula di conteggio. Questo evita piccole variazioni di luce/buio e non ritarda il phasing perché funziona come un filtro TOFF.
* Ritardo Pacco Rilevato (Impulsi) : punti sulla FIFO per anticipare il cambio. Questo è un valore definito dalla ricetta e permette di anticipare un certo numero di impulsi il cambio sul divisore. È utile per i pacchi che non sono rilevati bene a causa di un problema, ad esempio se la fotocellula non rileva il vassoio sotto.
* Posizione Cambio Canale Nel Registro (Impulso) : È l'uscita della FIFO per lo scambio pneumatico. È il punto di scambio. Questo non è un valore definito dalla ricetta perché è un valore relativo alla distanza meccanica tra la fotocellula e quanti impulsi o placchette ci sono fino al punto di scambio.
* Ritardo allarme fotocellula in uscita divisore : tempo per l'attivazione dell'allarme della fotocellula di jam.