Vai al contenuto
PLC Forum


For Next


dastin

Messaggi consigliati


1 - Non usare le maiuscole.

2 - L'Help on line ed il manuale sono molto chiari nella spiegazione delle istruzioni, basta leggerli. Comunque un ciclo "For ...Next" significa che il programma rimeterà "n" volte le istruzioni contenute all'interno delle du istruzioni; "n" è il parametro contatore del numero di cicli e lo devi indicare all'ato della programamzione

Link al commento
Condividi su altri siti

FattoreDiPotenza

Le istruzioni FOR e NEXT creano un LOOP, dall'Inglese, Loop significa "nodo scorsoio" , chiaramente non ti aiuta a capire la funzione.In pratica, creando un LOOP , si fa' in modo che l'elaborazione del programma , si blocchi in un determinato punto chiamato NEXT , salta indietro a ritroso e ricomincia dall'istruzione FOR , per poi fermarsi ancora al NEXT e via cosi' , per un numero di volte determinato.

Ecco un esempio di applicazione del loop attraverso FOR & NEXT.

Prima parte , dichiaro che l'istruzione FOR , esegue 10 loop "VW10, 0, 10" , partendo da zero , "VW10, 0, 10",

ed il valore di conteggio reale del numero volte e' contenuto nella word VW10 "VW10, 0, 10"

Codice:

Network 1 // Titolo del segmento

// Presparazione del loop

LD SM0.0 //special flag always ON

FOR VW10, 0, 10 //Impostazione istruzione FOR

Seconda parte, e' il codice da eseguire N.volte, ci puoi mettere quello che ti pare, ma nel mio esempio deve per forza contenere , l'aggiornamento della variabile VW10 , a cui sommo 1 (incermento a passi di 1)ogni scansione del loop.

Codice:

LD SM0.0

+I 1, VW10

Terza ed ultima parte, l'etichetta NEXT , a questo punto il programma si arresta e torna indietro alla prima parte del codice, nel punto "FOR VW10, 0, 10" ed esegue tanti salti sino a quando la condizione non e' soddisfatta , cioe' 10.

Alla fine , cioe' alla undicesima lettura (10+1)di LOOP, la condizione e' soddisfatta, ed il programma salta direttamente a NEXT e prosegue oltre.

Codice:

NEXT

Queste operazioni, vanno usate con cautela, perche' nel caso non raro , che la condizione per uscire dal loop, sia troppo lunga in termini di tempo di esecuzione del programma o non sia mai soddisfatta (loop infinito), rischi di fare intervenire il "watch dog" della CPU che andra' irrimediabilmente in stop.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...