EasyManuals Logo

Allen-Bradley Studio 5000 Logix Emulate User Manual

Allen-Bradley Studio 5000 Logix Emulate
676 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #657 background imageLoading...
Page #657 background image
Chapter 11
Rockwell Automation Publication MOTION-RM002H-EN-P-February 2018 657
Fault Conditions
A major fault will occur if Fault type Fault code
the construct loops too long 6 1
Example 1
If you want this Enter this structured text
The WHILE_DO loop evaluates its conditions first. If the conditions are true, the
controller then executes the statements within the loop.
This differs from the REPEAT_UNTIL loop because the REPEAT_UNTIL loop
executes the statements in the construct and then determines if the conditions
are true before executing the statements again. The statements in a
REPEAT_UNTIL loop are always executed at least once. The statements in a
WHILE_DO loop might never be executed.
pos := 0;
While ((pos <= 100) & structarray[pos].value <> targetvalue)) do
pos := pos + 2;
String_tag.DATA[pos] := SINT_array[pos];
end_while;
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.
Initialize Element_number to 0.
Count the number of elements in SINT_array (array that contains the ASCII
characters) and store the result in SINT_array_size (DINT tag).
If the character at SINT_array[element_number] = 13 (decimal value of the
carriage return), then stop.
Set String_tag[element_number] = the character at
SINT_array[element_number].
Add 1 to element_number. This lets the controller check the next character in
SINT_array.
Set the Length member of String_tag = element_number. (This records the
number of characters in String_tag so far.)
If element_number = SINT_array_size, then stop. (You are at the end of the
array and it does not contain a carriage return.)
element_number := 0;
SIZE(SINT_array, 0, SINT_array_size);
While SINT_array[element_number] <> 13 do
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;
end_while;

Table of Contents

Other manuals for Allen-Bradley Studio 5000 Logix Emulate

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Allen-Bradley Studio 5000 Logix Emulate and is the answer not in the manual?

Allen-Bradley Studio 5000 Logix Emulate Specifications

General IconGeneral
BrandAllen-Bradley
ModelStudio 5000 Logix Emulate
CategoryController
LanguageEnglish

Related product manuals