Микропроцессорная техника систем автоматизации



бет31/77
Дата27.11.2023
өлшемі4,68 Mb.
#128711
1   ...   27   28   29   30   31   32   33   34   ...   77
Оператор IF. Оператор IF управляет выполнением той или иной части программы в зависимости от состояния булевой переменной. С помощью оператора IF пользователь может запрограммировать выполнение различных, определяемых условиями, ветвей про- граммы.
IF condition THEN statements;

… END_IF;
Здесь condition – это адрес или выражение с типом BOOL. Если condition имеет значение True, то выполняются операторы после ключевого слова THEN. Если condition имеет значение False, то выполняются операторы после ключевого слова END_IF. Ключевое слово END_IF завершает оператор IF.
Пример:
IF condition THEN statements1;

… ELSE
statements0;

… END_IF;
В данном примере, как и в предыдущем, condition имеет значе- ние True или False. Если condition имеет значение True, то выпол- няются операторы после ключевого слова THEN. Если condition имеет значение False, то выполняются операторы после ключевого слова ELSE.
В качестве примера реализуем через оператор IF программу двухпозиционного регулирования уровня воды в баке гидроакку- мулятора:
IF (LS1==FALSE) THEN // если уровень ниже нижней отметки –
включить насос M := TRUE; END_IF;
IF (LS2==TRUE) THEN // если уровень выше верхней отметки –
выключить насос M := FALSE; END_IF;
Оператор множественного выбора CASE. Данный оператор служит для организации выбора из диапазона значений. Формат записи оператора следующий:
CASE Expression OF CASE_ELEMENT_1: statement_1; CASE_ELEMENT_2: statement_2;
CASE_ELEMENT_3 .. CASE_ELEMENT_5: statement_2;

CASE_ELEMENT_n: statement_n; [ELSE statement_0]
END_CASE;
CASE_ELEMENT – это список значений, перечисленных через запятую. Элементом списка может быть некоторое целое число (например, CASE_ELEMENT_1, CASE_ELEMENT_2) или диапа- зон целых чисел (например, CASE_ELEMENT_3 .. CASE_ ELEMENT_5).
Если текущее значение Expression не соответствует ни одному из приведенных в списке значений, то управление будет передано на предложение ELSE. Если предложение ELSE не указано, то ни- каких действий выполнено не будет.
Значение Expression может быть только целым. Например: CASE k OF
1: k:=k*10;
2..5: k:=k*5; i:=0;
6, 9..20: k:=k–1; ELSE k:=0; i:=1; END_CASE;
Если значение k равно 1, то будет выполнено умножение k на 10. Если значение k принадлежит числовому отрезку [2, 5], то будет выполнено умножение k на 5, а переменной i будет присвоено зна- чение 0.
Если значение k будет равно 6 или будет принадлежать число- вому отрезку [9, 20], то значение k будет уменьшено на 1.
Если значение k не соответствует ни одному из приведенных элементов списка, то в данном случае сработает предложение ELSE и переменной k будет присвоен 0, а переменной i присвоена 1.
При задании списка значений необходимо выполнять следую- щие условия:
− наборы значений внутри одного CASE не должны пересекаться;
− при указании диапазона значений начало диапазона должно быть меньше его конца.


Достарыңызбен бөлісу:
1   ...   27   28   29   30   31   32   33   34   ...   77




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет