Strumenti Utente

Strumenti Sito


toggle

Commutazione di un uscita con un ingresso

Nel progetto toggle sono proposte sei diverse soluzioni per commutare il valore di un'uscita usando un solo ingresso. Il progetto è interessante perché mostra come esistano varie soluzioni - non sempre semplici - per risolvere un problema apparentemente banale e per introdurre i linguaggi FUP e SCL alternativi al KOP (ladder).

Soluzioni

Ogni soluzione è proposta in una diversa FC.

FUP

Usa il linguaggio di programmazione grafico FUP (che non usiamo mai) per realizzare una soluzione che sfrutti la funzione logica XOR. Il blocco P rileva il fronte dell'ingresso, il blocco x fa lo XOR col valore precedente (l'uscita è 1 se il valore precedente è 0 ed è zero se il valore precedente è 1) e il blocco = assegna il valore all'uscita.

JUMP

Questa soluzione in ladder usa l'istruzione di salto JMPN che salta all'etichetta (label) “STOP” se il risultato logico combinatorio (RLO, result of logic operation) vale 0. In assenza del fronte non c'è il toggle del valore altrimenti il segmento 2 commuta il valore dell'uscita. E' necessario usare il merker di sistema Firstscan per impostare un valore iniziale dell'uscita.

LAD1

Questa soluzione in ladder/KOP usa una variabile di appoggio TMP per commutare l'uscita. In corrispondenza del fronte

  • quando KM1 è 0 TMP setta KM1
  • quando è 1 TMP vale zero e resetta KM1

LAD2

Questa soluzione è simile a quella di LAD3 ma genera un impulso sul fronte dell'ingresso senza usare il contatto -|P|- ma usando un merker di appoggio FP_SB3. Naturalmente è più comodo usare l'istruzione apposita ma è interessante saper che c'è un'alternativa.

LAD3

Forse è la soluzione più semplice e non è nemmeno necessaria una spiegazione. Si osservi che la funzione svolta dai quattro contatti non è altro che la funzione logica XOR (la prima forma canonica della sua tabella della verità infatti è `bar(A)B + A bar(B)`)

SCL

Usando l'SCL, un linguaggio testuale strutturato simule al C o al Pascal, la soluzione è semplice: si sfrutta la variabile di stato pressed e si confrontano i valori per negare il valore dell'uscita.

Questo sito Web utilizza i cookie. Utilizzando il sito Web, l'utente accetta la memorizzazione dei cookie sul proprio computer. Inoltre riconosci di aver letto e compreso la nostra Informativa sulla privacy. Se non sei d'accordo, lascia il sito.Maggiori informazioni sui cookie
toggle.txt · Ultima modifica: 2023/02/23 09:07 da admin