Home › Forum › Programmazione IEC 61131 (LogicLab) › Utilizzo FB FileMemoryDump_v1 in sostituzione di versione precedente
- Questo topic ha 1 risposta, 1 partecipante ed è stato aggiornato l'ultima volta 1 anno, 6 mesi fa da
Sergio Bertana.
-
AutorePost
-
Marzo 17, 2025 alle 2:59 pm #80569
Anonimo
InattivoIn un programma devo sostituire il FB FileMemoryDump con la nuova versione FileMemoryDump_v1.
Ho visto che nella nuova versione sono stati modificati alcune variabili ed è stato inserita la variabile Mode, esiste un esempio di programma da cui trarre spunto per effettuare questa modifica.
Marzo 17, 2025 alle 3:04 pm #80571Sergio Bertana
Amministratore del forumNella nuova versione FileMemoryDump_v1 è stato aggiunto parametro Mode per selezionare il modo in cui i dati sono presenti nel file. Ora definendo il modo FILEMDUMP_MODE#ASCII viene utilizzata una formattazione ascii che è più leggibile rispetto alla formattazione binaria.
E’ stato aggiunto anche il parametro FPOfs, che permette di utilizzare un offset sull’accesso in lettura/scrittura sul file definito, questo permette di accodare ad un file esistente altra memoria.
E’ stato modificato il nome ai parametri MBufferPtr che diventa MBAdd e MBufferSize che diventa MBSize.
Ecco un programma che utilizza la vecchia versione.
VAR DBuf : ARRAY[0..15] OF BYTE; (* Data buffer *) MDump : FileMemoryDump; (* FBinstance *) END_VAR // ------------------------------------------------------------------------- // MEMORY DUMP // ------------------------------------------------------------------------- // On set by debug the Read or Write command the memory is read or write on // file. The command resets when operation is finished. MDump.MBufferPtr:=ADR(DBuf); //Dump memory address MDump.MBufferSize:=SIZEOF(DBuf); //Dump memory size MDump.Filename:=ADR('C:/MRetain.txt'); //Dump memory file MDump(); //Execute the FB IF (MDump.Done) THEN MDump.Read:=FALSE; MDump.Write:=FALSE; END_IF;Ecco come si può modificarlo utilizzando la nuova versione.
VAR DBuf : ARRAY[0..15] OF BYTE; (* Data buffer *) MDump : FileMemoryDump_v1; (* FBinstance *) END_VAR // ------------------------------------------------------------------------- // MEMORY DUMP // ------------------------------------------------------------------------- // On set by debug the Read or Write command the memory is read or write on // file. The command resets when operation is finished. MDump.MBAdd:=ADR(DBuf); //Dump memory address MDump.MBSize:=SIZEOF(DBuf); //Dump memory size MDump.Mode:=FILEMDUMP_MODE#BINARY; //Dump mode MDump.Filename:=ADR('C:/MRetain.txt'); //Dump memory file MDump.FPOfs:=0; //File offset MDump(); //Execute the FB IF (MDump.Done) THEN MDump.Read:=FALSE; MDump.Write:=FALSE; END_IF; -
AutorePost
- Devi essere connesso per rispondere a questo topic.