Правила использования выражений и операторов


 

Операторы используются в выражениях для получения определенных значений.

Пример выражения: a + b;

Здесь a и b – идентификаторы данных (переменные), "+" – оператор.

Список операторов, которые поддерживает язык программирования SCL, приведен в таблице 3.2.

Таблица 3.2 - Список операторов и их приоритетов в языке SCL

Комбинирование Название Оператор Приоритет
Скобки <Выражение> (…)
Арифметические операции Степень Знак (плюс, минус) Умножение, деление Добавление, вычитание ** +, – *, /, MOD, DIV +, –
Сравнение Меньше, меньше или ровно Больше, больше или ровно Равно, не равно <, <= >, >= =, <>
Двоичные Логическое " НЕТ" Логическое "И" "Исключающее ИЛИ" Логическое "ИЛИ" NOT AND, & XOR OR
Присвоение   :=

 

Операторы, которые относятся к одному классу, выполняются последовательно слева направо.

Выражения разделяются на арифметические, логические и выражение сравнения.

Выражения – это формула, в которой существует определенный порядок вычисления переменной. Этот порядок обычно регулируется с помощью скобок. Результат, полученный при выполнении выражения, может быть присвоен переменной или параметру блока, или может быть использован для проверки критерия условия в инструкции управления.

Арифметическое выражение может составляться или из численных значений, или из их символьных имен. Типы данных, которые допустимы в арифметических выражениях, приведены в таблице 3.3.

Примеры использования арифметических выражений:

Power := Voltage * Current;

Volume := 4/3*PI*Radius**3;

Meanvalue := (Motor[1].Power + Motor[2]. Power)/2;

Solution1 := -P/2 + SQRT(SQR (P/2) – Q);

Таблица 3.3 - Типы данных, допустимые в арифметических операциях

Операция Оператор 1 операнд 2 операнд Результат
Умножение * ANY_NUM TIME ANY_NUM ANY_INT ANY_NUM TIME
Деление / ANY_NUM ANY_NUM ANY_NUM
Деление целых DIV ANY_INT ANY_INT ANY_INT
Добавление Вычитание + ANY_NUM TIME ANY_NUM TIME ANY_NUM TIME
Возведение в степень ** ANY_NUM INT REAL

 

Логическое выражение объединяет два операнда или выражения, которые относятся к классу типов данных ANY_BIT, согласно логике AND (И), OR (ИЛИ) или XOR (Исключающее ИЛИ).

Примеры:

Q 4.0 := I 1.0 & I 1.1;

Pulses := (Edge_mem_bits XOR ID 16) AND ID 16;

MW 30 := MW 32 AND Mask;

Логическое выражение выдает значение, которое принадлежит к классу типов данных ANY_BIT. Результат логического выражения принадлежит к типу BOOL, если оба операнда также имеют тип BOOL. Если один или оба операндов имеют тип BYTE, WORD или DWORD, то результат будет иметь тот тип данных, который более "требователен" к памяти операнда.

К логическому выражению принадлежит также инвертирование. Эта операция аналогична изменению знака.

Пример:

Automatic AND NOT Manual_on;

Выражение сравнения позволяет получить результат в виде булевого значения – при выполнении условия сравнения результат равняется TRUE (ИСТИНА), при невыполнении результат равняется FALSE (ЛОЖЬ).

Примеры:

Toollarge:= Voltageact > Voltageset;

Warning:= (Voltage*Current) > 20_000;

IF Deviatin > 2_000 THEN Display := 16#F002; END_IF;

Сравниваемые операнды должны принадлежать к одному типу данных или до одному классу типов данных (ANY_INT, ANY_NUM или ANY_BIT).

С помощью операции присвоения значения одна переменная получает значение другой переменной или значение выражения. Слева от оператора присваивания ":=" находится переменная, которая принимает значение переменной, что находится справа от оператора присваивания.

Типы данных, которые находятся с двух сторон от знака присваивания, должны быть идентичными. Исключение представляет только случай явного присваивания типа данных.

Примеры:

Automatic := TRUE;

Deviation := Actualvalue – Setpoint;

Display := INT_TO_WORD (Deviation);

Абсолютные адреса имеют типы данных ANY_BIT, которые обусловлены размером – BOOL, BYTE, WORD, DWORD. Если необходимо назначить другой тип данных, то целесообразно использовать операторы преобразования.

В случае использования массивов можно:

• обращаться к массиву в целом;

• обращаться к части массива;

• обращаться к элементу массива.

При преобразовании типов данных в массивах следует учитывать, что типы данных элементов массивов должны быть согласованы. При этом должны совпадать предельные значения индексов в каждой размерности.

 



Дата добавления: 2016-12-09; просмотров: 4100;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.