luca80 Inserito: 1 maggio 2010 Segnala Inserito: 1 maggio 2010 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 := db2Qualcuno ha un consiglio?Grazie mille.
cagliostro Inserita: 1 maggio 2010 Segnala Inserita: 1 maggio 2010 (modificato) Salve,non è la SFC20 che devi usare, ma la SFC21 come a seguire: L L#0 T #ZeroCALL "FILL" //SFC21BVAL :=#ZeroRET_VAL:=#RetValBLK :=DB2Non 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 lineSalutiCagliostro Modificato: 1 maggio 2010 da cagliostro
cagliostro Inserita: 1 maggio 2010 Segnala Inserita: 1 maggio 2010 (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#0T #ZeroCALL "FILL" //SFC21BVAL :=#ZeroRET_VAL:=#RetValBLK :=P#DB2.DBX0.0 BYTE 6In 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 5Ovviamente dovrai "richiamare" la SFC21 per l'azzeramento del DB, solo nelle condizioni a te necessarie e non ciclicamente salvo casi particolari.Scusandomi per l'erroreBuona giornataCagliostrooppure semplicemente Modificato: 1 maggio 2010 da cagliostro
luca80 Inserita: 1 maggio 2010 Autore Segnala Inserita: 1 maggio 2010 Sei stato molto esudiente, grazie mille.
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