Vai al contenuto
PLC Forum


Modo Di Utilizzo Sfc20


Messaggi consigliati

Inserito:

Buongiorno, avrei bisogno in una certa condizione di cancellare tutti i valori che contenuti in un db (bool, word,real).

Ho provato in questo modo ma no funziona.

L L#0

T #Zero

SRCBLK := #Zero

RET_VAL := #RetVal

DSTBLK := db2

Qualcuno ha un consiglio?

Grazie mille.


Inserita: (modificato)

Salve,

non è la SFC20 che devi usare, ma la SFC21 come a seguire:

L L#0

T #Zero

CALL "FILL" //SFC21

BVAL :=#Zero

RET_VAL:=#RetVal

BLK :=DB2

Non mi dilungo oltre, le informazioni del caso le trovi anche sull'. on line di STEP7 relativamente alla funzione.

Comunque in questo modo azzeri, tutto ciò che è contenuto nella DB1.

Eccezioni:

Non sono ammessi come aree sorgente:

· Contatori

· Temporizzatori

Con la SFC 21 non è possibile scrivere valori in:

· seguenti blocchi: FB, SFB, FC, SFC, SDB

· contatori

· temporizzatori

· aree di memoria della periferia

La SFC20 invece copia il contenuto di un'area della stessa lunghezza in un'altra di pari dimensioni. Anche in questo caso vedi l'. on line

Saluti

Cagliostro

Modificato: da cagliostro
Inserita: (modificato)

Scusami, ma nell'esempio riportato nell'uso della SFC21, ho commesso un errore.

Ovvero nel parametro BLK, anzichè inserire il blocco dati DB2, la corretta sintassi da usare diventa:

L L#0

T #Zero

CALL "FILL" //SFC21

BVAL :=#Zero

RET_VAL:=#RetVal

BLK :=P#DB2.DBX0.0 BYTE 6

In questo esempio vengono messe a 0 nel DB2 i primi 6 byte.

Nel caso tuo dovrai inserire il numero di byte complessivo che compongono il DB2 se vuoi effettuare un azzeramento totale dei dati.

Oppure specificare la lunghezza parziale del pacchetto di byte del DB che deve essere azzerato.

Es: Se vuoi azzerare i primi 5 byte della DB2 a partire dal 4 byte la sintassi sarà:

P#DB2.DBX3.0 BYTE 5

Ovviamente dovrai "richiamare" la SFC21 per l'azzeramento del DB, solo nelle condizioni a te necessarie e non ciclicamente salvo casi particolari.

Scusandomi per l'errore

Buona giornata

Cagliostro

oppure semplicemente

Modificato: da cagliostro

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