0

Возможные альтернативы языкам стандарта МЭК 61131-3

В качестве альтернативы можно попытаться использовать средства, встроенные в SCADA-системы.Разумеется, такое решение допустимо лишь в некритичных задачах супервизорного контроля.

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

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

Достаточно популярно в России обсуждение т.н.switch-технологии. В основе подхода лежит известная реализация конечного автомата, в котором состояния автомата (некий набор функций) пронумерованы, а номер текущего состояния хранится в выделенной ячейке памяти. Текущая функция определяется через Си-конструкцию табличного выбора switch (этот факт и был использован при выборе названия). Дополнительно к этой базе предлагается набор приемов по разработке алгоритма, его отладке, специфицируется идентификационная система для переменных. Подход обеспечивает цикличность, логический параллелизм, достаточную свободу в организации вычислений и, несомненно, имеет право на рассмотрение как вариант “пишу на Си”. Switch-подход успешно используется в учебном процессе. К сожалению, подход нуждается в проработке методов синхронизации, структуризации и абстрагирования. Не прописаны процедуры связи с УСО. Вызывает вопросы предлагаемая идентификационная система, присутствуют отклонения от действующих в России стандартов.

Как дополнительные варианты Си-подхода можно рассматривать работы, исследующие проблемы адаптации алгоритмических языков Си, Си++, Java к задачам автоматизации через создание специализированных библиотек, классов, паттернов, направленных на введение в базовые языки необходимых свойств параллелизма, событийности и структурности. Основной недостаток перечисленных подходов заключается в невозможности достигнуть необходимую степень комфортности программирования и безопасности получаемых программ. Остается очень большое число рутинных операций, выполняемых вручную. Контроль специфической семантики программ, появляющейся при расширении языков общего назначения, не автоматизирован. Отсутствует унификация привязки к УСО. Присутствует и следующий нюанс. Концептуально большинство таких подходов базируется на теории конечных автоматов, разрабатываемой, в первую очередь, для синтеза управляющих контроллеров из электронных компонентов. Это обстоятельство повлияло на понятийный аппарат теории и на современном этапе приводит к серьезным психологическим проблемам при освоении методики выпускниками учебных заведений, т.к. в настоящее время образование ориентировано на информационные технологи и программирование, а не на схемотехнику. Особый интерес вызывает работа над стандартом МЭК-61499 [15], в котором разработчики предприняли попытку преодолеть ограничения языков МЭК61131-3 и скомбинировать в одном языковом средстве и поддержку логического параллелизма, и поддержку событийности. Цель стандарта – предоставить методологию разработки сложных алгоритмов. Программные компоненты представлены функциональными блоками специального вида: кроме обычных для языка FBD входных и выходных данных, интерфейс функционального блока стандарта МЭК-61499 предполагает событийные входы/выходы. Несомненно, это нововведение частично решает проблему событийности для классических функциональных блоков. К сожалению, этот несомненно прогрессивный стандарт не поддержан ведущими производителями ПЛК, и известные в настоящий момент реализации стандарта носят скорее исследовательский характер.

Для преодоления ограничений языков МЭК61131-3 на сложность алгоритма и недостатков прямого Си-подхода в Институте автоматики и электрометрии СО РАН был разработан специализированный язык программирования Reflex, который также может рассматриваться в качестве варианта. По своим свойствам язык вполне конкурентоспособен. При его разработке ставилась цель легкости освоения, сопровождения и соответствия задачам автоматизации. Язык Reflex выполнен как диалект Си, что обеспечивает его легкое освоение. В проекте Reflex язык Си расширен понятием процесса – циклически исполняемой, параллельной сущности. Программа описывается как совокупность взаимодействующих процессов. Процессы можно запускать, останавливать, проверять их текущее состояние. Поэтому язык Reflex иногда называют “Си с процессами”. Предусмотрена гибкая структуризация алгоритма управления. Событийность алгоритма обеспечивается через механизм состояний процесса. Язык позволяет абстрагироваться от УСО и описывать алгоритм в терминах технологического процесса. Синтаксис Си расширен средствами синхронизации. При программировании на языке Reflex пользователь освобожден от рутинных действий и может полностью сконцентрировать свое внимание на сути создаваемого алгоритма. Математическая модель программы терминологически ориентирована на современные тенденции в образовании, что позволяет снять психологические проблемы при освоении методики.

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

Отладка программ ведется в текстовом режиме. Предоставлены базовые функции трассировки потока управления, которые открыты для развития пользователем. Язык (используется с 1990 г.) прошел серьезную проверку в серии проектов. В частности, в задаче автоматизации выращивания монокристаллического кремния, предполагающей работу с типичными для промышленной автоматизации устройствами (сетевые интеллектуальные датчики, 4-координатную систему перемещений, приводы, дублированную газовакуумную станцию, систему охлаждения, термосистему, контроль и упреждение аварийных ситуаций, набор аналоговых и дискретных входов). Аппаратная платформа – MicroPC (Fastwel), укомплектованная серийно выпускаемыми компонентами фирм Fastwel, Octagon Systems, Grayhill. В настоящее время рассматривается вопрос о передаче языка Reflex в свободный доступ.

 

Раздел: ПЛК. Ликбез Метки: ,

Оставить комментарий

Отправить сообщение

CoDeSys GSM/GPRS модем Lectus OPC MasterSCADA Modbus MX110 Omron OPC-сервер owen owen logic PLC Configuration PROFIBUS s-200 SCADA scada системы siemens siemens plc SIMATIC Simplight SMS step7 TRACE MODE Динамизация ИП-320 МЭК 1131–3 ОВЕН ОВЕН ПЛК ОВЕН ПЧВ ПЛК ПЛК ОВЕН ПР 110 Панель оператора Программируемое реле Частотный преобразователь библиотека в CoDeSys визуализация диспетчеризация конфигурация панели программирование ПЛК серия NS сименс плк частотник частотное управление язык CFC язык ST
.