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


Программирование промышленных контроллеров



Рассмотрим вначале особенности программирования промышленных контроллеров [12]. Промышленный контроллер функционирует циклически — чтение входов, выполнение прикладной программы и запись выходов. Поэтому его лучше представлять не как машину, последовательно выполняющую команды программы, а как конечный автомат. Программу характеризуют время сканирования — это общая продолжительность рабочего цикла, и время реакции — это время с момента изменения состояния системы до момента выработки соответствующей реакции. Время реакции показано на рисунке 5,1.

Рисунок 5.1. Время реакции контроллера

В 1979 году в рамках Международной Электротехнической Комиссии (МЭК) была создана группа экспертов по проблемам программируемых логических контроллеров (ПЛК). В настоящее время принят стандарт МЭК 61131-3 по языкам программирования ПЛК. Рассмотрим все языки программирования, предусмотренные этим стандартом:

1. Диаграммы SFC. В семействе МЭК-языков SFC (Sequential Function Chart) диаграммы стоят особняком, а точнее, выше по отношению к остальным четырем языкам. Диаграммы SFC являются высокоуровневым графическим инструментом. Благодаря SFC идея превращения модели системы в законченную программу стала реальностью. В отличие от применения вспомогательных средств моделирования SFC дает действующий непосредственно в ПЛК прототип. Оригинальный метод формального описания дискретных систем был предложен Карлом Адамом Петри в 1962 году. Он опирается на разделение системы или отдельных ее частей на множество простых позиций. Позиция описывает состояние части системы. Причем состояние понимается здесь достаточно гибко, это может быть состояние оборудования, процесса или программы. Переходы между позициями происходят при выполнении определенных условий. Графически позиция отображается в виде окружности (рисунок 5.2).

Рисунок 5.2. Сети Петри

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

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

Описанная сеть позиций и переходов является простейшим вариантом сетей Петри. Именно она и послужила прототипом для разработки SFC.

Заслуга первой практической реализации языка этапов и переходов для ПЛК принадлежит французским фирмам. Совместная работа изготовителей ПЛК и объединения пользователей привела к появлению национального стандарта “Графсет” и международного стандарта МЭК 848 (1988 г.). МЭК 61131-3 заимствовал “Графсет” с некоторыми доработками.

В настоящее время отождествлять SFC с сетями Петри уже нельзя. Пути их развития оказались разными, причем не только в отдельных деталях, но и идеологически. Так, в сетях Петри маркер наделили свойствами объекта, а переходы получили способность воспринимать свойства маркера. Это так называемые “цветные” сети Петри, маркеры в которых имеют разные типы и разные цвета. В современном SFC маркер является не более чем квитанцией-нарядом на определенную работу. Позиции же SFC приобрели большую силу и имеют возможность выполнять определенные наборы действий. Чтобы понять разницу, представьте себе коллектив людей, передающих друг другу пакеты (маркеры). В первом случае действия людей зависят от содержимого пакета, они принимают решение — кому передать, оставить у себя и т. д. Во втором случае действия людей определяются их профессиональными обязанностями и не должны зависеть от содержимого пакета. Так, например, действия маляра должны быть одинаковыми (приготовить поверхность, развести краску, покрасить) для забора и для слитка золота. То есть SFC развивается как инструмент описания производственных операций, а сети Петри расширяют способности моделирования дискретных систем.

В отличие от сетей Петри дуги в SFC имеют выраженную направленность сверху вниз и отражаются прямыми линиями. Позиции в SFC называют шагами или этапами. На диаграмме они отражаются в виде прямоугольников. Благодаря такому “кубизму” существует возможность реализации диаграмм в символах псевдографики (рисунок 5.3).

Рисунок 5.3. SFC-диаграмма (условие перехода — язык IL)

Задать несколько стартовых шагов в SFC нельзя, только один шаг диаграммы является начальным. Графическая диаграмма SFC состоит из шагов и переходов между ними. Разрешение перехода определяется условием. С шагом связаны определенные действия. Описания действий выполняются на любом языке МЭК. Сам SFC не содержит каких-либо управляющих команд ПЛК. Действия могут быть описаны и в виде вложенной SFC-схемы. Можно создать несколько уровней подобных вложений, но в конечном счете действия нижнего уровня все равно необходимо будет описать на IL, ST, LD или FBD.

Заметим сразу, что даже упрощенная реализация SFC требует неявно некоторой памяти для кодирования маркеров позиций. Требование параллельности приводит к невозможности компактно закодировать все состояния. То есть невозможно использовать одну переменную, которая содержит единственный номер активной позиции. Каждая позиция требует собственных признаков активности. Механизм кодирования может быть достаточно изощренным, но, к счастью, его реализация ложится исключительно на плечи разработчиков системы программирования. На прикладном уровне задумываться о деталях реализации не приходится. Единственное, что нужно учесть, это небольшой дополнительный расход памяти данных и кода.

Из-за необходимости внутренней памяти только функциональные блоки и программы могут быть реализованы в SFC, функции такой возможности лишены.

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

2. Список инструкций IL. Язык IL (Instruction list) дословно — список инструкций. Это типичный ассемблер с аккумулятором и переходами по меткам. Набор инструкций стандартизован и не зависит от конкретной целевой платформы. Поскольку IL самый простой в реализации язык, он получил очень широкое распространение до принятия стандарта МЭК. Точнее, не сам IL, а очень похожие на него реализации. Практически все производители ПЛК Европы создавали подобные системы программирования, похожие на современный язык IL. Наибольшее влияние на формирование современного IL оказал язык программирования STEP контроллеров фирмы Siemens. Язык IL позволяет работать с любыми типами данных, вызывать функции и функциональные блоки, реализованные на любом языке. Таким образом, на IL можно реализовать алгоритм любой сложности, хотя текст будет достаточно громоздким.

В составе МЭК-языков IL применяется при создании компактных компонентов, требующих тщательной проработки, на которую не жалко времени. При работе с IL гораздо адекватнее, чем с другими языками, можно представить, как будет выглядеть оттранслированный код. Благодаря чему, IL выигрывает там, где нужно достичь наивысшей эффективности. К компиляторам это относится в полной мере. В системах исполнения с интерпретатором промежуточного кода выигрыш не столь значителен.

3. Структурированный текст ST. Язык ST (Structured Text) — это язык высокого уровня. Синтаксически ST представляет собой несколько адаптированный язык Паскаль. Вместо процедур Паскаля в ST используются компоненты программ стандарта МЭК. Для специалистов, знакомых с языком С, освоение ST также не вызовет никаких сложностей.

В большинстве комплексов программирования ПЛК язык ST по умолчанию предлагается для описания действий и условий переходов SFC. Это действительно максимально мощный тандем, позволяющий эффективно решать любые задачи.

4. Релейные диаграммы LD. Язык релейных диаграмм LD (Ladder Diagram) или релейно-контактных схем (РКС) — графический язык, реализующий структуры электрических цепей. РКС — это американское изобретение. В начале 70-х гг. XX в. релейные автоматы сборочных конвейеров начали постепенно вытесняться программируемыми контроллерами. Некоторое время те и другие работали одновременно и обслуживались одними и теми же людьми. Так появилась задача прозрачного переноса релейных схем в ПЛК. Различные варианты программной реализации релейных схем создавались практически всеми ведущими производителями ПЛК. Благодаря простоте представления РКС обрел заслуженную популярность, что и стало основной причиной включения его в стандарт МЭК.

Слова “релейная логика” звучат сегодня достаточно архаично, почти как “ламповый компьютер”. Тем более в связи с созданием многочисленных быстродействующих и надежных бесконтактных (в частности, оптоэлектронных) реле и мощных переключающих приборов, таких как мощные полевые транзисторы, управляемые тиристоры и приборы IGBT. Но, несмотря на это, релейная техника все еще очень широко применяется.

Графически LD-диаграмма представлена в виде двух вертикальных шин питания. Между ними расположены цепи, образованные соединением контактов (рисунок 5.4).

Рисунок 5.4. Схема LD из одной цепи

Нагрузкой каждой цепи служит реле. Каждое реле имеет контакты, которые можно использовать в других цепях.

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

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

5. Функциональные диаграммы FBD. FBD (Function Block Diagram) — это графический язык программирования. Диаграмма FBD очень напоминает принципиальную схему электронного устройства на микросхемах (рисунок 5.5).

Рисунок 5.5. Диаграмма FBD из двух цепей

В отличии от LD “проводники” в FBD могут проводить сигналы (передавать переменные) любого типа (логический, аналоговый, время и т.д.). Иногда говорят, что в релейных схемах соединительные проводники передают энергию. Проводники FBD тоже передают энергию, но в более широком смысле. Здесь слово “энергия” применимо в том смысле, в котором им оперируют не электрики, а экстрасенсы. Очевидно, что шины питания и контакты здесь уже не эффективны. Шины питания на FBD диаграмме не показываются. Выходы блоков могут быть поданы на входы других блоков либо непосредственно на выходы ПЛК. Сами блоки, представленные на схеме как “черные ящики”, могут выполнять любые функции.

FBD-схемы очень четко отражают взаимосвязь входов и выходов диаграммы. Если алгоритм изначально хорошо описывается с позиции сигналов, то его FBD-представление всегда получается нагляднее, чем в текстовых языках.


Поделиться:



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


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