19 lines
1.2 KiB
Markdown
19 lines
1.2 KiB
Markdown
|
|
||
|
#### Questa Funzione (FB) riceve:
|
||
|
***
|
||
|
- I_PhotocelUp : segnale fotocellula superiore
|
||
|
- I_PhotocelDown : segnale fotocellula inferiore
|
||
|
- I_EncoderPulse: impulso encoder
|
||
|
- I_Signals_Photo_Type_NC : '1' indica fotocellule NC
|
||
|
- I_DistancePHT_Eject : distanza in mm tra l'eiettore e il ponte di fotocellula
|
||
|
- I_Solenoid_ExpulsionLengh_PhtDetec : lunghezza in mm dell'impulso di espulsione
|
||
|
- I_AllowedError_Photocells : differenza in mm tra fotocellula superiore e inferiore per segnalare la caduta di una bottiglia
|
||
|
- I_distance_mm_x_EncoderPulse: distanza percorsa in mm per impulso dell'encoder
|
||
|
|
||
|
#### Uscite:
|
||
|
***
|
||
|
* Ejector_solenoid : Impulso da connettere alla valvola di espulsione
|
||
|
|
||
|
La logica opera rilevando un differenza tra il buio della fotocella superiore e quella inferiore maggiore di `I_AllowedError_Photocells`. Se ci si imbatte in una differenza maggiore, indica che questa bottiglia deve essere espulsa, caricandola nella FIFO che ha 15 posti. Quindi, il massimo consentito tra il ponte e l'espulsore è di 15 bottiglie. Una volta che la bottiglia da espellere raggiunge l'espulsore, calcolato come `I_DistancePHT_Eject`, viene effettuato un impulso per `I_Solenoid_ExpulsionLengh_PhtDetec` mm.
|
||
|
|