ds [Dev]

Инструменты пользователя

Инструменты сайта


ds

Это старая версия документа!


DS18B20 Modbus controller

Контроллер для опроса 8 датчиков DS18B20 по протоколу Modbus RTU. Каждый датчик подключается к отдельному порту, а не к общей шине, что имеет ряд плюсов:

  • Более быстрый обмен данными
  • Не требуется настройка (не нужно указывать уникальные идентификаторы)
  • Зависание одного датчика не мешает опросу остальных

Кроме этого в контроллере предусмотрено управление питанием каждого из датчиков (удаленная перезагрузка в случае зависания) и два релейных выхода (ток до 3 ампер).

Карта регистров

  • Данные типа bool с правами «только чтение»: Discrete Inputs. Функция чтения: 0x02.
  • Данные типа bool с правами «чтение и запись»: Coils. Функция чтения: 0x01. Функции записи: 0x05, 0x0F.
  • Данные типов uint16_t, int16_t, float с правами «только чтение»: Input Registers. Функция чтения: 0x04.
  • Данные типов uint16_t, int16_t, float с правами «чтение и запись»: Holding Registers. Функция чтения: 0x03. Функции записи: 0x06, 0x10.

Датчики температуры

Вход Значение Тип данных Режим Регистр Комментарий
1 Текущее значение int16_t R 0
float R 16
Фильтрованное значение int16_t R 8 Среднее арифметическое по 16 последним измерениям
float R 32
Наличие датчика bool R 0
Ошибка CRC bool R 1 После нескольких ошибок датчик будет перезагружен по питанию
Архив фильтрации заполнен bool R 2 Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов.
Интервал опроса uint16_t R/W 0 Не менее одной секунды.
Калибровочный коэф. int16_t R/W 8
ID датчика String(12) R 48
2 Текущее значение int16_t R 1
float R 18
Фильтрованное значение int16_t R 9 Среднее арифметическое по 16 последним измерениям
float R 34
Наличие датчика bool R 3
Ошибка CRC bool R 4 После нескольких ошибок датчик будет перезагружен по питанию
Архив фильтрации заполнен bool R 5 Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов.
Интервал опроса uint16_t R/W 1 Не менее одной секунды.
Калибровочный коэф. int16_t R/W 9
ID датчика String(12) R 54
3 Текущее значение int16_t R 2
float R 20
Фильтрованное значение int16_t R 10 Среднее арифметическое по 16 последним измерениям
float R 36
Наличие датчика bool R 6
Ошибка CRC bool R 7 После нескольких ошибок датчик будет перезагружен по питанию
Архив фильтрации заполнен bool R 8 Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов.
Интервал опроса uint16_t R/W 2 Не менее одной секунды.
Калибровочный коэф. int16_t R/W 10
ID датчика String(12) R 60
4 Текущее значение int16_t R 3
float R 22
Фильтрованное значение int16_t R 11 Среднее арифметическое по 16 последним измерениям
float R 38
Наличие датчика bool R 9
Ошибка CRC bool R 10 После нескольких ошибок датчик будет перезагружен по питанию
Архив фильтрации заполнен bool R 11 Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов.
Интервал опроса uint16_t R/W 3 Не менее одной секунды.
Калибровочный коэф. int16_t R/W 11
ID датчика String(12) R 66
5 Текущее значение int16_t R 4
float R 24
Фильтрованное значение int16_t R 12 Среднее арифметическое по 16 последним измерениям
float R 40
Наличие датчика bool R 12
Ошибка CRC bool R 13 После нескольких ошибок датчик будет перезагружен по питанию
Архив фильтрации заполнен bool R 14 Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов.
Интервал опроса uint16_t R/W 4 Не менее одной секунды.
Калибровочный коэф. int16_t R/W 12
ID датчика String(12) R 72
6 Текущее значение int16_t R 5
float R 26
Фильтрованное значение int16_t R 13 Среднее арифметическое по 16 последним измерениям
float R 42
Наличие датчика bool R 15
Ошибка CRC bool R 16 После нескольких ошибок датчик будет перезагружен по питанию
Архив фильтрации заполнен bool R 17 Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов.
Интервал опроса uint16_t R/W 5 Не менее одной секунды.
Калибровочный коэф. int16_t R/W 13
ID датчика String(12) R 78
7 Текущее значение int16_t R 6
float R 28
Фильтрованное значение int16_t R 14 Среднее арифметическое по 16 последним измерениям
float R 44
Наличие датчика bool R 18
Ошибка CRC bool R 19 После нескольких ошибок датчик будет перезагружен по питанию
Архив фильтрации заполнен bool R 20 Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов.
Интервал опроса uint16_t R/W 6 Не менее одной секунды.
Калибровочный коэф. int16_t R/W 14
ID датчика String(12) R 84
8 Текущее значение int16_t R 7
float R 30
Фильтрованное значение int16_t R 15 Среднее арифметическое по 16 последним измерениям
float R 46
Наличие датчика bool R 21
Ошибка CRC bool R 22 После нескольких ошибок датчик будет перезагружен по питанию
Архив фильтрации заполнен bool R 23 Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов.
Интервал опроса uint16_t R/W 7 Не менее одной секунды.
Калибровочный коэф. int16_t R/W 15
ID датчика String(12) R 90

Релейные выходы

Состояние контроллера

Настройки

ds.1590380193.txt.gz · Последнее изменение: 2020/05/25 04:16 — walhi