Перейти к содержимому
Черновик: материал сгенерирован и ещё не вычитан.

Датчики температуры и влажности

Прибор умеет измерять температуру и влажность несколькими способами: термометрами 1-Wire напрямую, цифровыми датчиками по RS-485 или RS-232 через алгоритмы EasyLogic, а также BLE-датчиками — последние описаны в статьях «Bluetooth: подключение датчиков» и «Bluetooth: устройства и алгоритмы». Про сами порты RS-485 и RS-232 — распиновку, скорости и совместное использование — читайте в статье «Последовательные порты».

Поддерживаются цифровые термометры DS18B20, DS18S20 и снятый с производства DS1820 (DS18S20 — его полный аналог). Диапазон измерений −55…+125 °C, точность 0,5 °C в диапазоне −10…+85 °C. DS18B20 отличается от DS18S20 тем, что измеряет в 9-битном представлении в 10 раз быстрее, а в 12-битном даёт шаг 0,0625 °C.

К шине 1-Wire подключается до 8 термометров.

Регистраторы температуры и влажности DS1923 (ДТВ) работают только со старыми приборами Galileosky. На Galileosky 10, XS и 7x они не поддерживаются — влажность на этих приборах снимается цифровыми датчиками по RS-485 (см. ниже) или по Bluetooth.

Для физического соединения нужны два проводника: линия данных и общий.

С «паразитным» питанием — термометр питается от линии данных:

Подключение термометров 1-Wire с паразитным питанием

С внешним питанием — от отдельного источника +5 В; «земли» источника и питания прибора должны быть соединены:

Подключение термометров 1-Wire с внешним питанием

Включите модуль 1-Wire в настройках прибора.

⚙ Открыть настройки 1-Wire

Значения видны на вкладке «Устройство». Из терминала:

TEMEX0 → TemEx0:DS0=,DS1=,DS2=,DS3=;
TEMEX1 → TemEx1:DS4=,DS5=,DS6=,DS7=;

Чтобы значения уходили на сервер, отметьте в основном пакете параметры 1-Wire. Температура N. На 7x с прошивки 32.4 и на Galileosky 10 доступна также передача температуры повышенной точности — отдельные теги с дробной частью.

⚙ Открыть настройки протокола

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

Чтобы закрепить датчики за тегами, задайте их ROM-идентификаторы:

FIXTERM — показать текущую привязку
FIXTERM <id0>,<id1>,…,<id7> — задать привязку

Идентификатор — 8 байт в шестнадцатеричном виде. Позиция в списке соответствует номеру тега; чтобы освободить позицию, поставьте 0. Незаданные позиции ответ показывает как 0. Список читается слева направо, лишние элементы сверх восьми игнорируются.

Цифровой датчик температуры и влажности с калиброванным выходом. Подключается по RS-485 и обслуживается алгоритмом EasyLogic.

Доступно на Galileosky 10 и 7x с прошивки 22.

Подключение датчика Soway T118 по RS-485

Настройка:

  1. Отметьте в основном пакете тег пользователя 0 и тег пользователя 1.
  2. Задайте типу периферии RS-485 значение «Только обработчики RS485 в EasyLogic».
  3. Загрузите алгоритм: SCRIPT galileosky/soway-t118.

То же самое командами:

MainPackBit 178,1
MainPackBit 179,1
RS485FN 4

Проверить загрузку алгоритма: SCRIPT T — в ответе должно быть SCRIPT: galileosky/soway-t118.

Температура приходит в теге пользователя 0, влажность — в теге пользователя 1; оба значения нужно разделить на 10.

Регистратор температуры HI-P21

Автоматический регистратор HI-P21 (High Tech Control) — электронный блок с дисплеем, встроенным принтером и двумя выносными датчиками температуры. Диапазон −50…+99,9 °C, точность ±0,1 °C.

Работает на Galileosky 10 и 7x на любой прошивке.

  1. Нажмите set, войдите в меню администратора.
  2. Нажмите set ещё дважды — откроется меню настройки связи.
  3. Кнопками вверх/вниз выберите USE3 и подтвердите кнопкой set.

Подключение регистратора HI-P21 по RS-232

«Земли» (GND) прибора и регистратора должны быть соединены. Питание на регистратор подаётся отдельно. Контакты RS-232 соединяются строго перекрёстно: RX регистратора — на TXD0(1) прибора, TX регистратора — на RXD0(1) прибора.

  1. Отметьте в основном пакете теги пользователя 0, 1 и 2.
  2. Задайте типу периферии RS-232[0] значение «Нет» и примените настройки.
  3. Загрузите алгоритм: SCRIPT galileosky/HI-P21SensorHandler.
  4. Дождитесь появления имени алгоритма в строке EasyLogic на вкладке «Устройство».

Регистратор опрашивается раз в 10 секунд. Температура датчика A(1) пишется в тег пользователя 0, датчика Б(2) — в тег пользователя 1.

Температура передаётся в кельвинах, умноженных на 10. Перевод в градусы Цельсия:

°C = (значение − 2730) / 10

Например, −1,7 °C прибор передаст как 2713.

Тег пользователя 2 — код ошибки:

ЗначениеПричина
0Ошибок нет
1Нет связи с прибором — превышен интервал ожидания 3 с
2Приходят повреждённые данные
3Вместо значений температуры приходят символы

Алгоритм опрашивает до 4 датчиков TZ THT-02 по Modbus RTU через RS-485.

Доступно на Galileosky 10 с прошивки 1.0 и 7x с прошивки 44.2.

  • скорость Modbus — 9600 бит/с;
  • адрес в сети Modbus — 1…247, причём при нескольких датчиках адреса должны идти подряд (например, 6, 7, 8).

Подключение датчика TZ THT-02 по RS-485

Подключение нескольких датчиков TZ THT-02

  1. Задайте типу периферии RS-485 одно из значений, допускающих обработчики EasyLogic: «Только обработчики RS485 в EasyLogic», «Обработчик фотокамеры в EasyLogic и ДУТ», «Modbus» или «ДУТ и Modbus».
  2. Отметьте в основном пакете теги, соответствующие значениям датчиков (см. «Теги» ниже).
  3. Загрузите алгоритм: SCRIPT galileosky/tztht02 (либо файл tztht02.bin в разделе EasyLogic).
  4. Перезагрузите прибор.
  5. Включите опцию «Диагностика алгоритмов и скриптов» в разделе «Диагностика», если нужны сообщения алгоритма.

После старта алгоритм 5 секунд принимает конфигурационные команды, затем дожидается завершения других обработчиков RS-485, инициализирует порт и начинает опрашивать датчики.

Изменённые командами параметры действуют только до перезагрузки. Чтобы они применялись постоянно, вместе с основным алгоритмом загружают вспомогательный настроечный, который сам подаёт команды при старте.

TZTHTCFG — текущие параметры, ответ c=<n>,a=<n>,t=<n>
TZTHTCFG <c>,<a>,<t> — задать параметры
ADIAG <m> — режим диагностики: 0 обычный, 1 расширенный

c — количество опрашиваемых датчиков, 0…4 (по умолчанию 4); автоматически уменьшается, если стартовый адрес не оставляет места для всех.

a — стартовый адрес датчика, 1…247 (по умолчанию 1).

t — стартовый номер тега (по умолчанию 98 — тег пользователя 0).

Расширенный режим диагностики нагружает прибор — возвращайте обычный сразу после поиска неисправности.

Каждый датчик занимает пару тегов:

ТегПараметрКак читать
Стартовый + 2·(N−1)Наличие связи0 — нет связи, 1 — есть
Стартовый + 2·(N−1) + 1Температура2 старших байта, целое со знаком, делить на 10
Влажность2 младших байта, целое без знака, делить на 10

где N — номер датчика от 1 до 4.

Пример. Стартовый адрес 11, три датчика, стартовый тег 100 (тег пользователя 2):

ДатчикАдресТегЗначениеРасшифровка
1111000Нет связи с датчиком
10116 384 600 = 0x00FA025825,0 °C и 60,0 % — последние принятые значения до обрыва
2121021Связь есть
103328 630 = 0x000503B60,5 °C и 95,0 %
3131041Связь есть
105−6 684 671 = 0xFF9A0001−10,2 °C и 0,1 %

При обрыве связи тег наличия связи обнуляется, а в теге значений остаются последние принятые данные.

Префикс p<n> — номер последовательного порта.

  • p<n> init! / p<n> init? — успешная инициализация порта либо ошибка (не хватило ресурсов — рядом будут сообщения Port Initialization error; перезагрузите прибор или освободите память) либо предупреждение об устаревшей прошивке;
  • pol <n> sens, st=<n> — начало опроса: количество датчиков и стартовый тег;
  • a=<адрес>,res=<n> — результат запроса: 1 успешно, −1 нет ответа, −2 ошибка передачи, −3 ошибка входных данных, −4 получен код исключения;
  • exc=<n> — код исключения Modbus (расшифровка — в статье «Подключение по Modbus»);
  • input? — ошибка разбора данных;
  • t=<n> C, h=<n> % — принятые значения.

В расширенном режиме дополнительно печатаются mbsCrHr (запрос чтения) и mbs_sD (отправка данных в порт).

⚙ Открыть запись лога


См. также: Подключение по Modbus · Дискретные, токовые датчики и терморезисторы · Bluetooth: устройства и алгоритмы · Последовательные порты RS-232 и RS-485