MarcoEli Inserito: 7 ottobre 2008 Segnala Share Inserito: 7 ottobre 2008 Ciao è possibile con un comando azzerare un instanza di un FB prima di eseguirlo, oppure bisogna farlo all'interno dell' FB? Link al commento Condividi su altri siti More sharing options...
rddiego Inserita: 8 ottobre 2008 Segnala Share Inserita: 8 ottobre 2008 non mi sembra che esista un comando o che si possano fare dei comandi sulle istanze.Esattamente cosa ti serve fare? Magari ci sono altri metodi o suggerimenti per arrivare al risultato desiderato...Per azzerare l'istanza intendi azzerare tutte le variabili corrispondenti ad una chiamata di una dfb? Link al commento Condividi su altri siti More sharing options...
MarcoEli Inserita: 8 ottobre 2008 Autore Segnala Share Inserita: 8 ottobre 2008 esattamente, più che altro dovrei suare un FB come un.....FC Siemens ovvero senza istanza........temporaneamente ho risolto azzerando i valori all'inizio dell'FB....pensavo che ci fosse qualche istruzione "dedicata" Link al commento Condividi su altri siti More sharing options...
rddiego Inserita: 8 ottobre 2008 Segnala Share Inserita: 8 ottobre 2008 Esattamente cosa ti serve fare? Magari ci sono altri metodi o suggerimenti per arrivare al risultato desiderato...dovrei suare un FB come un.....FC Siemens ovvero senza istanzaprova a dirmi più nel dettaglio.. magari ho qualche dritta (difficile... mah!)una FC parametrizzata però altrimenti è l'equivalente di una SR Link al commento Condividi su altri siti More sharing options...
Stefano Sormanni Inserita: 8 ottobre 2008 Segnala Share Inserita: 8 ottobre 2008 fai una chiamata condizionata CALC, dove prima di chiamarla la azzeri Link al commento Condividi su altri siti More sharing options...
MarcoEli Inserita: 9 ottobre 2008 Autore Segnala Share Inserita: 9 ottobre 2008 Il funzionamento dell' FB è semplicissimo, mi serve solo per suddividere i dati che mi arrivano da una bilancia, siccome per ogni ricetta mi arriva una serie di dati :PesoStep1,NrProdottoStep1,PesoStep2,NrProdottoStep2,PesoStep3,NrProdottoStep3.....e così via per poter archiviare i dati devo trasferite il peso nella word corretta in modo tale da avere delle word "definite" per ogni prodotto.l' FB lo uso per ogni prodotto facendogli leggere tutta la ricetta e indicandogli come parametro aggiuntivo il numero di prodotto relativo.non mi serve che tenga i dati in memoria per questo l'istanza è un pò inutile e devo azzerarla perchè se in una ricetta un prodotto non è usato l'FB non fa niente ma mantiene in memoria i dati della ricetta precedente quindi mi sballa i valori........spero che la mia spiegazione sia chiara....forse per quello che dovevo fare non dovevo usare un FB ma qualche altra funzione..... Link al commento Condividi su altri siti More sharing options...
Claudio Monti Inserita: 9 ottobre 2008 Segnala Share Inserita: 9 ottobre 2008 (modificato) Usa i puntatori...es.: %MW10:=%MW100[%MW200]; all'interno della %MW10 ti scrive il valore contenuto nella WORD che parte dalla %MW100 ma con indice contenuto nella %MW200, ovvero mettiamo ad esempio che i valori siano: %MW100 = 1 %MW101 = 10 %MW102 = 3 %MW103 = 5 se %MW200 = 0, %MW10 conterra' 1 (il valore della %MW100) se %MW200 = 3, %MW10 conterra' 5 (il valore della %MW103)Sper di essere stato utile. Modificato: 9 ottobre 2008 da Claudio Monti Link al commento Condividi su altri siti More sharing options...
rddiego Inserita: 9 ottobre 2008 Segnala Share Inserita: 9 ottobre 2008 come dice Monti mi sembra una buona via.Non ne sono certo ma se per fare i calcoli nella DFB usi variabili "private" credo che ad ogni chiamata si azzerino ( o forse non vengono toccate un po' come le Local in Siemens). Prova!Comunque indicizzando con puntatori che sono molto semplici da usare piuttosto che con S7 puoi fare cose più performanti. 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