Оператор IF

<< Click to Display Table of Contents >>

Navigation:  Программирование в MasterSCADA 4D > Редактор ST > Синтаксис Master ST > Операторы Master ST >

Оператор IF

Назначение и синтаксис

Оператор IF позволяет реализовать ветвление программы в зависимости от условий. Поддерживает:

Простые условия (IF-THEN);

Альтернативные ветки (IF-THEN-ELSE);

Множественные условия (IF-ELSIF-ELSE).

Данный оператор начинается с ключевого слова IFи заканчивается ключевым словом END_IF. Существует несколько вариантов задания оператора:

1.Базовая форма:

hmtoggle_plus1Пример кода

Алгоритм: Если {выражение} истинно, выполняется {последовательность предложений}, иначе никаких действий не производится.

2.C альтернативой:

 

hmtoggle_plus1Пример кода

Алгоритм: Если {выражение} истинно, выполняется {последовательность предложений 1}, иначе выполняется {последовательность предложений 2}.

3.Множественный выбор:

hmtoggle_plus1Пример кода

Алгоритм: Выполняется первая по порядку {последовательность предложений}, для которой соответствующее {выражение} истинно. Если все {выражения} ложны, выполняется {последовательность предложений}, следующая за ключевым словом ELSE.

Важные особенности

Блок else может отсутствовать. В этом случае, если все {выражения}, следующие за ELSIF, ложны, никаких действий не производится;

Количество блоков ELSIF не ограничено;

Условия проверяются последовательно. При первом истинном условии выполняется соответствующий блок, остальные игнорируются.

Рекомендации по использованию

1.Для сложных условий используйте скобки:

IF (x > 0) AND ((y < 10) OR (z = 5)) THEN

2.Избегайте слишком глубокой вложенности;

3.Для множественных условий предпочтительнее ELSIF, чем вложенные IF.

Практический пример

Рассмотрим пример контроля температуры с аварийной сигнализацией:

Программа контролирует температуру в промышленной печи. Если температура превышает допустимый порог (150°C), включается аварийный сигнал и отключается нагрев. В противном случае система продолжает работу в нормальном режиме.

hmtoggle_plus1Пример кода

Результат работы:

Нормальный режим

st_op_if_1

Аварийная ситуация

st_op_if_2