Vai al contenuto
PLC Forum


Sottoprogrammi Con Variabili Locali


Messaggi consigliati

Inserito:

Salve a tutti.

Ammetto di usare poco le variabili locali nei sottoprogrammi ma proprio non riesco a capire questo:

Ho scritto un sottoprogramma per fare il "toggle" di un pulsante (premo il pulsante e l'uscita va a 1, lo ripremo e và a 0).

Richiamando l'SBR utilizzando I0.0 e Q0.0 tutto OK.

Se però utilizzo due volte lo stesso SBR, utilizzando questa volta I0.1 e Q0.1 portando a 1 I0.0 Q0.0 e Q0.1 "trillano".

Codice:

segmento 1

LD #Input:L0.0

EU

= #FS_In:L0.2

segmento 2

LD #FS_In:L0.2

AN #Output:L0.1

LDN #FS_In:L0.2

A #Output:L0.1

OLD

= #Output:L0.1

cosa baglio?


Inserita:

Ho fatto altre prove.

Inserendo nel SBR una semplice combinazione "and" richiamandolo due volte sempre utilizzanzo i/o diversi funziona correttamente.

Nel caso del SBR per il toggle sembra quasi che le variabili locali interferiscano tra di loro nei due richiami del'SBR.

Inserita:

Ciao , leggo un po' in ritardo il tuo post , ma la settimana scorsa ero fuori in trasferta ....

Credo che il problema risieda nel fronte di salita EU , infatti nelle SBR parametrizzate che si richiamano piu' volte il fronte non funziona ; puoi ovviare creando il fronte come si scriveva in S5 ...

LD E0.0

UN MEM_0

= M0.1

*********

LD E0_0

= MEM_0

dove MEM_0 la dichiari come parametro in out

bye

Inserita:

Grazie, avevo intuito che il problema stesse neil fronte di salita.

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