КОПИЛКА ОПЫТА СИСТЕМНЫХ ИНТЕГРАТОРОВ


Скачать

Иван Хахалев


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


Универсальным системным интеграторам тоже хватает проблем – они вынуждены работать с разными технологиями в разных отраслях, поэтому избыточную трудоемкость своих проектов они часто компенсируют опорой на одну программно-аппаратную платформу. В результате выживают все, но многим бы хотелось не просто выживать, а жить-поживать, добро наживать.


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


Рассказывая о MasterSCADA (МА № 6/2006, с. 24), мы мельком упомянули о возможности «размножения» (тиражирования) многих элементов в рамках проекта или помещение их в библиотеку с целью использования в других проектах. Рассмотрим эту возможность более подробно.

 


Рисунок 1. Интегрированная среда MasterSCADA

Библиотеки MasterSCADA

Сначала перечислим, что может стать предметом нашего библиотечного коллекционирования. В проекте в целом это:


Ø Сам проект


Ø Объект (в понимании MasterSCADA — это законченная самодостаточная часть проекта, обычно отражающая какую-либо технологическую сущность, например, все относящееся к контролю и управлению одним технологическим агрегатом)


Ø Визуальный функциональный блок с набором настроек


Ø Вычислительная формула расчетной переменной или события


В графическом редакторе:


Ø Мнемосхема в целом (с динамическими связями)


Ø Единичный графический элемент с набором настроек


Ø Графический символ (группа элементов), в том числе динамизированный


Ø Графические свойства объемных объектов (включая материал)


Ø Анимированное растровое изображение (мультфильм)


Посмотрим, что дает нам тиражирование проекта и каждого из вышеперечисленных элементов.

Тиражирование проекта

Необходимость тиражирования проекта – это удача системного интегратора. Однако, крайне редко новая система становится буквальным повторением пройденного. Даже на изначально одинаковых технологических агрегатах, не говоря уже о целых предприятиях, в процессе их жизни накапливается множество мелких, но существенных отличий. Да и сам интегратор растет над собой, хочет в каждой следующей системе усовершенствовать что-то из сделанного ранее. Отсюда необходимость правки проекта.


Что в проекте MasterSCADA изменить легко, а что трудоемко? Как правило, практически ничего не стоит изменить архитектуру системы – число и роль отдельных устройств в ней. Цена такого изменения – выбор для отдельных частей проекта (объектов) новых узлов системы, на которых они будут обрабатываться. Невелика трудоемкость и выбора другой технической базы – замена одних контроллеров на другие приводит лишь к повторной привязке логических переменных проекта к физическим входам/выходам контроллера.


Дороже стоит изменение разрешающей способности используемых мониторов: поскольку в мнемосхемах используется в том числе и растровая графика, она не может быть идеально отмасштабирована, в связи с чем за смену мониторов придется заплатить ручной правкой: мелкой коррекцией месторасположения и размера отдельных элементов. Но в сегодняшних условиях монитор — не та вещь, на которой имеет смысл экономить.


 

Рисунок 2. Мастер восстановления внешних связей

Автоматизация создания проектов

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

Интерфейсы автоматизации MasterSCADA (доступ к ее объектной модели) не входят в перечень документации, поставляемой в комплекте с пакетом, но предоставляются бесплатно многим организациям на основе партнерского соглашения. Результатом такого соглашения может стать система автоматизированного сквозного проектирования, базирующаяся на типовых решениях данного проектировщика и позволяющая автоматически генерировать готовые проекты MasterSCADA, обычно требующие далее только создания мнемосхем и небольшой ручной «рихтовки».

Тиражирование объектов

Как мы уже ранее писали, объект – центральное понятие проекта MasterSCADA. Он включает:


  • структуру, состоящую из подчиненных объектов (обычно библиотечных), параметров (в том числе, расчетных) и групп параметров;

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

  • документы (мнемосхемы, окна, тренды, рапорты, архивы, журналы сообщений и т. п.);

  • свойства (прежде всего, наследуемые периоды обработки данных);

  • вычисляемые события, вызывающие действия и сообщения;

  • расписания, формирующие последовательность действий по абсолютному времени или с заданным периодом.


Входные параметры объектов, входы функциональных блоков, списки используемых в документах параметров объекта имеют связи по получению данных. Команды, расчеты, события, выходы функциональных блоков передают формируемые значения различным потребителям. Эти связи могут быть локальными – с переменными внутри самого объекта (при создании документов, прежде всего мнемосхем, это рекомендуемая методика работы), либо внешними – с сигналами технических устройств (например, контроллеров) или с параметрами других объектов.


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

Основных правила всего три:


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


2.    Имена параметров должны быть стандартизованы.


3.    Параметры, относящиеся к внешним связям одного объекта, желательно группировать вместе их расположения. К примеру, переменные конфигурации OPC-сервера надо в самом сервере или при вставке их в проект MasterSCADA разбить по группам, соответствующим одному типовому объекту, и назвать одинаково в каждой группе, так, чтобы различалось только имя самой группы.


При таком подходе вставка или тиражирование параметра предельно упрощаются. В момент вставки открывается окно мастера установления связи, в котором показывается список всех внешних связей объекта, некоторые из которых могут быть восстановлены автоматически, а для других надо указать нового «партнера». Если «Правило № 3» выполнялось, то достаточно указать «мастеру», чтобы он сменил имя группы-партнера, а привязку всех отдельных параметров в каждой группе он сделает сам автоматически.

В любом случае разработчик проекта может не беспокоиться о том, что в каком-то из документов осталась разорванная связь с внешним миром, даже, если «Правило №1» не соблюдалось. Все существующие внешние связи объекта, в том числе связи входящих в него документов, предоставляются «мастером» разработчику для согласова ния восстановления или правки.

Тиражирование функциональных блоков

Функциональные блоки (заранее запрограммированные библиотечные объекты) имеют множество настроек, в том числе влияющих на количество их входов/выходов, алгоритм работы, список формируемых сообщений и т. п. В проекте может использоваться множество экземпляров одного и того же блока, например, реализующего работу с насосом. Как правило, проектировщик для всех этих экземпляров хочет задать один и тот же набор настроек. Ему достаточно один раз вставить блок из библиотеки, настроить и сохранить в библиотеке еще раз под другим именем.

Вычислительная формула расчетной переменной или события

Очень часто в проектах используются не прямо измеренные, а вычисляемые параметры, рассчитанные с учетом температурной коррекции, коррекции по давлению, другим формулам косвенных измерений. Также широко используются вычисления, связанные с обработкой параметров на определенном временном отрезке – усреднения, интегрирование и т. п. Некоторые из этих видов вычислений уже реализованы библиотечными функциональными блоками MasterSCADA, другие могут быть написаны пользователем в виде формулы, а затем помещены в библиотеку. В формулах используются внутренние (локальные) переменные, поэтому для привязки библиотечной формулы достаточно установить внешние связи этих переменных.

 


Рисунок 3. Мастер создания формул

Тиражирование мнемосхем

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

Тиражирование графических элементов

Эргономика – это лицо и стиль проектировщика. Именно поэтому выбор способа отображения того или иного технологического оборудования на мнемосхеме производится один раз для всех мнемосхем проекта, а иногда и всех проектов данного разработчика. Чтобы не приходилось для каждого вставленного в мнемосхему графического элемента заново производить настройку его свойств (цвета заполнения, толщины линий, типа шрифта и т. п.), один раз настроенный элемент можно сохранить в любую из библиотек элементов.

Тиражирование символов

Символ, как объединение ряда отдельных элементов, не является их механической суммой. MasterSCADA позволяет выбрать и дать новое имя тем свойствам каждого из входящих в символ элементов, которые должны подлежать настройке или динамизации символа в целом, а остальные свойства оставить «за кадром».

В результате, символ может оказаться проще в настройке, чем исходный графический элемент. Этой возможностью иногда пользуются даже для работы с единственным графическим элементом с целью его упрощения для разработчика мнемосхемы, например, это способ «русификации» свойств импортированных в библиотеку элементов ActiveX-контроля сторонних разработчиков.


 

Рисунок 4. Мастер фильтрации свойств символов

Тиражирование объемных объектов

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

Чтобы не повторять эти настройки неоднократно, разработчику предоставляется возможность создания библиотек объемных «объектов» определенной формы и материала: емкостей, танков, цистерн из металла или других материалов любых оттенков. Поскольку разные объекты могут быть сделаны из одного и того же материала, есть возможность создания отдельной библиотеки материалов.

 


Рисунок 5. Диалог создания материала объемного элемента

Тиражирование мультфильмов

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


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


 

Рисунок 6. Мастер создания мультфильма

Библиотеки, как коммерческий продукт

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

Любой труд должен быть вознагражден, поэтому такие специализированные библиотеки предлагаются в качестве недорогого «вспомогательного» продукта для целевой аудитории. Системный интегратор, воплотивший свой опыт в новую библиотеку для MasterSCADA, также может и должен в интересах всего профессионального сообщества сделать ее публичной. Будет эта библиотека коммерческим изделием или бескорыстной помощью коллегам – решать авторам.

Последний вариант иногда оказывается лучшим видом рекламы.