ERROR (ENUM) ¶ TYPE ERROR : {attribute ‘conditionalshow’} {attribute ‘conditionalshow’ := ‘SomeText’} {attribute ‘hide’} Attributes: qualified_only InOut: Name NO_ERROR TIME_OUT INVALID_PARAMETER MEMORY_CAPACITY NOT_FOUND
Function Blocks ¶ StringWriter (FunctionBlock) AppendBuffer (Method) AppendData (Method) AppendString (Method) AppendWString (Method) Clear (Method) CopyString (Method)
StringWriter (FB) ¶ FUNCTION_BLOCK StringWriter The StringWriter is ideal for creating large strings. You can concatenate STRINGs with the method AppendString and WSTRINGs with the method AppendWString. The data is copied to an internal memory. Strings with a maximum length of UDINT can be passed. The normal workflow is as follows: You start with a fresh StringWriter or you initialize the existing one with the method StringWriter.Clear . Subsequently, the concatenation methods StringWriter.AppendString or StringWriter.AppendWString are used. Attention Mixed operation is not permitted! Only a concatenation of the same string type is possible. The data is transferred to the internal memory without filtering or any kind of type conversion. Finally, copy the result to the desired location using the method StringWriter.CopyString . Note If there is a need to concatenate larger constant character strings again and again, it is possible to reduce the memory requirement and increase performance by providing these character strings with an SBM.Buffer and passing them to the method StringWriter.AppendBuffer . Methods: AppendBuffer AppendData AppendString AppendWString Clear CopyString Structure: AppendBuffer (Method) AppendData (Method) AppendString (Method) AppendWString (Method) Clear (Method) CopyString (Method)
StringWriter.AppendBuffer (METH) ¶ METHOD AppendBuffer : ERROR AppendBuffer adds the passed buffer to the end of the current user data. The transfer takes place by reference and the specified free memory of this buffer is used for further use. Note Normally, buffers with a remaining length of 0 are transferred. Otherwise the original buffer might be changed with further operations! Schematic mode of operation ¶ Tip Larger constant character strings should be concatenate again and again by buffers. 1 PROGRAM PLC_PRG 2 VAR CONSTANT 3 c_wsLargeString : WSTRING ( 300 ) := 'Large information ...' ; 4 END_VAR 5 VAR 6 bfLargeString : SBM.Buffer := ( pData := ADR ( c_wsLargeString ), udiSize := 300 * 2 ); 7 StringWriter : MSU.StringWriter ; 8 9 ... 10 END_VAR 11 12 StringWriter.AppendBuffer ( itfBuffer := bfLargeString , udiFreePageSize := 0 ); 13 14 ... InOut: Scope Name Type Comment Return AppendBuffer ERROR Input itfBuffer SBM.IBuffer udiFreePageSize UDINT Buffer to append
StringWriter.AppendData (METH) ¶ METHOD PROTECTED AppendData : ERROR AppendData adds the referenced data to the end. If the free internal memory is insufficient, it is expanded and, if necessary, the data transferred is distributed among several internal administrative buffer pages. Schematic mode of operation ¶ InOut: Scope Name Type Comment Return AppendData ERROR Input pbyData POINTER TO BYTE udiSize UDINT address to raw data
StringWriter.AppendString (METH) ¶ METHOD AppendString : ERROR InOut: Scope Name Type Return AppendString ERROR Inout Const sValue STRING Input udiLength UDINT
StringWriter.AppendWString (METH) ¶ METHOD AppendWString : ERROR InOut: Scope Name Type Return AppendWString ERROR Inout Const wsValue WSTRING Input udiLength UDINT
StrLenA (FUN) ¶ FUNCTION StrLenA : UDINT This function determines the length of a string by searching for a terminating zero character. The function will do its work either with native IEC-Strings or with strings coming from external functions. It will return 0 and eError = ERROR.INVALID_PARAMETER if the given pointer to String is equal NULL InOut: Scope Name Type Comment Return StrLenA UDINT Input pstData CharBufferPtr simply a pointer to byte Output eError ERROR
StrLenW (FUN) ¶ FUNCTION StrLenW : UDINT This function determines the length of a string by searching for a terminating zero character. The function will do its work either with native IEC-WStrings or with strings coming from external functions. It will return 0 and eError = ERROR.INVALID_PARAMETER if the given pointer to String is equal NULL InOut: Scope Name Type Comment Return StrLenW UDINT Input pstData CharBufferPtr simply a pointer to byte Output eError ERROR