Алгоритмическое и программное обеспечение задач автоматизации управления. Лекции по дисциплине Алгоритмическое и программное обеспечение з. Лекция 1 программируемые контроллеры 1 Определение плк
Скачать 1.47 Mb.
|
2. ИНСТРУМЕНТЫ ПРОГРАММИРОВАНИЯ ПЛК 2.1 Комплексы проектирования МЭК Контроллеры, программирование которых осуществляется со встроенного или выносного пульта, встречаются сегодня достаточно редко. Как правило» это простые специализированные ПЛК, предназначенные для управления освещением по расписанию, регулировки температуры и т.д. Все программирование таких контроллеров сводится обычно к заданию набора констант [1,2,4]. Для программирования ПЛК универсального назначения применяются ПК. Процесс разработки и отладки программного обеспечения происходит при помощи специализированных комплексов программ, обеспечивающих комфортную среду для работы программиста Традиционно все ведущие изготовители программируемых ПЛК имеют собственные фирменные наработки в области инструментального программного обеспечения. Безусловно, большинство из них представляют удобные инструменты, оптимизированные под конкретную аппаратуру. Понятно, что в разработке универсальных систем программирования, приемлемых для своих ПЛК и для ПЛК конкурентов, изготовители не заинтересованы. Кроме того, это достаточно сложная задача. Системы программирования ПЛК небольших фирм в лучшем случае реализуют один из языков МЭК с некоторыми расширениями, призванными сохранить совместимость со своими же более ранними (нестандартными) системами. Крупнейшие лидеры рынка ПЛК предлагают сегодня очень мощные комплексы с поддержкой МЭК- языкав, также сохраняющие преемственность и фирменные традиции («Concept» Schneider Electric, «S7» Siemens) [1-4]. Открытость МЭК-стандарта – с одной стороны и сложность реализации высококлассных комплексов программирования – с другой, привели к появлению специализированных фирм, занятых исключительно инструментами программирования ПЛК. Наибольшей известностью в мире пользуются комплексы CoDeSys. CoDeSys – это один из самых развитых функционально полных инструментов программирования МЭК 61131-3 [4]. 2.2 Инструменты комплексов программирования ПЛК Главная задача инструментов комплекса программирования ПЛК состоит в автоматизации работы разработчика прикладной системы. Хорошо организованная среда программирования сама толкает к созданию надежного, читабельного и пригодного для повторного применения кода. В интегрированных комплексах программирования ПЛК сложился определенный набор возможностей, позволяющий относить их к средствам быстрой разработки. Многие приемы являются общими и для систем программирования компьютеров и, вероятно, покажутся вам знакомыми. Сервисные функции систем программирования не являются требованием стандарта. Но от полноты набора доступных программисту инструментов существенно зависит скорость и качество его работы [4-8]. 13 2.2.1 Встроенные редакторы Классические (с командной строкой) ассемблеры и компиляторы обрабатывают текст файла, содержащего программный модуль, и формируют объектный код. Исходный текст программы записывается в любом текстовом редакторе. Интегрированная среда предполагает наличие встроенного редактора [1-4]. 2.2.2 Текстовые редакторы Интеграция в единую среду программирования предполагает наличие у текстовых редакторов нескольких существенных свойств [4]: − возможность быстрого ввода стандартных текстовых элементов. Комбинаций клавиш быстрого ввода, или контекстно-зависимые меню команд, предлагают мгновенную вставку в текст операторов, функций, функциональных блоков. При чем речь идет не только о стандартных элементах, но и о созданных программистом в текущем проекте; − автоматическое объявление переменных. Если при вводе текста программы вы используете новую переменную, система автоматически поместит необходимое описание в разделе объявлений. Тип переменной и начальное значение задаются в диалоговом окне. В этом помогают меню, весь ввод обычно выполняется мышью, без помощи клавиатуры; − представление раздела объявлений переменных в виде текста или картотеки таблиц, разделенных и отсортированных по функциональному значению (входные переменные» локальные и т.д.); − проверка синтаксиса и автоматическое форматирование ввода. Редактор автоматически контролирует введенный текст и выделяет цветом ключевые слова, константы и комментарии. В результате текст не только легко читается» но и оказывается синтаксически проверенным еще до трансляции 2.2.3 Графические редакторы Графические редакторы еще более тесно связаны с контекстом конкретных языков. Они должны обеспечивать следующие возможности [1-4]: − автоматическая трассировка соединений компонентов. Программисту вообще не приходится рисовать соединения. При вставке и удалении компонентов система автоматически проводит графические соединительные линии (рис.2.1); Рис.2.1 – Графический редактор релейных схем 14 − автоматическая расстановка компонентов. Местоположение компонента на экране определяется автоматически с учетом порядка выполнения. Этим свойством обладают графические редакторы CoDeSys и OpenPCS. В других комплексах программист выбирает местоположение компонента вручную, координаты компонента сохраняются при записи проекта (рис.2.2). Команда индикации порядка выполнения добавляет в изображение компонента порядковый номер [4]. Рис.2.2 – Ручное размещение компонента − автоматическая нумерация цепей; − копирование и перемещение выделенной графической группы компонентов с учетом их индивидуальной специфики (рис.2.3); Рис.2.3 Графический редактор функциональных блоковых диаграмм − произвольное масштабирование изображения с целью наилучшего представления или отдельное окно общего вида. Для анализа больших разветвленных графических диаграмм удобно иметь возможность увидеть всю диаграмму или достаточно релевантную ее часть целиком. В режиме исполнения встроенные редакторы отображают тексты и графические диаграммы. При этом [4-8]: 15 − мгновенные значения переменных видны непосредственно в окне редактора и доступны для изменения; − активные цепи выделены жирными линиями и цветом. Для графических диаграмм наглядно отражается последовательность выполнения. 2.2.4 Средства отладки Стандартный набор отладочных функций включает в себя [1,2,4]: − унифицированный механизм соединения с ПЛК. Работа инструментов отладки не зависит от способа соединения контроллера с отладчиком. Не имеет значения, эмулируется ли контроллер на том же самом компьютере (рис.2.4), подключен ли через последовательный порт ПК или даже расположен в другой стране и связан через Интернет; Рис.2.4 – Эмуляция ПЛК − загрузку кода управляющей программы в оперативную память и электрически перепрограммируемую память ПЛК; − автоматический контроль версий кода. Проверка соответствия кода содержащегося в памяти ПЛК и кода полученного после текущей компиляции; − выполнение управляющей программы в режиме реального времени; − режим останова. Останов означает прекращение выполнения только кода управляющей программы. Все прочие фазы Рабочего цикла выполняются. Способность наблюдать значения входов и управлять выходами ПЛК вручную сохраняется. В этом режиме можно проводить тестирование и настройку датчиков и механизмов объекта управления; − сброс ПЛК. Может быть несколько видов сброса. В стандарте МЭК предусмотрено два вида сброса «горячий» и «холодный». Первый включает перевод управляющей программы в исходное состояние и выполнение начальной инициализации переменных. Во втором виде сброса добавляется начальная инициализация переменных, размещенных в энергонезависимой области памяти. В CoDeSys предусмотрен еще и «заводской» сброс (original), удаляющий пользовательскую 16 программу и восстанавливающий состояние контроллера, в котором он поступает с завода изготовителя. Кроме того, в ПЛК может произойти аппаратный сброс путем выключения питания или перезапуска микропроцессора. Система программирования должна адекватно реагировать в случае аппаратного сброса» Детальная реакция на команды сброса определяется системой исполнения. Поэтому здесь возможны некоторые отличия для разных ПЛК, даже в одной среде программирования; − мониторинг и изменение мгновенных значений всех переменных проекта» включая входы-выходы ПЛК. Для удобства работы значения представляются в заданной пользователем системе счисления [4]; − фиксацию переменных, включая входы-выходы. Фиксированные переменные будут получать заданные значения в каждом рабочем цикле независимо от реального состояния ПЛК и действий управляющей программы. Данная функция позволяет имитировать элементарные внешние события в лабораторных условиях и избегать нежелательной работы исполнительных механизмов при отладке на «живом» объекте управления. Неуправляемая работа механизмов может привести к поломке и представлять опасность для окружающих людей; − выполнение управляющей программы шагами по одному рабочему циклу. Применяется при проверке логической правильности алгоритма; − пошаговое выполнение команд программы и задание точек останова; − просмотр последовательности вызовов компонентов в точке останова; − графическую трассировку переменных. Значения нужных переменных запоминаются в циклическом буфере и представляются на экране ПК в виде графиков. Запись значений можно выполнять в конце каждого рабочего цикла либо через заданные периоды времени. Трассировка запускается вручную или синхронизируется с заданным изменением значения определенной (триггерной) переменной [4]; Рис.2.5 – Визуализация проекта − визуализацию – анимационные картинки, составленные из графических примитивов, связанных с переменными программы. Значение переменной может 17 определять координаты, размер или цвет графического объекта. Графические объекты включают векторные геометрические фигуры или произвольные растровые изображения. Визуализация может содержать элементы обратной связи» например кнопки, ползунки и т. д. (рис.2.5). С помощью визуализации создается изображение, моделирующее объект управления или систему операторского управления [4-8]. 2.2.5 Средства управления проектом Все программные комплексы обязательно содержат средства управления проектом. Эту задачу решает менеджер проекта, в обязанности которого входит [4]: − представление всех элементов проекта и общей его структуры в удобном виде. Создание, удаление, переименование и копирование компонентов. Автоматический вызов соответствующих редакторов для любой глубины вложения программных компонентов. Настройка ресурсов; − управление процессом трансляции и сборки кода. Настройка опций транслятора; − сравнение и выборочное слияние нескольких проектов или их версий; − управление библиотеками. Здесь существуют две задачи. Первая – это включение необходимых библиотек в состав проекта, а вторая — это создание и сопровождение новых библиотек; − документирование проекта. Документирование проекта в комплексах МЭК- программирования предусматривает распечатку всех данных проекта, включая [4]: • текстовое описание, дата создания и авторские права; • описание переменных и реализацию всех компонентов проекта; • ресурсы проекта — конфигурацию ПЛК, описание глобальных переменных, настройки задач, список и состав библиотечных модулей; • таблицу перекрестных ссылок и стек вызовов; • окно трассировки. Естественно, нельзя ожидать от системы программирования полного комплекта документации в соответствии с требованиями ЕСКД. Под словами «полная документация» в руководстве по применению системы понимается только то, что по данному печатному документу можно полностью и однозначно восстановить проект. CoDeSys позволяет составить специальные файлы комментариев на разных языках (русский, английский и т.д.). Средства восстановления проекта. В реальной жизни нельзя исключать ситуацию, что исходные файлы проекта окажутся утраченными. В это время обязательно возникнет необходимость внести поправки в работу готовой программы. Эта задача имеет три решения. 1. Декомпиляция кода. Исполняемый код считывается из памяти ПЛК и преобразуется в МЭК-программы. Для систем генерирующих машинный код эта задача практически невыполнима. Безусловно, можно дизассемблировать код в IL или ST. Но это ненамного лучше, чем обычное машинно-зависимое дизассемблирование. Структура программы получится отличной от исходного представления. Как правило, разобраться в такой программе сложнее, чем написать заново. Для интерпретирующих систем ситуация значительно лучше. Так, OpenPCS способен восстановить программу из исполняемого кода IL абсолютно адекватно, естественно, с потерей комментариев. Декомпиляция – это крайняя мера. Важное практическое значение она имела во времена преобладания автономных пультов программирования ПЛК и при отсутствии надежных устройств хранения информации [4-8]. 18 2. Сжатие всех файлов проекта и сохранение в памяти ПЛК. Современные мощные алгоритмы компрессии и существенное удешевление памяти делают такой подход все более популярным (MULTIPROG, CoDeSys), Безусловно, при наличии достаточного объема памяти ПЛК это наиболее удобный способ архивации. 3. Правильная организация работы. В комплекс разработчика включается утилита для периодической архивации проектов и сохранения на сервере, сменных носителях, в печатном виде и отправки по электронной почте. В архив помещаются исходные файлы, включенные в проект библиотеки, объектные файлы, текстовое описание архива и любые другие нужные файлы. Промежуточные версии проекта не перезаписываются, а хранятся независимо, что позволяет осуществить быстрый откат при выборе неудачного решения. В связи с появлением накопителей большой емкости и надежных перезаписываемых оптических носителей такой подход не имеет технических препятствий [4]. Средства обеспечения безопасности. Возможность просмотра и модификации проекта закрывается парольным доступом или аппаратным ключом. Посторонний человек не должен иметь возможности читать, распечатывать и модифицировать проект. Сквозной (по всем программам проекта, разделам объявлений, конфигурации и др.) контекстный поиск и замена. Средства тестирования «разумности» проекта. Вспомогательные средства, позволяющие отыскать странные и потенциально опасные моменты в программах. Например, объявленные, но не использованные переменные, использование одной области памяти разными переменными или в разных параллельных задачах, присваивание разных значений выходу ПЛК в одном рабочем цикле и т. д. Подобные «трюки» сами по себе не являются ошибками. Но они часто приводят к сложно обнаруживаемым паразитным эффектам. Средства тестирования помогают отыскать тонкие места в программах, не создавая препятствий там, где эти приемы применены осмысленно. Средства импорта и экспорта проектов в другие комплексы программирования. Перечисленные выше средства управления проектами позволяют создавать высококачественные проекты с минимумом затрат времени [1,2,4]. 2.3 Комплекс CoDeSys Комплекс CoDeSys разработан фирмой 3S (Smart Software Solutions). Это универсальный инструмент программирования контроллеров и встраиваемых систем на языках МЭК 61131-3, не привязанный, к какой-либо аппаратной платформе и удовлетворяющий современным требованиям быстрой разработки программного обеспечения [4-8]. Ядро системы исполнения CoDeSys написано на языке С. Существует несколько модификаций оптимизированных для различных микропроцессоров (включая PC- совместимые). Для привязки к конкретному ПЛК требуется адаптация, касающаяся низкоуровневых ресурсов – распределение памяти, интерфейс связи и драйверы ввода- вывода. Среди особенностей данного пакета можно отметить следующее [4]. − Прямая генерация машинного кода. Генератор кода CoDeSys – это классический компилятор, что обеспечивает очень высокое быстродействие программ пользователя. 19 − Полноценная реализация МЭК-языков, в некоторых случаях даже расширенная. − «Разумные» редакторы языков построены таким образом, что не дают делать типичные для начинающих МЭК программистов ошибки. − Встроенный эмулятор контроллера позволяет проводить отладку проекта без аппаратных средств. Причем эмулируется не некий абстрактный контроллер, а конкретный ПЛК с учетом аппаратной платформы- При подключении реального контроллера (режим online) отладчик работает аналогичным образом. − Встроенные элементы визуализации дают возможность создать модель объекта управления и проводить отладку проекта без изготовления средств имитации. Существует «операционная» версия CoDeSys. Это компактное приложение, выпблнякИцее только визуализацию» без средств разработки. Во многих простых случаях нет необходимости приобретать отдельно SCADA-систему. Серверы данных (DDE и ОРС) также входят в стандартный пакет поставки. − Очень широкий набор сервисных функций, ускоряющих работу программиста. − В настоящее время создано более 150 адаптации комплекса CoDeSys: Фирма 3S не скрывает своих клиентов. Все они открыто взаимодействуют друг с другом и совместно работают над совершенствованием программного инструментария [4]. Вопросы для самоконтроля 1. Понятие комплексы проектирования МЭК. 2. Инструменты комплексов программирования ПЛК. 3. Встроенные редакторы комплексов программирования ПЛК. 4. Основные свойства текстовых редакторов комплексов программирования ПЛК. 5. Возможности графических редакторов комплексов программирования ПЛК. 6. Стандартный набор отладочных функций комплексов программирования ПЛК. 7. Средства управления проектом комплексов программирования ПЛК. 8. Комплекс CoDeSys для программирования ПЛК. 9. Особенности пакета комплекса CoDeSys. СПИСОК ЛИТЕРАТУРЫ Основная 1. Минаев, И.Г. Программируемые логические контроллеры : практическое руководство для начинающего инженера [Текст] / И.Г. Минаев, В.В. Самойленко. – Ставрополь: АРГУС, 2009. – 100 с. 2. Парр, Э. Программируемые контроллеры : руководства для инженера. – М.: Бином; Лаборатория знаний, 2007. – 516 с. 3. Костров Б.В. Микропроцессорные системы и микроконтроллеры [Текст] / Б.В. Костров, В.Н. Ручкин. – М.: «ТехБук», 2007. – 320 с. Дополнительная 4. Петров, И.В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования. – М.: СОЛОН-Пресс, 2004. – 246 с. 5. Басалин, П.Д. Архитектура вычислительных систем [Текст]: Учебник. – Нижний Новгород: Изд-во Нижегородского госуниверситета, 2003. – 243 с. 6. Иванов, И.Ю. Микропроцессорные устройства систем управления [Текст]: Учебное пособие / Ю.И. Иванов, В.Я. Ягай. – Таганрог: Изд-во ТРТУ, 2005. – 133. 20 7. Бойко, В.И. Схемотехника электронных систем. Микропроцессоры и микроконтроллеры [Текст]: Учебник. – БХВ-Петербург, 2004. – 464 с. 8. Корнеев, В.В. Современные микропроцессоры [Текст] / В.В. Корнеев, А.В. Киселёв. – 3-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2003. – 448 с. |