String instructions
268
Part II IEC Instructions
MID
Copy characters from a middle position
To add an enable input and enable output to the instruction, select [With EN/ENO] from the
"Instructions" pane (LD, FBD or IL editor). To reuse an instruction select "Recently used" from the
context menu or press <Ctrl>+<Shift>+<v> in the programming window.
PLC types Availability of MID (see page 1328)
The sum of start position and number of characters to be delivered
should not be greater than the input string. If you want to receive for
example 5 characters of a 10-character string, starting from position 7,
only the last 4 characters are delivered.
If the output string is longer than the length defined for the output
variable (output_string) in the field "Type", only as many characters
are copied from the start position as the output variable can hold. The
special internal relay R9009 (%MX0.900.9) is set.
The number of steps may vary depending on the PLC and parameters
used, see also Table of Code Intensive Instructions in the online help.
(up to 200 steps)
Data type I/O Function
STRING 1st input input string
INT 2nd input number of input string's characters that are copied
INT 3rd input position where copying begins
STRING output copied string
No. IEC address Set If
R9007 %MX0.900.7 permanently
R9008 %MX0.900.8 for an instant
input string is longer than the length
defined for the input variable in the field
"Type" or start position is greater than
the input string
R9009 %MX0.900.9 for an instant output string is longer than the length
defined for the output variable in the field
"Type"
Description
MID copies L characters of the string IN starting at position P with 1 denoting the first character of
the string. The result is written into the output variable.
Data types
Error Flags
Example
In this example, the same POU header is used for all programming languages. For an example
using IL (instruction list), please refer to the online help.