La richiesta di un Cliente è di verificare se all’interno di una finestra temporale attivata da un ingresso di strobe due segnali digitali hanno entrambi due variazioni e di segnalare al termine della finestra temporale la condizione di Ok o di errore.
Preferisco scrivere programmi in linguaggio ST ma visto che il cliente mi chiede se è possibile avere un programma in Ladder diagram, ho realizzato il programma PulseCheck di cui allego download. Seguiamo il flusso dalla stampa del programma.
- Rung 1: Sul fronte di attivazione dell’ingresso Strobe si attiva il timer di temporizzazione controllo ed il segnale CStrobe.
- Rung 2: Sul fronte di attivazione dell’ingresso Strobe si inizializzano tutte le variabili.
- Rung 3: Sul fronte di attivazione dell’ingresso ASignal si incrementa il relativo counter.
- Rung 4: Sul fronte di attivazione dell’ingresso BSignal si incrementa il relativo counter.
- Rung 5: Sul frone di disattivazione del segnale CStrobe (Fine finestra temporale di controllo) si verifica se entrambi i contatori hanno assunto valore 2. Se condizione verificata viene settata la condizione di Ok.
- Rung 6: Sul frone di disattivazione del segnale CStrobe se non vi è la condizione di Ok viene settata la condizione di Errore.