Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Положительный, отрицательный фронт



Контакт Положительный фронт пропускает поток сигнала в течение одного цикла при каждом появлении положительного фронта.

 

Контакт Отрицательный фронт пропускает поток сигнала в течение одного цикла при каждом появлении отрицательного фронта.

Этот короткий импульс может быть использован для включения/ отключения устройств с помощью блоков S и R.

Пример. Нереверсивное включение двигателя

 При нажатии кнопки Пуск (I0.0 – нормально разомкнутый) двигатель включается, а при нажатии кнопки Стоп (I0.1 – нормально замкнутый) двигатель отключается.


5. Язык STL на примере контроллера S7-200. Пример: Разветвленная программа на языке STL.

Серьезные программы пишутся на языке STL. Работа ведется с битовым 8-уровневым бездонным стеком.


Нормально разомкнутые контакты

Первая команда программы загружается на вершину стека. Для этого используется команда LD. Например, в программе реверсивного включения АД команда LD I0.0 загружает бит I0.0 на вершину стека.

Далее, если в схеме идут нормально разомкнутые контакты, то вызываются команды A (And – И) или O (Or – ИЛИ).

А вызывается при последовательном включении следующего контакта, а команда

О – при параллельном включении контакта.

В нашей программе Q0.0 соединен параллельно, а I0.0 соединен последовательно к двум предыдущим контактам. Ниже приведем полную программу на языке STL.

LD I0.0 //загрузка бита I0.1

O Q0.0 // операция ИЛИ

A I0.1 // операция И

= Q0.0 // операция копирования

 

 Команды A и O выполняют операцию И или ИЛИ между битом-операндом и битом с вершины стека. Результат операции записывается в вершину стека, вместо предыдущего бита.

Команда = Q0.0 копирует бит с вершины стека на бит Q0.0.

 

Нормально замкнутые контакты

Если первый контакт программы нормально замкнутый контакт, то используется команда загрузки LDN. Эта команда вначале инвертирует бит, а затем загружает на вершину стека.

Например, в ниже приведенной программе первый бит I0.1 – нормально замкнутый контакт. Для загрузки этого бита в стек следует выполнить команду LDN I0.1.

 

При последовательном соединении нормально замкнутого контакта с другим битовым значением в языке STL используют команду AN (операция НЕ-И), а при параллельном соединении – команду ON (операция НЕ-ИЛИ). Эти команды выполняют операции И или ИЛИ с инвертированным значением бита-операнда и бита, который находится на вершине стека.

Тем самым, наша программа на языке STL выглядит так:

LDN I0.0 //загрузка бита I0.1

 ON Q0.0 // операция ИЛИ

 AN I0.1 // операция И

= Q0.0 // операция копирования

 

Стековые операции

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

 

1. Логическое И двух битов стека - ALD

Эта команда выполняет операцию И между двумя битами с вершины стека. Результат загружается в вершину стека. После выполнения ALD глубина стека уменьшается на единицу. Здесь S0 = iv0 AND iv1.

 

2. Логическое ИЛИ двух битов стека – OLD

Эта команда выполняет операцию ИЛИ между двумя битами с вершины стека. Результат загружается в вершину стека. После выполнения ALD глубина стека уменьшается на единицу. Здесь S0 = iv0 OR iv1.

 

 

Пример 2. Реверсивное включение асинхронного двигателя (Включение Вперед)

 

 

В STL этот фрагмент программы имеет следующий вид:

LD I0.2 // Загрузка I0.2

LD I0.0 // Загрузка I0.0

O Q0.0 //Операция ИЛИ I0.0 и Q0.0

ALD     //Операция И вершины стека и бита I0.2

AN Q0.1 //Операция НЕ-И вершины стека и бита Q0.1

= Q0.0 //Копирования вершины стека на выход Q0.0

 

3. Дублирование вершины стека - LPS

Команда дублирования вершины логического стека (LPS -Logic Push) дублирует значение вершины стека и помещает это значение на вершину стека. Дно стека выталкивается и теряется.

 

4. Извлечение вершины стека - LPP

Команда извлечения вершины стека (LPP - Logic Pop) извлекает один бит из стека. Второй уровень становится новой вершиной стека.

 

 

5. Копирование второго уровня стека - LRD

Команда копирования второго уровня стека (LRD – Logic Read) копирует второй бит стека в вершину стека. В стек ничего не помещается и из него ничего не извлекается, но его вершина замещается копией.

 

 

6. Загрузка стека LDS N

Команда загрузки стека (LDS – Load Stack) дублирует бит стека (N) и помещает это значение в вершину стека. Дно стека выталкивается и теряется.

 

    

 

Пример. Рассмотрим разветвленную программу на языке LAD. В STL эта программа имеет вид:

LD I0.0

LPS // Сохраняем I0.0 во втором уровне стека

 

LD I0.5

O I0.6

ALD //Логическое И со значением в стеке I0.0

= Q7.0

 

LRD //Считывем второй уровень стека (I0.0)

LD I2.1

O I1.3

ALD //Логическое И со значением в стеке

     = Q6.0

 

LPP //Выталкиваем вершину стека

A I1.0

=Q 3.0

Установка, сброс N битов

Команды установки и сброса бита в STL имеет следующий формат:

S bit, n

R bit, n

 


Поделиться:



Последнее изменение этой страницы: 2019-04-21; Просмотров: 270; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.025 с.)
Главная | Случайная страница | Обратная связь