Базовое программное обеспечение производства компании «ПромАвтоматика»:
ПОЛИГОН — графическая среда для разработки ПО контроллера
ПРОФИ ВУ — графическая среда для разработки ПО верхнего уровня АСУ ТП
PAHDA — OPC сервер для соединения с контроллером
DataViewer — просмотр больших массивов текущих и исторических данных
Импортозамещение с помощью ПО ПОЛИГОН.
Базовое ПО для АСУ ТП ПОЛИГОН позволяет легко переходить с импортной элементной базы на отечественную и обратно. Процесс такого перехода не связан с какими-либо дополнительными затратами, так как функциональное программное обеспечение остается без изменения.
ПОЛИГОН поддерживает различные контроллеры с открытой архитектурой: ОВЕН, REGUL, Beckhoff, Fastwel, Octagon. Интегрируется с разными операционными системами QNX и LINUX.
ПОЛИГОН обладает богатыми функциональными возможностями. За 25 лет разработки и поддержки этого базового ПО наработана огромная библиотека функциональных блоков, закрывающая любые потребности системных интеграторов.
Кооперация с системными интеграторами позволила создать много дополнительных опций, расширяющих возможности стандарта IEC 61131: автоматическое выделение памяти под все выходы функциональных блоков, создание алиасов, автоматическое связывание и многое другое.
Функциональное программное обеспечение, реализующее функции управления объектом, не зависит от аппаратной базы (контроллеров) на которой оно функционирует. Это позволяет сохранить все алгоритмические наработки при переходе на новую аппаратную платформу, поэтому регулятор для гидротурбины одинаков для контроллеров Octagon, Fastwel, Beckhoff, REGUL.
На базе ПОЛИГОН выполнены системы управления сотнями различных технологических объектов, многие из которых тиражированы. Общее число объектов находящихся под управлением систем управления на основе ПОЛИГОН давно перевалило за тысячу.
Многие объекты управления относятся к элементам критической инфраструктуры. Системы управления для них выполнены с элементами дублирования и троирования. Базовое ПО ПОЛИГОН показывает свою высокую помехоустойчивость, надежность и отсутствие редко вызываемых ветвей, вызывающих сбои.
Разработка программного обеспечения.
Программное обеспечение (ПО) является главным элементом систем автоматического управления. Когда мы начинали свою деятельность в 1996 году, это еще не было очевидным для всех. Тогда еще нужно было доказывать, что релейные схемы не обеспечат необходимой гибкости в управлении, не позволят быстро изменить алгоритм, создать архив событий, обеспечить удаленный доступ к объекту управления. В общем-то, многие сервисы, доступные сегодня, многим казались ненужным излишеством. Другой подход, который, к сожалению, часто и сегодня используется – это создание блока с микроконтроллером под каждую задачу. И вот создается платка под 2 дискретных входа, один аналоговый вход и один дискретный выход. Пишется программа, отлаживается. Хорошо, если сразу все заработает. Понадобится еще дополнительный вход, опять разработка, разводка, изготовление… Не надо объяснять, что это не технологично, затратно.
Программное обеспечение позволяет гибко перестроить алгоритм, наращивать функций. Главное, чтобы в основе лежали базовые средства с широким набором функций, отлаженные, проверенные, отвечающие современным стандартам разработки ПО для промышленных систем. Зачем их разрабатывать самим? Если кому-то это не было понятно и после того как разрушились центрифуги в Иране, то последние события показали, что все это имеет смысл.
Мы начали заниматься разработкой базовых программных средств не после провозглашения курса на импортозамещение, а 25 лет назад. Мы прошли обучение, получили опыт совместной работы с зарубежными фирмами. Полученные знания мы использовали как материал для обобщения и анализа, что и как надо делать, и как делать не стоит.
Какие принципы лежат в основе нашей разработки базового ПО:
Базовое ПО должно основываться на общепризнанных стандартах. Таким стандартом стал IEC61131-3. При этом мы выбрали один из 5 подстандартов — FBD (англ. Function Block Diagram), как наиболее универсальный. Мы добавили в него явное задание типов данных. При этом прикладному программисту нет необходимости описывать какие-то переменные, система сама создает их, обеспечивая уникальность, сама следит за корректным преобразованием данных, которые связаны. Мы назвали свою систему ПОЛИГОН, поскольку видим ее как многогранную, полифункциональную систему. В ней мы разрабатываем свои блоки: логические, арифметические, интерфейсные, драйверы, регуляторы и т.д. Таких блоков уже более 1000. Для конкретной задачи прикладной программист выбирает их из библиотеки, связывает между собой, включает входы-выходы в процесс обмена с верхним уровнем, сохраняет уставки в хранилище на контроллере, исторические данные с точностью таймерного цикла хранятся в базах данных верхнего уровня. При необходимости прикладной программист может создать свой функциональный блок, может объединить функциональные блоки в процедуры, вызывать ее множество раз, или превратить процедуру в функциональный блок. Есть блоки с переменным числом входов-выходов, их можно добавлять и убавлять в любое время.
Базовое ПО должно
поддерживать различные технические средства. Мы адаптировали нашу систему ПОЛИГОН к различным
контроллерам, для нас было важно только, чтобы контроллер был хоть как-то
описан, то есть, были бы известны тип процессора, тип и адреса портов
контроллера прерываний, WatchDog и т.д. Появились контроллеры на
отечественной элементной базе, и мы перенесли нашу систему на него.
Сейчас наше ПО уверенно работает на PC-совместимых контроллерах компаний ОВЕН, Fastwel, Beckhoff, Octagon System, Advantech. Эти контроллеры надежны, с
хороши быстродействием, имеют процессоры без вентилятора, флэш-память для
хранения программ, что позволяет им работать по 12-15 лет. Для всех процессоров мы создаем обработчик для
WatchDog, как важнейший
элемент надежности.
Разработка фирмы Beckhoff, шина Ethercat, сделала возможным получение информации за 3-6
микросекунд. Это позволяет в 1000 раз увеличить скорость реакции системы. В
настоящее время нами разработаны драйверы для большинства модулей. Последние годы мы полностью перешли на поставки систем с шиной Ethercat. Наша передовая разработка –
системы виброконтроля – основана на быстродействующей шине.
Базовое ПО должно обеспечить работу прикладной программы в реальном времени. Задачи, которые мы решаем, регуляторы, имеют жесткие требования к времени выполнения. Это обеспечивается за счет экономного отношения к ресурсам. Изначально наши программы выполнялись практически под управление нашего диспетчера, затем перешли под управление QNX, в котором также сохранен диспетчер. QNX имеет очень гибкую архитектуру, множество полезных функций, из которых можно выбрать только необходимые.
Наше базовое ПО должно быть совместимо снизу вверх. То есть прикладная программа, созданная 10-20 лет назад, может быть оттранслирована в последней версии и работать без проблем. Да, мы храним все проекты и можем в любое время загрузить программу в контроллер, можем подкорректировать алгоритм. Со временем, когда технические средства контроллеров меняются, мы можем перенести программу на другой тип контроллера, заменив лишь драйверы.
Базовое ПО должно давать возможность обеспечивать связь с другими системами. Часто нам приходится налаживать обмен информацией с системами других производителей. Это может быть как целые системы, так и датчики. Контроллеры имеют большой выбор сетей; Ethernet, Profibus, DeviceNet, RS-232/485 и др. Для них нами разработаны драйверы для протоколов Modbus RTU, ModbusTCP, OPC UA, МЭК 104, МЭК 61850, S7 и других.
В случае необходимости мы предоставляем свой OPC-сервер для подключения нашего контроллера в верхний уровень другого поставщика.