Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UNITY PRO FastStart RU.pdf
Скачиваний:
323
Добавлен:
16.02.2016
Размер:
3.43 Mб
Скачать

Пупена А.Н, Эльперин И.В. UNITY PRO – быстрый старт

1.13. Пример использования языка ST.

Варианты решения задачи с раздела 1.11.

Сравним различные варианты решения задачи из раздела 1.11 на языках LD, FBD и аналогично им варианты на языке ST. Два варианта решения на LD продемонстрированы в разделе 1.11, аналогичный код в ST представлен на рис.1.39- 1.40.

Рис.1.39. Первый вариант реализации задачи: на LD та ST.

Рис.1.40. Второй вариант реализации задачи: на LD и ST.

На рис.1.41 представлены варианты решения на FBD и ST с использованием RS-триггера и блока выбора SEL. В программе используются 3 элемента: Timer1 (таймер с задержкой на отключение), RS Trigger RS_0 (триггер ВКЛ/ОТКЛ), SEL (управляемый переключатель). Для выбора режима управления двигателем (Start / Stop) катушка реле пускателя M1 подключается к выходу элемента с функциями переключателя (SEL). Состоянием переключателя управляет вход G. Если на входе G=0, переключатель находится в нормальном состоянии, то есть его выход соединяется с входом IN0. Если G=1, то выход переключается на вход IN1. Таким образом, в режиме Stop (Start = 0) двигатель будет управляться таймером, который будет реализовывать задержку на отключение через 5 с.

В режиме Start двигателем будет управлять RS Trigger. Выход триггера руководствуется двумя входами: S - установить и запомнить на выходе логическую "1"; R1 - сбросить и запомнить на выходе логический "0". Символ 1 после R ("R1")

29

Пупена А.Н, Эльперин И.В. UNITY PRO – быстрый старт

означает, что R имеет приоритет над S. Кружочек на соединении S - это знак инверсии, т.е. при LS1=TRUE на входе S=FALSE, а при LS1=FALSE на входе S=TRUE. Таким образом, при отключении сигнализатора LS1 (напорный бак пустой) на входе триггера появится логическая "1", что приведет к запуску двигателя, а при замыкании LS2 (напорный бак полный) на выходе появится логический 0 - есть остановка двигателя. Если по техническим неисправностям сигнализатор нижнего уровня будет разомкнут, а верхний замкнут, то двигатель все равно отключится, так как вход имеет высший приоритет, чем S.

Рис.1.41. Третий вариант реализации задачи: на FBD та ST.

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

Вариант решения задач с раздела 1.12.

Программа для решения задачи из раздела 1.12 на языке ST может выглядеть как на рис.1.42.

Рис.1.42. Вариант реализации задачи с раздела 1.12 на языке ST.

1.Сделать пункты 1-11 из раздела 1.12.

2.В задаче MAST создать секцию с названием "Intro_ST" на языке ST: в Project Browser -> Program-> Tasks-> MAST-> контекстное меню Sections -> New Section; Name = "Intro_ST"; Language = "ST"

3.В секции набрать программу в соответствии с рис.1.42: название функций (INT_TO_REAL и REAL_TO_INT) набираются с клавиатуры, или выбираются командой из панели инструментов, или выбираются из меню Edit-> FFB Input Assistant; название экземпляров функциональных блоков (TY1a, TY1b, TC1) набирается с клавиатуры или вставляется командой с панели инструментов, или вставляется с меню Edit-> Data Selection;

4.Сделать пункты 14-38 из раздела 1.12.

30

Рис.1.43.К постановке задачи.

Пупена А.Н, Эльперин И.В. UNITY PRO – быстрый старт

1.14. Пример использования языка SFC.

Рассмотрим пример программы на языке SFC для решения следующей задачи

(рис.1.43).

После нажатия кнопки START, клапан kl1 открывается и аппарат заполняется жидкостью до срабатывания LS2. После этого включается мешалка, и открывается клапан kl2 для подачи ферментов. После срабатывания датчика LS3, клапаны и мешалка отключаются, открывается клапан kl3, и продукт сливается из аппарата.

Когда аппарат пустой (LS1 отключен) клапан kl3 закрывается, и система переходит в исходное состояние.

Опишем поведение системы, используя механизм сети Петри (рис.1.44). Система может находиться в 4-х состояниях (шагах): ожидание старта (исходное состояние), наполнение жидкостью, добавление ферментов, слив продукта. Во время каждого состояния положения исполнительных механизмов четко определено: например при наполнении жидкостью kl1 должен открыться. Переход из состояния в состояние происходит по определенным условиям: например система переходит в состояние "наполнение жидкостью" только после состояния "ожидания старта" и условия перехода "если нажата Start".

Таким образом, состояния в сети Петри являются позициями, а условия - переходами. Когда активируется определенный шаг, он получает маркер от деактивируемого шага. На рис.1.44 маркер находится у шага "Наполнение жидкостью". Сравните программу управления, написанную на языке SFC, с моделью системы базирующуюся на сети Петри.

31

 

Пупена А.Н, Эльперин И.В. UNITY PRO – быстрый старт

Модель роботы системы в

Программа на SFC

виде сети Петри

 

Рис.1.44.Пример решения задачи с использованием Петри и SFC

32

Пупена А.Н, Эльперин И.В. UNITY PRO – быстрый старт

Это русскоязычный вариант первого раздела пособия: Пупена О.М., Ельперін І.В. "ПРОГРАМУВАННЯ ПРОМИСЛОВИХ КОНТРОЛЕРІВ В СЕРЕДОВИЩІ UNITY PRO", готовящейся к изданию в первой половине 2013 года.

Этот вариант "быстрого старта" в будущем может быть дополнен или изменен независимо от содержания пособия, и может свободно распространяться.

Все пожелания и предложения Вы можете отправлять на pupena_san@ukr.net или высказать на страницах форумов: http://forum.se-automation.in.ua/viewtopic.php?f=8&t=58 http://asutpforum.ru/viewtopic.php?f=60&t=2977 http://iprog.pp.ru/forum/read.php?f=1&i=65700&t=65700&v=f

33