Vai al contenuto
PLC Forum


Come Azzerare Una Db?


giagino

Messaggi consigliati

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!

Link al commento
Condividi su altri siti


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

ciao

walter

Link al commento
Condividi su altri siti

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

Modificato: da giagino
Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

  • 11 months later...

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?

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