Example 2 – Rockwell Automation Logix5000 Controllers Structured Text Programming Manual User Manual

Page 36

Advertising
background image

36

Publication 1756-PM007D-EN-P - November 2012

Chapter 1 Program Structured Text

Example 2:

If you want this

Enter this structured text

Move ASCII characters from a SINT array into a string tag. (In
a SINT array, each element holds one character.) Stop when
you reach the carriage return.

1. Initialize Element_number to 0.

2. Count the number of elements in SINT_array (array that

contains the ASCII characters) and store the result in
SINT_array_size (DINT tag).

3. Set String_tag[element_number] = the character at

SINT_array[element_number].

4. Add 1 to element_number. This lets the controller check

the next character in SINT_array.

5. Set the Length member of String_tag = element_number.

(This records the number of characters in String_tag so
far.)

6. If element_number = SINT_array_size, then stop. (You are

at the end of the array and it does not contain a carriage
return.)

7. If the character at SINT_array[element_number] = 13

(decimal value of the carriage return), then stop.

Otherwise, go to 3.

element_number := 0;

SIZE(SINT_array, 0, SINT_array_size);

Repeat

String_tag.DATA[element_number] :=
SINT_array[element_number];

element_number := element_number + 1;

String_tag.LEN := element_number;

If element_number = SINT_array_size then

exit;

end_if;

Until SINT_array[element_number] = 13

end_repeat;

Advertising