ТЕКСТОВЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ 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; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!