Vai al contenuto
PLC Forum


Sottoprogrammi Con Variabili Locali


Eddy_g

Messaggi consigliati

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?

Link al commento
Condividi su altri siti


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.

Link al commento
Condividi su altri siti

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

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