ИНТЕГРАЦИЯ

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

Но идея-то была совсем другая! Стояла задача получать данные о себестоимости продукции не в конце недели, а то и месяца, а в реальном времени (ну хотя бы сегодняшние). Что-то говорили о цепочке поставщик - производитель - потребитель, о сведении балансов, учете+

Такие проблемы актуальны для многих предприятий как на Западе, так и у нас в России. Все дело в несогласованности данных, которая в свою очередь является следствием их неодинаковой природы. Данные технологических процессов специфичны. Они, как правило, могут быть представлены в виде временных рядов время - значение, они часто и быстро меняются, их удобно представлять в виде графиков, но из них неудобно делать выборки по различным не временным критериям.

В АСУП все наоборот. Там работает настоящая реляционная модель. Данные статичны, связаны многими отношениями, должны быть легко выбираемы по различным сложным критериям. И, конечно, никого на этом уровне не интересует подробная информация о колебаниях уровня или температуры или времени включения и отключения насоса. Пользователи ERP-системы хотят знать, сколько стоит простой оборудования за текущую смену и общая продолжительность простоев за смену, сутки, месяц, год, сколько сырья пошло на производство партии № 302-БИС и каков суммарный объем отгруженной продукции.

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

Рис. 1. От “сырых” данных - к знаниям о производстве

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

Очевидно, что в ее основе должен быть специализированный архив, ориентированный на обработку и хранение больших объемов данных реального времени из различных источников. Ведение подобного архива и обработка запросов - это задачи сервера. Не менее важны и клиентские приложения, способные представлять информацию в требуемом виде и формате. Вряд ли удобной и продуктивной можно считать работу с пятью клиентскими приложениями разных SCADA-пакетов на компьютере начальника производства. То есть необходимо, чтобы система поддержки принятия технологических решений умела отбирать и обрабатывать данные из разнородных источников, а затем представлять их в едином ключе. Интерфейс такой системы должен быть простым и легко настраиваемым, стандартным, знакомым и интуитивно понятным. В последнее время все более востребованы тонкие Web-клиенты, которые позволяют обойтись без установки специального ПО на рабочие места пользователей системы.

Теперь от слов о том, что нужно, перейдем к конкретному предложению компании Intellution (США) - производителя ПО для автоматизации производства. Эта компания поставляет целый ряд продуктов для комплексного решения различных задач в области АСУ ТП. В сентябре прошлого года она выпустила новый продукт - iHistorian, который последовательно развивает концепцию электронного производства, выдвинутую Intellution. iHistorian относится к классу так называемых информационных систем предприятия (ИСП), или систем поддержки принятия технологических решений. Она призвана решать задачи, сформулированные выше. Эта система предоставляет пользователю инструментарий для быстрой разработки ИСП со стандартным набором функций, наиболее востребованных на производстве. iHistorian - компонент семейства Intellution Dynamics. Она тесно интегрируется с iFIX и прочими компонентами семейства программных продуктов, разработанных Intellution, например с iDowntime, который анализирует архивные данные с целью выявления и идентификации простоев оборудования. iHistorian - масштабируемая система для создания как небольших локальных или цеховых архивов (100, 300, 1000, 2500 параметров), так и мощных хранилищ производственных данных всего предприятия. До 100 000 переменных могут обрабатываться на одном сервере. При этом не страдает производительность, т. е. скорость сбора и предоставления данных клиентам. Кроме того, iHistorian поддерживает многосерверную структуру, т. е. архив с распределенной базой данных. Это означает, что, добавляя новые серверы, можно создавать хранилища с практически неограниченным количеством архивируемых переменных. Распределенная система может иметь трехуровневую архитектуру (рис. 2), в которой сбор данных, их хранение и представление будут разнесены. Каждый клиент при этом может единовременно получать данные с нескольких серверов и представлять их на одном экране.

Рис. 2. Архитектура системы

Архитектура системы

Сбор данных в iHistorian осуществляется с помощью коллекторов - специальных программных модулей, работающих на одной машине с источником данных. Коллекторы выполняют функцию store-and-forward (“сохрани и передай”), которая позволяет данным храниться локально в случае потери связи с сервером, а также функцию автоматического восстановления связи. Конфигурация коллекторов хранится на сервере и считывается ими при запуске системы. Однако в случае потери связи с сервером загружается последняя удачная конфигурация, которая доступна коллектору локально. Набор перечисленных функций коллекторов, а также возможность создания резервных копий серверного архива обеспечивают надежный механизм доставки и хранения данных. iFIX-коллектор может собирать данные как с одного узла iFIX, так и с сетевой распределенной системы. Это позволяет использовать широкие возможности взаимодействия iFIX с различным контроллерами. Кроме того, Intellution OPC Server Toolkit помогает разрабатывать на Visnal C++ новые OPC-драйверы для нестандартных устройств, а следовательно, сохранять данные с любого оборудования.

OPC-коллектор производит сбор данных с любого сервера, удовлетворяющего спецификациям OPC 1.0 и 2.0. Таким образом, OPC-сервер, созданный, например, с помощью Intellution OPC Server Toolkit, выступает самостоятельным источником данных.

Файл-коллектор загружает данные из файлов в формате CSV или XML.

Для отладки и тестирования введен встроенный коллектор-симулятор.

Сервер iHistorian обеспечивает управление архивом и сервис сообщений. Менеджер архива управляет мультифайловой структурой хранилища и по мере заполнения текущего файла либо открывает новый, либо перезаписывает самый старый файл. Администратор архива позволяет создать резервную копию данных и сохранить ее на другом носителе, не прерывая работы сервера. Для ограничения несанкционированного доступа через заданное время данные в архиве становятся недоступными для изменения. Кроме того, мощная система защиты предусматривает возможность регламентации практически любых действий пользователя и администратора.

Сервер iHistorian единовременно выполняет десятки тысяч операций записи/чтения, причем с субсекундным временным интервалом. Кроме того, за счет высокой степени сжатия данных он позволяет хранить огромные массивы информации на обычных дисках. В среднем скорость записи и чтения с диска превышает 20 000 событий в секунду. Эти показатели относятся только к производительности сервера, а если учесть предварительное сжатие информации на коллекторах, то общая средняя скорость сбора данных в системе превышает 40 000 значений в секунду.

Сжатие данных в iHistorian осуществляется сначала на уровне коллектора, а потом на уровне сервера.

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

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

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

Метка времени в iHistorian может иметь точность до 1 мс. Для коллекторов, расположенных на различных компьютерах в сети, предусмотрен механизм синхронизации временных меток с сервером. Это позволяет сопоставлять данные из разных источников и с высокой точностью устанавливается последовательность событий. Максимальная частота сбора данных при опросе по времени составляет 10 раз в секунду. Коллектор обеспечивает автоматическую балансировку процесса, равномерно распределяя нагрузку в рамках заданного временного интервала. Такой подход повышает производительность системы в целом. Кроме того, там, где источники данных позволяют это сделать (например, OPC-серверы, удовлетворяющие спецификации 2.0), коллекторы могут быть сконфигурированы на опрос по событиям, что дает возможность достичь еще большей скорости и получать данные даже чаще, чем раз в 100 мс. При загрузке информации из offline-источников, т. е. из файлов в формате CSV или XML, метки времени также могут иметь точность в 1 мс.

Типы данных. Исторические производственные архивы традиционно имеют дело с так называемыми временными рядами. В основном это аналоговые значения с меткой времени. iHistorian поддерживает более широкий набор типов, включая строки фиксированной и переменной длины, Boolean, Integer, Float и большие бинарные объекты (BLOBS - графический файл, документ Word и т. п.). Кроме того, iHistorian позволяет устанавливать отношения на данные благодаря возможности индексирования переменных. Так, идентификатор партии может храниться в архиве как строка, и данные, связанные с ее производством, могут быть извлечены из архива по этому идентификатору, а не по времени начала и конца технологического цикла. Возможны и другие типы запросов, значительно упрощающие работу с архивом, процедуру формирования отчетов и т. д.

Конечно, допускается получение данных и непосредственно по времени. При этом можно запрашивать как необработанные данные из архива, так и средние, минимальные и максимальные значения показателей, стандартное отклонение, число и время минимумов и максимумов параметра и пр.

Клиенты

Важной частью ИСП является набор клиентских приложений, обеспечивающих представление и анализ данных. Intellution предлагает ряд готовых приложений для iHistorian:

- iFIX v2.6 и выше;

- Microsoft Excel Add-In;

- iDownTime;

- Web-based Administrator;

- Windows Administrator;

- infoAgent(проект North Star).

Кроме того, можно работать с архивными данными и из других стандартных приложений или собственных клиентов благодаря поставляемому с iHistorian OLE DB-провайдеру, SDK или ODBC-драйверу iFIX.

В состав SCADA-пакета iFIX входит специальный объект “График”, который предназначен для отображения исторических данных и данных реального времени в виде трендов. После установки iHistorian функциональность объекта расширяется и с помощью построителя выражений iFIX его можно настраивать на архивные серверы ИСП в сети и выбирать нужные переменные для отображения. Данные могут быть отображены во временной зоне либо коллектора, либо клиента, либо в другой, назначенной вручную, зоне.

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

Дополнительные модули Microsoft Excel (Add-In) позволяют импортировать данные в MS Excel 97 (или более поздней версии). Поддерживают импорт и экспорт данных, тегов и сообщений, а также запросы: необработанных данных; текущих данных; данных по индексу; данных, полученных интерполяцией; данных по точкам изменения и т. д.

Вся информация доступна с помощью простых диалоговых форм. Надстройка включает три стандартные формы отчетов (рис. 3).

Рис. 3. iHistorian Excel Add-In. Пример отчета

Web- и Windows-администраторы

Администрирование iHistorian осуществляется с помощью как Web-администратора, так и с обычного исполняемого модуля, запускаемого локально. И тот и другой имеют одинаковые интерфейс и функциональность. Для работы Web-варианта необходим Internet Explorer 5.5. При этом администрирование возможно практически с любого компьютера в сети, которому доступен URL сервера iHistorian. Таким образом, администрирование осуществляется через Интернет.

Оба администратора позволяют:

- создавать и удалять архивы и их резервные копии и управлять ими;

- запускать и останавливать в режиме online локальные и удаленные коллекторы, а также управлять ими;

- автоматически считывать список тегов из источника и задавать конфигурацию коллектора и сервера;

- создавать точки опроса вручную;

- конфигурировать и удалять переменные архива как индивидуально, так и группами;

- просматривать сообщения и предупреждения.

С помощью перечисленных средств администрирования можно быстро установить и сконфигурировать систему. infoAgent (рис. 4) - это тонкий Web-клиент, предназначеный для визуализации и анализа данных из архива iHistorian. infoAgent обладает широкой функциональностью, запускается и работает в окне Интернетобозревателя, может отображать строчные данные из архива и строить по ним тренды. Кроме того, infoAgent позволяет:

- получать данные по коду продукта, идентификатору партии и т. п.;

- организовывать тренды по партиям, производственным фазам, прочим критериям и событиям;

- просматривать тренды, построенные по параметру (переход к следующей партии, фазе и т. п.);

- записывать и просматривать комментарии пользователя;

- отображать динамически вычисляемые параметры (минимум, максимум, среднее);

- конфигурировать для каждого пользователя определенный набор экранов визуализации, а также панель навигации;

- отображать на графике зависимость одного параметра от другого;

- динамически подменять группы параметров на тренде;

- делать наложение трендов или стек трендов по определенной оси;

- помещать на экраны гиперссылки на другие экраны и Web-страницы;

- использовать графические изображения в формате jpeg и gif.

Рис. 4. Пример экрана infoAgent (проект North Star). Стек графиков по оси Х

Системные требования. iHistorian может быть использована как опция SCADA-сервера или как производственный архив всего предприятия. Для этих двух конфигураций требования к оборудованию различны. В первом случае необходим Pentium II 500, во втором - Pentium III 700 и 512 Мб оперативной памяти. Сервер iHistorian может работать под управлением Windows NT 4.0 SP 6 или Windows 2000. Для использования Web-составляющих необходим Internet Information Server. Специальная программа “Калькулятор дискового пространства” позволяет рассчитать размер жесткого диска, необходимый для хранения предполагаемого объема данных.

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

В 2002 г. документация по iHistorian будет переведена на русский язык, а также, возможно, будет локализован info

Agent, что сделает продукт еще более открытым для российских пользователей.

Лицензируется система по количеству переменных в архиве и по числу клиентов. Коллекторы поставляются бесплатно.

К Михаилу Терлецкому - сотруднику компании “ИндаСофт” - можно обратиться по телефону: (095) 334-8880 или по e-mail: mterlets@indusoft.ru.