Язык конфигурации подстанции scl + видео обзор

Содержание
  1. Язык SCL
  2. Введение
  3. Описание языка
  4. Идентификаторы
  5. Структура программы
  6. Комментарии
  7. Перечислимые
  8. Временные
  9. Строковые
  10. Файловые
  11. Остальные
  12. Константы
  13. Способы задания констант
  14. Определение констант в программе
  15. Переменные
  16. Операторы
  17. Операции
  18. Операторы сравнения
  19. Оператор ожидания wait
  20. Оператор цикла loop
  21. Оператор цикла while
  22. Вывод информации report
  23. Функции
  24. Стимуляция регистров
  25. История регистра
  26. Чтение текстовых файлов
  27. Обработка строк
  28. Время
  29. Для отладки
  30. Работа с файлами
  31. Программирование
  32. Подключение программы SCL к симулятору
  33. Сложности отладки
  34. Недостаток операторов
  35. Доступ к регистрам контроллера
  36. Примеры
  37. Генератор 1 KHz
  38. Генератор программного UART
  39. Генератор аналогового сигнала
  40. Генератор DTMF
  41. Формат файла «data_dtmf.txt»
  42. Текст скрипта
  43. Заключение
  44. ГОСТ Р МЭК 61850-6-2009 Сети и системы связи на подстанциях. Часть 6. Язык описания конфигурации для связи между интеллектуальными электронными устройствами на электрических подстанциях
  45. Способы доставки
  46. Оглавление
  47. Этот ГОСТ находится в:
  48. Организации:
  49. Communication networks and systems in substations. Part 6. Configuration description language for communication in electrical substations related to IEDs
  50. ГОСТ Р мэк
  51. 61850-6—
  52. СЕТИ И СИСТЕМЫ СВЯЗИ НА ПОДСТАНЦИЯХ
  53. Язык описания конфигурации для связи между интеллектуальными электронными устройствами на электрических подстанциях
  54. Предисловие
  55. Сведения о стандарте
  56. 6.2 Модель подстанции
  57. 6.3 Модель продукта (IED-устройство)
  58. 6.4 Модель системы связи
  59. 6.5 Моделирование резервирования
  60. 7 Типы файлов описания на языке SCL
  61. Файл *.СЮ для описания сконфигурированного IED-устройства (Configured IED Description)
  62. 8 Язык SCL
  63. 8.1 Метод спецификации
  64. Видео

Язык SCL

Виктор Тимофеев, ноябрь 2009
osa@pic24.ru

Введение

Интегрированная среда MPLAB IDE имеет в своем составе встроенный симулятор, который позволяет отлаживать программу еще до программирования микросхемы. Для приближения к реальным условиям MPLAB предоставляет возможность имитировать входные сигналы с помощью встроенного инструмента Stimulus. С помощью него можно имитировать уровни на портах ввода вывода и значения регистров, причем можно привязывать эти события ко времени, к состояниям или изменениям состояний портов и регистров. Для этого интегрированной средой MPLAB предоставляется диалоговое окно (доступно через меню «Debugger/Stimulus»), в котором пользователю предлагается задать внешние воздействия.

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

Возможно, при описании я что-то не учел, что-то описал неполно, а где-то допустил ошибку. Не стесняйтесь ругаться, если обнаружите неточности. Если у кого-то будет какое-то сущетвенное дополнение, я обязательно внесу его в это пособие (некоторые моменты, такие как определение пользовательских типов, я умышленно не стал здесь упоминать из-за их, на мой взгляд, ненадобности и малозначимости в SCL-программах).

Помимо самой этой статьи, я бы рекомендовал ознакомиться с двумя ветками на форуме microchip.com (на английском языке):

В том же форуме по разным темам разбросаны еще несколько примеров, но я в своей статье постарался объединить все затрагиваемые там вопросы.

Описание языка

Идентификаторы

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

Имена идентификаторов чувствительны к регистру. Имена идентификаторов не могут совпадать с зарезервированными словами.

Структура программы

Основное тело программы заключено в операторные скобки testbench:

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

Само тело программы состоит из процессов, которые выполняются параллельно, но могут быть синхронизированы друг с другом:

Тело процесса выполняется по кругу. Если его нужно выполнить только один раз, то в конце можно поставить оператор wait без параметров.

Комментарии

Комментарии в языке SCL могут начинаться с «—«, как в VHDL, или с «//», как в Си. Все, что следует за символами «—» или «//» считается комментарием и игнорируется при трансляции.

Язык SCL является строго типизированным, т.е. в нем не допускается смешение типов в одной операции (например, нельзя присваивать переменной типа integer переменную типа bit; или нельзя суммировать переменную типа byte с переменной типа time).

На данный момент язык SCL поддерживает следующие типы данных:

Перечислимые

integer32-битное целое знаковое
byte= integer
word= integer
booleanЛогический тип, может принимать значения true или false
bitБитовый тип, может принимать значения ‘0’ или ‘1’
characterСимвольный.
paddressАдрес в памяти программы. 24-битовое беззнаковое целое.
daddressАдрес в памяти данных. 24-битовое беззнаковое целое.

Временные

timeВременной. Знаковое 64-битное целое, задается в пикосекундах. Однако можно указать другие единицы измерения: ns, us, ms, sec, min, hr.
cycleСхожий с временным типом, только время задается в циклах. Задается в виде числа с указанием единиц измерения ic (instruction cycle).
frequencyЧастотный. Задается в герцах (от 0 до 1e9). Может задаваться с явным указанием единиц измерения: hz, khz, mhz.

Строковые

stringТекстовая строка. Представляет собой массив character’ов (type string is array (integer range <>) of character;). Применяется для вывода информации по ходу симуляции
lineСтрока для обработки данных. Может быть прочитана из файла и обработана.

Файловые

textФайловый. Применяется для чтения файлов (запись через этот тип произвести не удается).
file_open_kindТип открываемого файла. Может принимать значения: read_mode, write_mode, append_mode. (Удалось заставить работать только в режиме read_mode)
file_open_statusСостояние открытого файла. Может принимать значения: open_ok, status_error, name_error, mode_error

Остальные

severity_levelтип сообщения в операторе report. Может принимать значения: note, warning, error, failure.
arrayпозволяет определять массивы. Но в настоящее время толку от них мало, т.к. нет возможности обращаться к элементу массива по индексу
bit_vectorмассив битов. Также нет возможности обращаться к элементам по индексу
recordСтруктура. Позволяет обращаться к битовым переменным SFR (например, ADCON.ADON).

Константы

Способы задания констант

Целые числа можно задавать с указанием системы счисления или без нее (по умолчанию число считается записанным в десятичной системе):

система_счисления#число# Причем поле «число» может содержать не только цифры (и буквы A,B,C,D,E,F), но и символ подчеркивания ‘_’, что очень удобно для более наглядного представления длинных чисел. Например, число 168 можно записать так:

Времена можно задавать в виде целого или вещественного числа с указанием единиц измерения:

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

Определение констант в программе

Константы определяются внутри процесса перед операторными скобками begin … end с ключевым словом constant и указанием типа и значения:

Переменные

Определение файловых переменных производится с ключевым словом file :

Операторы

Операции

Операторы сравнения

Оператор ожидания wait

Есть четыре применения этого оператора:

Время может быть указано как в виде константы, так и в виде переменной.

Обращу внимание на то, что если на момент начала выполнения wait until условие выполняется, то это не считается событием. Например, «wait until RB0 == ‘1’» будет ожидать не единичное состояние, а переход ‘0’→’1′. Т.е. если на момент выполнения wait у нас RB0 уже в состоянии ‘1’, то это не считается уже случившимся событием и оператор wait будет ждать сначала перехода ‘1’→’0′, а потом ‘0’→’1′.

Оператор цикла loop

Цикл будет выполняться бесконечно. Прервать его выполнение можно оператором exit (безусловное прерывание) или exit when … (условное):

Оператор цикла while

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

Вывод информации report

выведет следующую последовательность сообщений:

Обратим внимание, что последняя строка уже не выводится, т.к. severity failure прервало работу скрипта.

Функции

На данный момент мне известны следующие функции:

Стимуляция регистров

accessin (FileName: string, FileMode: mode, Reg: register, Wrap: boolean)

Параметры:

Типы файла:

triggerin (FileName: string, FileMode: mode, Reg: register, PC: paddress, Wrap: boolean)

Параметры:

Если значение PC указывается в виде имени функции, то это имя должно быт ьобъявлено в секции configuration с ключевыми словами shared label (нечто вроде extern в Си).

Пример:

packetin (Data: line, Reg: register, Wrap: boolean)

Параметры:

Пример стимулирования принятых данных по UART:

История регистра

accessout (FileName: string, FileMode: mode, Reg: register, Wrap)

Параметры:

triggerout (FileName: string, FileMode: mode, Reg: register, PC: paddress)

Параметры:

FileName Имя файла FileMode Тип файла: hex_mode, dec_mode, binary_mode, formatted_mode (см. выше) Reg Наблюдаемый регистр PC Значение программного счетчика, при котором производить запись значения регистра в файл (может быть указан в виде имени функции)

Пример:

Параметры:

FileName Имя файла FileMode Тип файла: hex_mode, dec_mode, binary_mode, formatted_mode (см. выше) GPR Имя переменной PC Значение программного счетчика, при котором производить запись значения регистра в файл (может быть указан в виде имени функции) Size Количество байт на одну запись (в текстовом режиме будут разделены пробелами)

Для того, чтобы скрипт знал имя используемой переменной, ему нужно его сообщеть в секции configuration c ключевыми словами shared variable :

Пример:

Чтение текстовых файлов

file_open (Status: file_open_status, F: text, Name: string, Kind: file_open_kind

Параметры:

Status в эту переменную будет записан результат открытия файла (open_ok, status_error, name_error, mode_error) F файловая переменная Name имя файла в текстовом виде Kind режим работы файла (read_mode,write_mode,append_mode). Хоть SCL и позволяет открывать файлы в режимах write и append, и даже создает файлы с указанным именем на диске, но произвести запись в эти файлы так и не удалось. Так что на сегодняшний день реально из файлов можно только читать.

Пример:

Параметр:

F файловая переменная

Пример:

Параметр:

F файловая переменная

Пример:

Параметр:

F файловая переменная Data переменная, куда будет помещена прочитанная строка

Пример:

Обработка строк

Параметры:

Line здесь содержится строка, начало которой мы проверяем Pattern здесь находится шаблон для сравнения

Пример:

Параметры:

Line Исходная строка Data Переменная, куда будет помещен результат

Пример:

Время

Пример:

random_time (LowerLimit: integer, UpperLimit: integer, Units: string, Seed1: integer, Seed2: integer, Result: time)

Параметры:

LowerLimit Нижний предел UpperLimit Верхний предел Units Единицы измерения («»ps», «ns», «us», «ms», «sec», «min», «hr») Seed1, Seed2 параметры генератора случайных чисел (в самом простом случае можно задать любыми ненулевыми значениями) Result Результат работы функции

Пример (генератор шума):

Для отладки

Параметры: эта функция может принимать не более 5 параметров различных типов: line, string, integer, character, boolean, bit, time, cycle.

Пример:

Работа с файлами

Мы уже упоминали функции для стимуляции регистров значениями из файлов (assignin, triggerin). Эти функции при своей простоте имеют недостатки:

Рассмотрим порядок обработки файла data.txt следующего содержания (задача взята наобум):

Сначала мы обнуляем значения регистров PORTA и PORTB. Через 10 мс отправляем данные по USART, после чего устанавливаем порты в значения PORTA = 0x10, PORTB = 0xFF. А еще через 10 мс порты снова обнуляются.

Отметим одно важное свойство: с одним и тем же файлом параллельно могут работать несколько процессов.

Программирование

В этом параграфе рассмотрим некоторые особенности и сложности работы с SCL файлами при работе с интегрированной средой MPLAB.

Подключение программы SCL к симулятору

После того, как программа генерации входных сигналов написана, нам нужно ее подключить. Для этого нужно (действия для версии MPLAB 8.xx):

Сложности отладки

Работая с SCL-файлами, желательно, чтобы на виду было рабочее окно «Output» с открытой вкладкой «MPLAB SIM». Все сообщения об ошибках, а также вся отладочная информация, формируемая самим SCL-скриптом (print и report) будут выводиться в это окно. Чем нам MPLAB IDE помогает при отладке? Во-первых, он обеспечивает подсветку синтаксиса для файлов SCL, что позволяет избежать некоторых малозаметных помарок. Во-вторых, при прикреплении SCL-файла в окно «Output» выводится информация с номером строки, содержащей ошибку, и тип ошибки (здесь он довольно скуп на сообщения и чаще всего пишет «syntax error»); кроме того, двойным щелчком мышки по сообщению в окне «Output» мы попадаем на строку с ошибкой в исходном файле.

Я бы рекомендовал подключать файл SCL еще на начальном этапе программирования. Т.е., сначала создаем пустой файл:

потом подключаем его по описанному выше алгоритму, убеждаемся, что он подключился (в окне Output должно появиться сообщение «Stimulus: SCL file attached successfully.»). Теперь можно писать SCL-скрипт, причем для проверки того, что все написано правильно уже не нужно делать «Detach/Attach», а достаточно всего лишь нажать кнопку F6 (Reset при отладке). По этой кнопке файл SCL автоматически перезагружается и проходит повторную проверку. В окне Output будут появляться сообщения об ошибках, если они есть, или ничего не будет появляться, если ошибок нет. (Когда ничего не появляется, это несколько настораживает, поэтому я во все свои SCL-скрипты встраиваю такой процесс:

Если нет ошибок, то по нажатию F6 в окне Output будет появляться надпись «SCL-file loaded OK.»)

Недостаток операторов

Во-первых, у нас нет возможности использовать сложные выражения в условных операторах. Мы не можем написать:

Нам придется делать вложенные условия:

Это немного усложняет структуру программы, т.к. появляется очень много операторных блоков.

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

Примерно так же решается задача сдвига с извлечением младшего бита:

Доступ к регистрам контроллера

Во время выполнения SCL-скрипта у нас есть возможность обращаться к регистрам контроллера. Мы можем получить текущее значения программно счетчика, значение регистра FSR, значения таймеров, регистров управления модулем CCP и т.д. Здесь я особо глубоко исследования не проводил. Но с сожалением должен заметить, что не все регистры можно прочитать. Например, на это:

парсер ругается «Type error in assignment». В то время как значения остальных регистров прочитать таким образом удается. (Также не читаются TRISx, TXREG и еще некоторые периферийные регистры). В принципе, это не страшно, т.к., во-первых, операция чтения регистра PORTA довольно редкая, а во-вторых, ее можно заменить побитовым заполнением:

Встроенный в MPLAB симулятор сам накладывает кое-какие ограничения. Их поиском я не занимался, а когда и натыкался на них, то старался обходить, при этом, к сожалению, не отмечая для себя на будущее. По отзывам с форума на microchip.com есть ограничения на стимуляцию регистров АЦП для dsPIC’ов, но я лично не проверял.

Примеры

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

Генератор 1 KHz

В результате работы данного скрипта мы получим такой сигнал на входе RB0:

Язык конфигурации подстанции scl

Можем его немного усложнить, добавив управление из самой отлаживаемой программы:

Теперь в программе для микроконтроллера, устанавливая порт RB1 в «1», мы включаем генерацию на RB0 из SCL-скрипта. Для примера была написана небольшая программа, которая формирует на выводе RB1 меандр частотой 50 Гц для управления генератором. На графике видно, что как только на RB1 появляется «1», скрипт начинает генерировать на вход RB0 меандр частотой 1 КГц.

Язык конфигурации подстанции scl

Генератор программного UART

Большинство контроллеров PIC младшего и среднего семейства имеют на борту всего один аппаратный USART-модуль, но часто бывает нужно управлять двумя и более устройствами посредством этого интерфейса. При отладке программы хорошо бы убедиться в том, что прораммный UART-приемник работает корректно. Вот пример скрипта, который генерирует на вход ПИКу сигнал UART. Скорость выбирается пользователем (по умолчанию 9600), данные берутся из файла.

Пример исходного файла data_uart.txt:

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

Для синхронизации служит общая переменная UART_Work. Когда она = 0, процесс отправки байта свободен. Для отправки байта головной процесс должен подготовить данные для отправки (записать нужное значение в UART_Data), а потом установить UART_Work в «1», тем самым сообщив процессу отправки, что можно начинать работать. Процесс отправки сам обнулит эту переменную, когда байт будет полностью передан, сообщем тем самым основному процессу, что передатчик вновь свободен.

Ниже приведен график генерируемого сигнала. На нем отчетливо видно, что данные передаются двумя пакетами с интервалом 3 мс.

Язык конфигурации подстанции scl

Генератор аналогового сигнала

Симулятор в интегрированной среде MPLAB IDE не позволяет имитировать разные уровни напряжения на аналоговых входах. Однако он позволяет симулировать регистры ADRESH и ADRESL напрямую. Этим мы можем воспользоваться для имитации аналоговых сигналов.

Ниже приведен пример, который будет заполнять регистры ADRESH:ADRESL значениями из файла. Это будет происходить в тот момент, когда программа будет обращаться к АЦП. Это пример является только демонстрацией необходимых действия для формирования регитсров ADRES, он не подходит для практического применения, поскольку входные данные синхронизированы только с обращениями программы к АЦП. Т.е. если обращений не будет, то и сигналы формироваться не будут (или другими словами: когда бы мы не обратились к АЦП, мы всегда прочитаем один и тот же сигнал). На практике такое не встречается.

Генератор DTMF

Итак, как уже было сказано, для практического применения предыдущий пример не очень подходит. Представьте, что нам нужно оцифровать и распознать DTMF сигнал. Для этого нам нужно точно вымерять моменты обращения к АЦП, а если скрипт синхронизирован только с самим обращением, то он будет работать при любых условиях. В новом примере мы создадим реальную модель аналогового сигнала, по которой уже можно будет отлаживать программу.

Скрипт будет состоять из 4-х процессов:

(Примечание: еще добавлены пятый процесс, в который для удобства вынесены объявления глобальных переменных, и шестой, который содержит строку «SCL loaded OK!»)

Формат файла «data_dtmf.txt»

freq Генерировать синус частоты f на канале c (c = 1 или 2) stop остановить генерацию (отключает оба канала) duration задать длительность тонов (по умолчанию 100 мс) pause

задать паузу между тонами (по умолчанию 100 мс) level задать уровень сигнала от 0% до 100% (по умолчанию 100%)

Также допускается использование комментариев

Пример рабочего файла:

Вот отчет его обработки:

Текст скрипта

Наконец, сам скрипт:

(файл с таблицей синуса прилагается sinus.rar)

Ниже приведен фрагмент графика сигнала, сформированного данным скриптом для команды «1» (697 Гц + 1209 Гц): Язык конфигурации подстанции scl

Заключение

Виктор Тимофеев, ноябрь, 2009
osa@pic24.ru

Источник

ГОСТ Р МЭК 61850-6-2009
Сети и системы связи на подстанциях. Часть 6. Язык описания конфигурации для связи между интеллектуальными электронными устройствами на электрических подстанциях

Язык конфигурации подстанции scl

Купить ГОСТ Р МЭК 61850-6-2009 — бумажный документ с голограммой и синими печатями. подробнее

Распространяем нормативную документацию с 1999 года. Пробиваем чеки, платим налоги, принимаем к оплате все законные формы платежей без дополнительных процентов. Наши клиенты защищены Законом. ООО «ЦНТИ Нормоконтроль»

Наши цены ниже, чем в других местах, потому что мы работаем напрямую с поставщиками документов.

Способы доставки

Оглавление

1 Область применения

2 Нормативные ссылки

3 Термины и определения

5 Предполагаемый процесс разработки и проектирования с использованием языка SCL

6 Объектная модель SCL

6.2 Модель подстанции

6.3 Модель продукта (IED-устройство)

6.4 Модель системы связи

6.5 Моделирование резервирования

7 Типы файлов описания на языке SCL

8.1 Метод спецификации

8.2 Расширения языка SCL

8.3 Общая структура

8.4 Обозначение объекта и сигнала

9 Элементы синтаксиса языка SCL

9.2 Описание подстанции

9.3 Описание IED-устройства

9.4 Описание системы связи

9.5 Шаблоны типа данных

Приложение А (обязательное) Синтаксис языка SCL: определение XML schema

А.2 Синтаксис Substation

А.3 Шаблоны типа данных

А.4 Возможности и структура IED-устройства

А.6 Основной язык SCL

Приложение С (справочное) Примеры расширения синтаксиса

С.1 Синтаксис расширения для координат разметки чертежей

С.2 Синтаксис расширения для технического обслуживания

Приложение D (справочное) Пример

D.1 Пример спецификации

D.2 Пример содержимого файла SCL

Приложение Е (справочное) Определение XML schema вариантов языка SCL

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов ссылочным национальным стандартам Российской Федерации

Дата введения01.01.2011
Добавлен в базу01.09.2013
Актуализация01.02.2020

Этот ГОСТ находится в:

Организации:

Communication networks and systems in substations. Part 6. Configuration description language for communication in electrical substations related to IEDs

Чтобы бесплатно скачать этот документ в формате PDF, поддержите наш сайт и нажмите кнопку:

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

ГОСТ Р мэк

61850-6—

СЕТИ И СИСТЕМЫ СВЯЗИ НА ПОДСТАНЦИЯХ

Язык описания конфигурации для связи между интеллектуальными электронными устройствами на электрических подстанциях

IEC 61850-6:2004 Communication networks and systems in substations —

Part 6: Configuration description language for communication in electrical substations related to lEDs

Предисловие

Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. № 184-ФЗ «О техническом регулировании», а правила применения национальных стандартов Российской Федерации — ГОСТ Р 1.0 — 2004 «Стандартизация в Российской Федерации. Основные положения»

Сведения о стандарте

1 ПОДГОТОВЛЕН ОАО «Научно-технический центр электроэнергетики» на основе собственного аутентичного перевода на русский язык указанного в пункте 4 международного стандарта, который выполнен ООО «ЭКСПЕРТЭНЕРГО»

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 396 «Автоматика и телемеханика»

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 15 декабря 2009 г. № 850-ст

4 Настоящий стандарт идентичен международному стандарту МЭК 61850-6:2004 «Сети и системы связи на подстанциях. Часть 6. Язык описания конфигурации для связи между интеллектуальными электронными устройствами на электрических подстанциях (IEC 61850-6:2004 «Communication networks and systems in substations — Part 6: Configuration description language for communication in electrical substations related to lEDs»)

При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты, сведения о которых приведены в дополнительном приложении ДА

6 Обращаем внимание на возможность того, что некоторые из элементов настоящего стандарта могут быть предметом патентных прав. МЭК не несет ответственности за идентификацию любого или всехтаких патентных прав

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

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

использована функциональная структура согласно МЭК 61346-1, а кодировка обозначения должна соответствовать МЭК 61346-2. В то же время для структуры обозначений IED-устройств должны быть использованы структура продукта согласно МЭК 61346-1 и коды для наименования согласно МЭК 61346-2.

В пределах каждой структуры почти всех объектов язык SCL предусматривает возможность использования двух видов обозначений:

— имя используется как технический ключ (или его иерархическая часть) для обозначения объекта. Каждый объект в иерархии имеет атрибут name (имя), который однозначно идентифицирует его на данном уровне иерархии. Технические ключи используют в технической документации для построения и обслуживания системы или для автоматической обработки информации, связанной с процессом проектирования и разработки. Язык SCL также использует это обозначение для описания связей между различными объектами модели. В данном случае атрибут, содержащий ссылку, если это возможно, получает имя в виде Name, например daName для ссылки на атрибут DATA. Это имя в большей степени идентично тому, что называется именем в МЭК 61850-7-2;

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

Примечание — Атрибут desc в языке SCL используется в процессе проектирования и разработки и определяет функциональный объект на его иерархическом уровне. Для описания данных согласно серии стандартов МЭК 61850 используется атрибут d объекта DATA, который может быть также считан в режиме онлайн. Содержимое атрибутов desc может использоваться для генерации специфичного для данного проекта (SCD) d-текста из шаблона d-текста (ICD). Однако это не является объектом стандартизации.

Согласно МЭК 61850-7-2 ссылка в языке SCL является уникальной идентификацией объекта, в качестве составного имени которой используется конкатенация всех имен более высоких иерархических уровней, вплоть до уровня объекта. В пределах однолинейной схемы соединения первичного оборудования составное имя задается явным образом. В других ссылках оно используется неявным образом, то есть указываются только отсутствующие части имени. При формировании имен согласно МЭК 61850-7-2 также используется термин instance (экземпляр), в сокращенной форме inst. Эта часть имени по МЭК 61850-7-2 обеспечивает на данном уровне уникальность полного имени (см. примеры в 8.4).

В следующих разделах приводятся описание различных частей модели, их назначение и соответствующее использование. Атрибуты объекта упоминаются, только если это необходимо для понимания модели. Описание дополнительных атрибутов объекта приведено далее при определении языка SCL. Дальнейшая информация по модели серии стандартов МЭК 61850-7 детально представлена в МЭК 61850-7-1 и МЭК 61850-7-2 и поэтому в настоящем стандарте не приведена. Однако модель функциональности первичного оборудования приведена только в настоящем стандарте, и поэтому она описана в объеме, необходимом для использования в пределах настоящего стандарта.

Рисунок 3 — Пример конфигурации

6.2 Модель подстанции

Модель подстанции (верхняя часть рисунка 2) представляет собой объект, иерархически построенный на функциональной структуре подстанции. Хотя каждый объект вполне автономен, обозначение его ссылки является производным места, которое он занимает в иерархии. Так как LN выполняют функции в законченном контексте подстанции, они могут присоединяться как функциональные объекты на каждом уровне функции подстанции. Как правило, LN контроллера выключателя подключается к коммутирующему устройству; измерительный LN подключается к присоединению, которое поставляет измеряемые значения; LN, связанные с трансформатором, подключаются к соответствующему трансформатору.

Примечание1 — В CIM-модели выводам основных устройств назначаются измеряемые значения. Однако это является топологическим размещением, тогда как размещение на языке SCL в первую очередь служит функциональному присвоению имен. В то же время, если однолинейная топология полностью смоделирована через трансформаторы напряжения VTR и тока CTR и относящиеся к ним узлы сбора данных (TVTR, TCTR), в топологии может быть также найден терминал некоего первичного устройства, которому в соответствии с СIM-моделью принадлежат измеряемые значения.

Назначение модели подстанции:

— соотнесение LN и его функции с функцией подстанции (компонентом подстанции или оборудования либо подразрядом оборудования);

— выведение функционального обозначения LN из структуры подстанции.

В модели SCL, аналоге CIM-модели для систем управления производством и распределением электроэнергии, используют следующие объекты подстанции, составляющие (в иерархическом порядке) ее функциональную структуру (дополнительная информация по этим терминам — в МЭК 61850-2).

Substation (подстанция) — Объект, идентифицирующий подстанцию в целом.

VoltageLevel (уровень напряжения) — Идентифицируемая, электрически соединенная часть подстанции, имеющая одинаковый уровень напряжения.

Вау (присоединение) — Идентифицируемый компонент или подфункция распределительного устройства (подстанции) в пределах одного уровня напряжения.

Equipment (оборудование) — Аппаратные устройства в пределах распределительного устройства (например, выключатель, разъединитель, трансформатор напряжения, обмотки силового трансфор-

ГОСТ Р МЭК 61850-6—2009

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

SubEquipment (подразряд оборудования) — Компонент оборудования, например, к нему можно отнести одну фазу трехфазного оборудования.

ConnectivityNode (узел связи) — Объект узла связи (электрической), соединяющий различные основные устройства. Типичными примерами узла связи могут быть соединительные узлы в пределах присоединения; сборные шины, соединяющие несколько присоединений на одном уровне напряжения; присоединения, соединяющие электрические линии в различных подстанциях. Также см. выше определение Equipment (оборудование).

Terminal (вывод) — Точка электрического соединения основных аппаратных устройств на уровне однолинейной схемы. Вывод может быть соединен с узлом ConnectivityNode. ЯзыкSCL может использовать как явные, так и неявные имена выводов.

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

Примечание 2 — Следует обратить внимание на то, что иерархическая структура применяется в основном для функциональных обозначений. Если необходимы подструктуры присоединений, их можно ввести через имена соответствующих присоединений. Если, например, присоединение В1 структурно включает подгруппы присоединений SB1 и SB2, в SCL-модели это может привести к созданию двух присоединений, называемых B1.SB1 и B1.SB2. Если на уровне структуры В1 дополнительно присоединяются LN, тогда В1 может быть введено как третье присоединение.

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

6.3 Модель продукта (IED-устройство)

Продукты, состоящие из аппаратных или программных средств, реализуют функции первичного оборудования. Область применения языка SCL со стороны продукта распространяется только на аппаратные средства, называемые IED-устройствами, которые формируют систему автоматизации подстанции, поэтому модель ограничена упомянутыми устройствами. Первичное оборудование как продукт выходит за пределы области применения языка SCL. В целях функционального наименования (functional naming) в структуре подстанции моделируется только функциональная сторона первичного оборудования.

IED-устройство — Устройство автоматизации подстанции, выполняющее через LN функции системы автоматизации. С другими IED-устройствами в составе системы автоматизации оно обычно связывается через систему связи.

Server (Сервер) — Связующий объект в IED-устройстве согласно серии стандартов МЭК 61850-7. Через систему связи и ее единственную точку доступа он обеспечивает доступ к данным LD и LN, содержащихся в сервере.

LDevice (логическое устройство) — LD согласно МЭК 61850-7-2, которое находится в сервере IED-устройства.

LNode (логический узел) — Реализация LN согласно МЭК 61850-5 и МЭК 61850-7-2, которая осуществлена в LD IED-устройства. LN содержит данные (DO), которые запрашивают другие LN, и для выполнения своих функций сам может нуждаться в DO, которые содержат другие LN. Предлагаемые DO (возможности сервера) описаны на языке SCL. Необходимые DO (LN на стороне клиента) определяются посредством реализации функции LN и поэтому сконфигурированы с помощью соответствующего средства конфигурации IED-устройств инженером, который планирует систему. Язык SCL позволяет также выполнить их описание, что позволяет на уровне данных моделировать поток данных, передаваемых между LN.

DO — Данные, содержащиеся в LN, согласно серии стандартов МЭК 61850-7.

Примечание — На рисунке 2 показан объект LN со своим классом LNode. Ссылки или представление экземпляров LN могут выполняться в языке SCL двумя способами. Элемент LNode резидентно находится в структуре подстанции, а элемент LN — в структуре IED-устройства.

Кроме того, в настоящем стандарте дополнительно представлены следующие функции IED-устройств:

— функция маршрутизатора на IED-устройстве. Это функция сети связи, поэтому она описана в 6.4;

— функция часов для указания на размещение в подсети главных часов.

6.4 Модель системы связи

В отличие от других моделей модель системы связи не является иерархической. Через точки доступа она моделирует логически возможные соединения IED-устройств в подсетях и через подсети. На данном уровне описания подсеть видится только как соединительный узел между точками доступа, а не как физическая структура. LD или клиент IED-устройства присоединяются к подсети через точку доступа, которая может быть физическим портом или логическим адресом (сервером) IED-устройства. LN клиента используют атрибут адреса точки доступа для создания ассоциаций с серверами на других IED-устройствах относительно LN, содержащихся в LD этих IED-устройств.

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

Subnetwork (подсеть) — Соединительный узел для прямой (на уровне канала) связи между точками доступа. Он может содержать функцию фильтрации телеграмм на уровне моста, но не имеет функции маршрутизации на уровне сети. Все точки доступа, подключенные к подсети, могут связываться со всеми другими точками в той же подсети с тем же протоколом. На уровне SCSM могут быть заданы соответствующие ограничения, например, если стек реализует метод доступа к шине с конфигурацией master—slave (ведущий—ведомый). Подсеть в данном контексте является логическим понятием. Несколько логических подсетей с различными протоколами верхнего уровня могут, например, использоваться на одной и той же физической шине, что позволяет смешивать протоколы верхнего уровня на одном физическом (более низком) уровне.

Access point (точка доступа) — Коммуникационная точка доступа логического устройства (устройств) IED к подсети. На данном уровне логического моделирования имеется в лучшем случае одно соединение между LD и подсетью. Точка доступа может, однако, обслуживать несколько LD, a LN, размещенные в LD, могут использовать несколько точек доступа как клиенты для соединения с различными подсетями. Как правило, LN контроллера выключателя может получать данные с технологической шины (МЭК 61850-9-1, МЭК 61850-9-2) как клиент и предоставлять данные на шину обмена между присоединениями (МЭК 61850-8-1) как сервер. По терминологии серии стандартов МЭК 61850-7 точка доступа может использоваться сервером, клиентом или тем и другим. Кроме того, одна и та же (логическая) точка доступа может поддерживать различные физические порты доступа, например соединение Ethernet и последовательное соединение на основе РРР (Point-to-Point Protocol) с точкой доступа на том же верхнем уровне (TCP/IP) и стем же сервером.

Router (маршрутизатор) — Обычно клиенты, присоединенные к подсети, имеют доступ только к серверам, присоединенным к этой подсети. Функция маршрутизатора расширяет доступ к серверам, присоединенным к другой подсети в другой точке доступа того IED-устройства, которое служит хостом для функции маршрутизатора. Однако маршрутизатор ограничивает доступ к сервисам, использующим сетевой уровень, который не могут пересекать все остальные сервисы, например GSE (genericsubstation event— общее событие на подстанции), выборочные значения и сообщения синхронизации точного времени.

Clock (часы) — Главные часы в данной подсети, которые служат для синхронизации внутренних часов всех IED-устройств, присоединенных к этой подсети.

Маршрутизаторы и часы присоединены к подсети через соответствующие точки доступа.

6.5 Моделирование резервирования

Для повышения безопасности или готовности системы на разных ее уровнях может быть введено резервирование.

— Внутреннее резервирование IED-устройства. Этот вопрос выходит за рамки серии стандартов МЭК 61850 и, следовательно, не описывается на языке SCL. Резервирование скрыто в аппаратно-программной (HW/SW) части IED-устройства и внешне проявляется только при возникновении сообщения об ошибке в случае какой-либо неисправности. Для индикации этих ошибок может потребоваться введение данных, специфичных для IED-устройства.

— Резервирование на уровне системы связи. Оно лежит ниже уровня, описанного в основном языке SCL. Даже если система связи дублируется, но находится ниже уровня адресации, предоставляемой для

логической точки доступа, этот случай выходит за пределы области применения языка SCL. Если вопрос резервирования возникает при отображении стека, должны быть указаны дополнительные параметры, специфичные для уровня SCSM. При их отсутствии (если необходимо) может быть введен набор частных параметров Р, например, в точках доступа. Из-за частной природы параметров резервирование на их основе может оказаться неуспешным для IED-устройств разных изготовителей. Типичным примером является сеть Ethernet с кольцевой топологией на основе коммутаторов. Она обеспечивает резервирование при отказе одного коммутатора в кольце, однако ее не видно в файле SCD.

— Резервирование на уровне приложения. Оно моделируется на языке SCL. Типичным примером является основное и резервное IED-устройство релейной защиты (названные условно защита магистрального провода 1 и магистрального провода 2). Каждый экземпляр IED, обеспечивающий резервирование приложения, явным образом смоделирован и имеет собственное имя. В файле SCD также моделируются любые дополнительные подсети связи, представленные явным образом. Любую координацию резервных функций выполняют LN, которые реализуют эти функции.

7 Типы файлов описания на языке SCL

Файлы языка SCL служат для обмена данными между различными средствами управления конфигурацией — возможно, от разных изготовителей. Обмен данными на языке SCL решает по меньшей мере четыре различные задачи, поэтому для обмена информацией между средствами программирования применяют четыре вида файлов SCL с различными расширениями. В то же время содержимое каждого файла должно подчиняться правилам языка конфигурации подстанции SCL, которые определены в разделе 8 настоящего стандарта. Каждый файл должен содержать указание на версию и номер версии, что позволит различать различные версии одного и того же файла. Это значит, что каждое средство программирования должно хранить информацию о версии и номере ревизии последнего экспортированного файла или снова считывать последний имеющийся файл, чтобы определить его версию.

Примечание — Версия идентифицирует версии файла SCL, а не версии моделей данных, применяемые со средством программирования. Версии моделей данных определяются средствами программирования.

Различают следующие типы файлов SCL:

Файл MCD для описания возможностей IED-устройства (IED Capability Description)

Передача данных из средств управления конфигурацией IED-устройства в средства управления конфигурированием системы (соответствует перечислениям Ь) и с) в разделе 5). Этот файл описывает возможности IED-устройства. Он должен содержать ровно одну IED-секцию (раздел) для того IED-устрой-ства, возможности которого описываются. Имя IED должно представлять собой шаблон (TEMPLATE). Кроме того, файл должен содержать необходимые шаблоны типов данных, включая определения типов LN, и может содержать дополнительную секцию Substation, где имя подстанции должно представлять собой шаблон. Если задан шаблон подстанции, привязка экземпляров LN к основному оборудованию указывает на предопределенную функциональность. Любая подстанция, в которой используется это IED-устройство, должна согласовываться с соответствующей топологической частью подстанции (например: LN CSWI, привязанному к оборудованию типа CBR, разрешено только управление выключателем; CILO, привязанный к разъединителю, реализует соответствующую логику блокировки). Может существовать дополнительная секция Communication, определяющая по умолчанию возможные адреса для IED-устройства.

Файл *.SSD для описания системной спецификации (System Specification Description)

Передача данных из утилиты системной спецификации в средства конфигурирования системы. Этот файл описывает однолинейную схему подстанции и необходимые LN. Он должен содержать секцию описания подстанции, необходимые шаблоны типа данных и определения типов LN. Если LN, размещенные в секции Substation, еще не размещены в IED-устройстве, ссылка на IED-имя (значение атрибута iedName для элемента LNode) должна быть None (отсутствует). Если LN в секции Substation не привязан к IED-устройству, а также не имеет заданного типа, то в соответствии с МЭК 61850-7-4 определяется только обязательная часть этого LN. Если часть SA-системы уже известна, она может дополнительно размещаться в секциях IED и Communication.

Файл *.SCD для описания конфигурации подстанции (Substation Configuration Description)

Передача данных из средств управления конфигурацией системы в средства управления конфигурацией IED-устройства (соответствует перечислениям d) и е) в разделе 5). Этот файл содержит все IED-устройства, секцию конфигурации связи и секцию описания подстанции.

Файл *.СЮ для описания сконфигурированного IED-устройства (Configured IED Description)

Передача данных из средств управления конфигурацией IED-устройства в IED-устройство. Описывает инстанцируемые IED-устройства в рамках проекта. Секция Communication содержит текущий адрес IED-устройства. Может существовать секция Substation, относящаяся к данному IED-устройству, тогда значения ее имени должны быть назначены в соответствии с именами, специфичными для проекта. Это файл SCD, который может быть разобран до уровня, известного рассматриваемому IED-устройству. Если применяется сжатие, предпочтение должно быть отдано методам, соответствующим RFC 1952.

Более формальное определение большинства ограничений для данных частей приводится в синтаксисе XML schema в приложении F. Следует обратить внимание на то, что в схеме могут быть описаны не все ограничения в отношении имен IED-устройств и подстанции, упомянутые выше. Чтобы понять элементы, из которых состоит схема, необходимо обратиться к разделам 8 и 9 настоящего стандарта. Вместе с тем следует обратить внимание на то, что это формальное определение дается исключительно в информационных целях и не относится к нормативному определению языка SCL. Кроме того, в схеме могут быть описаны не все упомянутые выше ограничения в отношении имен IED-устройства и подстанции.

IED-устройство, которое, как считается, реализует сервер в соответствии с серией стандартов МЭК 61850, должно сопровождаться файлом ICD или специальной утилитой, способной генерировать файл ICD. Оно может использовать файл SCD, сопровождаемый соответственно утилитой, которая может использовать файл SCD для конфигурирования коммуникационной части IED-устройства из этого файла SCD сучетом ограничений, заявленных в файле ICD.

8 Язык SCL

8.1 Метод спецификации

Язык SCL создан на основе языка XML (см. [10] — [14]).

Определение его синтаксиса описано как W3C XML schema. В остальных разделах приведено определение соответствующей XML schema для языка SCL и объяснено ее использование в тексте с иллюстрированием подходящими (неполными) примерами использования объявленных специальных возможностей. Также предъявлены дополнительные письменные требования, ограничения и отношения к объектной модели, которая должна использоваться или проверяться путем считывания приложения или построения файла SCL. Полное нормативное определение XML schema приведено в приложении А. В приложении А также приведено формальное определение тех ограничений, которые легко формулируются в XML schema. Ограничения в отношении объектной модели, которые отсутствуют или не могут быть легко сформулированы в XML schema, дополнительно описаны в соответствующих разделах.

Чтобы сохранить синтаксис сжатым и расширяемым, по необходимости применяют типовые средства XML schema, тем самым вводится структура наследования элементов схемы. Структура наследования основных элементов языка SCL показана на рисунке 4 в виде схемы UML. Схемы UML могут также показывать отношения включения между элементами языка SCL. Следует иметь в виду, что эти отношения являются отношениями между элементами языка SCL, а не между объектами, представленными элементами и показанными на рисунке 2. Тем не менее была сделана попытка сохранить отношения элементов XML настолько близкими к отношениям объекта, насколько это возможно.

В схеме используются следующие соглашения в отношении присваивания имен:

— имена типов схемы начинаются со строчной буквы t (например, tSubstation);

— определения группы атрибутов начинаются с акронима ад (например, agAuthorization);

— имена атрибутов начинаются со строчной буквы (нижний регистр клавиатуры) (например, name);

— имена элементов начинаются с прописной буквы (верхний регистр клавиатуры) (например, Substation).

Почти все элементы языка SCL являются производными от базового типа tBaseElement (см., например, рисунок 4), что позволяет добавлять к элементу пояснительный текст Text и секции Private частный. Он также позволяет добавлять дополнительные подразряды элементов и атрибуты из других пространств имен (иных, чем целевое пространство имен http://www.iec.ch/61850/2003/SCL)—такие элементы, однако, должны сначала появиться среди всех подразрядов элементов. Это позволяет легко выполнить расширения модели, в том числе частные.

Имеется следующий уровень типов элементов, базирующихся на tBaseElement:

— tUnNaming добавляет дополнительный атрибут описания desc;

— tNaming добавляет дополнительный атрибут описания desc и обязательный атрибут имени name;

— tIDNaming добавляет атрибут описания desc и обязательный атрибут идентификатора id.

Во всехпредыдущихтипахбеэсявляется нормализованной строкой XML (XML normalizedString), то есть строкой, не содержащей управляющих символов возврата каретки, перевода строки или символа табуляции. Его значением по умолчанию является пустая строка. Атрибуты name и id относятся к типу tName, то есть являются также строками, не содержащими управляющих символов возврата каретки, перевода строки или символа табуляции, но они не могут оставаться пустыми.

Созданные отношения наследования для объектов энергосистемы показаны на схеме UML (см. рисунок^. В связи с отношениями наследования атрибутов или групп атрибутов при определении элемента непосредственно определяются не все атрибуты. Тем не менее в последующих разделахтакже содержится описание наследуемых атрибутов (возможно, со ссылкой на предыдущее описание).

Для улучшения сегментации и многократного использования вся схема SCL разделена на несколько файлов, содержащих описания типов (таблица 1).

Таблица 1 — Файлы, входящие в определение XML schema языка SCL

Перечислимые типы, применяемые в XML schema

Источник

Видео

SCL Express. Урок 3. Формирование конфигурации подстанции

SCL Express. Урок 3. Формирование конфигурации подстанции

SCL Express. Урок 1. Установка и настройка

SCL Express. Урок 1. Установка и настройка

SCL 1. Введение и первая программа

SCL 1. Введение и первая программа

Непонятный SCL. Урок 1

Непонятный SCL. Урок 1

Разбор программы написанной на SCL. Tia Portal v16

Разбор программы написанной на SCL. Tia Portal v16

SCL 4. Операторы CASE OF и GOTO

SCL 4. Операторы CASE OF и GOTO

4.6 Эксплуатация ЦПС и их особенности 1

4.6 Эксплуатация ЦПС и их особенности 1

Урок 28. Начнем работать над дизайном. Язык разметки с нуля.

Урок 28. Начнем работать над дизайном. Язык разметки с нуля.

SCL 5. Заключение

SCL 5. Заключение

25.4. Цифровая подстанция. По мотивам Релавэкспо-2019.

25.4. Цифровая подстанция. По мотивам Релавэкспо-2019.
Поделиться или сохранить к себе:
Добавить комментарий

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