Журнал «ИСУП». (Информатизация и системы управления в промышленности)
ИТ, КИПиА, метрология, АСУ ТП, энергетика, АСКУЭ, промышленный интернет, контроллеры, экология, электротехника, автоматизации в промышленности, испытательные системы, промышленная безопасность

MasterPLC Designer – возьмите контроллер в руки

Новая система для программирования контроллеров в полном соответст­вии со стандартом МЭК 61131-3 от компании «ИнСАТ», широко известной своим флагманским продуктом MasterSCADA. В статье описываются предпосылки создания, отличительные особенности и модель распространения MasterPLC Designer.


ЗАО «НПФ ИнСАТ», г. Москва

insat_web.jpg



История, и не только
Стандарт МЭК 61131-3 на технологические языки для программирования контроллеров прочно вписался в «джентльменский» набор знаний специалистов, занимающихся автоматизацией технологических процессов. И это совсем не случайно. Практически все современные контроллеры ведущих мировых производителей, особенно европейских, в той или иной степени поддерживают данный стандарт в более или менее полном объеме. Все три оговорки в предыдущей фразе – неслучайны. 

Подчеркивая, что стандарт поддерживают не все производители без исключения и необязательно в полном объеме, автор подразумевал, что если системой программирования контроллера не поддер­живаются все 5 языков (IL, LD, FBD, ST, SFC – впрочем, ассемблероподобный язык IL в наступившие времена снятия ограничений на аппаратные ресурсы потерял свою актуальность), то поддерживаются хоть какие-нибудь языки стандарта (обычно язык функцио­нальных блоков FBD или релейно-контактных схем LD, сложный в реализации текстовый язык ST и «мета­язык» шаговых последовательностей SFC в «бюджетных» решениях не встречаются). Стадия изобретения собственных языков производителями контроллеров, кажется, закончилась. Хороши языки стандарта или нет, но требования к унификации навыков персонала в эпоху глобализации – аргумент серьезный.
Вторая оговорка, касающаяся не объема, а степени поддержки языка, относится к наблюдаемой у подавляющего большинства авторов систем программирования вольной трактовке понятий стандарта. Отчасти это связано с его недостаточной детализированностью, с другой стороны, полная и точная реализация стандарта весьма трудоемка и затратна, поэтому многие ограничиваются наиболее востребованным в стандарте функ­ционалом. Увы, результатом этого является размывание понятия «стандарт». Наиболее очевидные следствия – библиотеки алгоритмов не могут быть перенесены с одной системы в другую без переработки, специалисты, знакомые с одной системой, при работе с другой вынуждены тратить время на изучение особенностей и различий, да и к самому стандарту нередко предъявляют справедливые претензии. Но любой стандарт, даже устаревший, – лучше его отсутствия. По крайней мере, специалисты могут «говорить на одном языке». Да, с момента создания стандарта в конце 1980-х годов произошла смена поколений универсальных языков компьютерного программирования, а в сфере технологического программирования время застыло на месте, и еще не существует объектной парадигмы, компиляции «на ходу», автоматизации работы с памятью и т.д. Отчасти в этом есть резон – в области управления опасными технологическими процессами консерватизм способствует повышению надежности разработок и детерминированности поведения программ. Но с другой стороны, повышение наглядности программ и сокращение усилий на их разработку тоже работают на безопасность результата.

pic1.jpg

Рис. Интегрированная среда MasterPLC Designer


В мире не так много систем программирования, реализующих стандарт 61131-3, что неудивительно, если иметь в виду и трудоемкость разработки такой системы, и необходимый для этого уровень квалификации разработчиков. Самые крупные контроллеростроительные фирмы выполнили такую разработку самостоятельно (например, система Step7 от Siemens), большинство остальных портировали на свое оборудование систему от одного из трех независимых ведущих мировых производителей – Isagraf (ICS TriplexISaGRAF), Codesys (3S-Smart SoftwareSolutions), Multiprog (KWSoftware). К этим же производителям вынуждены обращаться компании, использующие для автоматизации оборудования и процессов так называемые открытые платформы – конструкторы из процессорных плат (чаще всего PC-совместимых) и модулей ввода/вывода. Производителей таких платформ в мире довольно много, в России широко известны Advantech, Octagon и ряд других. 

В 2011 году в элитный клуб производителей 61131-3 систем вступила и российская компания «ИнСАТ» (InSAT Company). Это произошло неслучайно. ИнСАТ разрабатывал системы программирования контроллеров с момента своего основания в 1988 году, поскольку и основан был разработчиками ведущего советского контроллера 1980-х годов, Ломиконта. С тех пор были созданы компилирующая система программирования PC-совместимых контроллеров MicPlus (текстовый технологический язык), средства программирования контроллеров в рамках вертикально-интегрированной SCADA и SoftLogic системы MasterSCADA (FBD и ST) и, главное, интерпретирующий «движок» исполнения технологических языков с большими библиотеками алгоритмов и широкими коммуникационными возможностями (MasterPLC). Этот «движок» работает на различных программных (Linux, DOS, WindowsCE, Ecos и др.) и аппаратных (x86, ARM7, 9, 11 и т.п., StrongARM, XScale) платформах. Оставался один шаг до превращения накопленных знаний и опыта в отдельный продукт и дополнения его теми языками, которых в имевшихся средствах еще недоставало. Сегодня этот продукт под названием MasterPLC Designer появился. О нем и скажем пару слов.

pic2.jpg

Рис. Редактор схем функциональных блоков



Пользовательский интерфейс как средство повышения производительности труда

MasterPLC Designer разработан с использованием созданной ИнСАТом универсальной технологической платформы разработки программных продуктов (MasterSoft Studio), предназначенных для проектирования систем автоматизации. Созданные с ее помощью программы имеют унифицированный пользовательский интерфейс (дизайн при этом может различаться), в рамках которого имеется дерево проекта, таблица свойств выбранного элемента и редактор выбранного элемента (редактор может дополнительно содержать вспомогательную панель настройки – легенду). Эта интуитивно понятная и осваиваемая пользователями без обучения концепция успешно зарекомендовала себя в рамках MasterSCADA. В новом продукте она была дополнена весьма сущест­венными, хотя и не сразу заметными, расширениями: 
дерево проекта содержит в себе проект со всеми его деталями, включая, например, все элементы, свойства и связи графических схем (это позволяет работать с ними не только на схеме, но и в дереве, упрощает поиск и групповые операции); 
имеются мощные средства упрощения работы с деревом проекта:
отфильтрованное по любому набору признаков подмножество дерева (например, все аналоговые входы) может быть представлено в виде таблицы;
любая часть дерева может быть открыта в отдельном окне;
лишняя детализация может быть спрятана с помощью фильтров;
имеются предопределенные фильтры (расширяемый список) для наиболее частых операций;
с выбранным подмножеством элементов возможны групповые операции;
редакторы элементов (в частности, программ на технологических языках) могут добавляться в любой момент по мере их разработки (а у ИнСАТа есть планы по расширению списка стандартных языков дополнительными графическими языками) без изменения пользовательского интерфейса или уже созданных проектов;
удобная навигация по проекту – в любой программе можно открыть любой редактор любого вызываемого модуля, независимо от языка, на котором он создан.

pic3.jpg

Рис. Навигация по схемам в графических редакторах

Эффективность входящих в состав MasterPLC Designer редакторов графических языков FBD, SFC, LD можно оценить, только попробовав с ними поработать. Вот только некоторые из возможностей: бесконечное поле графической схемы с использованием окна навигации, автоматическая трассировка с возможностью закрепления ручного редактирования трасс, масштабирование без ограничений масштабных коэффициентов и т.п.

Редактор текстового языка ST освобождает программиста от всей рутинной части работы за счет автоматического создания заголовков, интеллектуальных подсказок ключевых слов и имен, мастера определения новых переменных.

Удобный пользовательский интерфейс с развитыми средствами групповой обработки элементов – существенный вклад в повышение производительности труда разработчиков.


Объектная парадигма как средство создания тиражируемых проектов

Применение объектного подхода в MasterSCADA выявило множество преимуществ для разработчиков проектов: 
резкое повышение эффективности труда за счет упрощения создания и тиражирования типовых объектов или элементов проекта;
возможность переноса решений из проекта в проект;
выполнимость полной разработки логики проекта заранее, до момента выбора оборудования;
допустимость модернизации системы без переделки проекта путем изменения состава оборудования;
возможность сопровождения проекта не только его авторами (за счет понятной организации проекта и связей его элементов, широкого использования отработанных типовых решений).

pic4.jpg

Рис. Текстовый редактор и диалог создания переменных

Несмотря на то, что стандарт МЭК 61131-3 ничего не говорит нам об объектном подходе, мы не сомневались в том, что он необходим и возможен без нарушения «чистоты» стандарта, в качестве его естественного расширения в рамках проекта. Никто не помешает разработчику обходиться без этих предложенных дополнительных возможностей. Были определены правила наследования, инкапсуляции (ограничения доступа к внутренним параметрам объектов) и введены типы объектов:
атрибут;
канал (содержит атрибуты, принадлежит оборудованию);
тег (содержит атрибуты, принадлежит объекту);
объект (содержит объекты, теги и атрибуты).

Любой объект может иметь одну или несколько программ, реализующих логику его работы. Каналы, наряду с пользовательской программой, обрабатываются системной программой – драйвером, осуществляющим связь с оборудованием ввода/вывода физических сигналов. 


Исполнительная система MasterPLC – интеллект контроллера

Возможности MasterPLC слишком велики даже для простого перечисления в рамках этой статьи. Вот только некоторые из них, дополнительно к уже упомянутой многоплатформенности: имеется многозадачность, «горячий» рестарт, автоматическая загрузка программ, архивирование, резервирование, развитые коммуникационные возможности (ModbusRTU/TCPMaster/Slave, DCon, GSM, SMS, OPCDA/HDA, межконтроллерный обмен, удаленная загрузка «на ходу»), поддержка ряда массовых контроллеров, например Овен ПЛК. Часть этих возможностей пока работает только при программировании контроллеров в MasterSCADA, но конфигурирование основных из них уже включено в MasterPLC Designer, и в ближайшем будущем список возможностей обоих продуктов будет полностью унифицирован.


Концепция распространения MasterPLC Designer

Для того чтобы MasterPLC работал на каком-либо контроллере, драйверы его модулей ввода/вывода и других аппаратных ресурсов должны быть написаны или «состыкованы» с ядром исполнительной системы. Эти действия могут быть сделаны как производителями контроллера (все интерфейсы MasterPLC полностью открыты), так и ИнСАТом по просьбе или заказу пользователей. Подобная работа уже была проведена для ряда контроллеров, после чего MasterPLC начал распространяться в качестве их штатного встроенного ПО. Конечный пользователь при этом покупает комплектное изделие, а среда программирования MasterPLCDesigner поставляется в качестве бесплатного инструмента. В ряде случаев «производителем» контроллера может стать и «продвинутый» пользователь, cобравший его из промышленных модулей с определенной шиной и форм-фактором, обеспечивающими возможность их сборки в типовом общепромышленном корпусе. Такой пользователь должен будет приобрести исполнительную систему MasterPLC непосредственно у ИнСАТа в качестве розничного товара, что, конечно, существенно дороже ее приобретения в составе тиражируемых контроллеров. 

Вузы и некоторые организации могут бесплатно воспользоваться MasterPLC Designer для обучения или моделирования технологических процессов с запуском программ на так называемом программном Windows-контроллере, который не имеет средств физического ввода/вывода или коммуникационных возможностей для связи с внешним миром, однако позволяет исполнять и отлаживать программы. 

Компания «ИнСАТ» полностью открыта для сотрудничества по развитию MasterPLC Designer – портированию его на новые платформы, подключению новых библиотек алгоритмов, расширению состава доступных языков и созданию отдельных версий для специальных применений.

Статья опубликована в журнале «ИСУП», № 3(33)_2011


И.Е. Аблин, Генеральный директор,
ЗАО «НПФ ИнСАТ», г. Москва,
тел.: (495) 989-2249,