База знаний Waviot

Протокол Water7

ID статьи: 8
Последнее обновление: 21 May, 2021

Протокол Water7

Протокол предназначен для двухсторонней связи и параметрирования устройств.

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

Типы сообщений

1-й байт

Тип сообщения

0b1xxx xxxx

Регулярное сообщение

0b01xx xxxx

Ошибка исполнения

0x03

Чтение группы параметров

0x07

Чтение единичного параметра

0x06

Запись единичного параметра

0x10

Запись группы параметров

0x20

События

0x21 Парное сообщение

0x27

Управление

0x29

Удалённое обновление ПО

Регулярное сообщение

Первый параметр в регулярном сообщение выглядит в формате:

Байт

Регулярное сообщение (первый параметр)

1

Тип сообщения 0b1YXX XXXX

Флаг отправки расхода Y (0…1)

ID первого параметра X (0…63)

2 MSB

Периодичность отправки регулярного сообщения

0bYYYY YYYY YYYX XXXX

Y – дни X – часы

3 LSB

4

MSB

Значение передаваемого параметра

5

6

7

LSB

8

MSB

Разница значения параметра со значением при предыдущей отправке регулярного сообщения

9

LSB

10

Расход за период (описан ниже)

...

21

8..21 байты отправляются при наличии соответствующего флага

В случае, когда не один параметр не сконфигурирован для передачи, регулярное сообщение содержит один байт 0x80.

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

Формат каждого последующего параметра:

Байт

Регулярное сообщение (последующие параметры)

1

0b0YXX XXXX

Флаг отправки расхода Y (0…1)

ID первого параметра X (0…63)

2

MSB

Значение передаваемого параметра

3

4

5

LSB

6

MSB

Разница значения параметра со значением при предыдущей отправке регулярного сообщения

7

LSB

8

Расход за период (описан ниже)

...

19

6..19 байты отправляются при наличии соответствующего флага

Расход за период представляется в виде 4-битного представления "вклада" расхода за каждую 1/24 периода в общий расход за период:

Полубайты расхода упакованы в последовательность из 12 байт:

Байт

Упаковка расхода

0

1/2 MSB

1-ая 1/24 периода

0

1/2 LSB

2-ая 1/24 периода

1

1/2 MSB

3-ая 1/24 периода

1

1/2 LSB

4-ая 1/24 периода

...

...

...

11

1/2 MSB

23-ая 1/24 периода

11

1/2 LSB

24-ая 1/24 периода

Значение

0

Отсутствие расхода

1

0.1 - 6.66% макс. расхода за период

2

6.66 - 13.33% макс. расхода за период

3

13.33 - 19.99% макс. расхода за период

4

19.99 - 26.66% макс. расхода за период

5

26.66 - 33.33% макс. расхода за период

...

...

14

86.66 - 93.33% макс. расхода за период

15

93.33 - 100% макс. расхода за период

Регулярное сообщение (короткое)

Сообщение заменяет основное регулярное сообщение в случае ограничений в энергопотребление устройств с батарейным питанием на малых скоростях.

Отправляется с фиксированное периодичностью раз в 24 часа.

Байт Регулярное сообщение (короткое)
1

Тип сообщения 0b1YXX XXXX

Флаг отправки расхода Y (0…1)

ID первого параметра X (0…63)

Отличается от основного регулярного сообщения фиксированной длинной сообщения в 8байт

2 MSB Значение передаваемого параметра
3
4
5 LSB
6 MSB

24 бита почасовых значений, где

MSb - первая 1/24-ая периода

LSb - последняя 1/24-ая периода


0 - отсутствие расхода

1 - присутствие расхода

7
8 LSB

Парное сообщение

Сообщение играет роль более частой и подробной посылки.

Отправляется с фиксированное периодичностью раз в 2 часа.

Байт

Парное сообщений

1

Тип сообщения (0х21 парное сообщение)

2

ID параметра

3

MSB

Полное значение 32-битного счетчика импульсов

4

5

6

LSB

7 MSB 16-битное значение разницы между текущим значением счетчика импульсов и его значением час назад
8 LSB

Сообщение чтения группы параметров

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

Формат запросов и ответов:

Байт

0x03 запрос

1

Тип сообщения (0х03 чтение)

2

MSB

Адрес начала последовательности

3

LSB

4

MSB

Длинна последовательности

5

LSB

Байт

0x03 ответ

1

Тип сообщения (0х03 чтение)

2

MSB

Адрес начала последовательности

3

LSB

4

MSB

Длинна последовательности N

5

LSB

6

MSB

Первый элемент передаваемой последовательности 

7

8

9

LSB

N * 4

Последующие элементы последовательности

Сообщение чтения единичного параметра

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

Формат запросов и ответов:

Байт

0x07 запрос

1

Тип сообщения (0х07 чтение)

2

MSB

Адрес параметра

3

LSB

Байт

0x07 ответ

1

Тип сообщения (0х07 чтение)

2

MSB

Адрес параметра

3

LSB

4

MSB

Значение параметра

5

6

7

LSB

 

Сообщение записи единичного параметра

Для записи параметра устройству отправляется запрос с адресом и значением записываемого параметра. При корректном запросе устройство отправляет в ответ адрес и значение записанного параметра. В случае, когда в запросе содержится недопустимый параметр, устройство отвечает ошибкой.

Формат запросов и ответов:

Байт

0x06 запрос

1

Тип сообщения (0x06 запись)

2

MSB

Адрес параметра

3

LSB

4

MSB

Значение параметра

5

6

7

LSB

Байт

0x06 ответ

1

Тип сообщения (0x06 запись)

2

MSB

Адрес параметра

3

LSB

4

MSB

Значение параметра

5

6

7

LSB

 

Сообщение записи группы параметров

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

Формат запросов и ответов:

Байт

0x10 запрос

1

Тип сообщения (0х10 запись)

2

MSB

Адрес начала последовательности

3

LSB

4

MSB

Длинна последовательности N

5

LSB

6

MSB

Первый элемент передаваемой последовательности 

7

8

9

LSB

N * 4

Последующие элементы последовательности

Байт

0x10 ответ

1

Тип сообщения (0х10 запись)

2

MSB

Адрес начала последовательности

3

LSB

4

MSB

Длинна последовательности N

5

LSB

Сообщения об ошибках при обработке команд 0х03, 0х06, 0х07, 0х10

Байт

0x03 ответ в случае недопустимого запроса

1

Тип сообщения ((тип) + 0x40 ошибка чтения)

(например, команда 0х03 станет 0х43)

2

Код ошибки

 

Код ошибки

Описание

1

Неверный тип (команда не поддерживается устройством)

2 Неверный адрес
3

Неверное значение

4 Низкоуровневая ошибка
5 Попытка записи параметра, имеющего аттрибут "только чтение"

6

Неверная длинна данных

Сообщение события

Сообщение инициируется устройство. Сообщение может содержать множество пар событие/полезная нагрузка. Длинна сообщения ограничено длинной сообщения nbfi.

Байт

0x20 запрос

1

Тип сообщения (0х20 событие)

2

MSB

Тип (ID) события

3

LSB

4

MSB

Полезная нагрузка события

5

LSB

 

Управляющее сообщения

Байт

0x27 запрос

1

Тип сообщения (0х27 управление)

2

Номер команды

3

MSB

Полезная нагрузка

4

5

6

LSB

Байт

0x27 ответ

1

Тип сообщения (0х27 управление)

2

Номер команды

3

MSB

Полезная нагрузка

4

5

6

LSB

 

Сообщений удалённого обновления ПО

Группа сообщений, предназначенная для удалённого обновления ПО устройства. Все сообщения инициируются мастером.

2-й байт

Параметр

0x00

Запись обновления без обязательного подтверждения

0x01

Запись обновления с обязательным подтверждением

0x02

Чтение обновления

0x03

Очистка кэша

0x04

Сброс индекса

0x05

Проверка обновления

0x06

Запрос CRC

0x07

Сброс устройства

0x08

Очистка зоны обновления

0x09

Копирование рабочей прошивки в зону обновления

0x10

Запрос индекса

0x11

Запрос версии

0x12

Исполнение патча 0

0x13

Исполнение патча 1

0x14

Исполнение патча 2

Данная группа сообщений содержит несколько форматов:

 

- Запись обновления без обязательного подтверждения

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

Байт

0x29 удалённое обновление прошивки

1

Тип сообщения (0х29 удалённое обновление прошивки)

2

Команда (0x00 запись обновления без обязательного подтверждения)

3

MSB

Адрес

4

5

6

LSB

7

MSB

Длинна записи

8

LSB

9

MSB

Индекс

10

LSB

11

Полезная нагрузка

Байт

0x29 удалённое обновление прошивки (ответ)

1

Тип сообщения (0х29 удалённое обновление прошивки)

2

Команда (0x00 запись обновления без обязательного подтверждения)

3

MSB

Индекс

4

LSB

 

- Запись обновления с обязательным подтверждением

Байт

0x29 удалённое обновление прошивки

1

Тип сообщения (0х29 удалённое обновление прошивки)

2

Команда (0x01 запись обновления с обязательным подтверждением)

3

MSB

Адрес

4

5

6

LSB

7

MSB

Длинна записи

8

LSB

9

Полезная нагрузка

Байт

0x29 удалённое обновление прошивки (ответ)

1

Тип сообщения (0х29 удалённое обновление прошивки)

2

Команда (0x01 запись обновления с обязательным подтверждением)

3

MSB

Адрес

4

5

6

LSB

7

MSB

Длинна записи

8

LSB

 

- Чтение обновления

Байт

0x29 удалённое обновление прошивки

1

Тип сообщения (0х29 удалённое обновление прошивки)

2

Команда (0x02 чтение обновления)

3

MSB

Адрес

4

5

6

LSB

7

MSB

Длинна чтения

8

LSB

Байт

0x29 удалённое обновление прошивки (ответ)

1

Тип сообщения (0х29 удалённое обновление прошивки)

2

Команда (0x02 чтение обновления)

3

MSB

Адрес

4

5

6

LSB

7

MSB

Длинна чтения

8

LSB

9

Полезная нагрузка

 

- Запрос CRC

Байт

0x29 удалённое обновление прошивки

1

Тип сообщения (0х29 удалённое обновление прошивки)

2

Команда (0x06 запрос CRC32 участка обновления)

3

MSB

Адрес

4

5

6

LSB

7

MSB

Длинна

8

9

10

LSB

Байт

0x29 удалённое обновление прошивки (ответ)

1

Тип сообщения (0х29 удалённое обновление прошивки)

2

Команда (0x06 чтение обновления)

3

MSB

CRC32

4

5

6

LSB

 

- Исполнение патча 1/2/3

Байт

0x29 удалённое обновление прошивки

1

Тип сообщения (0х29 удалённое обновление прошивки)

2

Команда (0x12, 0x13, 0x14 исполнение 1/2/3)

3

MSB

Полезная нагрузка

4

5

6

LSB

Байт

0x29 удалённое обновление прошивки (ответ)

1

Тип сообщения (0х29 удалённое обновление прошивки)

2

Команда (0x12, 0x13, 0x14 исполнение 1/2/3)

3

MSB

Полезная нагрузка

4

5

6

LSB

 

- Исполнение подкоманд

0x03

Очистка кэша

0x04

Сброс индекса

0x05

Проверка обновления

0x07

Сброс устройства

0x08

Очистка зоны обновления

0x09

Копирование рабочей прошивки в зону обновления

0x10

Запрос индекса

0x11

Запрос версии

Байт

0x29 удалённое обновление прошивки

1

MSB

Тип сообщения (0х29 удалённое обновление прошивки)

2

MSB

Подкоманда

Байт

0x29 удалённое обновление прошивки (ответ)

1

Тип сообщения (0х29 удалённое обновление прошивки)

2

Подкоманда

3

MSB

Полезная нагрузка

4

5

6

LSB

 

Перечень параметров для счётчика воды АКВА2

ID

Параметр

0

Пролитый объём в прямом направление, л

1

Пролитый объём в обратном направление, л

2

Разница пролитых объёмов (прямой - обратный), л

4

Пролитый объём в прямом направление, мкл

5

Пролитый объём в обратном направление, мкл

6

Разница пролитых объёмов (прямой - обратный), мкл

7

Моментальный расход, л/ч

8

Индекс записи в энергонезависимую память

9

Время записи в энергонезависимую память

64

Калибровочные значения цены импульса(мкл/имп) при расходах

70

71

Калибровочные значения расходов (л/ч)

77

78

Минимальный частота АЦП, Гц

79

Максимальный частота АЦП, Гц

80

Максимальное число точек АЦП

81

Номинальное число точек АЦП

82

Дельта точек АЦП

83

Порог срабатывания АЦП

84

Режим отладки через УАРТ

128

Режим работы устройства

129

Режим отображение

130

Напряжение батареи

131

Температура МК

192

Слово выбора параметров для регулярного сообщения 0-31

193

Слово выбора параметров для регулярного сообщения 32-63

194

Слово выбора почасовки параметров для регулярного сообщения 0-31

195

Слово выбора почасовки параметров для регулярного сообщения 32-63

196

Период отправки регулярного сообщения, с

197

Количество отправленных регулярных сообщений

204

Последнее переданное регулярное сообщение 128 байт

235

236

Длинна последнего переданного сообщения

Перечень событий для счётчика воды АКВА2

ID

Событие

0

Воздействие магнита

1

Введена команда

2

Ошибка работы датчика холла №1

3

Ошибка работы датчика холла №2

4

Проверка связи

5

Сброс

Перечень команд для счётчика воды АКВА2

ID
Команда
3
Отправка показаний
4
Тест связи. 10 минут раз в минуту прибор шлёт сообщение
5
Включение близкой связи с автоотключением
6
Отключение близкой связи
7
Режим поверки
8
Режим нормальный
10
Дебаг по УАРТ с автоотключением
11
Дебаг по УАРТ отключение
32 и больше
Сообщение о применение магнита
Остальные ID не имеют значения

Перечень параметров для модема Тиффани AX ревизии 4

ID

Параметр

Диапазон По умолчинию

0

Число импульсов для одной единицы показаний

Модем будет "делить" импульсы на входе на указанное здесь число

1..99 999 1
1

Первичные показания

0..999 999 999 0
2 Частота опроса 1..32 32
3

Активные каналы

Представлен в виде суммы, где 1 — это первый канал, 2 — второй

0..3 3
4

Уровень сигнала для опроса

0 — 3 Вольта

1 — 5 Вольт

2 — 7 Вольт

3 — 9 Вольт

0..3 0
5

Частота отправки показаний в часах

1 — каждый час

24 — раз в день

168 — раз в неделю

720 — раз в месяц

1..720 1
6 Число отправленных сообщений (только для чтения) 0

Перечень событий модема Тиффани AX ревизии 4

ID

Событие

0

Сброс

1

Проверка связи

Эта статья была:   Полезна | Не полезна
Сообщить об ошибке
ID статьи: 8
Последнее обновление: 21 May, 2021
Ревизия: 45
Просмотры: 137
Комментарии: 0