suibaf Inserito: 21 maggio 2003 Segnala Share Inserito: 21 maggio 2003 Salve ragazzi. Guardate questo semplice blocco: CALL FC 7 pb :=M15.0 onof:=DB20.DBX0.0all'interno dell'fc7 ho scritto semplicemente: U#pb S#onofcioè porto ad 1 pb e setto onof che rimane settato anche se poi porto a zero pb. Questo mi funziona solo se al posto di db20.dbx0.0 ci metto solo dbx0.0 aprendo il db20 prima di effettuare la call, perchè se ci lascio db20.dbx0.0 appena porto a zero #pb va a zero anche db20.dbx0.0. Cosa mi sfugge?Grazie Link al commento Condividi su altri siti More sharing options...
giannimiao Inserita: 21 maggio 2003 Segnala Share Inserita: 21 maggio 2003 ...hai dichiarato le variabili In/Out ???CiaoPiergiovanni Link al commento Condividi su altri siti More sharing options...
suibaf Inserita: 21 maggio 2003 Autore Segnala Share Inserita: 21 maggio 2003 si certo Link al commento Condividi su altri siti More sharing options...
giannimiao Inserita: 21 maggio 2003 Segnala Share Inserita: 21 maggio 2003 ....guarda...nel dubbio ho provato(proprio con una 315-2DP) e... a me funziona senza problemi!ciaoPiergiovanni Link al commento Condividi su altri siti More sharing options...
suibaf Inserita: 21 maggio 2003 Autore Segnala Share Inserita: 21 maggio 2003 Grazie per la risposta. Non so che dirti a me quel bit va sempre a zero appena faccio cadere #pb.Ho risolto facendo:auf db20call fc 7pb=m10.0onof=dbx0.0così funziona anche a me ma se ci metto db20.dbx0.0 mi da il problema che ti dicevo.Bohhh Link al commento Condividi su altri siti More sharing options...
zmax Inserita: 22 maggio 2003 Segnala Share Inserita: 22 maggio 2003 La variabile "pb" deve essere dichiarata come "in". La variabile "onoff" deve essere dichiarata come "in_out". Le variabili locali utilizzate all'interno delle FC devono sempre essere inizializzate altrimenti assumono valori casuali. Le variabili dichiarata "in" o "in_out" vengono inizializzate con il valore dei parametri all'ingresso della FC: se il programma nell'FC modifica le variabili "in_out" all'uscita troverai il valore modificato altrimenti il valore con cui si è entrati.Se la variabile "onoff" viene dichiarata solamante "out" per quanto risulta il codice della FC da te scritto il risultato è impredicibile. Mi spiego in questo caso:all'ingresso dell'FC"pb" = 1 ---> dal codice della FC sicuramente "onoff"=1 quindi anche db20.dbx0.0ora all'ingresso dell'FC"pb" = 0 --> la variable locale "onoff" assume un valore casuale che dipende dallo stack logico delle variabili locali e non viene ad assumere il valore logico di db20.dbx0.0 dell'ingresso che ripeto avviene solamente se viene dichiarata "onoff" come variabile "in_out".Se hai fatto ciò e non funziona allora la tua CPU (sempre che non ci sia altro codice che scriva sopra a db20.dbx0.0) potrebbe essere stata contagiata da qualche ectoplasma... :ph34r: Link al commento Condividi su altri siti More sharing options...
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