FB_FormatString

This function block can be used for converting up to 10 arguments (similar to fprintf) into a string and formatting them according to the format specification. The formatting takes place in the same PLC cycle. This means that the output string is available immediately after calling the FB.
Inputs
VAR_INPUT
sFormat : T_MaxString;
arg1 : T_Arg;
arg2 : T_Arg;
arg3 : T_Arg;
arg4 : T_Arg;
arg5 : T_Arg;
arg6 : T_Arg;
arg7 : T_Arg;
arg8 : T_Arg;
arg9 : T_Arg;
arg10 : T_Arg;
END_VARName | Type | Description |
|---|---|---|
sFormat | T_MaxString | Format specification as string (e.g. '%+20.5f' or 'Measure X: %+.10d, Y: %+.10d'). |
arg1 to arg10 | Arguments to be formatted. The following helper functions can be used to convert PLC variables of different types into the required data type T_Arg: F_BYTE, F_WORD, F_DWORD, F_LWORD, F_SINT, F_INT, F_DINT, F_LINT, F_USINT, F_UINT, F_UDINT, F_ULINT, F_STRING, F_REAL, F_LREAL. |
Outputs
VAR_OUTPUT
bError : BOOL;
nErrId : UDINT;
sOut : T_MaxString;
END_VARName | Type | Description |
|---|---|---|
bError | BOOL | TRUE if an error occurred during the formatting. |
nErrId | UDINT | Returns the Format error code if the bError output is set. |
sOut | T_MaxString | If successful, this output returns the formatted output string |
Example:
PROGRAM MAIN
VAR
fbFormat : FB_FormatString;
iY : DINT;
iX : DINT;
bError : BOOL;
nErrID : UDINT;
sOut : T_MaxString;
END_VARiX := iX + 1;
iY := iY + 1;
fbFormat( sFormat := 'Measure X: %+.10d, Y: %+.10d', arg1 := F_DINT( iX ), arg2 := F_DINT( iY ), sOut => sOut, bError => bError, nErrID => nErrID );The result:
sOut = 'Measure X: +0000000130, Y: +0000000130'
Requirements
Development environment | Target platform | PLC libraries to be integrated (category group) |
|---|---|---|
TwinCAT v3.1.0 | PC or CX (x86, x64, Arm®) | Tc2_Utilities (System) |