Средства программирования РС - совместимых контроллеров


На рынке средств промышленной автоматизации представлены разнообразные аппаратные и программные средства разработки систем управления. Специалисты нередко стоят перед сложным выбором: какую технику использовать и чем ее программировать. При наличии достаточных финансовых ресурсов эту проблему можно легко решить путем использования комплексных решений от ведущих мировых производителей, когда пользователю предлагается функционально полный набор PLC, модулей ввода/вывода и ориентированный под них софт.
Однако возможен и другой вариант, при котором в качестве аппаратных средств применяются PC-совместимые решения: РС-контроллеры и платы ввода/вывода, устанавливаемые в слоты расширения компьютера, а программная часть может быть реализована с помощью языков высокого уровня общего назначения. Безусловно, уровень знаний инженеров-разработчиков и эксплуатационщиков АСУ в области программирования непрерывно растет, однако следует признать, что наиболее целесообразным является использование специализированных программных пакетов. Наверное, с точки зрения “чистых программистов” этот тезис можно считать плодом размышлений человека, который просто не в состоянии научиться программировать, но мировой опыт подтверждает иное. Об этом свидетельствует огромная популярность пакетов разработки программ для PC-контроллеров, основанных на инженерном стандарте IEC-1131.
Подход, при котором конечный программный модуль готовится специалистами в области автоматики и технологии, позволяет большую часть ресурсов и времени направить в область технологической настройки системы на реальном объекте с целью достижения наилучших качественных характеристик управления.
Ситуация, когда в стандартной библиотеке пакета не находится требуемой функции или алгоритма и, следовательно, помощь программиста все же необходима, успешно разрешима - современные средства SoftLogik программирования позволяют писать собственные функциональные блоки на одном из встроенных упрощенных текстовых языков и дополнять ими стандартные библиотеки. Кроме того, целью введения международных стандартных подходов к программированию контроллеров является формализация описания задач управления для различных аппаратных средств. Тогда при переходе на технику другого производителя не требуется с нуля начинать освоение программных средств, а можно воспользоваться уже имеющимися навыками и наработками. Главным содержанием стандарта является описание пяти инженерных языков программирования. Ниже представлены фрагменты теста программ на каждом из них. Языки могут вызывать процедуры или подпрограммы, составленные на другом языке.
В обзоре нашли отражение наиболее популярные на сегодняшний день недорогие и доступные SOFTLOGIC средства, предназначенные именно для конечного пользователя-специалиста по автоматизации. Выбранные для анализа пакеты способны готовить исполняемые приложения под DOS, как наиболее популярной ОС для PC-совместимых контроллеров, и эффективно работать при условии наличия невысоких аппаратных ресурсов (CPU от 20-40 МГц, RAM от 256К, FLASH-диск от 512К). Надеемся, что наше исследование различных программных пакетов позволит помочь инженерам в выборе того или иного инструмента. Стоит только обратить внимание на возможную субъективность такого анализа в связи с трудностью проведения реальных испытаний в сопоставимых условиях. Рассматриваться будут пользовательский интерфейс пакетов, набор встроенных функций и библиотек, а также лицензионная политика производителя с точки зрения инженера по разработке и эксплуатации систем управления. Наше рассмотрение пакетов, конечно, не может считаться “истиной в последней инстанции”. На чем остановиться - решать Вам. В конечном итоге, при выборе того или иного инструмента, пользователь оценивает некоторые основные потребительские характеристики продукта, к которым могут быть отнесены:
· удобство интерфейса оператора и разработчика;
· эффективность разработки, т.е. возможный выигрыш во времени и экономия ресурсов, достигаемые в процессе разработки;
· надежность функционирования ПО при разработке и особенно при решении задач управления на объекте;
· доступность и качество технической поддержки, динамичная адаптация к запросам пользователей;
· язык интерфейса, качество сопроводительной документации;
· конечная стоимость как инструментальной среды, так и исполняемых модулей.
Начнем с Trace Mode (в дальнейшем ТМ).  Продукт разработан фирмой “AdAstra Research Group, Ltd.”, Россия.
Рассмотрим OEM версию ТМ, локализованную под аппаратуру технологического комплекта ICP_CON. Основная особенность - это наличие в составе пакета не только программного редактора, но и редактора визуализации и представления данных. Таким образом, пользователь получает возможность не просто запрограммировать контроллер I-7000/ 8000, но и в рамках общей среды разработки реализовать SCADA функции для ПК АРМ верхнего уровня системы управления. Базовая версия ТМ, поставляемая с контроллерами, функционирует под управлением Windows, в которой осуществляются все работы по созданию исполнительных модулей (микро-МРВ под MiniOS7).  Однако средствами базовой версии ТМ разработанный интерфейс оператора верхнего уровня может быть только опробован (профайлер-отладчик функционирует только 1 час), а для реальной работы необходимо будет приобрести профессиональную версию ТМ и МРВ модули на требуемое количество точек ввода/вывода. Информационные потоки в ТМ настраиваются с помощью базы каналов. Тип, подтип и другие характеристики каналов определяют источники или приемники данных (контроллеры, модули УСО, системные переменные и пр.). В каналах предусмотрена первичная и выходная обработка данных. Все остальные задачи по обработке данных и управлению разрабатываются в виде отдельных программ. Для этого предусмотрен язык Техно FBD - один из пяти стандартных языков IEC-1131. Этот язык предназначен для разработки алгоритмов управления в виде диаграмм функциональных блоков. Созданные на нем программы могут вызываться из процедур каналов. Библиотека алгоритмов содержит более 150 блоков обработки данных и управления. Необходимо отметить современный и удобный Windows-подобный интерфейс программного редактора. Поддерживаются не только все стандартные операции редактирования, но и некоторые специфические, например, создание блока из FBD - программы с последующей возможностью его сохранения и многократного использования. Поддерживаются стандартные функции визуальной отладки программ в режиме их эмуляции (пошаговая, непрерывная, с возможностью изменения значений переменных и констант). При отладке очень помогают блоки генерации сигналов различного вида (битовый меандр, бегущая 1, случайные величины, синусоида и нарастающий сигнал, последовательности 1 с заданной вероятностью и др.) и блоки визуализации дискретных и аналоговых переменных в виде чисел и графиков.

Важной функцией ТМ является возможность использования внешних пользовательских блоков, разработанных на языке Си и оформленных как DLL модули. Однако такие функции строго ограничены (например, для микро-РВ число DLL модулей ограничено 10). Разработка графического интерфейса проекта осуществляется в векторном редакторе, который содержит все необходимые средства представления данных и динамизации элементов изображения мнемосхем технологических объектов, включая векторную анимацию и поддержку Active-X компонентов. Редактор представления данных ТМ также содержит встроенные средства эмуляции работы верхнего уровня системы управления. Поддерживаются и другие SCADA-функции, такие как архивирование и документирование данных, генерация отчетов и регистрация тревог, наличие системы защиты от несанкционированного доступа и т.п. Необходимо отметить наличие функций автопостроения ТМ, когда при разработке обширного много узлового проекта система автоматически генерирует вновь создаваемые базы каналов операторских станций и контроллеров. При использовании ТМ с контроллерами I-7000/ 8000 предусматривается, что один из последовательных портов контроллера будет задействован для загрузки ПО, а другой - для связи с верхним уровнем в режиме SLAVE по протоколу M-LINK.
С точки зрения пользователя, пакет получился несколько путаным. Вероятно, такое впечатление складывается именно из-за наличия большой степени универсальности среды разработки (одновременное выполнение SCADA\SOFTLOGIC задач для многоузловых систем и наличие большого количества поддерживаемых устройств и интерфейсов). Конечно, достаточно заманчиво иметь для разработки нижнего и верхнего уровней один пакет, однако придется смириться с неизбежной ограниченностью возможностей как по программированию, так и по представлению данных.
При наличии всего одного языка для программирования пользователю придется “выкручиваться”, используя только функциональные блоки, что очень неудобно, особенно при решении задач шагового и/или логического управления. Написанная на языке FBD шаговая программа, например, реализующая циклограмму работы какого-либо периодического оборудования, выглядит очень громоздко и нечитаемой, что приводит к большим затратам времени на анализ и отладку и возможным ошибкам. Кроме того, отсутствие в ТМ текстового языка, по типу языков высокого уровня, также значительно затрудняет реализацию вычислительных алгоритмов, которые встречаются, например, для входной обработки сигналов от некоторых специфических датчиков.
Еще одна особенность ТМ заключается в том, что вся математическая обработка или собственно программа контроллера разбивается на фрагменты, каждый из которых привязан к тому или иному каналу базы данных проекта. Кроме того, некоторая часть математики (входная и выходная обработка сигналов, анализ на достоверность), вообще производится в самих каналах и на схемы функциональных блоков не попадает. Таким образом, получается, что иногда сложно сразу представить, как происходит преобразование входных сигналов в выходные, так как пользователь не видит всю программу целиком. Функции отладки программ ограничены эмуляцией на PC. Как следствие, загрузив проект в контроллер назначения и запустив его там, нельзя просмотреть ход выполнения программы в редакторе и значения промежуточных переменных.
Следует отметить, что возможности рассматриваемой нами локализованной версии ТМ значительно уступают имеющимся в основной версии (МРВ для DOS/Windows).
Речь идет об использовании еще одного стандартного языка программирования TexHolL и других расширенных функций (например, большее количество каналов ввода/вывода, адаптивное регулирование, поддержка связи по коммутируемым линиям, горячее резервирование, Web, GSM и Handheld PC управление и т.п.). Однако все эти "вкусные вещи" не доступны пользователям I-7000/8000 и базовой версии ТМ, а приобретаются в составе специализированных исполнительных модулей ТМ.
В общении со специалистами, использующими ТМ, нередко приходится слышать о невысокой скорости работы исполняемого приложения в контроллере назначения. Другие высказывают мнение о том, что предыдущая 4-я версия ТМ (инструментальная среда функционировала под DOS), которая реализовывала задачи управления с помощью одного текстового языка Техно-Бейсика, была более удобной. При работе с ТМ пришлось столкнуться с проблемой обмена данными с некоторыми модулями В/В с параллельным интерфейсом популярной серии I-8000. Конечно, нереально требовать от пакета полной совместимости с постоянно обновляющимися наборами большого количества различных устройств автоматики, однако разработчикам от этого не легче.
Теперь рассмотрим UltraLogik, программный продукт фирмы “ПРОСОФТ”, Россия
Система UltraLogik ориентирована на разработку ПО для систем сбора данных и управления, исполняемого на PC-совместимых контроллерах и промышленных компьютерах с открытой архитектурой. В качестве основного языка программирования используется язык функциональных блоковых диаграмм (FBD). Кроме этого, UltraLogik предоставляет возможность выполнять программные модули, написанные на Си, Паскале или Ассемблере. При этом внешне такая программа выглядит как обычный функциональный блок, назначение входов и выходов которого определяет пользователь.
Система состоит из подсистемы программирования, работающей в среде MS Windows, и подсистемы исполнения, работающей в среде MS DOS версий 3.3 и выше. С точки зрения пользователя, UltraLogik является мощной и в то же время простой и привычной в использовании инструментальной системой, при работе с которой существенно сокращается время проектирования программ.
Базовая программная концепция предполагает построение проекта как иерархического дерева программ, состоящих друг с другом в определенных отношениях. Система содержит широкий выбор функциональных блоков, демонстрационных проектов и моделей объектов регулирования, что позволит даже начинающему пользователю создавать с помощью UltraLogik изящные и оптимальные программы. Разработчики ориентировали свой продукт на применение с номенклатурой процессоров и модулей В/В фирм Octagon Systems, Fastwel и контроллеров серии ADAM, однако имеются средства настройки системы на некоторые другие типы микропроцессорных устройств. Встроенные функции отладки программных модулей позволяют осуществлять как предварительную эмуляцию в среде редактора, так и удаленную сетевую отладку программы в целевом контроллере. Контроллеры и промышленные компьютеры, программируемые на UltraLogik, могут объединяться в сети передачи данных на базе интерфейса RS-485 и Ethernet. При этом обеспечивается возможность организации обмена данными между контроллерами в многоточечном мультимастерном режиме.
Очень важной особенностью UltraLogik является то, что пакет не содержит ограничений на количество переменных, каналов В/В и разработанных проектов в виде систем исполнения (run-time). Таким образом, одна инструментальная среда может быть использована для разработки любого количества программных модулей контроллеров назначения. В состав системы входит DDE сервер, предназначенный для связи с любыми Windows приложениями, DLL библиотека под SCADA-систему верхнего уровня Genie, а также, по дополнительному заказу, ОРС сервер.
Разработчики явно не ставили перед собой задачу штатно обеспечить широкий охват поддерживаемых PC-совместимых устройств. Программе также не хватает наличия переменных строкового типа. Непонятно, как организовать вывод сообщений на периферийные устройства типа операторских панелей? Следует отметить наличие в составе системы функциональных блоков, обеспечивающих работу с массивами, что позволяет организовать регистрацию и анализ быстроизменяющихся процессов. Удобно реализован алгоритм калибровки входных и выходных переменных проекта. Состав специализированных библиотек функциональных блоков может быть дополнен пользователем и содержит обширную подборку регуляторов, алгоритмы эмуляции различных объектов, а также обработку частотных сигналов и временные операции. Специальные режимы отладчика позволяют просматривать ход выполнения программы либо через списки переменных, либо в графическом виде (режим осциллографа). Пользовательский интерфейс достаточно прост, понятен и по “по-спартански” немногословен. Возможность использования всего одного инженерного языка явно ограничивает “полет мысли” программиста. Однако пакет получился добротный и достаточно мощный.
Еще один продукт из России - Good Help (ИКОС)
Интегрированная инструментальная среда Good Help проектировалась для программирования комплекта для распределенных систем I-7000, однако, обладая открытой архитектурой и наличием поддержки обмена через ОРС-сервер, может быть использована и для программирования других PC-совместимых контроллеров.
На базе контроллеров семейства I-7188 фирмой выпускается модель ROBO3140. В комплект поставки входит и инструментальная среда разработки. Это недорогое, достаточно удобное, а главное, готовое средство синтеза встраиваемых программных модулей, не требует высокого уровня подготовки в области программирования и позволяет существенно сократить время на создание проекта. Среда использует графический объектно-ориентированный язык функциональных блоков и модульную структуру проекта. Библиотека блоков содержит достаточно обширный комплект алгоритмов, а наличие возможностей дописывать на Си пользовательские алгоблоки позволяет рассматривать Good Help как функционально полное средство для решения задач регулирования и логического управления.
Знакомство с библиотечным набором алгоритмов приводит к выводу о его “Ремиконтовских корнях”. В самом деле, математика Ремиконта, которая умещалась в 32К ППЗУ, позволяла решать практически любую задачу управления, причем довольно изящно, и реализовать сложные алгоритмы. Библиотека Good Help повторяет большинство из алгоритмов некогда легендарного набора, дополняя его функциями, в то время недоступными для пользователей (например, произвольная формула, тригонометрические функции, операции с битами, условные и безусловные переходы, генераторы и т.п.). Кроме того, наличие в библиотеке универсального алгоблока "шаговая программа (STP)" значительно облегчает реализацию выполнения циклических действий с внутренними или глобальными переменными при шаговом управлении.
В состав системы входит среда разработки проекта (Windows-приложение), включающая в себя не только редактор FBD, но и простейший редактор отображения информации, а также исполнительная среда под DOS. В процессе разработки проекта пользователь может использовать встроенные средства отладки и тестирования, в том числе и в режиме непосредственного исполнения программного модуля в контроллере. Подключенные к ПК контроллеры обнаруживаются средой автоматически, а процесс переноса готовой программы в контроллер предельно упрощен.
Доступ из систем верхнего уровня возможен посредством обмена через последовательный порт ПК АРМ оператора, методы СОМ сервера или ОРС. Предварительно составляется таблица внешнего доступа для SCADA системы либо терминальной панели.
Вероятно, наибольшим недостатком Good Help можно считать то, что среда разработки настроена на работу только лишь с процессорным модулем ROBO3140 и модулями В/В I-7000. Интерфейс пользователя также нельзя назвать современным. Переключение между задачами в рамках одного проекта осуществляется с помощью закладок редактора схем. Таким образом, иерархия программ явно не видна, и одновременно просмотреть всю математику не удается. Но по-видимому, при использовании только единого языка программирования, другого способа визуализации логических программных структур просто нет.

Продукт №1 в классе SoftLogic-lSaGRAF

Технология IsaGRAF была предложена французской фирмой “CJ International”, во многом усилиями которой и утвердился стандарт IEC 1131-3. В настоящее время многие производители "железа" для систем управления поддерживают эту SoftLogic-технологию программирования (среди них Komatsy, Grayhill, Motorola, ОРТО 22, PEP, Philips и др.). Выпускаются различные версии инструментальных сред и наборов инструментов для дописывания драйверов и синтеза целевых систем под различные ОС, а также на DOS, QNX, Linux, количество точек и аппаратуру ввода/вывода. Инженерами фирмы “ICP_DAS” была разработана целевая система ISaGRAF, локализованная под аппаратуру комплектов для сбора данных и управления I-7000/8000 (ISaGRAF v. 3.41/3.46). Именно этот продукт, во многом уступающий “полной” версии популярного пакета, мы и рассмотрим ниже.
ISaGRAF Workbench 3.46 способен компилировать исполняемые приложения под MiniOS7 и содержит редакторы всех стандартных 5-ти языков программирования. Кроме того, пакет включает в себя еще один графический язык - FC (язык потоковых диаграмм), описывающий последовательные логические преобразования и визуально повторяющий метод графического представления блок-схем алгоритмов. Проект представлен в виде иерархического дерева программ и подпрограмм, разбитых на логические секции по цикличности исполнения. Так, если необходимо, чтобы некоторая математика исполнялась в начале каждого цикла контроллера сразу после опроса входов, то соответствующая программа размещается в секции “BEGIN”. Каждая из программ описывается только на одном языке, который выбирается при ее создании и в дальнейшем не может быть изменен. Чаще всего язык SFC является основным в проекте, так как он используется для описания операций последовательности выполнения шагов, остальные языки обычно описывают действия внутри шагов и логические условия для переходов. Связь между отдельными секциями программ осуществляется через переменные трех уровней, общие - доступные любой программе любого проекта, глобальные - доступные любой программе выбранного проекта и локальные - доступные выбранной программе выбранного проекта.
Возможности программирования не ограничиваются использованием только языков программирования PLC, но дополняются возможностями прямого вызова Си-функций, а также возможностями дополнять стандартные библиотеки пакета функциональными блоками, написанными на Си. Наличие полного обширного набора инструментов редактирования, проверки синтаксиса, различных режимов отладки, в том числе с возможностью графического представления данных, функций резервного дублирования и генерации документов, делает работу с пакетом удобным и практичным. Подготовка проекта в среде ISaGRAF включает в себя процедуру оптимизации исполняемого кода конечной программы под выбранную целевую систему.
Библиотека поддерживаемой аппаратуры ввода/вывода полностью охватывает всю номенклатуру модулей I-7000/8000 и постоянно пополняется за счет выпуска новых изделий.
Поддерживаются режимы динамического обмена данными (DDE), связь по последовательным каналам RS 232/485 и Ethernet.
Настройка обмена с программными средствами верхнего уровня максимально упрощена и основана на популярных протоколах Modbus и Modbus TCP/IP. Пользователю также доступны бесплатные ОРС сервера как разработчиков “железа” NAPOPC I - 7000/8000 от ICP_DAS, так и авторов ISaGRAF (Altersys OPC DA Server). Основная особенность пакета состоит в том, что пользователь имеет возможность описывать алгоритм исполнения проекта в удобном для себя виде. То есть, в зависимости от типа решаемых задач набор программ одного контроллера может содержать секции, написанные на графических языках и/или подготовленных в текстовом виде. В дальнейшем инструментальная среда компилирует все программы, составляющие проект, в один исполняемый файл.
Для реализации непрерывных алгоритмов аналоговой обработки данных, например, цифровое регулирование, наиболее удобно воспользоваться языком функциональных блоков FBD. Задачи шагово-последовательного управления, к примеру формирование циклограммы работы периодического оборудования, удобнее всего представить в виде программы на SFC или FC. Сложные математические расчеты целесообразнее реализовать на текстовом языке высокого уровня ST. При необходимости дополнить стандартную библиотеку функциональных блоков своими функциями любой инженер способен воспользоваться текстовым языком низкого уровня IL или другим.
При переходе управляющих систем, построенных на базе электрических релейных схем на микропроцессорную платформу, незаменимым окажется язык LD. В конечном итоге, если имеется желание воспользоваться собственными разработками на Си, ISaGRAF позволит пользователю подключить свои функции и блоки.
Возможно единственное, чего не хватает пакету, так это более разнообразная библиотека регулирования. Собственно в стандартном наборе всего один тип регулятора - ПИД - регулятор, тогда как другие пакеты содержат и позиционные, и самонастраивающиеся, и другие типы регуляторов.
Степень визуализации, удобства пользователя и программной мощности доведены в ISaGRAF до совершенства. Особенно хочется отметить то обстоятельство, что интерфейс пользователя максимально упрощен. В пакете нет ничего лишнего, все действия интуитивно понятны и предсказуемы. Именно теперь пользователь может уделить все время своему творческому порыву в достижении задачи максимально эффективной программной реализации задач управления вместо того, чтобы бесконечно бродить по путаным лабиринтам опций многочисленных меню. Добавлю, что пакет поставляется с описанием на русском языке, где переведены не просто контекстно-зависимая помощь и все меню, но имеется встроенный учебник, а также инструкция пользователя на 445 страницах в формате MS Word. Дистанционный загрузчик, который автоматически находит свою целевую систему по RS485 или Ethernet, а также компилятор исполняемого приложения входят в состав пакета. Пользователю не потребуется искать дополнительный софт или изучать перечень и порядок записи файлов проекта во флеш-диск контроллера, как это происходит в других пакетах. Причем во время компиляции происходит автоматическая проверка синтаксиса всех входящих в проект программ и компонентов.
Так как пакет поставляется производителями “железа” (ICP_DAS), то проблем с подключением новых модулей и функций просто не возникает. Под каждый вновь вышедший модуль ввода/вывода или дополнительную функцию (например, отсылка сообщений по e-mail или обмен с операторскими панелями) выходит новая библиотечная функция и функциональный блок с тестовым проектом. Опыт свидетельствует о том, что все возникающие вопросы и предложения решаются с фирмой оперативно и качественно.
Для работы под ISaGRAF необходимо приобрести инструментальную среду ISaGRAF Workbench, имеющую ограничение на количество используемых переменных ввода/вывода, и контроллер назначения с лицензией. Причем ограничение по входам/выходам определяется непосредственно по привязанным к внешней аппаратуре переменным и может быть легко преодолено, а количество построенных run-time не ограничено. Стоимость ISaGRAF-контроллера выше аналогичного, не предназначенного для работы под ISaGRAF, на сумму лицензионных отчислений, которая совсем невелика. ICP_DAS выпускает две модели ISaGRAF-Embedded контроллеров серии I-7000 и четыре модели серии I-8000.

При условии выбора в качестве аппаратуры АСУ PC-совместимых контроллеров семейства ICP_CON серьезной альтернативы ISaGRAF сегодня просто не существует. При небольших затратах пользователь получает очень продвинутый и мощный инструмент. Собственный опыт и опыт тех пользователей, которые уже перешли на использование технологии ISaGRAF, свидетельствует - срок освоения пакета очень короткий, а программы получаются достаточно изящные.
Особенно хочется отметить Web-ориентацию пакета. Поддерживается загрузка и отладка проектов через Internet, в библиотеку входят функциональные блоки, реализующие функции автоматической отсылки сообщений по e-mail или SMS. Наличие достаточного количества хороших пакетов, несомненно, идет на пользу разработчикам АСУ ТП, которые в зависимости от используемой аппаратуры, масштаба системы и финансовых возможностей заказчика могут применить различные подходы.
Широкое внедрение новейших сетевых технологий, стандартных языков программирования, использование универсальных драйверов и интерфейсов приложений приводит к взаимному влиянию и сближению характеристик ПО. Например, 6-я версия инструментальной среды Trace Mode многоплатформенная, также увеличено количество поддерживаемых стандартных языков программирования PLC.






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.