Tipo: |
Struttura |
Disponibile a partire da: |
V1.0.8.0 |
Proveniente da: |
- |
La struttura ST_CsvTable viene utilizzata per passare il buffer fornito dall'applicazione al blocco funzione corrispondente.
Nome |
Tipo di dati |
Descrizione |
---|---|---|
pbyTable |
POINTER TO BYTE |
Puntatore al buffer (ARRAY bidimensionale di tipo STRING) fornito dall'applicazione. |
uiNumOfRows |
UINT |
Specifica il numero di righe (record) nella tabella. |
uiNumOfColumns |
UINT |
Specifica il numero di valori per riga (record) nella tabella. |
udiSizeOfTable |
UDINT |
Specifica la dimensione totale in byte della tabella. |
NOTA: Per impedire la violazione di accesso provocata dall'accesso del puntatore alla memoria, utilizzare l'operatore aritmetico SIZEOF insieme con il buffer di destinazione per determinare il valore di udiSizeOfTable.
L'esempio mostra come assegnare i valori a questa struttura:
PROGRAM POU
VAR
g_asCsvTable:ARRAY[0..c_uiNumOfRows-1,0..c_uiNumOfColumns-1] OF
STRING(c_uiLengthOfValue);
stCsvTable: FFU.ST_CsvTable;
END_VAR
VAR CONSTANT
c_uiNumOfRows :UINT:= 100;
c_uiNumOfColumns :UINT:= 10;
c_uiLengthOfValue :UINT:= 40;
END_VAR
stCsvTable.pbyTable := ADR(g_asCsvTable);
stCsvTable.uiNumOfRows := c_uiNumOfRows;
stCsvTable.uiNumOfColumns := c_uiNumOfColumns;
stCsvTable.udiSizeOfTable := SIZEOF(g_asCsvTable);
oFB_CsvRead
oFB_CsvWrite