С октября 2013 года Теквел предлагает программный продукт iTest, предназначенный для испытания устройств с поддержкой стандарта МЭК 61850 на соответствие. Многим специалистам может показаться, что необходимости в такой процедуре нет — ведь можно же испытать совместимость с другими устройствами, клиентами, и никакого формального соответствия проверять не надо. Мы решили немножко потестировать устройства, чтобы понять, а так ли это на самом деле? Конечно же, мы выбирали из лучших, у некоторых из них соответствие уже проверяли другие компетентные организации. Ну а мы вот взяли три хороших образца, да и проверили ещё раз всего лишь по трём из более чем 250 тестов, которые предполагает стандартная методика по испытаниям на соответствие UCA. Давайте посмотрим, что из этого получилось.
Опыт №1. Cnf1 — Валидация файла ICD на соответствие SCL-схеме
Это самая простая процедура, которой может быть подвергнуто тестируемое устройство. Валидацию файла делают и разного рода инструменты, бесплатно доступные в интернете. Разумеется, все три файла ICD прошли эту проверку.
14:46:46.850;Cnf1: Validating configuration file : 'C:\Users\TEKVEL\Dropbox\Atlan\Libraries\ICD\xxxxxxxxx.ICD' 14:46:46.850;Cnf1: Validating against the SCL schema. 14:46:46.959;Cnf1: Configuration file is wellformed and valid.
Опыт | Образец 1 | Образец 2 | Образец 3 |
---|---|---|---|
Cnf1 | Прошёл | Прошёл | Прошёл |
Не слишком искушённому специалисту может показаться, что этот опыт показателен, однако на самом деле, он лишь проверят базовую семантику (что все теги правильно закрыты и присутствуют основные разделы). Проверка валидатором отнюдь не означает полноценной проверки информационной модели устройства. Так что не пройти проверку Cnf1 может только совсем уж плохое устройство.
Опыт №2. Mdl1 — проверка наличия обязательных логических узлов и объектов в логических узлах
Казалось бы, элементарный опыт — ну подумаешь, не забыть все обязательные логические узлы поставить и в рамках ЛУ все обязательные объекты, но…
################################################################################ 15:02:47.392;Mdl1: ERROR: LNodeType 'LPHD': LD 'xxxxxxxxxxxControl': Mandatory LN not available. ################################################################################
Одно из трёх устройств срезалось на элементарном. Напомним, что согласно МЭК 61850-7-2 в каждом логическом устройстве должен ОБЯЗАТЕЛЬНО присутствовать логический узел LN0 и LPHD.

Напоминаю, мы тестируем только качественные устройства, непогрешимость которых вряд ли у кого-то вызвала бы сомнения.
ОПЫТ | ОБРАЗЕЦ 1 | ОБРАЗЕЦ 2 | ОБРАЗЕЦ 3 |
---|---|---|---|
Mdl1 | Прошёл | Прошёл | Не прошёл |
Опыт №3. Mdl4 — проверка соответствия модели данных требованиям применимых SCSM в части длин имён
Это, конечно, тест на внимательность. Даже опытный разработчик известной компании может нечаянно не уследить за длиной какого-нибудь атрибута. Собственно, так и получилось:
################################################################################ 14:44:09.212;Mdl4: ERROR: XxxxxxCTRL/LPHD1$DC$PhyNam$scdConfigRev: DataAttribute = 'scdConfigRev': Too long. (max=10) 14:44:12.737;Mdl4: ERROR: XxxxxxDR/LPHD1$DC$PhyNam$scdConfigRev: DataAttribute = 'scdConfigRev': Too long. (max=10) 14:44:13.424;Mdl4: ERROR: XxxxxxMEAS/LPHD1$DC$PhyNam$scdConfigRev: DataAttribute = 'scdConfigRev': Too long. (max=10) 14:44:13.642;Mdl4: ERROR: XxxxxxPROT/LPHD1$DC$PhyNam$scdConfigRev: DataAttribute = 'scdConfigRev': Too long. (max=10) ################################################################################
Указанный программой атрибут данных содержит двендцать символов вместо положенных десяти.

Вновь только 2 из 3 устройств прошли испытание успешно.
ОПЫТ | ОБРАЗЕЦ 1 | ОБРАЗЕЦ 2 | ОБРАЗЕЦ 3 |
---|---|---|---|
Mdl4 | Не прошёл | Прошёл | Прошёл |
Результат на самом деле не самый обнадёживающий: только одно устройство из трёх добралось до финиша без ошибок. При этом напомним, мы провели лишь 3 элементарных опыта. Также можно добавить, что проверялись лишь устройства, реализованные по первой редакции стандарта. Наконец, подвергнутые испытаниям устройства, имеют достаточно современную реализацию стандарта. То есть ошибки в них нельзя списать на “первый опыт”.
Чем это чревато на практике? Вполне возможно, что и ничем. А может быть, такое устройство просто не получится интегрировать в систему. Но если это не проверить заранее, то сначала даже не будет понятно из-за чего.