Considerare le seguenti limitazioni per la scrittura in un file XML:
oLe operazioni sui file sono processi che richiedono tempo. Per evitare di influenzare funzioni di controllo critiche dal punto di vista del tempo nell'applicazione, creare un task separato con priorità inferiore per questi processi. Per ulteriori informazioni sulla gestione dei task, consultare il capitolo Watchdog di task e sistema nella Guida di programmazione del controller.
oIl parametro di timeout i_timTimeout consente di monitorare l'attività del file. Se il valore specificato per il timeout viene superato durante l'esecuzione del blocco funzione, l'operazione di scrittura viene annullata e il blocco funzione indica un errore. Per selezionare un valore appropriato per il parameteo del timeout, considerare che l'attività del file impiega diversi cicli del task. Perciò, calcolare il prodotto del numero di cicli del task richiesti e l'intervallo del task per specificare il valore minimo del parametro di timeout.
oIl numero di cicli dipende, oltre che dalla quantità di dati da scrivere, dalla dimensione del blocco in elaborazione che può essere specificata dal parametro Gc_uiXmlWriteProcessingBlockSize nel GPL. La creazione del file è suddivisa in diverse operazioni di scrittura per ridurre il carico di un singolo ciclo del task. Durante ogni operazione di scrittura, viene elaborato un blocco dati e scritto sul file. Maggiori sono le dimensioni del blocco di elaborazione, meno cicli sono richiesti per creare e scrivere il file. Tuttavia, una notevole dimensione del blocco aumenta il tempo di esecuzione di ogni operazione di scrittura.
oNon elaborare i dati del buffer forniti da i_refXmlItems finché l'uscita q_xBusy del blocco funzione indica TRUE.
oNon accedere contemporaneamente allo stesso file con blocchi funzione diversi. Usare l'uscita q_xBusy per bloccare l'esecuzione dei vari blocchi funzione.