Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Промышленные контроллеры_мехатроника.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
84 Мб
Скачать
☆

Введение

Промышленные контроллеры [1,2], или программируемые логические контроллеры (ПЛК), являются широко распространенными средствами автоматизации в составе систем контроля и управления работой промышленного оборудования.

Любая машина, способная автоматически выполнять некоторые операции, имеет в своем составе управляющий контроллер – модуль, обеспечивающий логику работы устройства. Контроллер – это мозг машины. Естественно, чем сложнее логика работы машины, тем «умнее» должен быть контроллер.

Технически контроллеры реализуются по-разному. Это может быть механическое устройство, пневматический или гидравлический автомат, релейная или электронная схема или даже компь­ютерная программа.

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

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

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

Программируемый контроллер — это программно управляе­мый дискретный автомат, имеющий некоторое множество вхо­дов, подключенных посредством датчиков к объекту управления, и множество выходов, подключенных к исполнительным устрой­ствам. ПЛК контролирует состояния входов и вырабатывает опре­деленные последовательности программно заданных действий, от­ражающихся в изменении выходов.

Изначально ПЛК предназначались для управления последова­тельными логическими процессами, что и обусловило слово «ло­гический» в названии ПЛК. Современные ПЛК помимо простых логических операций способны выполнять цифровую обработку сигналов, управление приводами, регулирование, функции опе­раторского управления и т. д.

Языки программирования плк

Языки программирования [3,4] ПЛК во многом определяются кон­кретными приложениями, а также требованиями современных сложных распределенных систем управления.

Историческое развитие ПЛК привело к возникновению разных решений, связанных с конкретным производителем и в той или иной степени удовлетворяющих общим стандартам (DIN 19239, 19237, 40719 Part 6 и VDI 2880). Для унификации программ, разрабатываемых для различных контроллеров, в 1993 году Международная электротехническая комиссия (МЭК) приняла на ПЛК международный стандарт IEC 1131 (в настоящее время действует IEC 61131-3), третья часть которого имеет дело с языками для ПЛК. В него вошли пять языков:

LD (Ladder Diagram) - вариант класса языков релейно-­контактных схем;

FBD (Functional Block Diagram) - аналогичен функциональной схеме электронного устройства с использованием логических элементов;

SFC (Sequential Function Chart) - язык диаграммного типа, аналогичный блок-схемам алгоритмов;

ST (Structured Text) — текстовый высокоуровневый язык обще­го назначения, по синтаксису напоминает Паскаль;

IL (Instruction List) - текстовый язык низкого уровня, по синтаксису напоминает Ассемблер.

Языки LD и FBD являются данью традициям (т. е. аппаратным аналогам этих языков - релейным схемам).

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

Язык релейных схем существует со времен Т. Эдисона и адаптирован к ПЛК в начале 70-х годов прошлого века. Символика этого языка была заимствована из проектирования в области электротехники.

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

Язык FBD - это полностью графический язык высокого уровня, обеспечивающий управление потоками данных. Позволяет использовать очень мощные алгоритмы, вызов функций и функциональных блоков, имеет большую библиотеку блоков, удовлетворяет непрерывным динамическим процессам, хорош для сложных вещей подобных ПИД-регуляторам.

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

Язык IL является языком низкого (машинного) уровня, что су­щественно облегчает, например, условный или безусловный вызов функциональных блоков и функций, выполнение назначений и условных или безусловных переходов внутри секции, похож на Ассемблер. Язык IL позволяет создавать высокоэффективные и оптимизированные функции. Его можно рекомендовать для напи­сания наиболее критических мест в программе.

Ассемблероподобные языки использовались для программиро­вания компьютеров в 50-е годы XX века и все еще предлагаются некоторыми изготовителями ПЛК. Корни языка IL лежат в языке STEP компании Siemens. IL можно программировать с помо­щью любого текстового редактора.

Язык ST является языком высокого уровня (типа Паскаля). Был популярен в середине 70-х годов XX века для сложных компью­терных приложений. Служит для создания процедур со сложной логикой. Может использоваться как в главных программах, так и в теле функции или FBD, а также для описания действий внутри элементов редакторов SFC или FlowChart. Обладает высокой чи­табельностью исходного кода: ключевые слова, такие, как AND, OR, NOT, IF, TEEN, ELSE, WHILE (и т. д.) легко понимаемы; прост в сопровождении, если имена переменных понятны, имеют­ся комментарии, код хорошо структурирован.

Язык SFC предложен в 1979 году как графический язык, предназначенный для описания функций последовательных операций и позволяющий однозначное определение желае­мого поведения системы управления. Удобен для описания, как последовательных процессов, так и пакетных или параллельных процессов, легко комбинируется с другими языками (язык специфи­каций). Обеспечивает улучшение понимания оборудования при фор­мировании модели приложения. Обладает развитыми механизмами синхронизации. Использует простые динамические правила.

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

Программирование логики ведется с применением языков SFC, LD, FBD, IL, ST, а также дополнительных интерактивных редакто­ров для описания переменных, определений и конфигурации вво­да/вывода.

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