В статье рассматриваются способы получения и обработки осциллограмм из различных приборов систем релейной автоматики.[spoiler]
Системы релейной автоматики – неотъемлемая часть оборудования электроподстанций. Их назначение отслеживание состояния сети и автоматическое отключение линий при возникновении аварийных ситуаций. Важной информацией является поведение электросети до и после возникновения аварии – состояние дискретных сигналов (состояние отсечных выключателей и различных датчиков), а также параметры самой электросети. Для этого устройства автоматики формируют специальные записи в памяти приборов – осциллограммы, содержащие всю необходимую для анализа информацию. Информация может быть считана по различным интерфейсам для последующего анализа на компьютере.
Основным стандартом осциллограмм является формат COMTRADE. По данному стандарту осциллограмма представляет собой два файла – файл конфигурации (cfg файл), содержащий параметры устройства и условия при которых была сформирована осциллограмма и файл данных (dat файл), который представляет собой бинарный или ASCII файл, с нормализованными значениями параметров каждого канала в каждый момент времени измерения.
Сначала рассмотрим считывание осциллограмм из приборов. Здесь можно выделить три основных способа.
Первый способ - специализированные протоколы, ориентированные на электроэнергетику и позволяющие считывать файлы из приборов. Примером такого протокола является протокол IEC-61850. Помимо прямого опроса прибора (подпротокол MMS), подписки (подпротокол GOOSE) он имеет возможность и получения файлов из прибора. Такой способ применяется в современных приборах, оборудованных быстрым микроконтроллером и интерфейсом Ethernet. Примером таких устройств являются ряд приборов линейки Sepam компании Schneider Electric.
Получить осциллограммы из таких приборов можно очень просто – используя Multi-Protocol MasterOPC сервер с плагином IEC-61850. В нем мы поддержали возможность считывания любых файлов (в том числе и осциллограмм). Все что требуется чтобы активировать эту функцию – включить настройку:
После запуска режима исполнения ОРС опрашивает прибор на наличие новых файлов, и при появлении новых файлов считывает их и помещает в указанную в настройках папку.
Второй способ – использование общепромышленных протоколов, например, протокола Modbus. В этом случае нет возможности считать готовый COMTRADE файл – параметры осциллограммы и ее данные представлены в различных регистрах. Необходимо опросить прибор, определить наличие новых осциллограмм, считать нужную осциллограмму, а уже затем самостоятельно сформировать файлы COMTRADE формата. Примерами таких устройств являются приборы ТОР-200 от компании Релеавтоматика и анализатор качества сети PM135 компании Satec.
Данный вариант более сложен в реализации для конечного пользователя, так как требует написания специального ПО (если конечно его не предоставляет производитель). К счастью, в наших OPC серверах есть встроенный редактор скриптов, который имеет все необходимые функции для решения данной задачи – формирование произвольных запросов, их обработку и формирование файлов любой структуры.
Пример конфигурации для получения осциллограмм от Satec PM135 реализованный в Modbus Universal MasterOPC:
Считывание осциллограммы вынесены в отдельное подустройство, содержащее специальный скрипт. В настройках устройства указывается путь к шаблону cfg файла – в нем указываются названия линий, имя прибора и т.д. После считывания осциллограммы из прибора ОРС, формирует cfg файл на основе шаблона и добавляет в него параметры, полученные от прибора и размещает сформированные файлы в указанные папки.
Также нами был написан аналогичный скрипт для прибора ТОР-200.
Третий вариант – получение данных по обычным сетевым протоколам, например, по протоколам FTP, HTTP и т.д. Данный вариант применяется редко, примером являются приборы компании Janitza. При необходимости, данный способ можно реализовать используя ФБ «Скрипт C#» в MasterSCADA – в C# есть все необходимые функции для создания FTP клиента.
Итак, осциллограммы из приборов получены, теперь можно приступать к их обработке. Прикладное ПО должно считать CFG файл, определить из него время начала записи и момент аварии, список анализируемых каналов и их параметры (коэффициенты масштабирования аналоговых каналов), затем считать DAT файл, привести нормализованные значения к реальным и вывести осциллограмму на экран. Для проведения всестороннего анализа существует специализированно программное обеспечение (как коммерческое, так и бесплатное). Например, бесплатная программа FastView от компании Мехатроника:
Помимо графика со значениями аналоговых и дискретных параметров, также позволяет строить векторную, круговую и частотную диаграмму.
Но зачастую возможности подобного ПО излишни и достаточно только графического представления изменения параметров сети и дискретных сигналов. Кроме того, устройства релейной автоматики и анализаторы качества электроэнергии могут применяться в составе SCADA системы – для непрерывного сбора и обработки данных от различных источников, в этом случае необходима интеграция осциллограмм в общий интерфейс системы.
MasterSCADA имеет мощную систему архивации и отображения данных – используя наши тренды можно просмотреть любые данные, в том числе и параметры осциллограмм с их миллисекундными интервалами.
Мы придумали достаточно простой и универсальный механизм интеграции осциллограмм в проекты. Например, мы ведем опрос устройства релейной защиты, с него мы снимаем текущие значения сети (напряжения, токи) и дискретных сигналов. Далее, при возникновении аварии производится замена значений в архиве полученные опросом текущих значений, на значения, которые были получены из осциллограммы. Таким образом используя тот же самый тренд можно просматривать и опрошенные значения, и значения, полученные из осциллограммы.
Для реализации данной задачи был сделан специальный демонстрационный проект, содержащий несколько скриптов, а также мнемосхему с журналом и тренд.
Основным скриптом является скрипт «Чтение COMTRADE».
При старте скрипт, подписывается на появление новых файлов в папке чей путь указан на входе «Папка контроля». При появлении файлов новой COMTRADE осциллограммы данный скрипт осуществляет ее чтение, затем обработанные и преобразованные данные записываются в архив переменных находящиеся в этом же объекте – V1-V3 и I1-I3. Имена переменных скрипт берет из cfg файла осциллограммы. После этого скрипт обращается к тренду объекта, и добавляет в него две закладки – определяющие начало и конец осциллограммы, для упрощения навигации и поиска. Также скрипт формирует информационное сообщение об успешности обработки осциллограммы, либо о возникшей ошибке. Также можно вручную указать путь к конкретной осциллограмме на вход «Путь файла» и подать сигнал на вход «Выполнить» - для загрузки данных осциллограммы, например, находящейся в другой папке.
Пример считывания и осциллограммы и ее отображение на тренде:
При этом в журнал на мнемосхеме выводится список всех считанных и обработанных осциллограмм. Можно открыть файлы осциллограмм в стороннем ПО, прямо из MasterSCADA – для этого нужно выделить нужную осциллограмму в журнале и нажать на кнопку открытия во внешнем приложении:
Осциллограмма будет открыта в программе, которой по умолчанию назначена обработка cfg файлов.
За реализацию данного механизма отвечает скрипт «Скрипт выбора сообщения из журнала».
На его вход поступает сигнал от ФБ «Управление документом» - с его помощью определяется что была открыта мнемосхема управления. В момент
открытия скрипт подписывается на выделение пользователем событий в журнале. При выборе сообщения скрипт считывает его комментарий, в котором сохраняется путь к файлу. Это путь поступает на выход скрипта, после чего путь обрабатывается в скрипте «Запуск приложения» и осциллограмма открывается в стороннем приложении.
Проект с набором скриптом, с полностью открытым кодом распространяется бесплатно. Скачать данный проект, а также несколько демонстрационных осциллограмм можно скачать со страницы продукта:
Вы можете применять любые части данного проекта в собственных разработках. При этом необходимо отметить, что для корректного функционирования необходимо чтобы архивация данных и сообщений обязательно шла в базу данных (рекомендуется MS SQL).
Если ваше устройство не поддерживает получение осциллограммы по протоколу IEC-61850, то мы можем разработать для OPC сервер или скрипт, который будет решать данную задачу. При возникновении вопросов вы можете обратится в отдел продаж – scada@insat.ru или техническую поддержку – support@insat.ru