начальник отдела информационных технологий ООО "РНГ-Инжиниринг", РФ, г. Уфа
ЦЕЛЕСООБРАЗНОСТЬ ПРИМЕНЕНИЯ ГЕНЕРАТОРА ДЛЯ МИНИМИЗАЦИИ ВРЕМЕНИ РАЗРАБОТКИ ПО
АННОТАЦИЯ
В данной статье представлено углубленное исследование совершенствования разработки программного обеспечения для автоматизированных систем управления технологических процессов (АСУ ТП), в частности для программируемых логических контроллеров (ПЛК) и человеко-машинных интерфейсов (HMI) в промышленных процессах. Удовлетворяя растущую потребность в продвинутой автоматизации, это исследование предлагает уникальный, ориентированный на эффективность подход для минимизации времени программирования и повышения эксплуатационной надежности. Методология объединяет всесторонний анализ существующих методов разработки АСУ ТП, проектирование генератора и практические испытания в промышленных условиях. Полученные результаты свидетельствуют о существенном повышении эффективности разработки программного обеспечения и снижении количества ошибок, что вносит значительный вклад в область промышленной автоматизации.
ABSTRACT
This article presents an in-depth study of improving software development for automated process control systems (ACS), in particular for programmable logic controllers (PLCs) and human-machine interfaces (HMI) in industrial processes. Meeting the growing need for advanced automation, this research offers a unique, efficiency-oriented approach to minimize programming time and improve operational reliability. The methodology combines a comprehensive analysis of existing automated process control system development methods, generator design and practical tests in industrial conditions. The results obtained indicate a significant increase in the efficiency of software development and a reduction in the number of errors, which makes a significant contribution to the field of industrial automation.
Ключевые слова: промышленная автоматизация, автоматизированные системы управления, программируемые логические контроллеры, человеко-машинный интерфейс, разработка программного обеспечения, оптимизация процессов, операционная эффективность, надежность, уменьшение ошибок, программирование на основе генераторов.
Keywords: industrial automation, automated control systems, programmable logic controllers, human-machine interface, software development, process optimization, operational efficiency, reliability, error reduction, generator-based programming.
Введение
Быстрое развитие промышленной автоматизации подчеркнуло незаменимую роль автоматизированных систем управления (АСУ) в управлении сложными производственными процессами. Эти системы являются неотъемлемой частью обеспечения операционной эффективности, надежности и безопасности в различных секторах, особенно в технологически интенсивных отраслях промышленности. Актуальность данного исследования заключается в удовлетворении растущей потребности в продвинутой автоматизации промышленных процессов с акцентом на разработку и оптимизацию программного обеспечения для систем автоматического управления технологическими процессами (АСУ ТП).
Данное исследование направлено на повышение эффективности разработки программного обеспечения АСУ ТП, а также сокращение времени и ресурсов, необходимых для разработки и развертывания этих систем. Основная цель заключается в разработке генератора, направленного на минимизацию времени программирования как программного обеспечения для программируемых логических контроллеров (ПЛК), так и решений с человеко-машинным интерфейсом (HMI) в рамках АСУ ТП.
Новизна этого исследования отражена в его подходе к разработке программного обеспечения для промышленной автоматизации. В отличие от традиционных методов, которые часто включают повторяющиеся и отнимающие много времени задачи, в этом исследовании предлагается уникальный подход, основанный на генераторе. Ожидается, что создание программного обеспечения для АСУ ТП, внедрив более упорядоченную, эффективную методологию, снижающую количество ошибок благоприятно скажется на результате работы.
Чтобы проверить эту гипотезу и достичь целей исследования, в статье используется комплексная методология, охватывающая как теоретические, так и практические элементы. Это включает в себя подробный анализ текущей практики разработки программного обеспечения АСУ ТП, проектирование и создание предлагаемого генератора, а также серию тестов для оценки его эффективности в реальных промышленных сценариях. Сочетая углубленную теоретическую базу с практическими экспериментами, это исследование призвано внести значительный вклад в область промышленной автоматизации и систем управления.
1. Методы (методология)
1.1 Анализ предметной области. Постановка задачи
Любая промышленность направлена на получение прибыли. С точки зрения добычи и перекачки нефти или нефтепродуктов, прибыль увеличивается благодаря строительству объектов на месторождениях сырья или благодаря увеличению объемов добычи или перекачки сырья. Таким образом жизненный цикл проекта (рис. 1) объектов автоматизации начинается с решения крупных предприятий об увеличении объемов производства. Далее работы могут проводиться силами самой компании, либо частично или полностью отдаваться интеграторам в виде тендеров.
Рисунок 1. Жизненный цикл проекта
Анализ объемов производства производят технологи, как специалисты применяющие научные знания, инженерные методы и технические процессы для разработки, улучшения, оптимизации и внедрения технологических процессов в различных отраслях производства. Задачей технологов является расчёт необходимого количества оборудования для требуемых процессов. Например, если производство работает с относительно «чистым сырьем», то необходимо заложить резервуарные парки, насосы, системы контроля и пожаротушения. Если производство работает с «тяжелым сырьем» требующей очистки, то дополнительно необходимо заложить специализированное оборудование как сепараторы, отстойники, печи и т.д. В итоге разрабатывается функциональная схема автоматизации (ФСА) объекта добычи и перекачки нефти или нефтепродуктов.
На основе данных технологов, специалисты отдела автоматизации или метрологии контрольно-измерительных приборов и автоматики (КИПиА) подсчитывают необходимое количество сигналов датчиков (например: значения давления, значения расхода, состояния оборудования). По датчикам учитывается количество проводов, клеммных полей и количество необходимых данных для передачи. В результате количество сигналов может достигать более 5 тысяч.
Специалисты отдела информационных технологий (ИТ), такие как программисты и инженеры сетевого оборудования, на основе функциональной схемы автоматизации и таблицы перечня сигналов начинают реализацию АСУ ТП в виде программного обеспечения для контроллеров и автоматизированных рабочих мест (АРМ) операторов объекта добычи и перекачки нефти или нефтепродуктов.
По итогу работ отдела ИТ на объекте устанавливается и монтируется настроенное оборудование программируемый логический контроллер (ПЛК), настроенное сетевое оборудование и настроенные АРМ операторов. Заказчиками проверяется аппаратная и программная реализация и подписывается акт сдачи объекта.
Следующим этапом жизненного цикла реализованных объектов является гарантийное обслуживание и сопровождение.
Очевидно, что на любом из этапов жизненного цикла разработки объекта могут появляться изменения. Технологи могут внести изменения в ФСА увеличив или уменьшив по обоснованным причинам количество оборудования. Или в процессе закупа оборудования, могут приобрести аналогичное оборудование, но с различным числом входов/выходов. В связи с чем специалисты отдела КИПиА внесут изменения в таблицу перечня сигналов, что в свою очередь программистам необходимо будет учесть в разрабатываемом ПО.
Стоит отметить, что при выигрыше компанией интегратора тендера и успешного завершения проекта, вероятность снова выиграть тендер у данной компании значительно увеличивается.
1.2 Описание и структура АСУ ТП
АСУ ТП – это комплекс аппаратных и программных средств, необходимых для автоматического управления работой оборудования или процессами производства в промышленности. Она используется для контроля и управления параметрами производства.
Основное назначение АСУ ТП – это обеспечение автоматического контроля и управления технологическими процессами, что позволяет увеличить отдачу от производства, экономить ресурсы, увеличить безопасность и надежность работы.
Основные функции АСУ ТП:
- Контроль параметров производства: АСУ ТП контролирует различные параметры производства. Это позволяет точно контролировать процесс производства и избегать ошибок.
- Управление технологическим процессом: автоматика управляет технологическим процессом, регулируя потоки ресурсов.
- Сбор и анализ данных: система собирает данные о параметрах работы оборудования и анализирует их. Это позволяет выявлять проблемы в производственном процессе и улучшать его эффективность.
- Диспетчеризация производства: АСУ ТП позволяет контролировать работу нескольких устройств и механизмов одновременно. Это упрощает контроль, уменьшает время простоя оборудования и повышает его эффективность.
- Обеспечение безопасности: АСУ ТП обеспечивает безопасность производственного процесса или работы оборудования, контролируя различные параметры и предупреждая о возможных аварийных ситуациях.
АСУ ТП структурно, можно поделить на три уровня (рис. 2). Нижний – приборы измерения и контроля. Средний – программируемый логический контроллер для обработки сигналов нижнего уровня и управление по алгоритмам. Верхний – автоматизированное рабочее место оператора, сетевое оборудование, серверы управления данными.
Рисунок 2. Уровни АСУ ТП
1.3 Программная часть АСУ ТП
Предметной областью является программная часть АСУ ТП. Состоит она из программного обеспечения для ПЛК и программного обеспечения для автоматизированного рабочего места (АРМ).
1.3.1 Программная часть для ПЛК
Программное обеспечение для ПЛК создается с помощью среды разработки. Иногда среда разработки является программой компании производства контроллеров. Иногда встречаются универсальные среды разработок, с возможностью применения на контроллерах разных производителей.
Для эффективного взаимодействия с ПЛК используют спецификация OPC UA (рис. 3). Данная спецификация является открытым протоколом связи для промышленной автоматизации. Это клиент-серверная технология, которая поставляется с платформой безопасности и коммуникации. Применяется спецификация OPC UA для подключения к ПЛК и последующим доступом к логическим объектам АСУ ТП, описанных в программе.
Рисунок 3. Протокол OPC UA
1.3.2 Программная часть для АРМ
Программное обеспечение для АРМ создается различными SCADA системами. SCADA – вариант человеко-машинного интерфейса, рабочее место оператора (зачастую 24/7) если перевести дословно – диспетчеризация, управление и обработка данных.
SCADA является программным пакетом, предназначенным для разработки и обеспечения работы в реальном времени систем сбора, обработки, отображения и архивирования информации об объекте мониторинга или управления.
Основная идея любой SCADA системы состоит в следующих принципах работы:
- Оперативный сбор ключевых параметров технологического процесса.
- Удобное отображение информации на экране для оператора.
- Оповещение разными способами о нештатной ситуации.
- Учет всех событий посредством трендов и журналирования, в том числе об изменений в настройках.
- Гибкое управление и контроль технологического процесса.
1.4 Исходные данные для разработки ПО
Исходными данными для разработки программного обеспечения АСУ ТП являются:
- функциональная схема автоматизации;
- таблица сигналов, как правило представлены в формате табличного процессора Excel.
Основная задача программиста АСУ ТП - реализовать логику технолога и визуализировать технологический процесс, представленный на ФСА. Таким образом, разработчик программной части АСУ ТП на основании исходных проектных данных, решает следующие задачи:
- Оптимизация написания кода для ПЛК, для управления процессом и защиты технологического оборудования.
- Создание мнемосхем для АРМ оператора на основании ФСА для удобства управления, наблюдения и журналирования процесса работы в системе.
- Создание сообщений на предупредительные и аварийные события, а также на изменение состояния оборудования.
Множество процессов разработки программного обеспечения АСУ ТП являются типовыми, либо содержат в себе типовую часть – блоки. Программирование с использованием блоков позволяет значительно сократить время, на разработку и фактически повысить производительность.
1.5 Постановка цели и задач
В современных реалиях реализации проектов АСУ ТП недопустимо переписывать однообразные тексты вручную, как зачастую происходит сейчас. Ручной ввод занимает много времени и имеет большую вероятность появления ошибок. Данный факт также значительно уменьшает эффективность разработки программного обеспечения. Поэтому появилась необходимость оптимизировать процессы написания кода, процессы создания мнемосхем и перечня сообщений путём внедрения генератора.
Таким образом сформулирована следующая цель: повышение эффективности процесса разработки ПО АСУ ТП за счёт применения генератора для минимизации времени разработки ПО.
2. Реализация поставленной задачи (методология и результаты)
2.1 Оптимизация написания кода для ПЛК
В процессе написания кода для ПЛК, типовыми процессами являются алгоритмы обработки сигналов и управления исполнительными механизмами. Алгоритмы могут быть представлены в проекте в виде функций с открытым исходным кодом или в виде библиотек, которые необходимо импортировать в проект.
Большое количество времени затрачивается на корректировку выданной специалистами КИПиА таблицы сигналов, как правило представленной в формате табличного процессора Excel. Так как в исходном формате загрузить их в контроллер нельзя.
Для корректировки таблицы в требуемый формат необходимо выполнить следующие действия:
- выбрать необходимые столбцы с данными и “удалить” лишние;
- проверить текст на лишние пробелы, при наличии удалить;
- проверить текст на отсутствие латинских символов, при наличии заменить на кириллицу;
- сократить текст для сообщений;
- на основе имеющегося значения сигнала, тиражировать его на нижние и верхние диапазоны.
Верхние и нижние пределы значений сигналов, являются описаны в регламентирующих документах. Так, например, для аналогового значения давления в резервуаре есть помимо самого значения сигнала, должны быть сформированы следующие значения сигналов:
- аварийный нижний предел;
- предупреждающий нижний предел;
- предупреждающий верхний предел;
- аварийный верхний предел.
Для автоматизированной обработки всех сигналов необходимо определить количество итераций в зависимости от типа сигнала. Далее в цикле вызываются функции, заданное количество раз. Тем самым, данную часть задачи очень легко тиражировать.
В этой задаче основное время может расходоваться на нестандартные алгоритмы, которые со временем, после описания и тестирования, переходят в категорию стандартных.
Генератор разработан для работы табличной формой процессора Excel. Данная система табличной формы удобна по многим причинам:
- распространенность, так как исходными данными является результат работы смежных отделов, участвующих в разработке;
- при использовании специфичных форматов таблиц, появились бы проблемы с конвертированием файлов;
- наличием языка программирования VBA и большого количества встроенных функций самого Excel, который позволяет проверять (устранять дубликаты, лишние символы) и форматировать текст, генерировать код;
- масштабируемость количества данных.
Перед началом работы или если исходная таблица, выданная специалистами отдела КИПиА, была доработана, необходимо передать актуальные данные в Генератор. Для этого служит скрипт vbs. Он написан в текстовом формате и применяем в любой операционной системе. Если объект автоматизации сложный и состоит из нескольких шкафов ЛСУ – этот скрипт, так же обработает файлы и сведёт все в Генератор.
Результатом выполнения скрипта vbs является новая табличная форма процессора Excel, в которой сформирован требуемый перечень сигналов и настроены макросы для формирования файлов. Данные файлы являются проверенными и применимыми в написании кода для ПЛК. Оптимальностью является пронумерованность объем данных. Примеры данных:
- Наименование параметра/объекта, единицы измерения, обозначение прибора на ФСА. Пример строки:
gAI[1].Desc:=utf2cp('Давл. С-1 [Ai1]'); gAI[1].Tag:=utf2cp('PT021, МПа'); gAI[1].Unit:=utf2cp('МПа'); |
где:
- gAI[1] – генерируемый аналоговый выходной сигнал с индексом «1»;
- Desc – наименование сигнала;
- Tag – наименование метки;
- Unit – единица измерения;
- utf2cp – функция кодировки текста.
- Диапазоны измерений аналоговых параметров. Пример строки:
gAI[66].SL:=-45; gAI[66].SH:=70; |
где:
- gAI[66] – генерируемый аналоговый выходной сигнал с индексом «66»;
- SL – нижняя граница диапазона;
- SH – верхняя граница диапазона.
- Уставки аналоговых параметров. Пример строки:
gAI[1].inLL:=0; gAI[1].inL:=10; gAI[1].inH:=80; gAI[1].inHH:=95 |
где:
- gAI[1] – генерируемый аналоговый выходной сигнал с индексом «1».
- InLL – аварийный нижний предел;
- inL – предупреждающий нижний предел;
- inLH – предупреждающий верхний предел;
- inHH – аварийный верхний предел.
2.2 Создание мнемосхем и перечня сообщений для АРМ оператора
Системы для работы операторов объектов может быть реализован в двух вариантах: HMI – панель оператора и АРМ оператора.
Панель ограничена техническими характеристиками и возможностями оборудования, в связи с чем имеет специфику при разработке ПО, а именно отсутствие возможности тиражирования графиков. Таким образом для HMI – панели актуально генерирование сообщений, скрипта для трендов.
Автоматизированным местом оператора фактически является компьютер с системным блоком и мониторами. В случае разработки ПО на АРМ необходимо реализовать следующие задачи:
- создать мнемосхемы на экранных формах;
- реализовать вывод данных об измерении параметров процесса и изменении состояния оборудования (например, появление предельных значений);
- реализовать вывод сообщений о действиях оператора;
- создать графики изменений значений сигналов - тренды.
Мнемосхемы, особенно обзорные, практически всегда являются уникальными и не повторяются, особенно в нефтехимической отрасли. Но тем не менее, в них можно разглядеть типовую часть.
Векторная графика позволяет тиражировать технологические объекты с присущими ей индивидуальными параметрами. К сожалению, большинство сред разработки не поддерживают экспорт/импорт векторной графики, которая содержит текстовое описание. Поэтому, для экономии времени, за основу берётся ранее использованный проект, в котором перерисовывается мнемосхема.
Генератором в данном случае является создание типового блока, например агрегата или задвижки, и подтягивание в его параметры сформированные данные с уникальными индексами, которые в свою очередь будут использовать все сформированные тиражированные сигналы.
Все необходимые данные содержатся в новой табличной форме процессора Excel, сформированные в результате выполнения разработанного скрипта vbs, а также файлы, сформированные при помощи макросов для формирования файлов.
Обсуждение
Результаты работы генератора выявили его способность создавать разнообразные файлы, необходимые для разработки и оптимизации программного обеспечения в сфере автоматизированных систем управления. Это включает в себя:
- Алгоритмов с привязками для проектов на языках ST;
- Конфигурации для трендов и сообщений ПЛК B&R
- Предупредительных и аварийных сообщений, а также о действиях оператора для панелей Weintek;
- Предупредительных и аварийных сообщений, а также о действиях оператора для SimpleSCADA;
- Алгоритмов с привязками для проектов студии разработки Alpha.Platform;
- Алгоритмов с привязками для проектов на языках FBD для DCS APROL;
- Мнемосхемы для DCS APROL.
Важность этого исследования заключается в том, что оно открывает новые возможности для упрощения и ускорения процесса разработки ПО в промышленной автоматизации. Генератор позволяет инженерам сосредоточиться на более сложных аспектах проектов, минимизируя рутинную и трудоемкую работу.
Будущие усовершенствования генератора планируется направить на достижение более тесной интеграции с актуальными системами ПЛК и SCADA. Это укрепит связь между различными элементами автоматизированных систем управления и повысит общую гибкость и эффективность разработки. Такие улучшения могут включать в себя более продвинутые функции автоматической генерации кода, адаптацию к новым протоколам связи и стандартам безопасности, а также более глубокую интеграцию с облачными платформами и системами искусственного интеллекта.
Эти усилия будут способствовать дальнейшему развитию области промышленной автоматизации, открывая новые горизонты для исследований и практических применений в различных отраслях промышленности.
Заключение
В этом исследовании всесторонне рассмотрены проблемы и возможности разработки и оптимизации программного обеспечения для автоматизированных систем управления технологическими процессами (АСУ ТП), особое внимание уделено программному обеспечению программируемых логических контроллеров (ПЛК) и решениям для человеко-машинного интерфейса (HMI). Внедрение специализированного генератора предоставляет значительный прогресс в этой области, продемонстрировав его эффективность в сокращении времени и ресурсов, необходимых для разработки программного обеспечения.
Новизна нашего подхода заключается в способности генератора оптимизировать процесс программирования, тем самым сводя к минимуму повторяющиеся и требующие больших затрат времени задачи, характерные для традиционных методов. Это нововведение продемонстрировало потенциал в повышении операционной эффективности, надежности и безопасности в различных секторах, особенно в высокотехнологичных отраслях промышленности.
Наша комплексная методология, сочетающая в себе как теоретические, так и практические элементы, позволила тщательно изучить текущую практику разработки программного обеспечения ACS. Разработанный генератор и последующее тестирование в реальных промышленных условиях дали многообещающие результаты, свидетельствующие о существенном снижении частоты ошибок и повышении общей эффективности процесса.
Исследование подчеркивает важность постоянных достижений в области промышленной автоматизации, особенно в контексте разработки программного обеспечения для АСУ ТП. Положительные результаты этого исследования прокладывают путь для дальнейших инноваций, предполагая потенциал для более интегрированных и эффективных методологий разработки программного обеспечения АСУ, которые могут удовлетворить растущие потребности отрасли.
Список литературы:
- Андреев Е. Б., Куцевич Н. А., Синенко О. В. SCADA-системы: взгляд изнутри. – 2004.
- Барашко О. Г. Автоматика, автоматизация и автоматизированные системы управления. – 2011.
- Мезенцев А. А., Павлов В. М., Байструков К. И. Техническое и программное обеспечение лабораторного комплекса «Организация пультов управления современных АСУ ТП»: учебное пособие. – 2011.
- Пьявченко Т. А. Проектирование АСУ ТП в SCADA-системе //Таганрог: ТТИ ЮФУ. – 2007. – Т. 276.
- Знакомство с примерами серверов OPC UA. [Электронный ресурс] - Режим доступа: https://learn.microsoft.com/ru-ru/ (дата обращения 11.11.2023 г.)