Vai al contenuto
PLC Forum


Scl


southofsanity

Messaggi consigliati

southofsanity

Sul nuovo step7 v11 per mia gioia c'è l'scl derivato dal pascal.... una cosa volevo chiedere.....

nel programma in pascal perciò penso anche scl, decido io quando avviare il programma e quando terminarlo con i vari loop.

Essendo il plc in loop di suo, il programma scritto da me in SCL, verra eseguito ciclicamente o no ?

esempio banale:

faccio il classico

IF "pippo" = 100

THEN add "x" ;

ELSE sub "y" ;

END_IF

normalmente se non è all'interno di un loop viene eseguito una sola volta,

nello step 7 v11 dato che il programma plc è ciclico ?

Link al commento
Condividi su altri siti


Viene eseguito una sola volta, fino al richiamo successivo.

Voglio dire, tu crei un blocco di programma (FC o FB).

Il fatto però che tu abbia generato questo blocco non è condizione sufficiente per l'esecuzione del blocco stesso, ma dovrai programmarne il richiamo da qualche parte.

Se il richiamo è ciclico (ad esempio in OB1), ad ogni scansione verrà eseguito una volta.

Il fatto che il blocco sia creato utilizzando l'SCL piuttosto che il KOP, non modifica minimamente la modalità di esecuzione.

Link al commento
Condividi su altri siti

Cioè vorresti scrivere direttamente l'OB1 in SCL?

In quel caso, le istruzioni verrebbero eseguite ciclicamente.

Questa soluzione però non mi farebbe solo storcere il naso, ma addirittura inorridire.

E' buona norma programmare in OB1 solo i richiami ai vari blocchi di programma, ed eventualmente solo poche e semplici istruzioni.

Quindi, anche se utilizzi l'SCL per l'OB1, utilizza lo stesso l'OB1 solo per i richiami.

Anche ipotizzando un programma molto semplice, che richiede una sola FC, scrivi il programma in questa FC e in OB1 limitati a richiamare l'FC.

Link al commento
Condividi su altri siti

perchè dici che non è buona norma scrovere piccoli programmi direttamente nel ob1? io non l'ho mai fatto ma non mi sono mai chiesto perchè

Link al commento
Condividi su altri siti

OB1 è l'equivalente della funzione main di un programma scritto in "C". In questo blocco dovrebbero essere effettuati solo test e richiamo ad funzioni e/o blocchi di programma.

Modificato: da Livio Orsini
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...