Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование МСУ 2.doc
Скачиваний:
25
Добавлен:
19.11.2019
Размер:
24.09 Mб
Скачать

Приложение б Языки программирования промышленных контроллеров

Даётся обзор стандартов Международной электротехнической комиссии (МЭК) IEC 61131 (ранее обозначавшихся как IEC 1131). Первая часть из этой серии стандартов – стандарт IEC 61131–1 – посвящен общему описанию контроллеров, включая терминологию, описание его структуры и функциональных характеристик – функций обработки сигналов, интерфейсов ввода/вывода связи, человеко–машинного взаимодействия (HMI или MMI интерфейсов), программирования, надежности и эргономики. Основным стандартом, относящимся к АПК, является стандарт IEC 61131–2. В нем определяются:

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

- тестирование и испытания по проверке выполнения приведенных требований;

- информация, прикладываемая к продукции производителем контроллеров.

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

Таблица 17

Номер

стандарта

Наименование

IEC 61131-1

Part 1. Generel Information

IEC 61131-2

Part 2. Equipment requirements and tests

IEC 61131-3

Part 3. Programming Languages

IEC 61131-4

Part 4. Technical Report 3 Userguide lines

IEC 61131-5

Part 5. Communication

IEC 61131-6

Part 6. Communication viafieldbus

IEC 61131-7

Part 7. Fuzzy logic stardartization

IEC 61131-8

Part 8.Technical Report 3 Guidelines for the application and implementation of language for programmable controlles

Основным стандартом, относящимся к ПО контроллеров, является стандарт на языки программирования контроллеров – IEC 1131–3.

Стандарт IEC 1131-3 описывает синтаксис и семантику пяти языков программирования контроллеров.

Графический язык SFC (Sequential Function Chart) используется для описания алгоритма в виде пары: «шаг (step) – переход (transition)». Шаг представляет собой набор операций над переменными, переход – набор логических условных выражений, определяющий передачу управления следующей паре шаг – переход. Внешне описание на языке SFC напоминает хорошо известные логические блок – схемы алгоритмов. Язык SFC имеет возможность распараллеливания алгоритма, однако, он не содержит средств для описания шагов и переходов, которые могут быть выражены только средствами других языков стандарта. Происхождение: Grafcet (telenechanique – groupe Schneider).

Графический язык программирования LD (Ladder Diagram) является стандартизированным вариантом класса языков релейно–контактных схем. Логические выражения на нем описываются в виде реле, которые широко применялись в области автоматизации в 60–х годах. Из – за своих ограниченных возможностей язык дополнен привнесенными средствами: таймерами, счетчиками и т.п. Происхождение: различные варианты языка релейно–контактных схем (Allen – Bradley, AEG Schneider Automation, GE – Fanuc, Siemens).

Графический язык FBD (Functional Block Diagram) по своей сути похож на LD: вместо реле здесь используются функциональные блоки. Алгоритм работы некоторого устройства, выраженный средствами этого языка, напоминает функциональную схему электронного устройства: логические элементы типа И, ИЛИ и т.п., соединенные линиями. Корни языка выяснить сложно, однако большинство специалистов считают это не что иное, как перенос идей языка релейно-контактных схем на другую элементную базу.

Текстовой высокоуровневый язык общего назначения ST (Structured Text) по синтаксису ориентирован на ПАСКАЛЬ; самостоятельного значения не имеет: используется только совместно с SFC. Происхождение: Grafcet.

Текстовой язык низкого уровня IL (Instruction List) выглядит как язык Ассемблер, что объясняется его происхождением. Например, для некоторых моделей контроллеров фирмы Siemens он является языком Ассемблера.

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

Важнейшим расширением стандарта IEC 61131–3 является стандарт IEC 61131-5, посвященный программированию связей между контроллерами и другими программируемыми системами. Он опирается на стандарт спецификации производственного сообщения – Manufacturing Message Specification (MMS, ISO/IEC 9506, включая 9506-05). В стандарте определены сервисы прикладного уровня, такие как сетевая проверка (сертификация) приборов, сбор данных (по вызову и программируемый), управление по сети (параметрическое и защитное), сообщения о тревогах, вызовы исполнения программ и управления, передачи прикладных программ, управление связью. Сервисы представлены на языках программирования, определенных в IEC 61131–3 и, в частности, в виде FBD. Даны диаграммы состояний и переходов для каждого сервиса.

Седьмая часть серии стандартов – IEC 61131–7 посвящена языку программирования нечеткого контроля и управления; речь идет о введении стандартных описаний элементов нечеткого управления на языках программирования контроллеров, регламентированных IEC 61131–3 (и главным образов на языке FBD). Определены модель и функциональные элементы нечеткого управления, такие как размытие (fuzzification),обратное уплотнение (defuzzification), производящие правила по алгоритму последовательных операций соединения (agreggation), активации (activation) и накопления (accumulation). В результате стандарт устанавливает родовой язык нечеткого контроля и управления (Fuzzy Control Language - FCL); в нем приводятся многочисленные примеры FCL, рассмотрены уровни соответствия систем контроля и управления, использующих FCL.

В информативных приложениях стандарта даны базовые сведения из теории нечеткой логики, нечеткого контроля и управления, базовых правил и заключений, а также примеры их применений. Два документа из серии относятся к категории технических отчетов МЭК – 3, имеющих информационный характер.

Стандарт EC 61131–4 - руководство пользователя, работающего по этим стандартам, где будут собраны полезные данные для всех этапов жизненного цикла контроллеров.

Технический отчет IEC 1131–8, обобщающий опыт программирования контроллеров на языках IEC 1131–8, обобщающий опыт программирования контроллеров на языках IEC 1131–3, вероятно уже опубликован.

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