Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Положительный, отрицательный фронт
Контакт Положительный фронт пропускает поток сигнала в течение одного цикла при каждом появлении положительного фронта.
Контакт Отрицательный фронт пропускает поток сигнала в течение одного цикла при каждом появлении отрицательного фронта. Этот короткий импульс может быть использован для включения/ отключения устройств с помощью блоков 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; Просмотров: 302; Нарушение авторского права страницы