Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение С
(справочное)
Сформатированные коды
С.1 Введение
Настоящее приложение определяет протокол обмена данными для доступа к считывающим устройствам в соответствии с настоящим стандартом. Протокол обеспечивает доступ ко всей информации, содержащейся в данном считывающем устройстве. Протокол может рассматриваться на двух уровнях. Первый уровень определяет структуру данных, которая может применяться при различных случаях считывания. Это требует декомпозиции данных в сегменты, такие как каналы, типы данных, регистры и тарифы. Второй уровень определяет содержание категорий, например, что представляет из себя единица измерения, записанная в регистре 0 - киловатт-час (кВт/ч) или кубические метры воды. Были определены восемь различных категорий данных, которые составляют измерительную информацию, а именно: регистр, сезонная информация, вид нагрузки, группа, переменная параметра, расширенная функция и данные об изготовителе. Дополнительная категория зарезервирована для будущих приложений.
Считывание и запись показаний реализуются командами R2/R4 и W2/W4 в режиме программирования в виде программных командных сообщений. Дополнительно исполняемые команды типа запуска сезонного накопления поддерживаются программным командным сообщением Е2. Все форматные команды имеют синтаксис командных сообщений. Чтобы упростить обработку информации в устройстве измерения, метод кодирования использует четырехзначный шестнадцатеричный код, ассоциативную мнемонику и поле данных. В командном сообщении поле кода соответствует набору данных "поле адреса", а поле данных - "полю значения". Мнемоника имеет общее назначение, поскольку она не относится ни к какому специфическому применению, электрическим измерениям, измерениям расхода газа и т.п. Набор мнемоник мог бы быть создан и для определенных применений для ясности, если бы возникла такая потребность. Поле данных отвечает синтаксису для структуры набора данных. Некоторые коды требуют предопределенного формата поля данных. Они внесены в список дополнительно. Раздел С.6 определяет, каким образом схему кодирования применяют в случаях, связанных с измерением электрической энергии. В разделах С.2 - С.5 приведены ссылки только на команды R2 и W2, хотя в большинстве случаев команды R4 или W4 также могли бы использоваться.
С.2 Каналы
Каналы играют особую роль в кодировании. Они обеспечивают связь между первым и вторым уровнями кодирования. Это реализуется посредством определения типов каналов, которые могут иметь неограниченный номер. Тип назначается каждому каналу, используемому в устройстве измерения, будь то вода, газ, теплота или электричество. Тип зависит от данных, хранящихся в этом канале. При назначении каналов устройства измерения их обозначения могут соответствовать или не соответствовать физическим каналам. В случае устройства измерения, которое регистрирует потребление электрической энергии, воды и газа на определенном объекте, обозначения каналов могли бы логически относиться к каждому физическому каналу, что свидетельствует о наличии трех каналов. Но в отдельном электрическом счетчике, где устройство может измерять различные электрические величины в кВт/ч, кВт и , данные могут быть доступны по одному логическому каналу, даже если информация поступает в устройство измерения по различным физическим каналам. Тип канала играет роль только для следующих категорий данных: регистр, сезонная информация, вид нагрузки и группа. Другие категории данных: расширенная функция, переменная, параметр и данные об изготовителе - не требуют спецификации канала и, следовательно, не определяются типом канала, и доступны независимо от этого типа. Следующая диаграмма (рисунок С.1) - это пример использования типов канала.
Рисунок С.1 - Пример использования типов каналов
Каналы 0, 1, 2 и 3 используются для сбора информации относительно потребления газа, воды, тепла и электрической энергии соответственно. Это не означает, что канал 3 всегда определяет электричество или что канал 1 всегда определяет воду. Назначение типа канала является произвольным. Важно, какой тип канала представляет какой его номер.
Типы каналов позволяют дальнейшее расширение в случае, когда требуется новый тип измерений или когда определенный тип не имеет свободных регистров для определения и желателен новый тип измерения. Это может иметь место, когда требуется новый тип электрических измерений, но все регистры доступного типа канала уже были определены. Это также вероятно в случае, когда определяется новый тип канала, при этом вся структура регистров/тарифов также может быть переопределена для лучшего описания применения.
Вместо включения информации о типе канала в идентификационное сообщение поддерживается определенный набор команд категории параметра, которые позволяют пользователю запросить счетчик о том, какой тип канала соответствует какому его номеру.
С.3 Форматное считывание и запись (команды R2, R4, W2 и W4)
Для команд R2 и W2 различные коды обычно могут использоваться для форматного считывания или записи. При использовании для считывания поле данных в команде чтения должно быть оставлено незаполненным, кроме отмеченных случаев. В этом случае круглые скобки "()" должны оставаться, чтобы сохранить целостность протокола. Возвращаемая информация имеет форму информационного сообщения. Устройству измерения не требуется посылать десятичную точку или информацию об устройстве в возвращаемом наборе данных, хотя это является предпочтительным. Если эта информация не включена в возвращаемый набор данных, то должно быть обеспечено условие доступа к этой информации с использованием других, не зависимых от устройства, команд. Метки времени/даты рассматриваются как неотъемлемая часть отдельной записи данных и включаются при вызове записей данных, которые связаны с такой информацией. Они имеют формат (YY-MM-DD) или (YY-MM-DD hh:mm). В этом случае метки времени и даты будут включены как новый "набор данных" в пределах той же "строки данных" следующим образом:
STX0401 (0000.00*kW) (93-12-31 12:53) ЕТХ ВСС
При записи данных, доступных только в категориях регистра, переменной и параметра, форма данных должна быть совместима со структурой набора данных. Когда информация не посылается программирующим устройством явно, принимающее устройство может принять по умолчанию определенные элементы, такие как единицы измерения, десятичные точки или ведущие нули. Запись нулевых значений в некоторую запись данных аналогична очистке или переустановке этой записи. Предпочтительным методом в этом случае является посылка команды записи с незаполненным полем данных "()", которая определена как переустановка адресной информации. Так как предыдущие программирующие данные не рассматриваются как желательные, команды записи, используемые в категориях данных сезонной информации, группы или вида нагрузки, определены как команды очистки.
С.4 Возможности кодирования
Схема кодирования допускает до восьми КАНАЛОВ данных (каждый из которых может иметь различный тип канала), 64 РЕГИСТРА на канал, каждый с четырьмя ТИПАМИ ДАННЫХ и 16 ТАРИФАМИ на один тип. См. пункт по расширению возможностей каналов. Здесь и далее слова, набранные прописными буквами, будут иметь специфические значения, как это определено в настоящем стандарте.
Восемь главных категорий данных показаны ниже со связанными кодовыми областями. Внутри каждой категории данных, когда это возможно, используется дальнейшее разбиение, чтобы создать "изящный" код и сделать возможным создание новых кодов.
Код |
Категория данных |
0ххх |
Регистр |
: |
|
7ххх |
|
8ххх |
Сезон |
9ххх |
Вид нагрузки |
Аххх |
Группа |
Вххх |
Расширенная функция |
Сххх |
Переменная |
Dxxx |
Параметр |
Еххх |
ЗАРЕЗЕРВИРОВАНО |
Fxxx |
Данные об изготовителе |
С.4.1 Категория данных регистра
С.4.1.1 Кодирование регистра (см. рисунок С.2)
Категория данных РЕГИСТРА обеспечивает доступ по чтению и записи ко всем записям измерительных данных, исключая сезонную информацию (хранящуюся в памяти) и данные вида нагрузки.
|
|
Имеются 64 РЕГИСТРА, зарезервированные для каждого КАНАЛА. При использовании поля ТИПА ДАННЫХ каждый РЕГИСТР может интерпретироваться четырьмя различными способами. Законность конкретного ТИПА ДАННЫХ зависит от измеренной информации. Необходимо обратить внимание, что ТИП ДАННЫХ не появляется в мнемонике команды, когда он равен 0. При считывании данных категории РЕГИСТРА установленный код, который был передан к устройству измерения, возвращается от него как поле ИДЕНТИЧНОСТИ (ID) возвращенного набора данных. Это наиболее важно, когда группы регистров читаются в категории группы, чтобы отличить их от индивидуальных регистров. При записи регистров АСК возвращается, только если сообщение было принято и обработано успешно, иначе будет возвращено сообщение об ошибке.
С.4.1.2 Примеры регистров
Код |
Мнемоника |
Данные |
Функция и формат данных |
0000 |
с0_r0_t0 |
- |
Канал 0 Тип 0 Регистр 0 Тариф 0 |
0001 |
c0_r0_t1 |
- |
Канал 0 Тип 0 Регистр 0 Тариф 1 |
0002 |
с0_r0_t2 |
- |
Канал 0 Тип 0 Регистр 0 Тариф 2 |
0003 |
с0_r0_t3 |
- |
Канал 0 Тип 0 Регистр 0 Тариф 3 |
0004 |
с0_r0_t4 |
- |
Канал 0 Тип 0 Регистр 0 Тариф 4 |
0021 |
с0_r2_t1 |
- |
Канал 0 Тип 0 Регистр 2 Тариф 1 |
0022 |
с0_r2_t2 |
- |
Канал 0 Тип 0 Регистр 2 Тариф 2 |
0023 |
с0_r2_t3 |
- |
Канал 0 Тип 0 Регистр 2 Тариф 3 |
0024 |
c0_r2_t4 |
- |
Канал 0 Тип 0 Регистр 2 Тариф 4 |
0010 |
с0_r1_t0 |
- |
Канал 0 Тип 0 Регистр 1 Тариф 0 |
0410 |
c0_t1_r1_t0 |
- |
Канал 0 Тип 0 Регистр 1 Тариф 0 |
0810 |
c0_t2_r1_t0 |
- |
Канал 0 Тип 0 Регистр 1 Тариф 0 |
|
|
|
|
0012 |
c0_r1_t2 |
- |
Канал 0 Тип 0 Регистр 1 Тариф 2 |
0013 |
с0_r1_t3 |
- |
Канал 0 Тип 0 Регистр 1 Тариф 3 |
0014 |
c0_r1_t4 |
- |
Канал 0 Тип 0 Регистр 1 Тариф 4 |
|
|
|
|
0080 |
c0_r8_t0 |
- |
Канал 0 Тип 0 Регистр 8 Тариф 0 |
0081 |
c0_r8_t1 |
- |
Канал 0 Тип 0 Регистр 8 Тариф 1 |
0082 |
c0_r8_t2 |
- |
Канал 0 Тип 0 Регистр 8 Тариф 2 |
0083 |
с0_г8_t3 |
- |
Канал 0 Тип 0 Регистр 8 Тариф 3 |
0084 |
c0_r8_t4 |
- |
Канал 0 Тип 0 Регистр 8 Тариф 4 |
|
|
|
|
1ххх |
|
- |
Канал 1 |
2ххх |
|
- |
Канал 2 |
3ххх |
|
- |
Канал 3 |
4ххх |
|
- |
Канал 4 |
5ххх |
|
- |
Канал 5 |
6ххх |
|
- |
Канал 6 |
7ххх |
|
- |
Канал 7 |
Рисунок С.2 - Диаграмма кодирования регистров
С.4.2 Категория сезонных данных
С.4.2.1 Кодирование сезонной информации
Категория сезонных данных обеспечивает доступ (для чтения) к сезонной информации (хранящейся в памяти) с использованием команды R2 и доступ для очистки с использованием команды W2. Используют те же самые поля, что и в категории данных регистра, но они смещены на одну шестнадцатеричную цифру вправо, вследствие чего тарифный номер определяется в поле данных. Дополнительно поле данных используют, чтобы определить тип доступа и какая сезонная запись (какие сезонные записи) должна(ы) быть адресована(ы). Новейшей или наиболее недавно записанной сезонной записи присваивают сезонный номер 0. При использовании этой схемы кодирования каждая сезонная запись может адресоваться индивидуально или можно получить доступ к группе регистров. В категории сезонных данных поле ИДЕНТИЧНОСТИ (ID), возвращаемое от устройства измерения, состоит из поля кода и данных, которое использовалось в команде чтения. Это приводит к полю ИДЕНТИЧНОСТИ (ID) в восемь цифр. Чтобы сохранить время и память читающего устройства, часть кода поля ИДЕНТИЧНОСТИ не должна повторяться, если она не изменилась с момента последней его посылки. Это означает, что при считывании отдельных сезонных записей возвращаемое поле ИДЕНТИЧНОСТИ будет всегда содержать восемь цифр, но при считывании множественных сезонных записей только первая сезонная запись в пределах блока записей должна содержать поле кода, поскольку код применяют ко всем другим записям в пределах данного блока. См. примеры в С.4.2.2.
При записи (очистке) регистров АСК будет возвращен, только если сообщение было принято и обработано успешно, иначе будет возвращено сообщение об ошибке. Следующий код и описания данных определяют эту схему.
Код (двоичный) | |||||
1000 |
хссс |
хххх |
хххх |
ссс = КАНАЛ |
|
1000 |
хххх |
ddxx |
хххх |
dd = ТИП ДАННЫХ |
|
|
|
|
|
00 = 0 |
|
1000 |
хххх |
ddrr |
rrrr |
01 = 1 |
|
|
|
|
|
10 = 2 |
|
|
|
|
|
11=3 |
|
|
|
|
|
rr rrrr = РЕГИСТР |
|
|
|
|
|
00 0000 = Регистр 0 |
|
|
|
|
|
00 0001 = Регистр 1 |
|
|
|
|
|
00 0010= Регистр 2 |
|
|
|
|
|
: |
|
|
|
|
|
11 1111 = Регистр 63 |
|
|
|
|
|
|
|
Поле данных (двоичных) | |||||
tttt |
хххх |
хххх |
хххх |
tttt = ТАРИФ |
|
хххх |
ssss |
ssss |
хххх |
ssss ssss = номер СЕЗОНА |
|
|
|
|
|
00h = FFh |
|
хххх |
хххх |
хххх |
аааа |
аааа = ДОСТУП |
|
|
|
|
|
|
0000 = Отдельная запись |
|
|
|
|
|
0001 = Все Сезоны |
|
|
|
|
|
0010 = Все Тарифы (и Сезоны) |
|
|
|
|
|
0011 = Все Регистры (Тарифы и Сезоны) |
|
|
|
|
|
0100 = Все Типы (Регистры, Тарифы и Сезоны) |
|
|
|
|
|
0101 = Все Каналы (Типы, Регистры, Тарифы и Сезоны) |
|
|
|
|
|
0110 = ЗАРЕЗЕРВИРОВАН |
|
|
|
|
|
: |
|
|
|
|
|
1111 = ЗАРЕЗЕРВИРОВАН |
Коды ДОСТУПА имеют следующие определения:
- отдельная запись - только указанная сезонная запись будет доступна;
- все сезоны - все сезонные записи для указанной записи будут доступны независимо от номера сезонной записи, используемого в команде;
- все тарифы - все ТАРИФЫ и все сезонные записи для указанного КАНАЛА, РЕГИСТРА и ТИПА ДАННЫХ будут доступны;
- все регистры - все сезонные записи для указанного КАНАЛА и ТИПА ДАННЫХ будут доступны;
- все типы данных - все сезонные записи для указанного КАНАЛА будут доступны;
- все каналы - все сезонные записи будут доступны.
С.4.2.2 Примеры чтения сезонных данных (R2)
Код: |
Мнемоника |
Данные |
Функция и формат данных |
8000 |
c0_r0_t1_m00 |
1000 |
Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 0 |
|
Возвращаемый ID |
80001000 |
(Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 0) |
8000 |
c0_r0_t1_m01 |
1010 |
Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 1 |
|
Возвращаемый ID |
80001010 |
(Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 1) |
8040 |
с0_t1_r0_t1_m01 |
1010 |
Канал 0 Тип 1 Регистр 0 Тариф 1 Сезон 1 |
|
Возвращаемый ID |
80401010 |
(Канал 0 Тип 1 Регистр 0 Тариф 1 Сезон 1) |
8080 |
с0_t2_r0_t1_m01 |
1010 |
Канал 0 Тип 2 Регистр 0 Тариф 1 Сезон 1 |
|
Возвращаемый ID |
0000 |
(Канал 0 Тип 2 Регистр 0 Тариф 1 Сезон 1) |
8000 |
c0_r0_t1_mff |
1FF0 |
Канал 0 Тип 2 Регистр 0 Тариф 1 Сезон 255 |
|
Возвращаемый ID |
80001FF0 |
(Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 255) |
8002 |
с0_r2_t1_m* |
1001 |
Канал 0 Тип 0 Регистр 2 Тариф 1 Все Сезоны |
|
Возвращаемый ID |
80021001 |
(Канал 0 Тип 0 Регистр 2 Тариф 1 Сезон 0) |
|
Ids |
1011 |
(Канал 0 Тип 0 Регистр 2 Тариф 1 Сезон 1) |
|
если присутствуют: |
1021 |
Канал 0 Тип 0 Регистр 2 Тариф 1 Сезон 2) |
|
|
1031 |
Канал 0 Тип 0 Регистр 2 Тариф 1 Сезон 3) |
|
|
1041 |
Канал 0 Тип 0 Регистр 2 Тариф 1 Сезон 4) |
|
|
: |
|
|
|
1FF1 |
Канал 0 Тип 0 Регистр 2 Тариф 1 Сезон 255) |
8000 |
c0_r** 1003 |
Канал 0 |
Все регистры |
|
Возвращаемые Ids |
80000003 |
(Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 0) |
|
если присутствуют: |
0013 |
(Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 1) |
|
|
: |
|
|
|
0FF3 |
(Канал 0 Тип 0 Регистр 0 Тариф 0 Сезон 255) |
|
|
1003 |
(Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 0) |
|
|
: |
|
|
|
1FF3 |
(Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 255) |
|
|
:: |
|
|
|
F003 |
(Канал 0 Тип 0 Регистр 0 Тариф 15 Сезон 0) |
|
|
: |
|
|
|
FFF3 |
(Канал 0 Тип 0 Регистр 0 Тариф 15 Сезон 255) |
|
|
80010003 |
(Канал 0 Тип 0 Регистр 1 Тариф 0 Сезон 0) |
|
|
0013F |
(Канал 0 Тип 0 Регистр 1 Тариф 0 Сезон 1) |
|
|
: |
|
|
|
0FF3 |
(Канал 0 Тип 0 Регистр 1 Тариф 0 Сезон 255) |
|
|
80011003 |
(Канал 0 Тип 0 Регистр 1 Тариф 1 Сезон 0) |
|
|
1013 |
(Канал 0 Тип 0 Регистр 1 Тариф 1 Сезон 1) |
|
|
: |
|
|
|
1FF3 |
(Канал 0 Тип 0 Регистр 1 Тариф 1 Сезон 255) |
|
|
:: |
|
|
|
F003 |
(Канал 0 Тип 0 Регистр 1 Тариф 15 Сезон 0) |
|
|
: |
|
|
|
FFF3 |
(Канал 0 Тип 0 Регистр 1 Тариф 15 Сезон 255) |
|
|
80020003 |
(Канал 0 Тип 0 Регистр 2 Тариф 0 Сезон 0) |
|
|
::: |
|
|
|
80030003 |
(Канал 0 Тип 0 Регистр 3 Тариф 0 Сезон 0) |
|
|
::: |
|
|
|
803F0003 |
(Канал 0 Тип 0 Регистр 63 Тариф 0 Сезон 0) |
|
|
0013 |
(Канал 0 Тип 0 Регистр 63 Тариф 0 Сезон 1) |
|
|
: |
|
|
|
0FF3 |
(Канал 0 Тип 0 Регистр 63 Тариф 0 Сезон 255) |
|
|
:: |
|
|
|
F003 |
(Канал 0 Тип 0 Регистр 63 Тариф 15 Сезон 0) |
|
|
: |
|
|
|
FFF3 |
(Канал 0 Тип 0 Регистр 63 Тариф 15 Сезон 255) |
8001 |
c0_r1_t2_m00 |
2000 |
Канал 0 Тип 0 Регистр 1 Тариф 2 Сезон 0 |
8001 |
c0_r1_t3_m00 |
3000 |
Канал 0 Тип 0 Регистр 1 Тариф 3 Сезон 0 |
8001 |
с0_r1_t4_m00 |
4000 |
Канал 0 Тип 0 Регистр 1 Тариф 4 Сезон 0 |
81хх |
|
|
Канал 1 |
82хх |
|
|
Канал 2 |
83хх |
|
|
Канал 3 |
84хх |
|
|
Канал 4 |
85хх |
|
|
Канал 5 |
86хх |
|
|
Канал 6 |
87хх |
|
|
Канал 7 |
C.4.2.3 Параметры очистки сезонных данных (W2)
|
|
|
|
Код: |
Мнемоника |
Данные |
Функция и формат данных |
8000 |
Er_c0_r0_t1_m00 |
1000 |
Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 0 |
8000 |
er_c0_r0_t1_m01 |
1010 |
Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 1 |
8040 |
er_с0_t1_r0_t1_m01 |
1010 |
Канал 0 Тип 1 Регистр 0 Тариф 1 Сезон 1 |
8000 |
Er_c0_r0_t1_mff |
1FF0 |
Канал 0 Тип 0 Регистр 0 Тариф 1 Сезон 255 |
81хх |
- |
- |
Канал 1 |
82хх |
- |
- |
Канал 2 |
83хх |
- |
- |
Канал 3 |
84хх |
- |
- |
Канал 4 |
85хх |
- |
- |
Канал 5 |
86хх |
- |
- |
Канал 6 |
87хх |
- |
- |
Канал 7 |
8000 |
Er_c0_r0_t1_m* |
1001 |
Канал 0 Тип 0 Регистр 0 Тариф 1 Все сезоны |
8000 |
Er_c0_r0_t* |
0002 |
Канал 0 Тип 0 Регистр 2 Все тарифы |
8000 |
Er_c0_r* |
0003 |
Канал 0 Тип 0 Все регистры |
8000 |
Er_c0_* |
0004 |
Канал 0 Все Типы данных |
8000 |
er_с* |
0005 |
Все каналы |
С.4.3 Категория данных вида нагрузки
С.4.3.1 Кодирование вида нагрузки
Категория данных вида нагрузки позволяет доступ (для чтения) к записям вида нагрузки с использованием команды R2 и очистку записей с использованием команды W2. Эта категория сохраняет возможности вида нагрузки для каждого из 64 доступных РЕГИСТРОВ. Поле кода используют для определения номеров КАНАЛА и РЕГИСТРА. Поле данных используют для определения фактически требуемых записей. Это реализуется за счет задания начальной и конечной даты. При адресации данных вида нагрузки сделано различие между записями данных и записями состояний (статусными записями). В общем случае статусная запись - это любая запись, которая имеет единицы измерения, отличные от единиц регистра, к которому обращаются. Они включают записи времени/даты и записи флага состояний. Используя поле доступа ВИДА НАГРУЗКИ, пользователь может различать эти записи. Кроме того, пользователь может указать, что обращается ко всем РЕГИСТРАМ, независимо от регистра, определенного в команде. Поле кода определено ниже.
Код (двоичный)
1001 |
хссс |
хххх |
хххх |
|
ссс = КАНАЛ |
||
1001 |
хххх |
IIxx |
хххх |
|
II = |
Доступ к ВИДУ НАГРУЗКИ |
|
|
|
|
|
|
|
00 = Данные + Статусная запись только для указанного регистра 01 = Данные + Статусная запись для всех регистров |
|
|
|
|
|
|
|
10 = Записи данных для всех регистров |
|
|
|
|
|
|
|
11 = Статусные записи для всех регистров |
|
1001 |
хххх |
xxrr |
rrrr |
rr |
rrrr = РЕГИСТР |
||
|
|
|
|
|
|
00 0000 = Регистр 0 |
|
|
|
|
|
|
|
00 0001 = Регистр 1 |
|
|
|
|
|
|
|
00 0010 = Регистр 2 |
|
|
|
|
|
|
|
00 0011 = Регистр 3 |
|
|
|
|
|
|
|
: |
|
|
|
|
|
|
|
11 1111 = Регистр 63 |
При определении адресуемых дат поле данных форматируют следующим образом:
YYMMDDyymmdd),
где YYMMDD относится к дате начала, a yymmdd - к дате конца считываемого периода. Когда обе даты одинаковы или определена только дата начала, выбирают одну дату. Дата конца должна быть позже даты начала. День определяют как все записи, сохраненные за период от 00:00:01 до 24:00:00 для любого данного дня. Когда дата не определена, адресуется полный массив вида нагрузки. Это применимо как к считыванию, так и к очистке. Данные вида нагрузки передают в хронологическом порядке, т.е. старейшую запись - первой, а самую новейшую запись - последней.
Чтобы гарантировать однозначную идентифицируемость и интерпретируемость возвращенных записей вида нагрузки, тарифное устройство должно указывать, к какому РЕГИСТРУ относятся записи данных. Например, для устройства с записями вида нагрузки, доступными для РЕГИСТРА 0 и РЕГИСТРА 4, в ответе на команду чтения по всем РЕГИСТРАМ (т.е. 9040) устройство должно указывать, какие записи в возвращенных данных относятся к РЕГИСТРУ 0, а какие к РЕГИСТРУ 4. Кроме того, если записи читаются без временной информации или если считанная информация не позволяет хронологическую реконструкцию записей вида нагрузки, устройство должно включать информационные сообщения, которые позволяют осуществить такую реконструкцию. Эти информационные сообщения имеют формат (YY-MM-DD hh: mm).
Эти требования также применяют при считывании данных вида нагрузки, выполняемой командой.
Необходимо обратить внимание, что только первая запись содержит поле кода из команды чтения.
С.4.3.2 Примеры вида нагрузки
Код |
Мнемоника |
Данные |
Функция и формат данных |
9000 |
с0_r0 |
911201911201 |
Канал 0 Регистр 0 Дата 91-12-1 |
9000 |
с0_r0 |
911201911231 |
Канал 0 Регистр 0 Дата с 91-12-1 по 91-12-3 |
9000 |
с0_r0 |
911202 |
Канал 0 Регистр 0 Дата 91-12-2 |
91хх |
- |
- |
Канал 1 |
92хх |
- |
- |
Канал 2 |
93хх |
- |
- |
Канал 3 |
94хх |
- |
- |
Канал 4 |
95хх |
- |
- |
Канал 5 |
96хх |
- |
- |
Канал 6 |
97хх |
- |
- |
Канал 7 |
9040 |
с0_r* |
930101930131 |
Канал 0 Все регистры Дата с 93-01-01 по 93-01-31 |
|
Возвращаемые регистры, если присутствуют: |
Канал 0 Регистр 0 Канал 0 Регистр 1 Канал 0 Регистр 2 : Канал 0 Регистр 63 |
|
С.4.4 Данные категории группы
С.4.4.1 Кодирование группы
В отличие отданных категории регистра, данные категории группы позволяют доступ к совокупности записей типа регистра вместо отдельных записей. Поддерживается чтение командой R2 и очистка командой W2 группы записей. Пользователь может установить неиспользуемые поля, чтобы указать, с какими совокупностями записей данных он будет работать. Кодирование имеет вид:
Код (двоичный)
1010 |
bbbb |
хххх |
хххх |
bbbb = ГРУППА тип доступа |
|
|
|
|
0000 = Маска неиспользуемых мест регистра |
|
|
|
|
0001 = ЗАРЕЗЕРВИРОВАН |
|
|
|
|
: |
|
|
|
|
1111 = ЗАРЕЗЕРВИРОВАН |
1010 |
0000 |
qqqq |
хххх |
qqqq = индикаторы неиспользуемых мест |
Групповые команды интерпретируют следующим образом. Требуемые записи определяют, используя поле данных. Это поле - просто поле кода, как определено в категории регистра. То есть поле данных всегда определяет единственную определенную информационную запись в памяти устройства измерения. Используемый метод кодирования имеет определенные поля, например КАНАЛ. Каждое из этих полей может быть обозначено как фиксированное или неиспользуемое. Это реализуют с помощью параметров q в коде группы. Начиная слева направо, каждому параметру приписывают бит "q" в неиспользуемых местах поля. Биты назначают следующим образом:
Единица в соответствующей битовой позиции указывает, что поле может принимать все возможные значения. Нуль указывает, что поле фиксировано. Таким образом, неиспользуемые места поля могут быть назначены так, чтобы все регистры КАНАЛА 1 читались или все записи РЕГИСТРА 1 по определенному каналу будут удалены и так далее.
С.4.4.2 Примеры чтения группы (R2)
Код |
Мнемоника |
Данные |
Функция и формат данных |
|
А000 |
gr_с0_r0_t0 |
0000 |
Чтение группы Канал 0 Тип 0 Регистр 0 Тариф 0 |
|
Примечание - Это то же самое, что просто считывание Канал 0 Тип 0 Регистр 0 Тариф 0 в категории Регистра (Код = 0000).
| ||||
А080 |
gr_c*_r0_t0 |
0000 |
Чтение группы Канал* Тип 0 Регистр 0 Тариф 0 |
Эта команда читает по всем восьми КАНАЛАМ все записи с РЕГИСТРОМ 0, ТИПОМ 0 и ТАРИФОМ 0. В этом случае поле данных команды могло бы быть 0000, 1000, 2000 ... 6000 или 7000 и команда по-прежнему имеет то же самое значение. Так как поле канала рассматривают как неиспользуемое, изменение его не имеет никакого значения.
А040 |
gr_*_с0_t0 |
0000 |
Чтение группы Канал 0 Все типы Регистр 0 Тариф 0 |
Эта команда читает по КАНАЛУ 0 все ТИПЫ ДАННЫХ от РЕГИСТРА 0 и ТАРИФА 0. | |||
А020 |
gr_c0_г*_t0 |
0000 |
Чтение группы Канал 0 Тип 0 Регистр* Тариф 0 |
Эта команда читает по КАНАЛУ 0 все РЕГИСТРЫ с ТИПОМ 0 и ТАРИФОМ 0. | |||
А010 |
gr_c0_r0_t* |
0000 |
Чтение группы Канал 0 Тип 0 Регистр 0 Все тарифы |
Эта команда читает все записи по КАНАЛУ 0, ТИП 0, РЕГИСТР 0, независимо от ТАРИФА. |
С.4.4.3 Примеры очистки группы (W2)
|
|
|
|
Код |
Мнемоника |
Данные |
Функция и формат данных |
А010 |
ge_c0_r0_t* |
0000 |
Очистка группы Канал 0 Тип 0 Регистр 0 Тариф* |
Эта команда очищает все ТАРИФЫ, начиная с КАНАЛА 0, ТИПА 0, РЕГИСТРА 0. | |||
A0FF |
ge_* |
0000 |
Очистка группы всех полей |
Эта команда очищает все информационные записи в категории регистра. |
С.4.5 Расширенная функция
Категория расширенной функции резервирует объем в 4 кбайта "страниц" для дальнейшего расширения.
С.4.6 Категория переменных данных
С.4.6.1 Кодирование переменных
Переменные данные включают значения или параметры, которые являются переменными по своей природе и представляют состояние устройства измерения. Они включают такие понятия, как время, дата и количество дней со времени последнего накопления. Формат данных в этой группе определен явно, и ему надо следовать. Некоторые поля данных могут содержать данные переменной длины. Их обозначают следующим за ними (конечным) знаком "+". Если длина данных, полученная устройством измерения не такова, как ожидается, устройство может решить, какое действие предпринять далее, т.е. округление (прерывание), игнорирование, сообщение об ошибке и т.д. В этой группе кодирование не столь "изящно", как в предыдущих категориях.
Код (двоичный)
|
|
|
|
|
|
1100 |
tttt |
хххх |
хххх |
tttt = Переменный ТИП |
|
|
|
|
|
|
0000 = Связанные время и дата |
|
|
|
|
|
0001 = Связанные данные |
|
|
|
|
|
0010 = ЗАРЕЗЕРВИРОВАН |
|
|
|
|
|
: |
|
|
|
|
|
1111 = ЗАРЕЗЕРВИРОВАН |
1100 |
хххх |
vvvv |
vvvv |
vvvv vvvv = ПЕРЕМЕННЫЙ Идентификатор |
С.4.6.2 Примеры переменных данных
|
|
|
|
Код |
Мнемоника |
Данные |
Функция и формат данных |
С000 |
time_date |
yymmddhhmmss |
Время и Дата (десятичные) |
С001 |
time_date_cal |
yymmddhhmmsswwn |
Время, Дата, Неделя и День (десятичные) ww = номер недели (1 - 53), n - День недели (1 = понедельник) |
С002 |
day_season |
ddddss |
Счетчик дней и Номер Сезона dddd = Счетчик дней в днях ss = номер Сезона |
C003 |
time_date_cals |
yymmddhhmmsswwnz |
Время, Дата, Неделя, День и Лето как С001 с z = Флаг летнего времени (1 = активная) |
С004 |
day_count |
d+оr d+.d |
Счетчик дней (десятичное) То есть ddd или ddd.d |
С006 |
last_com_date |
yy-mm-dd hh:mm |
Последний Режим программирования, метки Даты и Времени связи (Время необязательно) |
C100 |
с0_cum_counter |
n+ |
Канал 0 Счетчик накопления (десятичный) |
C107 |
с7_cum_counter |
n+ |
Канал 7 Счетчик накопления (десятичный) |
C110 |
c0_fail_ count |
n+ |
Канал 0 Счетчик отказа питания (десятичный) |
С111 |
c1_fail_ count |
n+ |
Канал 1 Счетчик отказа питания (десятичный) |
C117 |
c7_fail_ count |
n+ |
Канал 7 Счетчик отказа питания (десятичный) |
C120 |
с0 over_count |
n+ |
Канал 0 Счетчик превышений напряжения (десятичный) |
С127 |
c7_over_count |
n+ |
Канал 7 Счетчик превышений напряжения (десятичный) |
С130 |
c0_under_count |
n+ |
Канал 0 Счетчик падений напряжения (десятичный) |
С137 |
c7_under_count |
n+ |
Канал 7 Счетчик падений напряжения (десятичный) |
С140 |
battery_time |
n+ |
Счетчик наработки батареи (десятичный) |
С150 |
error |
n+ |
Код ошибки |
C151 |
rev_run |
n+ |
Флаг реверса |
С.4.7 Категория данных параметра
С.4.7.1 Кодирование данных параметра
Данные параметра включают в себя значения или параметры, которые по своей природе являются статическими и представляют программирование или конфигурацию устройства. Они включают в себя такие параметры, как идентификатор типа канала, идентификационные номера и пароли. Формат данных в этой группе указан явно, и ему надо следовать. Некоторые поля данных могут содержать данные переменной длины. Их обозначают следующим за ними (конечным) знаком плюс "+". Если длина данных, полученная устройством измерения, не такова, как ожидается, устройство может решить, какое действие предпринять далее, то есть округление (прерывание), игнорирование, сообщение об ошибке и т.д. Для предотвращения двусмысленности желательно использовать метод, состоящий в том, чтобы выполнить сначала форматное чтение записи данных для того, чтобы получить ее внутренние размеры.
Код (двоичный) | ||||
1101 |
tttt |
хххх |
хххх |
tttt = Переменный ТИП |
|
|
|
|
0000 = Общие пункты данных |
|
|
|
|
0001 = Коммуникации |
|
|
|
|
0010 = Конфигурация |
|
|
|
|
: |
|
|
|
|
1111 = ЗАРЕЗЕРВИРОВАН |
1100 |
хххх |
рррр |
рррр |
рррр рррр = Идентификатор ПАРАМЕТРА |
С.4.7.2 Примеры данных параметра
|
|
|
|
Код |
Мнемоника |
Данные |
Функция и формат данных |
D000 |
id_1 |
n+ |
Идентификационный номер 1 |
D001 |
id_2 |
n+ |
Идентификационный номер 2 |
: |
|
|
|
D007 |
id_8 |
n+ |
Идентификационный номер 8 |
D00F |
id_par |
n+ |
Установка параметра ID |
D010 |
season1_length |
n+ |
Продолжительность сезона 1 в днях |
: |
|
|
|
D01F |
season16_length |
n+ |
Продолжительность сезона 16 в днях |
D104 |
pass4_1 |
pppp |
4-значный Пароль 1 |
D114 |
pass4_2 |
pppp |
4-значный Пароль 2 |
: |
|
|
|
D174 |
pass4_8 |
pppp |
4-значный Пароль 8 |
D105 |
pass5_1 |
ppppp |
5-значный Пароль 1 |
D106 |
pass6_1 |
pppppp |
6-значный Пароль 1 |
D107 |
pass7_1 |
ppppppp |
7-значный Пароль 1 |
D108 |
pass8_1 |
pppppppp |
8-значный Пароль 1 |
D110 |
Address |
n+ |
32-значный адрес |
D200 |
ctype0 |
n+ |
Тип канала 0 |
D201 |
ctype1 |
n+ |
Тип канала 1 |
D202 |
ctype2 |
n+ |
Тип канала 2 |
D203 |
ctype3 |
n+ |
Тип канала 3 |
С.4.8 Кодирование данных об изготовителе
Каждый изготовитель может использовать эту область в поле кода для своих собственных целей. Изготовитель свободен в отношении способа кодирования и формата данных.
Код (двоичный) | ||||
1111 |
хххх |
хххх |
хххх |
|
С.5 Форматное выполнение (команда Е2)
Форматное выполнение позволяет пользователю запрашивать устройство на выполнение предопределенной функции, типа изменения сезона или холодного старта. Метод кодирования позволяет передавать параметры, используя поле данных. Когда команда не требует никаких параметров, круглые скобки остаются пустыми. Категории кода показаны ниже.
|
|
|
Код |
Категория |
|
Оххх |
Выполнить |
|
Ixxx |
ЗАРЕЗЕРВИРОВАН |
|
: |
|
|
Еххх |
|
|
Fxxx |
Данные об изготовителе |
С.5.1 Кодирование выполнения
Категория выполнения определяет коды, которые обусловливают выполнение устройством определенной функции. Кодирование заключается в следующем:
Код (двоичный) | |||||
0000 |
ssss |
хххх |
хххх |
ssss = Набор выполнения |
|
|
|
|
|
|
0000 = Общие команды |
|
|
|
|
|
0001 = Тестирование/калибровка |
|
|
|
|
|
0010 = ЗАРЕЗЕРВИРОВАН |
|
|
|
|
|
: |
|
|
|
|
|
1111 = ЗАРЕЗЕРВИРОВАН |
1100 |
хххх |
сссс |
сссс |
|
сссс сссс = КОМАНДА Выполнения |
Примеры выполнения
|
|
|
|
Код |
Мнемоника |
Данные |
Функций и формат данных |
0000 |
long_readout |
0000 |
Длинное считывание |
0000 |
short_readout |
0001 |
Короткое считывание |
0000 |
Register_readout |
0002 |
Считывание Регистра |
0000 |
season_readout |
0003 |
Считывание Сезона |
0000 |
Ip_ readout |
0004 |
Считывание Вида нагрузки |
0000 |
var_readout |
0005 |
Считывание Переменных |
0000 |
par_ readout |
0006 |
Считывание Параметра |
0001 |
season_change |
- |
Выполнение изменения Сезона (накопление) |
0002 |
cold_start |
- |
Холодный старт (инициализация) |
0003 |
cum_input_reset |
- |
Нейтрализация входов накопления |
0100 |
rcr_test |
- |
Активизация режима автотестирования |
0101 |
cal_on |
- |
Включение режима калибровки |
0102 |
cal_off |
- |
Выключение режима калибровки |
В приведенных выше примерах определено большое количество различных типов считываний. Они содержат информацию, основанную на следующих пяти областях данных, определенных в этом приложении: регистр, сезон, вид нагрузки, переменная и параметр. Следующий пример указывает, какие категории данных передаются в ответ на какие команды.
Длинное считывание |
Регистр + Сезон + Вид Нагрузки |
Короткое считывание |
Регистр + Сезон |
Считывание регистра |
Регистр |
Считывание сезона |
Сезон |
Считывание вида нагрузки |
Вид Нагрузки |
Считывание переменной |
Переменная |
Параметр |
Параметр |
Длинное считывание соответствует данным, которые должны быть посланы в качестве данных команды "Считывание данных" для счетчика с видом нагрузки. Короткое считывание соответствует данным, которые должны быть посланы в качестве данных команды "Считывание данных" для счетчика без вида нагрузки. При всех считываниях данные, которые посылает счетчик, идентифицируются с использованием форматных кодов, как определено в этом приложении.
Чтобы гарантировать, что считанные данные являются правильными, т.е. вся необходимая информация в них представлена для однозначной идентификации и интерпретации данных, счетчик должен включать запись типа канала для всех представленных каналов. Для электрического счетчика только с одним каналом (канал 0) набор данных "D200(x)" должен быть представлен в считывании, где x представляет обозначение типа канала для электричества.
Например, в счетчике, имеющем каналы газа (канал 1) и тепла (канал 5), набор данных содержал бы идентификацию типа канала "D201(y)" и идентификацию типа канала "D205(z)", где y и z представляют обозначение типа канала для газа и тепла соответственно.
С.5.2 Кодирование данных об изготовителе
Каждый изготовитель может использовать эту область в поле кода для своих собственных целей. Изготовитель свободен в отношении способа кодирования и формата данных.
Код (двоичный) | ||||
1111 |
хххх |
хххх |
хххх |
|
С.6 Измерение электричества. Тип Канала 0
Следующие определения используют для электрических измерений канального типа.
Код (двоичный) | ||||||
0ссс |
хххх |
хххх |
хххх |
ссс = КАНАЛ (000 = канал 0) |
||
0ххх |
ddxx |
хххх |
хххх |
dd = ТИП ДАННЫХ |
||
|
|
|
|
|
00 = Текущее значение = Энергия |
|
|
|
|
|
|
(т.е. Тариф 1 энергии за 1 кВт/ч) |
|
|
|
|
|
|
01 = Объединенный = Потребление |
|
|
|
|
|
|
(т.е. Тариф 1 потребления за 1 кВт) |
|
|
|
|
|
|
10 = Сумма Объединенного = Совокупное потребление |
|
|
|
|
|
|
(т.е. Тариф 1 совокупного потребления за 1 кВт) |
|
|
|
|
|
|
11 = ЗАРЕЗЕРВИРОВАН |
|
0ххх |
xxrr |
rrrr |
хххх |
rr rrrr = РЕГИСТР |
||
|
|
|
|
|
См. ниже |
|
0ххх |
хххх |
хххх |
tttt |
tttt = ТАРИФ |
||
|
|
|
|
|
0000 = Общее Количество |
|
|
|
|
|
|
0001 = Тариф 1 |
|
|
|
|
|
|
0010 = Тариф 2 |
|
|
|
|
|
|
: |
|
|
|
|
|
|
1111 = Тариф 15 |
|
|
|
Кодирование РЕГИСТРА (двоичное): |
При описании в этом параграфе плоскость измерения рассматривают как имеющую две оси - вещественную (А) и мнимую (R). Положительным (+) считают направление направо или вверх, а отрицательным (-) - налево или вниз. Обращение к плоскости измерения происходит при помощи текущего вектора, который расположен на + А половине оси. Вектор мгновенного напряжения используют для определения текущей энергии передатчика, и он имеет фазовый угол относительно текущего вектора. Фазовый угол равен нулю, когда ток и напряжение совпадают, и положителен в счетчике в направлении по часовой стрелке. Четыре квадранта перечисляют от 1 к 4 в направлении против часовой стрелки относительно положительной реальной оси.
Когда вектор, обозначающий мгновенное напряжение относительно мгновенного тока, находится в первом квадранте, +Ai представляет активную, a +Ri - мнимую или реактивную составляющие потребления энергии.
Когда вектор напряжения находится во втором квадранте, -Ас представляет активную, a +Rc - мнимую или реактивную составляющие потребления энергии.
Когда вектор напряжения находится в третьем квадранте, -Ai представляет активную, a -Ri - мнимую или реактивную составляющие потребления энергии.
Когда вектор напряжения находится в четвертом квадранте, + Ас представляет активную, a -Re - мнимую или реактивную составляющие потребления энергии.
Когда вектор напряжения совпадает с +R или -R полуосями, тогда активная составляющая отсутствует, а мнимую или реактивную составляющую потребления энергии рассматривают как аналогичную последней измеренной реактивной составляющей. Следует обратить внимание, что все составляющие измерения - функции времени, и могут быть поэтому обозначены как +Ai (t). Поэтому только уравнения для векторных сумм являются единственными правильными для мгновенных значений. Индивидуальные значения регистра не могут использоваться в более поздней по времени точке для вычисления других общих значений регистра, то есть Регистр-X Osqrt (Регистр- + Регистр-)
Примечание - В отношении вектора напряжения см. ранее.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.