ТЕКСТОВЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ STLИ SCL.ЛОГИЧЕСКИЙ ШАГ.
Двоичные логические операции, ф-ции И, ИЛИ, Исключающее ИЛИ. Двоичная счислительная система (0 или 1). Выполнение двоичных логических операций. Вложение (комбинирование) ф-ции. Операции с памятью, ф-ции присваивания, установки Set, сброса Reset, RS-триггер, проверка наличия фронта сигнала. Таймеры: сброс, разблокировка и считывание значений таймера, значения времени.
Счётчики: установка, прямой и обратный счёт, сброс разблокировкой, чтение значения счётчика. STL-StatementList (список инструкций).SCL-SequenceControlLanguage (язык последовательного управления). Двоичные лог операции в STL:
Инструкция А1.14.2 проверяет вход. 1.14.2 на состояние 1 и присваивает его RLO по алгоритму И(AND).
В лог системе упр. можно выделить лог.шаг, на котором форм. и оценивается RLO.
Лог.шаг состоит из инструкций проверки инструкций условного параметра.
Структура логического шага:
=Q6.0 – условный оператор
A14.0 – первичный опрос
A14.1 – оператор проверки
…
A13.7 – оператор проверки
=Q6.1 – условный оператор (присвоения)
…
=Q9.3 – условный оператор
O13.6 – единичны опрос
O13.5 – оператор проверки
Началом лог.операций является первичный опрос.
Датчики тех процесса => модуль ввода => в-р состояний входных сигналов => чтение оператора да => двоичный лог.оператор => маркер хранения результата (RLO)
Операция установки/сброса
В-р состояния выходных сигналов y => Модуль вывода => Исполнительное устройство => Элемент двоичной лог.операции
|
|
Инструкции:
А адрес бита => проверка сигнала на 1 и выполнение ф-ции И
AN адрес бита => проверка сигнала на 0 и выполнение ф-ции И
O адрес бита => проверка сигнала на 1 и выполнение ф-ции ИЛИ
ON адрес бита => проверка сигнала на 0 и выполнение ф-ции ИЛИ
X адрес бита => проверка сигнала на 1 и выполнение ф-цииXOR (исключающее ИЛИ). Примеры:
ЛЦ1:
AX1;
AX2;
AX3;
= Y1
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ.
ПРОГРАМИРОВАНИЕ АРИФМЕТИЧЕСКИХОПЕРАЦИЙ.
Арифметические функции выполняются в соответствии с двумя значениями переменных в соответствии с основными арифметическими операциями сложения, вычитания, умножения и деления. Можно применять арифметические функции к переменным типов INT, DINT и REAL (таблица 1).
Таблица 1Обзор арифметических функций
Арифметическая функция | С типом данных | ||
INT | DINT | REAL | |
Сложение | ADD_I | ADD_DI | ADD_R |
Вычитание | SUB_I | SUB_DI | SUB_R |
Умножение | MUL_I | MUL_DI | MUL_R |
Деление с частным в качестве результата | DIV_I | DIV_DI | DIV_R |
Деление с остатком в качестве результата | - | MOD_DI | - |
Обработка арифметической функции
Представление данных
Арифметический блочный элемент
|
|
(в примере: сложение в соответствии с INT)
Кроме разрешающего входа (enableinput) EN и разрешающего выхода (enableoutput) ENO блочный элемент арифметической функции имеет два входа IN1 и IN2 и выход OUT. В блочном элементе идентифицируется арифметическое действие (ADD_I, например, означает сложение чисел типа INT).
Комбинируемые значения подаются на входы IN1 и IN2, результат вычисления находится на выходе OUT. Входы и выход могут иметь различные типы данных в зависимости от арифметической функции. К примеру, в случае арифметической функции ADD_R (сложение чисел типа REAL) входы и выход отнесены к типу REAL. Используемые переменные должны быть того же типа данных, что и входы или выход. Если для операндов используют абсолютные адреса, то размеры операндов должны соответствовать типам данных. Для типа данных INT, например, можно применить операнд размером в слово.
Арифметическая функция выполняется, если на разрешающем входе EN имеется «1». Если во время вычисления возникает ошибка, то разрешающий выход устанавливается в «0»; в противном случае он устанавливается в «1». Если выполнение функции не разрешено (EN = «0»), то вычисление не производится, и ENO также обнуляется.
Если главное реле управления (MCR) активировано, то выход OUT устанавливается в нуль, когда арифметическая функция обрабатывается (EN = «1»). MCR не влияет на выход ENO.
|
|
ЕСЛИ EN == “1” или не используется | ||
ТО | ИНАЧЕ | |
OUT := IN1 Cfct IN2 |
ENO := “0” | |
ЕСЛИ возникла ошибка | ||
ТО | ИНАЧЕ | |
ENO := “0” | ENO := “1” |
Cfct – арифметическая функция
Во время выполнения арифметической функции могут возникнуть следующие ошибки:
Выход за пределы диапазона (переполнение) в вычислениях с типами INT и DINT;
Исчезновение значащих разрядов и переполнение в вычислениях с типом REAL;
Недействительное (недопустимое) число REAL в вычислениях с типом REAL.
На рисунке 10.7.1 приведены примеры для каждого типа данных. Арифметическая функция выполняет вычисление в соответствии с определенными параметрами, даже если не были объявлены типы данных при использовании операндов с абсолютными адресами.
Примеры:
Вычисление в соответствии с INT
Значение слова памяти (меркеров) MW 100 делится на 250; целочисленный результат сохраняется в слове памяти (меркеров) MW 102.
Вычисление в соответствии с DINT
Значения переменных «CalcVal1» и «CalcVal2» складываются, результат сохраняется в переменной «CalcRes». Все переменные находятся в блоке данных «Global_DB».
|
|
Вычисление в соответствии с REAL
Переменная #Act_value умножается на переменную #Factor, результат пересылается в переменную #Indicator.
Дата добавления: 2018-05-12; просмотров: 447; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!