Программирование контроллеров 


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



ЗНАЕТЕ ЛИ ВЫ?

Программирование контроллеров



 

Процедура программирования программируемого контроллера (ПК) состоит в следующем. В процессе программирования используют как сам контроллер, так и внешнее программирующее устройство (программатор). В дальнейшем в режиме эксплуатации надобность в программаторе отпадает.

Программу электроавтоматики записывают в кассетное запоминающее устройство (ЗУ) типа RAM, установленное в предусмотренное для неё в ПК гнездо. Эту программу получают с помощью упомянутой специализированной инструментальной машины – программатора. Обычно программатор допускает несколько языков программирования электроавтоматики, и выбор языка осуществляется путём установки в программатор соответствующей кассеты с программным обеспечением желаемого языка.

После установки такой кассеты программатор готов к работе, и его дополнительно снаряжают кассетами ЗУ пользователя для записи программ после их отладки.

Программатор может работать в режиме «on-line» прямого подключения к ПК или в автономном режиме «off-line».

Работа в режиме прямого подключения протекает в три этапа. На первом, используя принятый язык программирования, записывают программу электроавтоматики в кассету RAM контроллера. На втором этапе контроллер подключают к объекту и отлаживают программу, вводя в неё необходимые изменения и уточнения. На третьем этапе перезаписывают скорректированную программу из памяти RAM контроллера в память EPROM программатора. После перестановки кассеты EPROM в гнездо контроллера он считается готовым к эксплуатации.

Работа программатора в автономном режиме также осуществляется в три этапа. На первом этапе программу электроавтоматики записывают в кассету RAM, установленную в самом программаторе. Далее эту кассету переносят в ПК и отлаживают. Затем отлаженную кассету возвращают в программатор и там переписывают программу электроавтоматики в память EPROM.

На заключительном этапе программирования кассету EPROM извлекают из программатора, закрепляют в контроллере, передают ПК в производство.

В сравнении с ПК ни одно другое устройство управления не имеет такого обилия вариантов языка программирования. Это обстоятельство отражает бесконечно разнообразные задачи производства, резко различающиеся традиции и вкусы пользователей.

Исторически первым и до сих пор достаточно популярным языком программирования является язык релейно-контактных символов (РКC).

Язык основан на применявшейся методике создания схем электроавтоматики с жёсткими структурами (реле, контакторами, бесконтактными логическими элементами). В качестве исходного документа для программирования принимают принципиальные релейные электрические схемы как документы, привычные для электриков-конструкторов и электриков-ремонтников. Другими видами исходных документов могут быть словесное описание, тактограммы, циклограммы и т. д.

Помимо языка РКС получили признание следующие языки:

- языки ассемблерного типа;

- графические языки логических схем;

- языки мнемонического символьного кодирования в виде набора строк уравнений сложных булевых структур, сохраняющие методику проектирования программ на языке РКС;

- языки мнемонического задания многоситуационных процессов управления с естественным логическим описанием управления (ЕСЛИ … ТО … ИНАЧЕ …), не имеющие РКС-эквивалентов;

- оригинальные проблемно-ориентированные мнемонические языки высокого уровня с элементами организации работы в реальном времени;

- процедурные языки высокого уровня общего назначения (Бейсик, Паскаль), адаптированные для программирования электроавтоматики;

- языки графического отображения текущего состояния и взаимодействия процессов программ управления (например, GRACET).

Рассмотрим одну из версий языка РКС. Основной единицей языка является команда-оператор. Команды делят на группы: релейно-контактная группа, группа функциональных блоков, группа арифметических и логических операционных блоков, группа функциональных текстовых блоков. Формат релейно-контактной команды состоит из её символа и номера. Форматы других команд включают перечень параметров, определяемых индивидуально для каждой команды. Совокупность последовательно выполняемых команд с завершающей командой в виде конечного элемента образует цепь. Программа состоит из набора таких цепей и описаний параметров.

Переменные в языке РКС относятся к одному из двух типов: булевы и числовые (целые арифметические). И первые, и вторые могут быть входными, если они соответствуют входным сигналам, и выходными, если соответствуют выходным сигналам, т.е. решениям о включении или выключении тех или иных исполнительных органов. Переменные, обозначающие промежуточные решения, полученные на какой-то стадии вычисления выходных переменных, называют промежуточными.

Процедура программирования на программаторе протекает в режиме диалога с привлечением виртуальной клавиатуры. После выбора режима программирования на экране программатора появляются две линии потенциала, курсор (вверху слева), меню виртуальных клавишей (нижняя строка), указания STOP или RUN в зависимости от состояния контроллера (остановлен, работает).

Пусть далее вводим (виртуальной клавишей) замыкающий контакт. Этому контакту необходимо придать адрес. Далее следует подтвердить правильность набора функциональной клавишей программатора «Ввод в память». Перемещение курсора происходит автоматически вслед за каждой очередной процедурой ввода. Выбору варианта конечного элемента предшествует смена меню виртуальных клавишей.

Широкое распространение при программировании электроавтоматики получил у нас в стране проблемно-ориентированный язык высокого уровня «ЯРУС-2». Язык позволяет программировать параллельные асинхронные процессы, развивающиеся в реальном времени.

Описание алгоритма управления на языке «ЯРУС-2» строят по блочному принципу, причем под блоками (пунктами и подпрограммами) понимают такие части алгоритма, которые по функциональным, технологическим или конструктивным соображениям удобно описывать отдельно и независимо. Каждый такой блок содержит собственные описания, а кроме того, может содержать описание связей с другими частями общего алгоритма.

Язык построен по трехуровневой схеме. На верхнем уровне находится специальный управляющий пункт, который выполняется постоянно. Второй уровень занят другими (всеми остальными) пунктами алгоритма. К третьему уровню относятся подпрограммы.

Каждый пункт имеет имя. Имя управляющего пункта П0, имена пунктов второго уровня имеет структуру П (номер, отличный от нуля).

В структуре пункта можно выделить две части. Первую часть составляют блокировки, т.е. условия, без проверки которых не может быть начато выполнение алгоритма, описанного в пункте. Блокировки имеют вид: ЕСЛИ (условие) ТО (действия). Вторая часть представляет собой описание ситуаций. Каждый фрагмент описания начинается с метки СИТ (номер), за которой следует список условных предложений вида:

 

ЕСЛИ (условие) ТО (действия) НА СИТ (номер);

ИНАЧЕ (действие) НА СИТ (номер).

 

В целом общая схема описания пункта выглядит следующим образом:

 

Пі

БП; начало описания блокировок пункта

ЕСЛИ (условие) ТО (действия)/

ЕСЛИ (условие) ТО (действие)/

КОНЕЦ

СИТ1

ЕСЛИ (условие) ТО (действия) НА СИТj/

…………………………………

ИНАЧЕ (действия) НА СИТj/

СИТj

ЕСЛИ (условие) ТО (действия) НА СИТk/

…………………………………

ИНАЧЕ (действия) НА СИТ1

 

Условие помимо логического выражения может содержать временной оператор
В ТЕЧЕНИЕ:

 

ЕСЛИ В ТЕЧ (время) (логическое выражение)

ИНАЧЕ…

 

Подобная запись означает, что в случае истинности логического выражения в любой момент в установленном интервале времени условие полагается выполненным. В противном случае события развиваются по ветви ИНАЧЕ…

Теперь представим процесс квазипараллельного выполнения всех пунктов полного алгоритма электроавтоматики (рисунок 2.9). Главный пункт (осуществляющий общую координацию электроавтоматики) выполняется циклически с начала и до конца с частотой порядка 100 Гц. Остальные пункты работают на более низкой частоте – около 10 Гц.

Работа эта состоит в том, что прежде всего последовательно выполняются программы блокировок всех активных (т.е. неостановленных) пунктов. Далее следует фраза анализа условий всех активных ситуаций активных пунктов. Условия ЕСЛИ проверяются в порядке их записи в ситуации, и к выполнению назначается одна группа действий ТО (по первому встретившемуся истинному условию) или группа действий ИНАЧЕ (при неистинности всех условий ситуации). Вместе с назначением действий по каждому пункту определяются активные ситуации на следующий цикл работы. Заключительной фазой является исполнение всех назначенных действий.

Рассмотрим ещё одну популярную систему программирования GRAFCET (она упоминалась в общем перечне вариантов в начале раздела). Система даёт графическое представление основной (базовой) структуры управления, выделяя блоки и параллельные ветви. Программы конкретных действий и условий переходов относятся к более низкому иерархическому уровню и могут быть сформированы на любом доступном контроллеру языке, в частности РКС. Графическое представление основной структуры является модификацией сети Петри.

 

 

 

 


 

 

 

Рисунок 2.9 – Квазипараллельное выполнение полного алгоритма электроавтоматики

 

Базовая структура электроавтоматики представлена графом из этапов (обозначенных квадратами), связей между этапами и переходов (обозначенных чертой, перпендикулярной к ориентированной связи). Активность этапа указывают точкой в поле квадрата. (Понятие этапа соответствует понятию позиции в сетях Петри). Каждому этапу сопоставлено некоторое действие, выполняемое, если этап активен. Действие записывают на этикетке, придаваемой этапу.

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

Каждый этап связан только с переходом (переходами), а каждый переход связан только с этапом (этапами).



Поделиться:


Последнее изменение этой страницы: 2016-07-14; просмотров: 408; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.221.163 (0.013 с.)