Eddy_g Inserito: 11 febbraio 2009 Segnala Inserito: 11 febbraio 2009 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 1LD #Input:L0.0EU= #FS_In:L0.2segmento 2LD #FS_In:L0.2AN #Output:L0.1LDN #FS_In:L0.2A #Output:L0.1OLD= #Output:L0.1cosa baglio?
Eddy_g Inserita: 12 febbraio 2009 Autore Segnala Inserita: 12 febbraio 2009 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.
zanellatofabio Inserita: 16 febbraio 2009 Segnala Inserita: 16 febbraio 2009 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.0UN MEM_0= M0.1*********LD E0_0= MEM_0dove MEM_0 la dichiari come parametro in outbye
Eddy_g Inserita: 16 febbraio 2009 Autore Segnala Inserita: 16 febbraio 2009 Grazie, avevo intuito che il problema stesse neil fronte di salita.
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora