Simple and straightforward XML parsing and composing library.
VAR
XML : FB_XMLControl;
Buffer: STRING(GVL_Param_XmlControl.udiMaxFileSize);
// or
Buffer: ARRAY [0..GVL_Param_XmlControl.udiMaxFileSize] OF BYTE;
END_VAR
XML.pBuffer: = ADR (buffer);
XML.LenBuffer: = SIZEOF (buffer);
Add your own preferred fileheader like:
XML.WriteDocumentHeader( '<?xml version="1.0" encoding="UTF-8"?>');
<MyTag ParaName = "11" />
XML.newTag(sTagName: = 'MyTag');
XML.newParameter(Name: = 'ParaName', Parameter: = 11);
XML.CloseTag();
<MyTag> MyText </ MyTag>
XML.newTag(Name := 'MyTag');
XML.newTagData(TagData :='MyText');
XML.CloseTag();
XML.toStartBuffer();
XML.newComment(sTagName: = 'MyComment');
XML.NextTag();
XML.NextParameter(Parameter: = LastValue);
Feedback: Parameter returns the value found (string)
FB_FileControl;
This function block can open, close, read and save a file from and to a generic PLC memory buffer
It can also read a small portions (chunks) of the file from disk to memory which enables you to load larger files in small portions.
FB_StringBuffer;
Acts as an IO stream buffer for use with FB_XmlControl.
Data can be treated as STRING or array of bytes.
The StringBuffer can also be used for other purposes like textfiles, csv, etc, etc.
FB_XmlControl:
Organizes Parsing and Composing of XML data.
Filebuffersize can be set via library parameter (Gvl_Param_XmlControl)
Note: Files do not necessarily need to be in a .xml format so you can use filecontrol to access any type of file.
Offcourse parsing and composing is only supported for xml formatted files.
Latest version: v0.4.0.0
Download Library
Download Example