3.7 KiB
Tavolo Multivia:
!Pasted image 20241230144921.png
Dal software originale presso da OCME si è modificato a richiesta dal cliente nel FAT il conteggio per fotocellule nella uscita del tavolo e sul trasporto di uscita. Per riuscire a lavorare senza le fotocellule ci sono stati creati 2 encoder virtuali per canali (prima bottiglia e ultima bottiglia) e un encoder virtuale per il tavolo di uscita (ultima bottiglia). L'idea di questi encoder è stata di resettare il conteggio delle FIFO una volta fatto il percorso totale del tavolo o dello offset dal punto di scarico fino al punto dove le bottiglie non sono un ingombro per la navetta. Questi offset sono parametri generali e si settano per canali. La lunghezza del tavolo è una costante di sistema.
Per potere utilizzare la logica di avanzamento questi encoder aggiornano anche il conteggio delle bottiglie in maniera che avanzano verso la uscita. Tutta la logica originale è rimasta senza modifica e per attivarla è solo modificare il "DB5000_Table".Hw.DisableOutfeedPhotocells := 1; // 0=Photocell count enable, 1=Photocell disabled
questo selettore permette utilizzare le fotocellule o gli encoder virtuali.
Le FB creati per gestire questi encoder sono le FB5093 e FB5094. In generale solo e stato modificato la FB5082 e la FB5088. La logica della FIFO non e stata modificata. Se e aggiunto un DINT Offset_Discharge per ogni canale soto Value per gestire le differenti offset secondo il canale da dove sono scaricate le bottiglie.
Sul FB5088 Network 6: !Pasted image 20241230150539.png
Per ogni bottiglia scaricata sul trasporto di uscita si ricarica il valore di offset. Questo si fa per sicurezza, però si può ottimizzare in caso di necessità di ridurre i vuoti nella uscita per i canali più lontani della uscita, facendo invece del CONV in giallo:
IF #IO_Table_I.Pht.OutfeedTable_Virtual AND
(#IO_Outfeed.ValueOvertravelEncVirt - #IO_Channel[#IO_ShuttleUnload.ChDestination].Value.LastBottActualPos) < #IO_Channel[#IO_ShuttleUnload.ChDestination].Value.Offset_Discharge THEN
#VirtualEnc_LastB.mm_ActualPos := DINT_TO_REAL(#IO_Outfeed.Ch[#IO_ShuttleUnload.ChDestination].Value.LastBottActualPos);
END_IF;
Questa logica deve aggiornare il valore da percorrere per tutte le bottiglie prima delle ultime che sommate ci sono in lunghezza minore al valore di offset da percorrere sul tavolo di uscita. In questa maniera, per esempio, se ci stanno 10 bottiglie dalla navetta scarico alla uscita finale, questo encoder non si ricaricherà per le ultime 10 bottiglie, quindi il conteggio del tavolo di scarico comincerà a scontare con la bottiglia mancando 10 bottiglie e finirà quando l'ultima bottiglia è uscita dal tavolo di uscita. Questo non e stato testato per mancanza tempo.
PopUp cambio Formato:
!Pasted image 20241230153211.png
La FC175/FB176 gestiscono questo popup che e attivato nel segmento 3 della FC175
IF "DB Flow Check".Pulses."TTOPFormat Changed" OR "DB Flow Check".Pulses."TableFormat Changed" THEN
"DB Flow Check".Option[0]."Code Required" := 0; // To force the difference
"DB Flow Check".Option[0].Code := 1; // To force the difference
// Call the 956 - PopUp Cambio Formato
"DB HMI".DBW_12 := #"956 - PopUp Cambio Formato";
"DB HMI".DBW_14 := 0;
"DB HMI".DBW_16 := 0;
"DB HMI".DBW_10 := 51;
END_IF;
se il formato da TTOP o dal Tavolo è cambiato. Questo popup è solo informativo e non modifica il funzionamento della macchina o del tavolo. L'idea è solo far ricordare all'operatore che una volta fatto il cambio formato sul trasporto deve farlo o controllare anche se deve farlo sul tavolo di accumulo.