ds [Dev]

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

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


ds

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ds [2020/06/10 23:45]
walhi [Датчики температуры]
ds [2020/06/29 08:22] (текущий)
walhi [Датчики температуры]
Строка 25: Строка 25:
 | ::: | Ошибка CRC | bool | R | 1 | После нескольких ошибок датчик будет перезагружен по питанию| | ::: | Ошибка CRC | bool | R | 1 | После нескольких ошибок датчик будет перезагружен по питанию|
 | ::: | Архив фильтрации заполнен | bool | R | 2 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. | | ::: | Архив фильтрации заполнен | bool | R | 2 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. |
-| ::: | Интервал опроса | uint16_t | R/W | 0 | Не менее одной секунды. Применяется сразу, но автоматически не сохраняется. |+| ::: | Интервал опроса | uint16_t | R/W | 0 | Не менее одной секунды. |
 | ::: | Калибровочный коэф. | int16_t | R/W | 8 | | | ::: | Калибровочный коэф. | int16_t | R/W | 8 | |
 | ::: | ID датчика | String(12) | R | 48 | | | ::: | ID датчика | String(12) | R | 48 | |
Строка 35: Строка 35:
 | ::: | Ошибка CRC | bool | R | 4 | После нескольких ошибок датчик будет перезагружен по питанию| | ::: | Ошибка CRC | bool | R | 4 | После нескольких ошибок датчик будет перезагружен по питанию|
 | ::: | Архив фильтрации заполнен | bool | R | 5 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. | | ::: | Архив фильтрации заполнен | bool | R | 5 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. |
-| ::: | Интервал опроса | uint16_t | R/W | 1 | Не менее одной секунды. Применяется сразу, но автоматически не сохраняется. |+| ::: | Интервал опроса | uint16_t | R/W | 1 | Не менее одной секунды. |
 | ::: | Калибровочный коэф. | int16_t | R/W | 9 | | | ::: | Калибровочный коэф. | int16_t | R/W | 9 | |
 | ::: | ID датчика | String(12) | R | 54 | | | ::: | ID датчика | String(12) | R | 54 | |
Строка 45: Строка 45:
 | ::: | Ошибка CRC | bool | R | 7 | После нескольких ошибок датчик будет перезагружен по питанию| | ::: | Ошибка CRC | bool | R | 7 | После нескольких ошибок датчик будет перезагружен по питанию|
 | ::: | Архив фильтрации заполнен | bool | R | 8 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. | | ::: | Архив фильтрации заполнен | bool | R | 8 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. |
-| ::: | Интервал опроса | uint16_t | R/W | 2 | Не менее одной секунды. Применяется сразу, но автоматически не сохраняется. |+| ::: | Интервал опроса | uint16_t | R/W | 2 | Не менее одной секунды. |
 | ::: | Калибровочный коэф. | int16_t | R/W | 10 | | | ::: | Калибровочный коэф. | int16_t | R/W | 10 | |
 | ::: | ID датчика | String(12) | R | 60 | | | ::: | ID датчика | String(12) | R | 60 | |
Строка 55: Строка 55:
 | ::: | Ошибка CRC | bool | R | 10 | После нескольких ошибок датчик будет перезагружен по питанию| | ::: | Ошибка CRC | bool | R | 10 | После нескольких ошибок датчик будет перезагружен по питанию|
 | ::: | Архив фильтрации заполнен | bool | R | 11 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. | | ::: | Архив фильтрации заполнен | bool | R | 11 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. |
-| ::: | Интервал опроса | uint16_t | R/W | 3 | Не менее одной секунды. Применяется сразу, но автоматически не сохраняется. |+| ::: | Интервал опроса | uint16_t | R/W | 3 | Не менее одной секунды. |
 | ::: | Калибровочный коэф. | int16_t | R/W | 11 | | | ::: | Калибровочный коэф. | int16_t | R/W | 11 | |
 | ::: | ID датчика | String(12) | R | 66 | | | ::: | ID датчика | String(12) | R | 66 | |
Строка 65: Строка 65:
 | ::: | Ошибка CRC | bool | R | 13 | После нескольких ошибок датчик будет перезагружен по питанию| | ::: | Ошибка CRC | bool | R | 13 | После нескольких ошибок датчик будет перезагружен по питанию|
 | ::: | Архив фильтрации заполнен | bool | R | 14 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. | | ::: | Архив фильтрации заполнен | bool | R | 14 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. |
-| ::: | Интервал опроса | uint16_t | R/W | 4 | Не менее одной секунды. Применяется сразу, но автоматически не сохраняется. |+| ::: | Интервал опроса | uint16_t | R/W | 4 | Не менее одной секунды. |
 | ::: | Калибровочный коэф. | int16_t | R/W | 12 | | | ::: | Калибровочный коэф. | int16_t | R/W | 12 | |
 | ::: | ID датчика | String(12) | R | 72 | | | ::: | ID датчика | String(12) | R | 72 | |
Строка 75: Строка 75:
 | ::: | Ошибка CRC | bool | R | 16 | После нескольких ошибок датчик будет перезагружен по питанию| | ::: | Ошибка CRC | bool | R | 16 | После нескольких ошибок датчик будет перезагружен по питанию|
 | ::: | Архив фильтрации заполнен | bool | R | 17 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. | | ::: | Архив фильтрации заполнен | bool | R | 17 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. |
-| ::: | Интервал опроса | uint16_t | R/W | 5 | Не менее одной секунды. Применяется сразу, но автоматически не сохраняется. |+| ::: | Интервал опроса | uint16_t | R/W | 5 | Не менее одной секунды. |
 | ::: | Калибровочный коэф. | int16_t | R/W | 13 | | | ::: | Калибровочный коэф. | int16_t | R/W | 13 | |
 | ::: | ID датчика | String(12) | R | 78 | | | ::: | ID датчика | String(12) | R | 78 | |
Строка 85: Строка 85:
 | ::: | Ошибка CRC | bool | R | 19 | После нескольких ошибок датчик будет перезагружен по питанию| | ::: | Ошибка CRC | bool | R | 19 | После нескольких ошибок датчик будет перезагружен по питанию|
 | ::: | Архив фильтрации заполнен | bool | R | 20 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. | | ::: | Архив фильтрации заполнен | bool | R | 20 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. |
-| ::: | Интервал опроса | uint16_t | R/W | 6 | Не менее одной секунды. Применяется сразу, но автоматически не сохраняется. |+| ::: | Интервал опроса | uint16_t | R/W | 6 | Не менее одной секунды. |
 | ::: | Калибровочный коэф. | int16_t | R/W | 14 | | | ::: | Калибровочный коэф. | int16_t | R/W | 14 | |
 | ::: | ID датчика | String(12) | R | 84 | | | ::: | ID датчика | String(12) | R | 84 | |
Строка 95: Строка 95:
 | ::: | Ошибка CRC | bool | R | 22 | После нескольких ошибок датчик будет перезагружен по питанию| | ::: | Ошибка CRC | bool | R | 22 | После нескольких ошибок датчик будет перезагружен по питанию|
 | ::: | Архив фильтрации заполнен | bool | R | 23 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. | | ::: | Архив фильтрации заполнен | bool | R | 23 | Архив содержит 16 значений измерения. Пока он не заполнен, фильтрованное значение формируется из уменьшенного числа отчетов. |
-| ::: | Интервал опроса | uint16_t | R/W | 7 | Не менее одной секунды. Применяется сразу, но автоматически не сохраняется. |+| ::: | Интервал опроса | uint16_t | R/W | 7 | Не менее одной секунды. |
 | ::: | Калибровочный коэф. | int16_t | R/W | 15 | | | ::: | Калибровочный коэф. | int16_t | R/W | 15 | |
 | ::: | ID датчика | String(12) | R | 90 | | | ::: | ID датчика | String(12) | R | 90 | |
Строка 105: Строка 105:
 | Ошибка CRC | uint16_t | R | 97 | | Ошибка CRC | uint16_t | R | 97 |
 | Архив фильтрации заполнен | uint16_t | R | 98 | | Архив фильтрации заполнен | uint16_t | R | 98 |
 +| Датчик в памяти контроллера | uint16_t | R | 104 |
 +
 +=== Интервал опроса ===
 +
 +Для каждого датчика можно указать интервал опроса. Это время в секундах, через которое контроллер попросит датчик измерить температуру. Отсчет ведется не с времени, когда датчик уже предоставил температуру, а с времени прошлого запроса. Для удобства пользователя можно задать время опроса всем датчикам сразу, записав значение в регистр 25.
  
 === Калибровка === === Калибровка ===
  
-Так как все датчики немного приверают, есть возможность выровнять их показания. Для этого датчики погружают в жидкость, где показания должны быть примерно равны. Для более точной корректировки можно использовать жидкость, температура кипения которой точно известна. Для этого указывается целевая температура и запускается процесс калибровки. При значении целевой температуры в 0, контроллер установит коэффициенты относительно  +Так как все датчики немного приверают, есть возможность выровнять их показания. Для этого датчики погружают в жидкость, где показания должны быть примерно равны. Для более точной корректировки можно использовать жидкость, температура кипения которой точно известна. Для этого указывается целевая температура и запускается процесс калибровки. При значении целевой температуры в 0, контроллер установит коэффициенты относительно среднего значения по всем датчикам. 
-среднего значения по всем датчикам.+
  
 ^ Описание ^ Тип данных ^ Режим ^ Регистр ^ Комментарий ^ ^ Описание ^ Тип данных ^ Режим ^ Регистр ^ Комментарий ^
 | Целевое значение | int16_t | R/W | 16 | Значения типа float будет обновлено после записи в этот регистр | | Целевое значение | int16_t | R/W | 16 | Значения типа float будет обновлено после записи в этот регистр |
 | Целевое значение | float | R/W | 17 | Значения типа int16_t будет обновлено после записи в этот регистр | | Целевое значение | float | R/W | 17 | Значения типа int16_t будет обновлено после записи в этот регистр |
-| Выполнить калибровку | bool | R/W | 3 | Расчет калибровочных коэф. |+| Количество датчиков в памяти | uint8_t | R | 103 | Максимальное количество - 120 | 
 +| Выполнить калибровку | bool | R/W | 3 | Расчет калибровочных коэф. для всех датчиков и сохранение их. Требует ввод кода подтверждения (защита от случайного срабатывания). Для выравнивания по фильтрованному значению: 4403, по текущему значению: 4437.  | 
 +| Очистить калибровку | bool | R/W | 4 | Очистка данных калибровки (всех). Требует ввод кода подтверждения 4420 (защита от случайного срабатывания) | 
 +| Количество датчиков в памяти | uint16_t | R | 103 |  | 
 +| Код подтверждения | uint16_t | R/W | 24 |  | 
 + 
 +Сохранение калибровочных данных осуществляется именно для датчика, а не конкретного входа. Так что при переключении датчика в другой вход данные о калибровке автоматически будут подгружены из памяти. 
 +Каждый датчик имеет уникальный идентификатор. Контроллер может хранить до 120 штук. Как только количество известных датчиков достигнет этого числа - сохранение новых датчиков будет недоступно. Для очистки памяти есть отдельная команда. 
 + 
 +Калибровка возможна и вручную. Для каждого подключенного к устройству датчика есть специальный регистр. В нем можно получить текущее значение калибровочного коэффициента и изменить его. Подробнее про сохранение настроек контроллера в разделе "Настройки".
  
 ==== Релейные выходы ==== ==== Релейные выходы ====
Строка 123: Строка 137:
 ==== Состояние контроллера ==== ==== Состояние контроллера ====
 ^ Описание ^ Тип данных ^ Режим ^ Регистр ^ Комментарий ^ ^ Описание ^ Тип данных ^ Режим ^ Регистр ^ Комментарий ^
-| Команда на перезагрузку | bool | R/W | 0 | Контроллер перезагружается и применяет новые настройки, если те были изменены. | +| Команда на перезагрузку | bool | R/W | 0 | Контроллер перезагружается. | 
-| Uptime | uint32_t | R | 96 | Количество секунд, которое контроллер включен. | +| Uptime | uint32_t | R | 99 | Количество секунд, которое контроллер включен. | 
-| Источник перезагрузки | uint16_t | R | 98 | Причина перезагрузки контроллера. Данный регистр содержит несколько флагов: подача питания (бит 1), внешний сигнал (бит 2), защита от низкого напряжения (бит 3), сторожевой таймер (бит 4) |+| Источник перезагрузки | uint16_t | R | 101 | Причина перезагрузки контроллера. Данный регистр содержит несколько флагов: подача питания (бит 1), внешний сигнал (бит 2), защита от низкого напряжения (бит 3), сторожевой таймер (бит 4) |
  
 ==== Настройки ==== ==== Настройки ====
-Все настройки сохраняются после получения команды на перезагрузку контроллера.+Все настройки сохраняются после ввода кода подтверждения и получения команды на перезагрузку контроллера.  
 ^ Описание ^ Тип данных ^ Режим ^ Регистр ^ Комментарий ^ ^ Описание ^ Тип данных ^ Режим ^ Регистр ^ Комментарий ^
 | Команда на перезагрузку | bool | R/W | 0 | Контроллер перезагружается и применяет новые настройки, если те были изменены. | | Команда на перезагрузку | bool | R/W | 0 | Контроллер перезагружается и применяет новые настройки, если те были изменены. |
 | Адрес | uint16_t | R/W | 19 | Адрес устройства в сети (1-xxx) | | Адрес | uint16_t | R/W | 19 | Адрес устройства в сети (1-xxx) |
 | Режим Modbus | uint16_t | R/W | 20 | 0 - RTU, 1 - ASCII | | Режим Modbus | uint16_t | R/W | 20 | 0 - RTU, 1 - ASCII |
-| Скорость сети | uint16_t | R/W | 21 | 9600 - | +| Скорость сети | uint32_t | R/W | 21 | 9600 - 38400 
-| Бит четности | uint16_t | R/W | 21 | 0 - отсутствует, 1 - ODD, 2 - EVEN |+| Бит четности | uint16_t | R/W | 23 | 0 - отсутствует, 1 - ODD, 2 - EVEN 
 +| Код подтверждения | uint16_t | R/W | 24 | 4386 - сохранение настроек (сеть, калибровка, интервалы) |
  
 +На плате контроллера присутствует контактная группа, обозначенная как defalut, при замыкании которой сетевые настройки контроллера будут временно установлены в значения по умолчанию для просмотра настроек или же дальнейшей конфигурации устройства. Замыкать контакты нужно при поданном питании в любое время (не обязательно при включении). Контроллер автоматически перезагружается при отсутствии опроса через Modbus в течение 60 секунд, так что пользователь должен успеть за этот интервал установить соединение с устройством.
ds.1591832720.txt.gz · Последнее изменение: 2020/06/10 23:45 — walhi