Vai al contenuto
PLC Forum


Salto?


Messaggi consigliati

Inserito:

Che cos'è il salto, perché si usa e quando si usa? (Mi scrivete degli esempi con spiegazione)

Grazie


Inserita:

Salve

Va bene tutto ma immagino si riferisse al salto di programma , cioè un pezzo di programma che deve essere eseguito solo in certe condizioni altrimenti si salta alle istruzioni sucessive.

A mio avviso , se si utilizza scl è possibile usare altre istruzioni al posto di salto , in AWL lo uso ancora.

Spero di esserti stato utile

Inserita:

Scusate la mia burla della domenica

Ovviamente come detto da Frank il salto, o meglio 'jump' viene usato per saltare porzioni di codice , di solito condizionatamente ad altri avvenimenti.

Immagina di dover accendere una lampadina col pulsante A , ma vuoi renderlo possibile solo se il selettore B NON è ruotato.

Nel tuo programma scriverai la tua porzione di codice per accendere la lampadina, ma gli anteponi un 'jump' generato dal contatto del selettore B . Ovvero, se B è ad 1, il programma salterà ad una etichetta ( che avrai chiamato es ' Pippo' ) posta dopo il codice della accensione della lampadina. Finchè B resta alto, non solo non ti sarà possibile accendere la lampadina ma il contatto A non verrà interrogato proprio , almeno in quella riga.

Questo in Ladder, Awl ecc, mentre per esempio in Scl esiste il costrutto 'IF..THEN..ELSE' che fa anche questo, pur esistendo l'istruzione jump anche in Scl.

Il codice della lampadina diventerebbe

IF ( B= false) Then

IF (A = true) then

Lampadina:= true;

Else

Lampadina:= false;

End if;

END IF

Credo che nella sezione esempi di programmazione ci sia un esempio per s7 1200 che tratta l' uso dei salti.

Ciao

Matteo

Giuseppe Signorella
Inserita: (modificato)

Le etichette di salto, come ti è stato spiegato, servono per saltare da una parte all'altra del programma.

Una volta erano molto utilizzate per ridurre il tempo di ciclo della tua CPU, in quanto le parti di codice che vengono saltate, non vengono eseguite. Quindi meno istruzioni da eseguire=maggiore velocità. Questo quando tutto il programma era scritto in un solo blocco.

Personalmente le utilizzo (in altre CPU) prevalentemente per tornare indietro nel programma, cosa che sarebbe impossibile fare diversamente, o per crearmi dei cicli tipo FOR.

Modificato: da Giuseppe Signorella
Inserita:

Anche usando linguiggi ad alto livello come, ad esempio, SCL i salti si eseguono normalmente, solo che il programmatore non li vede. A livello codice macchina, che è un poco più basso dello AWL, di salti se ne incontrano parecchi.

Ad ogni decisione corrisponde almeno un salto.

Esempio se devi realizzare la condizione "se A > B alza l'uscita C" il programma alla fine effettuerà la comparazione tra A e B e secondo il risultato eseguirà l'istruzione di alzare l'uscita A oppure salterà questa istruzione.

  • 4 weeks later...
lupusimprobus
Inserita:

Esempio pratico:

      AN I0.0
      JC j001   // Etichetta a cui saltare "j001"
      L 1
      T MW10
J001: NOP 0      // Arrivo del salto

Se I0.0=Flase il salto viene eseguito e non scrivo 1 in MW10.
Se I0.0=True il salto non viene eseguito e viene scritto 1 in MW10.

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...