ПОРТИРОВАНИЕ КОНТРОЛЛЕРОВ НА MasterSCADA 4D


Скачать

М.А. Момотова (ООО "ИнСАТ")


Один из основных двигателей прогресса – желание человека минимизировать свои финансовые и временные затраты. Среди инженеров АСУ ТП большой популярностью пользуются вертикально интегрированные комплексы, которые позволяют разработать один проект как для SCADA-уровня, так и для контроллера. Благодаря такому подходу удается свести к минимуму время на создание проекта и, что немаловажно, на пусконаладочные работы, так как сокращается количество вопросов, возникающих при взаимодействии ПО различных производителей. Еще в 2004 году разработчики программного комплекса MasterSCADA выпустили модуль для программирования контроллеров MasterPLC, который сразу же нашел применение на ответственных производствах, например, в проекте автоматизации котлоагрегата. Несмотря на то что этот модуль пользуется популярностью, он все же имеет некоторые ограничения. 


В 2016 году компания «ИнСАТ» выпустила новую ветку программного продукта – MasterSCADA 4D. Как и предыдущее поколение MasterSCADA, это – универсальное программное обеспечение, которое может использоваться как на крупных объектах АСУ ТП, так и в небольших проектах. Однако это кроссплатформенное приложение, одинаково исполняющееся на различных процессорах и операционных системах. Благодаря этому можно сначала разработать общую структуру проекта и лишь потом распределить, какие его части на каких уровнях (в контроллере, на АРМ или в «облаке») будут исполняться. Изначально оно создавалось как инструмент для программирования контроллеров, а затем к нему добавились возможности HMI и другие свойства, характерные для программного обеспечения верхнего уровня автоматизации. В данной статье мы уделим внимание особенностям подготовки контроллеров и программного обеспечения для дальнейшей совместной работы. В новом продукте четко разделена среда разработки MasterSCA MasterSCADA 4D и среда исполнения MS4D RT (рис. 1).

 


Рис. 1. Структура MasterSCADA 4D

При старте контроллера вместе с операционной системой запускается MS4D RT. Конфигурации проектов, сделанные в среде разработки, будут загружаться в контроллер одним кликом мыши инженера-разработчика. Логическая основа проекта создается в среде разработки с использованием любого из пяти языков стандарта МЭК 61131-3. Например, одна часть программы может быть выполнена в редакторе FDB, а другая – в ST или SFC. Для каждого редактора уже существуют обширные библиотеки, а в процессе работы пользователь при желании сможет сформировать и свои собственные. При компиляции каждый из языков автоматически преобразуется в код ST. Затем ST транслируется в язык Lua, интерпретатор которого интегрирован с исполнительной системой (с поддержкой JIT-компиляции на ряде платформ). Графический интерфейс создается с использованием стандартов HTML5. Благодаря этому теперь можно воспользоваться всем потенциалом векторной графики, богатыми возможностями динамизации свойств элементов, а мнемосхемы автоматически масштабируются в зависимости от различных устройств отображения (мобильных устройств, операторских панелей, ноутбуков, стационарных компьютеров с многомониторной поддержкой). 


Чтобы продукт был универсальным, нужно обеспечить его работу не только на мощных контроллерах и компьютерах, обладающих высокочастотными процессорами и ощутимыми объемами оперативной памяти, но и на совсем маленьких устройствах со скромными техническими данными. Исполнительная среда является модульным приложением. Условно можно выделить следующие ее части:

  • сервер сбора и обработки данных;

  • OPC UA клиент/сервер;

  • сервер архивов;

  • веб-сервер;

  • клиент визуализации.

В зависимости от состава загружаемых модулей потребуются различные минимальные характеристики используемых устройств (табл. 1).

     

Таблица 1. Системные требования модулей MasterSCADA 4D

Если для решения технологической задачи достаточно контроллера, который выполняет сбор и обработку данных, то для корректной работы этого модуля потребуется всего лишь 8 Мб Flash и 4 Мб оперативной памяти. Если в задачи контроллера также входит опрос внешних приложений или устройств по OPC UA, ведение архивов часто изменяющихся переменных, к тому же он еще является веб-сервером для удаленных клиентов, то потребуется минимум по 64 Мб. Операторским панелям или контроллерам, к которым напрямую могут подключаться средства визуализации, например монитор через VGA-порт, нужно будет обладать RAM и Flash в 256 Мб. Для бесперебойной работы всех модулей исполнительной системы, кроме клиента визуализации, потребуется частота процессора 200 МГц. Если контроллер одновременно выполняет и роль операторской станции, то уже желательно работать с процессором помощнее – в 800 МГц. Отметим, что на один и тот же контроллер может быть загружен различный набор модулей в зависимости от задач проекта. Сегодня в MasterSCADA 4D поддержаны самые популярные операционные системы: Linux (в том числе и AstraLinux как в военном, так и в гражданском исполнении), Android, Windows XP и все ее следующие поколения, Windows CE, QNX. В дальнейшем список ОС будет рас- ширяться в зависимости от задач пользователей. Итак, предположим, что необходимо портировать MasterSCADA 4D на устройство, удовлетворяющее вышеперечисленным характеристикам. Какой алгоритм действий необходимо выполнить? Какие ресурсы потребуются? Самый простой и быстрый способ гарантированного портирования MasterSCADA 4D – это заказать его выполнение разработчику, компании «ИнСАТ». 


Однако и в новой СКАДА по традиции предоставлены все возможности для самостоятель- ной поддержки любых устройств непосредственно производителями. Комплект портирования (API), используемый для поддержки контроллеров, – это открытая бесплатная информация, в состав которой входит весь набор необходимых файлов и полный комплект документации с описанием интерфейсов исполнительной системы и объектной модели MasterSCADA 4D. Те партнеры компании «ИнСАТ», которые портируют MasterSCADA 4D самостоятельно, всегда могут обратиться за помощью в службу технической поддержки. На вопросы пользователей оперативно и компетентно отвечают ведущие специалисты компании. Разумеется, для того, чтобы начать программировать устройство, нужно выполнить его поддержку как в исполнительной системе, так и в среде разработки. Прежде всего в MS4D RT (рис. 2)




Рис. 2. Алгоритм портирования


 необходимо реализовать системные функции контроллера (например, Watch Dog), учесть особенности резервирования устройства, определить место хранения архивов и пр. После чего логично приступить к поддержке встроенных модулей ввода/вывода. Следующий этап – создание драйверов для работы с внешними модулями ввода/вывода, подключаемыми через стандартные порты, например, RS-485, Ethernet, USB. Если устройство работает с модулями ввода/ вывода через протокол Modbus или любой другой, уже поддерживаемый средой, то в этом случае последние два пункта выполнять не нужно. Если работы по созданию исполнительной системы контроллера должны выполняться программистом С++ достаточно высокой квалификации, то с созданием библиотеки для среды разработки справится инженер. Для этого необходимо создать экземпляры стандартных библиотечных элементов (контроллеров, модулей, протоколов) и, на- строив их нужным образом, сохранить в свою библиотеку. Навыков программирования при этом не потребуется. Все делается в среде разработки MastеrSCADA 4D. 


Сколько времени займет поддержка нового устройства в MasterSCADA 4D? В зависимости от сложности поддерживаемого устройства для прохождения всего цикла портирования – от знакомства с устройством до финального тестирования совместной работы – специалистам компании «ИнСАТ», как правило, требуется от двух недель до двух- трех месяцев. Сегодня MastеrSCADA 4D активно развивается, поэтому у партнеров разработчика есть уникальный шанс повлиять на ее функциональность и внешний вид. Компания «ИнСАТ» открыта к сотрудничеству и диалогу. Ознакомиться с новыми возможностями, особенностями работы, демонстрационными проектами и скачать бесплатную демоверсию можно на сайте masterscada4d.insat.ru.