ИНТЕГРАЦИЯ И ПРЕДСТАВЛЕНИЕ ДАННЫХ ПРЕДПРИЯТИЯ СРЕДСТВАМИ СЕРВЕРА АРХИВА MAS И СЕРВЕРА ОТЧЕТОВ MasterReport


Скачать

И.Е. Аблин (ООО "ИнСАТ")


Тенденция последних лет – все более тесная связь систем управления технологией с системами "оперативно-техническими" и "планово-экономическими". Говоря по-старому, взаимосвязь АСУТП, АСОДУ и АСУП, говоря по-новому, SCADA, MES, ERP. И чем дальше, тем более очевидно, что очень часто границы между ними совершенно условны. Концепция "прозрачного" предприятия подразумевает доступность любых данных на всех уровнях предприятия при наличии прав доступа к ним. Скажем, учет энергоресурсов осуществляется классическими системами сбора данных, а их результаты нужны не только технологам и энергетикам, но и экономическим службам и руководству. В этих условиях часто встает вопрос, а кто собирает централизованные архивы технологических данных и кто формирует отчеты, если они нужны на всех уровнях системы, причем во многих случаях отчеты должны генерироваться на основании сводных данных, полученных от различных подсистем. С одной стороны, в классических SCADA-системах возможности встроенного генератора отчетов редко бывают достаточно функциональны, да и не всегда он есть в наличии, иногда обходятся экспортом во внешние системы, например, Excel, явно не являющийся специализированным средством создания отчетов. С другой стороны, системы "верхнего" уровня зачастую только импортируют данные из технологических систем и их отчеты "внизу" недоступны.


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


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


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

Архивный сервер MasterSCADA

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


Особенность выделенного архивного сервера MasterSCADA (MAS – MasterSCADA Archive Server) в том, что он не является хранилищем данных. Это, скорее, ПО промежуточного слоя, обеспечивающее для рабочих станций MasterSCADA совокупность программных интерфейсов записи/чтения архивов.


В качестве хранилища можно использовать традиционную для MasterSCADA быстродействующую систему кольцевых файлов с прямым доступом к данным (индивидуальный комплект для каждого элемента проекта), либо единую БД в каком-либо SQLсервере. MasterSCADA и раньше поддерживала работу с SQL-серверами – был доступен экспорт архивов и обмен данными через механизм хранимых процедур. Возможность непосредственного ведения архивов в SQL-сервере появилась только, начиная с версии 2.5. Такие архивы могут создавать как MAS, так и любая операторская станция, в комплект которой входит модуль DB-коннектор. На сегодня в полном объеме поддержано хранение данных и сообщений в Microsoft SQL Server, хотя в целом MasterSCADA поддерживает все распространенные СУБД: Oracle, Interbase (Firebird), IBM DB2, Sybase, MySQL, Linter. Подключение новых SQL-серверов определяется только новыми потребностями у заказчиков.


MAS обеспечивает запись информации (данных и сообщений) в хранилище от многих подключенных к нему источников: серверов сбора данных (операторских станций), OPC-серверов, контроллеров, других БД. Некоторые из них поставляют мгновенные значения параметров, другие (OPC HDA серверы, контроллеры) – целые архивы за определенный промежуток времени. Поскольку данные поступают одновременно, используется ряд механизмов, обеспечивающих повышение производительности и сохранность всех данных: запись по изменению с использованием "мертвой" зоны, буферизация, ведение очередей, послойное хранение и т.п. (рис. 1).

 

Рис.1

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



Рис.2

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

Универсальный сервер производственных архивов MAS

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


Основным источником данных для MAS являются OPC-серверы, хотя сохраняются и все остальные механизмы сбора данных, присущие MasterSCADA, включая возможности сбора архивов на контроллерном уровне в темпе с циклом контроллера или чтения данных из внешних СУБД. Чаще всего OPC-серверы используются для связи с оборудованием, но они не менее удобны для информационного обмена со SCADA и иными системами автоматизации. Все современные системы поддерживают этот интерфейс. Получение данных от систем предыдущего поколения возможно через БД или файловый обмен, что гораздо менее удобно.


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


• обработку данных с помощью расчетов и функциональных блоков, например: - предварительная обработка данных перед записью (контроль достоверности, алгоритмы фильтрации, алгоритмы усреднения, интегрирования, максимум/минимум и т.п. на фиксированном или скользящем интервале, подсчет времени наработки и числа включений оборудования); - расчет косвенных параметров (расход пара, газа, мазута, контроль достоверности по алгоритму "2 из 3"); - обработка извлекаемых из архива данных за требуемый интервал времени (доступна почти в том же объеме, что и предварительная обработка);


• визуальное представление данных на мнемосхемах – развитая анимационная графика современной SCADA-системы;


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


• экспорт архивов – в другой SQL-сервер, в формат mdb, в текстовую таблицу. Экспорт производится либо в темпе с процессом записи, либо может выполняться (как и любое другое действие в системе) по команде оператора, событию или расписанию; • представление данных на клиентских рабочих станциях. Клиенты MAS не отличаются от клиентов MasterSCADA. Либо это полнофункциональные "толстые" клиенты, функционал которых по визуализации информации не отличается от самого MAS, либо доступ через Internet-браузер, не требующий предварительной установки на ПК дополнительного ПО. В последнем случае возможности по непрерывному обновлению данных существенно ограничены. Например, нельзя просматривать тренд в режиме автопрокрутки;


• для пуска-наладки проекта MAS предусмотрены механизмы тотальной диагностики по всем параметрам его работы: быстродействию, занимаемым объемам памяти, наиболее ресурсоемким параметрам. Статистика архива позволяет детально анализировать все аспекты работы подсистемы архивирования, что позволяет оптимизировать его работу. Например, выявление параметров с наибольшей частотой записи позволяет принять решение о загрублении "мертвой" зоны или ином способе фильтрации значений таких параметров;


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

Универсальный сервер производственных отчетов MasterReport

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

Работа с данными. Перечень источников данных тот же, что и для MAS. Это, прежде всего, OPC и SQL-серверы, драйверы, контроллеры. Но можно использовать и файловые источники данных, например XML.


Полученные данные могут пройти предварительную обработку как с использованием всего арсенала библиотек функциональных блоков MasterSCADA или ее модуля расчетов, так и благодаря наличию мощных собственных средств: формульных выражений или программы на на С# и Visual Basic (.Net). Эти вычисления могут выполняться до или после формирования отчета, а также непосредственно в процессе интерпретации его внутренних полей. Просмотр и печать отчета тем самым возможны как с фиксацией значений на заданный момент времени, так и с вычислением текущего состояния. Может возникнуть вопрос – зачем нужны вычисления после построения отчета? Приведем пример: во время построения отчета производится расчет какой-то переменной. Результат этого расчета будет известен только в конце построения отчета, а вывести его нужно, например, на каждой странице.


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


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


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


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


Работа с базами данных. Генератор отчетов поддерживает более 10 типов серверов данных: MS SQL Server, Oracle, MySQL, Firebird и др. Обращение к данным из сервера возможно непосредственно из полей отчета, без какого-либо программирования. Генератор отчетов может также получать данные из xml файла. При получении данных из источников возможна их предварительная сортировка, группировка, фильтрация, соединение.

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


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

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


 

Рис.3

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


При сохранении отчета не требуется указывать имя файла и место хранения. Отчеты автоматически сохраняются в папке того объекта проекта, которому они принадлежат. Но при этом возможен экспорт (и импорт) отчетов в произвольное место в различных форматах, в том числе XML.


Работа с отчетом в режиме исполнения включает следующую функциональность:


• формирование отчетов производится периодически по расписанию (в котором могут быть заданы относительные временные привязки – например, к началу смены), по событиям или по команде оператора. Любые действия оператора контролируются и протоколируются;


• по расписанию, событию или команде можно выполнять не только формирование или экспорт отчетов, но и любые доступные в системе действия, в том числе запускать внешние программы;


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


• перед формированием отчета оператор может ввести дополнительные данные в форму запроса, подготовленную разработчиком проекта;


• экспорт готовых отчетов может быть произведен как при помощи визуальных мастеров, так и с использованием сценариев. Доступно более 15 видов экспорта отчетов, включая защищенный PDF, Excel, Word и др.


• доступна не только возможность сохранения произвольного отчета в XML-формате, но и готовые XML-шаблоны для таких стандартизированных отчетов, как отправляемые поставщику сведения о потреблении электричества в рамках АИИСКУЭ;

• готовые отчеты могут быть отправлены по заранее определенному списку Email-адресов;

• возможна публикация отчетов в html-формате в Internet.

Интеграция продолжается…

Переход от выпуска SCADA-пакета к решениям уровня предприятия начался в компании ИнСАТ уже несколько лет назад, но до сих пор ограничивался решением отдельных задач – были выпущены модуль паспортизации технологического оборудования, произведена интеграция с геоинформационной системой Сфера и экспертной системой РВ для оптимизации производства SDBuilder. Появление новых продуктов – MAS и MasterReport знаменует собой новый этап интеграции сбора, представления и использования всех технологических данных независимо от источника их формирования. При этом пользователями этих систем могут быть уже не сотрудники отдельных подразделений, а все заинтересованные лица как на производстве, так и в руководстве предприятия в целом.


Аблин Илья Евгеньевич – генеральный директор компания ИнСАТ.

Контактный телефон (495) 974-00-92.

Http://www.insat.ru www.masterscada.ru