Vai al contenuto
PLC Forum


Come Azzerare Una Db?


Messaggi consigliati

Inserito:

domanda:

come posso azzerare (sempre che sia possibile) tutti i dati di una DB senza doverli azzeare ad uno ad uno?

Mi spiego meglio:

esiste un comando in cui trasferisco 0 in tutte le variabili di una DB tipo:

carica "0"

move DB1

Scusate la mia ignoranza ma per me qualsiasi cosa di siemens è sempre nuova!


Inserita:

esiste il richiamo della SFC21 fill

leggi l'aiuto in linea sul blocco

pigroplc

Inserita:

inizializzi per esempio MW10=0 e la passi a SFC21 .La funzione azzera un'area di memoria con lunghezza parametrizzabile tramite puntatore

ciao

walter

Inserita: (modificato)

ho guardato nell' . di step7 ma non trovo nessun SFC21 nell'elenco. Ci sono SFC20 BLKMOV e SFC22 CREAT_DB

Modificato: da giagino
Inserita:

da simatic manager apri invece dei progetti biblioteche;

\standard library\System Function Blocks e latrovi dentro la lista blocchi

quindi fai in drag and drop nel progetto

pigroplc

Inserita:

Salve,

ho guardato nell' . di step7 ma non trovo nessun SFC21 nell'elenco

strano veramente che tu non lo trovi nella biblioteca, dovrebbe interporsi giusto tra la BLKMOV e la CREAT_DB.

Allego comunque il link da dove poterla scaricare (libreria di S7)

clicca qui per il download

Inserita:

di seguito trovi la sintassi per la call di esempio. In questo caso non è parametrizzabile bensì fissa.

MB0 deve essere = zero

azzera la DB100 per i primi 10 bytes

MW1 è il valore di ritorno della SFC da analizzare qualora ci siano problemi nell'esecuzione del blocco

CALL SFC 21

BVAL :=P#M 0.0 BYTE 1

RET_VAL:=MW1

BLK :=P#DB100.DBX0.0 BYTE 10

poi se vuoi cimentarti con le parametrizzazioni c'è da sbizzarrirsi negli esempi.

pigroplc

Inserita: (modificato)

nella biblioteca l'ho trovata, era nell'h e l p che non trovo sfc21

grazie mille

Modificato: da giagino
Inserita: (modificato)
nella biblioteca l'ho trovata, era nell'h e l p che non trovo sfc21

ok, una volta richiamata la SFC21 nel programma, la selezioni con il mouse, quind attivando il tasto F1, esce una spiegazione della funzione stessa.

Comunque a questo punto l'uso su come utilizzare la SFC21, dovrebbe esserti sufficientemente chiaro come da esempio postato nel messaggio #7.

Modificato: da cagliostro
  • 11 months later...
Inserita:

ragazzi, in ladder se gli passo un booleano sempre falso riesco ad azzerare tutto il DB? il compilatore me lo permette, non da nessun errore.

ma da quello che ho capito se gli passo il booleano la dimensione del db deve essere multipla di 8..

la mia db è di 200 byte guardandola nella vista dichiarazione ma se passo nella vista "dati" ne vedo 198, come mai? è ultipla di 8 o no?

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