Skip to content
Permalink
Browse files

Create protocol.txt

  • Loading branch information...
directman66 committed Sep 17, 2018
1 parent 7666f25 commit 615562f0379e65f092c807677e1787babb3c5e0d
Showing with 336 additions and 0 deletions.
  1. +336 −0 modules/mercury/protocol.txt
@@ -0,0 +1,336 @@
Команда открытия канала связи со счетчиком:


Код запроса =1h
(1 байт)
Уровень доступа
(1 байт)
Пароль (6 байт)
Например:
01 02 02 02 02 02 02 02


Команды записи.
Код запроса =3h
(1 байт)
Номер
параметра
(1 байт)
Параметры
(1...16 байт)
Перечень записываемых параметров. Таблица 2.
параметра
Наименование
Параметр
Уровень доступа
01h
Запись параметров индикации счетчика (по индицируемым тарифам)
8 позиционных байт (см формат).
1,2,3

02h
Запись параметров индикации счетчика (по периодам индикации)
4 двоичных байта (см формат).
1,2,3

2)08h
Фиксация данных
Нет
без открытия канала связи

10h
Запрет записи параметров по PLC1
1 байт:
«0» выключен
«1» включен
2,3

7)16h
Перезапустить счетчик
Нет
2,3

18h
Разрешить/запретить автоматический переход на зимнее/летнее время
1 байт:
«0» разрешить
«1» запретить
2,3

8) 19h
Значения времени перехода для летнего и зимнего времени
2/10 код, 6 байт в последовательности:
час, день, месяц перехода на летнее время,
час, день, месяц перехода на зимнее время.
2,3

1Fh
Изменить пароль.
13 байт:
1-й байт – уровень доступа (1 или 2);
следующие 6 байт – старый пароль;
следующие 6 байт – новый пароль.
1,2,3

22h
Запись местоположения прибора
4 байта
2,3

27h
Изменение постоянной счетчика
1 байт:
«0» режим «А»
«1» режим «В»
2,3

2Аh
Изменение режима тарификатора

1 байт:
«0» многотарифный
«1» однотарифный
2,3

2Ch
Установка лимита активной мощности
3 байта

2,3

2Dh
Включение контроля превышения лимита активной мощности
1 байт:
«0» выключен
«1» включен
2,3

2Eh
Установка лимита потребленной активной энергии
1+4 байта
1-й байт:
«1» тариф 1
«2» тариф 2 и т.д.
2,3

2Fh
Включение контроля превышения потребленной активной энергии
1 байт:
«0» выключен
«1» включен
2,3

30h
Изменение режима импульсного выхода

1 байт:
«0» телеметрия
«1» вкл./выкл. Нагрузки
2,3

31h
Изменение режима управления нагрузкой
1 байт:
«0» включена
«1» выключена
2,3

32h
Изменение множителя тайм-аута
1 байт со значениями 01h…FFh.
1,2,3

Формат данных при записи параметров индикации:
A+ авт-кий режим
(1 байт)
Не исп.
(1 байт)
R+ авт-кий режим
(1 байт)
Не исп.
(1 байт)
A+ ручной режим
(1 байт)
Не исп.
(1 байт)
R+ ручной режим
(1 байт)
Не исп.
(1 байт)

Байт определения индицируемых тарифов:
7
6
5
4
3
2
1
0


Потери
Тариф 4
Тариф 3
Тариф 2
Тариф 1
Сумма


Пример установки индикации активной и реактивной энергии в автоматическом, так как в ручном режиме изщменение индикации заблокировано в счетчиках. Установка индикации по сумме тарифов.
Байт определения индицируемых тарифов будет иметь следующий формат:
00000001b =01h. Записываем этот байт на свои места в восьмипозиционный параметр (см Таблицу 2).

Запрос: 03 01 01 00 01 00 1F 00 1F 00
Формат данных при записи параметров индикации:
Длительность периода индикации
(1 байт)
Длительность индикации текущего тарифа
(1 байт)
Длительность индикации нетекущего тарифа
(1 байт)
Длительность тайм-аута
при возврате в автоматический режим
(1 байт)

Пример: установка длительности индикации равной 5 сек.
Запрос: 03 02 05 05 05 05

Пример: включение контроля лимитов мощности.
Запрос: 03 2В 01



Запроса на чтение массивов регистров накопленной энергии
Код запроса = 5h
(1 байт)
№ массива
№ месяца
тарифа
(1 байт)
(1 байт)

Третий байт запроса разбит на два полубайта: старший полубайт – номер считываемого массива, младший полубайт – номер месяца, за который считывается энергия при запросе энергии за месяц. При запросах не связанных с номером месяца младший полубайт третьего байта не имеет значения.
Четвертый байт – номер тарифа, по которому считывается накопленная энергия, может принимать значения: 0 –энергия по сумме тарифов , 1 –энергия по тарифу 1, 2 – энергия по тарифу 2 и т.д.. Для считывания данных об энергии технических потерь значение номера тарифа должно быть равно 5.

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


1h За текущий год
2h За предыдущий год
3h За месяц
4h За текущие сутки
5h За предыдущие сутки
6h Пофазные значения накопленной активной энергии прямого направления (только для кода запроса 5h)
9h На начало текущего года
Ah На начало предыдущего года
Bh На начало месяца
Ch На начало текущих суток
Dh На начало предыдущих суток
16 байт.
16 байт.
16 байт.
16 байт.
16 байт.
12 байт.


16 байт.
16 байт.
16 байт.
16 байт.
16 байт.

Если поле данных ответа содержит 16 байт, то отводится по четыре двоичных байта на
каждый вид энергии в последовательности: активная прямая (А+), активная обратная (А-), реактивная прямая (R+), реактивная обратная (R-) для кода запроса 5h; реактивная R1, R2, R3, R4 –для кода запроса 15h.
Если поле данных ответа содержит 12 байт, то отводится по четыре двоичных байта на
каждую фазу энергии А+ в последовательности: активная прямая по 1 фазе, активная прямая по 2 фазе, активная прямая по 3 фазе.
Формат поля данных для каждого вида энергии

2-й байт данных
1-й байт данных
4-й байт данных
3-й байт данных

Разрешающая способность регистров накопленной энергии соответствует 1 Вт⋅ч(ВАр⋅ч).
При запросе с номером тарифа 6, значения энергии в ответе расположены в порядке: T1,
T2, T3, T4, сумма по тарифам, потери (если ведется учет).
Длина ответа варьируется в зависимости от вида учета (суммарный/пофазный) и наличия
функции учета энергии технических потерь. Примечание:
Пример: Прочитать количество энергии за первый месяц по сумме.
Запрос: 05 31 00
Ответ: 02 00 E8 03 FF FF FF FF 00 00 70 0A 00 00 00 00

02 00 E8 03– активная прямая энергия, в соответствии с форматом поля данных интерпретируется как 000203E8

FF FF FF FF – активная энергия обратного направления, не учитывается данным счетчиком

00 00 70 0A – реактивная прямого направления, интерпретируеся как 00000A70


00 00 00 00 – реактивная энергия обратного направления, не учитывается данным счетчиком.

NA+ = 0203E8h = 132072d ER+ = 132,072 кВт/ч
NR+ = 0A70h = 2672d ER+ = 2672 вар/ч
NR- = 0000h = 0000d ER- = 0000 вар/ч


Запроса на чтение параметров.
Код запроса = 8h
(1 байт)
№ параметра
(1 байт)
Параметры
(0...1 байт)

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

Чтение серийного номера счетчика и даты выпуска.
4 байта серийного номера и три байта кода даты выпуска в последовательности: число, месяц, год

1h
Ускоренный режим чтения индивидуальных параметров прибора.
16 байт. Серийный номер и дата выпуска, версия ПО, вариант исполнения.

17h
Чтение байта состояния тарификатора.
2 двоичных байта (первый=0).

18h

Чтение слова состояния управления нагрузкой.
2 двоичных байта.

19h
Чтение лимита мощности.
3 двоичных байта.

1Ah
Чтение лимита энергии по тарифу 1-4 (см формат).
4 двоичных байта.

1Bh
Чтение параметров индикации счетчика (по индицируемым тарифам)
8 позиционных байт (см формат).



Пример: Чтение серийного номера счетчика и даты выпуска.
Команда предназначена для чтения серийного номера счетчика и даты выпуска.
Код параметра 00h.
Поле параметров отсутствует.
В ответ на запрос счетчик возвращает 7 байт в поле данных ответа.
Первые 4 байта - серийный номер в двоичном позиционном коде, следующие 3 байта - дата выпуска в 2/10-м коде в последовательности: число, месяц, год.

Запрос: 08 00
Ответ: 04 2А 0В 3B 02 06 06

04 2A 0B 3B - серийный номер 04471359
02 06 06 - год выпуска 02.06.2006

0 comments on commit 615562f

Please sign in to comment.
You can’t perform that action at this time.