Legge da un file presente in flash una serie di dati, che vengono memorizzati in registri reali consecutivi o in un array reale specificato.
È come la f_read_table(), ma viene controllato che non ci sia sbordamento dal buffer buff specificato.
Un'ulteriore differenza è che non è possibile iniziare da un indice qualsiasi di un array di real o strutture, ma solo dall'inizio.
La funzione deve essere utilizzata solo passando parametri corretti. Si sconsiglia di usarla normalmente.
NOTA: In caso di lettura di meno dati, la funzione riempe i rimanenti con gli ultimi letti.
Sintassi |
i32 f_read_table_s (string fileName, i32 nEntry, i32 nData, * buff [, i32 nRows=NULL]) |
||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
fileName |
Nome del file da cui leggere i dati. Esso deve contenere anche la partizione della flash. |
||||||||||||||||||||
nEntry |
È il numero di entry della tabella. |
||||||||||||||||||||
nData |
Numero di dati per entry (max 128), cioè numero di dati per ogni riga del file. La linea comunque può essere lunga al massimo 256 caratteri. |
||||||||||||||||||||
buff |
Deve essere una variabile di uno dei seguenti tipi: •array di variabili di tipo stru_cam •registro reale rr o nvrr, a partire dal quale devono essere memorizzati i dati della camma letti dal file •array locale di variabili reali in cui devono essere memorizzati i dati della camma letti dal file •array di strutture che contengono solo variabili real |
||||||||||||||||||||
nRows |
Ritorna il numero di righe valide lette. (opzionale, default NULL) (da RTE 34.24.8) |
||||||||||||||||||||
Risultato |
Rende:
|
||||||||||||||||||||
Validità |
Task. |
||||||||||||||||||||
Note |
Se si utilizzano funzioni riguardanti la gestione della compact flash, si consiglia di impostare a 1 il bit 14 della variabile sys_cfg (0x00004000), per abilitare l'uso delle routine safety per la scrittura/lettura flash. |
I dati ricavati saranno poi utilizzati nelle rule per l'esecuzione delle funzioni mv_table() e mv_cam().
I dati contenuti all'interno del file devono sottostare a quanto segue:
•dimensione massima della linea: 128 caratteri
•dimensione massima della singola voce: 18
Esempio di utilizzo:
|