Программирование на языке структурированного текста
7-27
Publication 1756-PM001G-EN-P - March 2004
Пример 2:
Если вы хотите: Введите:
Переместить символы ASCII из массива
типа SINT в строковый тег. (В массиве
SINT каждый элемент содержит один
символ.) Остановиться по достижении
символа возврата каретки.
1. Значению Element_number (номер
элемента) присваивается 0.
2. Подсчитывается количество
элементов в массиве SINT_array
(массив, содержащий символы ASCII)
и результат сохраняется в
SINT_array_size (тег типа DINT).
3. Присвоить String_tag[element_number]
= символ в
SINT_array[element_number].
4. Прибавить 1 к element_number. Это
позволит контроллеру проверить
следующий символ в SINT_array.
5. Присвоить элементу Length тега
String_tag значение element_number.
(Это запись количества символов в
String_tag.)
6. Если element_number =
SINT_array_size, остановиться. (Вы в
конце массива и он не содержит
символа возврата каретки.)
7. Если символ в
SINT_array[element_number] = 13
(десятичный код возврата каретки),
то остановиться. В противном случае,
перейти к 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 thenexit;
end_if;
Until SINT_array[element_number] = 13
end_repeat;