Vai al contenuto
PLC Forum


Azzeramento Istanze


MarcoEli

Messaggi consigliati


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

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

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 istanza

prova 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

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

Claudio Monti

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: da Claudio Monti
Link al commento
Condividi su altri siti

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

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