тиражировать проект
Смотреть что такое «тиражировать проект» в других словарях:
Дым (группа) — У этого термина существуют и другие значения, см. Дым (значения). Дым Жанр Рок хард рок арт рок Годы с 1987 … Википедия
Азия — (Asia) Описание Азии, страны, государства Азии, история и народы Азии Информация об азиатских государствах, история и народы Азии, города и география Азии Содержание А́зия — самая большая часть света, образует вместе с материк Евразию … Энциклопедия инвестора
Монополия — (Monopoly) Монополия это абсолютное преобладание в экономике единоличного производителя или продавца продукции Определение монополии, виды монополий и их роль в развитии рыночной экономики государства, осуществление государством контроля за… … Энциклопедия инвестора
Демидова, Алла Сергеевна — В Википедии есть статьи о других людях с такой фамилией, см. Демидова. Алла Демидова Алла Демидова (2010 год) … Википедия
Демидова — Демидова, Алла Сергеевна В Википедии есть статьи о других людях с фамилией Демидова. Алла Демидова А.Демидова на презентации книги. 2010 год Имя при рожден … Википедия
Немецъ — Немецъ, Александр Александр Немецъ Род деятельности: певец Дата рождения: 24 января 1962(1962 01 24) (48 лет) Место рождения … Википедия
История звукозаписи — Методы и носители для звукозаписи менялись и подверглись значительным изменениям с момента записи первых звуков (для последующего их воспроизведения) до настоящего времени. Содержание 1 Механические музыкальные инструменты 2 … Википедия
Немецъ, Александр — Александр Немецъ Род деятельности: певец Дата рождения: 24 января 1962(1962 01 24) (50 лет) Место рождения … Википедия
Крупноформатная камера — Студийная крупноформатная карданная камера Sinar F 4×5 дюймов … Википедия
тиражируемые решения
Т.З. примерно следующее — необходимо иметь некоторый «быстрый старт» для приложений с стандартным функционалом. Дополнительным (и самым «заковыристым») условием является то, что этот стандартный функционал необходимо иметь возможность изменять самым невероятным образом, вплоть до полного отключения и замены своим (специфичным для данного приложения) кодом.
Приведу жизненный пример: есть необходимость делать ОЧЕНЬ похожие приложения. Например интернет-магазины, которые построены на примерно одинаковых схемах данных, бизнес-процессах и тп. Т.е. функционал любого из магазинов примерно идентичен, различается только view слой.
Однако в одном из магазинов цена формируется не из таблицы Prices, а получается по более сложной схеме из хранимой процедуры.
Собственно задача такая — как уменьшить «повторяемость кода» (т.е. отойти от monkey-patching-а) и при этом не потерять полный контроль над кодом.
После непродолжительного анализа существующих решений пришёл к выводу, что существует три вменяемых подхода к решению:
RoR-style (он же maven-archetype)
Весь (практически) код приложения создаётся для приложения в начале разработки автоматически (скриптом, батником, архетипом и тп) а в последствии изменяется под свои нужды в каждом конкретном проекте.
Примером такого подхода являются большинство фреймворков на динамических ЯП: ruby on rails, django, grails,… Кроме того в java существует такой фреймворк как appfuse, использующий maven примерно для тех же целей (автогенерации начального кода).
Java-style
Код разносится по библиотекам и делается очень «настраиваемым» (код в таких библиотеках должен очень хорошо настраиваться и, кроме всего прочего, его можно заменить собственным кодом, специфичным для данного проекта).
Примером такого подхода является например eclipse ide или nuxeo ecm, которые используют equinox (OSGI реализация) для уменьшения «связанности» кода (code decoupling).
Специфичное ручное тиражирование
Наверное всем знакомое разнесение кода по библиотекам… Это когда ручками, без всяких «методов и концепций» а так — как бог на душу положит и архитектура позволит… Для Java кода — это использование Interface-ов и применение паттерна plugin, для view слоя — это написание чего-нибудь типа customViewHandler-а и так далее.
Заключение
В заключение хотелось бы спросить у аудитории — кто какой метод использует и насколько успешно?
КОПИЛКА ОПЫТА СИСТЕМНЫХ ИНТЕГРАТОРОВ
Совершенно очевидно, что у отраслевых интеграторов потенциальных возможностей для тиражирования проектов на порядок больше, чем у универсальных. С другой стороны, отраслевые интеграторы чаще, чем универсальные, страдают от диктатуры заказчика, выбирающего программно-аппаратные средства без учета их мнения.
Универсальным системным интеграторам тоже хватает проблем – они вынуждены работать с разными технологиями в разных отраслях, поэтому избыточную трудоемкость своих проектов они часто компенсируют опорой на одну программно-аппаратную платформу. В результате выживают все, но многим бы хотелось не просто выживать, а жить-поживать, добро наживать.
В этих условиях крайне существенным становится фактор наличия инструментария повышения производительности труда разработчика, такой инструментарий, который бы обеспечил возможность тиражирования любой мало-мальски повторяющейся задачи. Только копилка опыта может стать фундаментом для всех прочих копилок.
Рассказывая о 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, также может и должен в интересах всего профессионального сообщества сделать ее публичной. Будет эта библиотека коммерческим изделием или бескорыстной помощью коллегам – решать авторам.
Последний вариант иногда оказывается лучшим видом рекламы.
КОПИЛКА ОПЫТА СИСТЕМНЫХ ИНТЕГРАТОРОВ
Совершенно очевидно, что у отраслевых интеграторов потенциальных возможностей для тиражирования проектов на порядок больше, чем у универсальных. С другой стороны, отраслевые интеграторы чаще, чем универсальные, страдают от диктатуры заказчика, выбирающего программно-аппаратные средства без учета их мнения.
Универсальным системным интеграторам тоже хватает проблем – они вынуждены работать с разными технологиями в разных отраслях, поэтому избыточную трудоемкость своих проектов они часто компенсируют опорой на одну программно-аппаратную платформу. В результате выживают все, но многим бы хотелось не просто выживать, а жить-поживать, добро наживать.
В этих условиях крайне существенным становится фактор наличия инструментария повышения производительности труда разработчика, такой инструментарий, который бы обеспечил возможность тиражирования любой мало-мальски повторяющейся задачи. Только копилка опыта может стать фундаментом для всех прочих копилок.
Рассказывая о 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, также может и должен в интересах всего профессионального сообщества сделать ее публичной. Будет эта библиотека коммерческим изделием или бескорыстной помощью коллегам – решать авторам.
Последний вариант иногда оказывается лучшим видом рекламы.









