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

Датчики уровня топлива

К прибору подключаются датчики уровня топлива (ДУТ) трёх типов: цифровые (по RS-232 или RS-485), аналоговые и частотные (на дискретно-аналоговые входы, ДАВ). Прибор передаёт сырое показание датчика; пересчёт в литры делает ПО мониторинга по тарировочной таблице.

Для подключения ДУТ понадобится отдельный источник питания 10÷30 В, не менее 1 А. Датчик устанавливается в бак по рекомендациям завода-изготовителя.

Принцип работы цифрового ДУТ: электронный блок датчика измеряет электрическую ёмкость, преобразует её в цифровой код и передаёт прибору.

Подключение цифрового ДУТ по RS-232

Расположение контактов RS-232 нанесено на корпус прибора и на других моделях может отличаться от схемы. Если портов RS-232 два, можно использовать контакты RXD1/TXD1.

«Земли» (GND) прибора и ДУТ должны быть соединены. Контакты соединяются строго перекрёстно: RXD датчика — TXD0 прибора, TXD датчика — RXD0 прибора. Питание на датчик подаётся отдельно.

  1. В настройках порта RS-232 выберите тип периферии «Цифровой ДУТ, относительный уровень топлива (N)» или «Цифровой ДУТ, частота (F)» — в зависимости от того, какой параметр нужно передавать и как настроен сам датчик.

    В конфигураторе самого ДУТ должен быть выбран бинарный протокол обмена (поддерживается большинством производителей). Датчик настраивают на периодическую выдачу — раз в секунду, но не реже одного раза в 18 с.

  2. Отметьте в основном пакете поле RS232[0] или RS232[1]. Из терминала:

    MainPackBit 22,1 — RS232[0]
    MainPackBit 23,1 — RS232[1]
  3. Примените настройки и перезагрузите прибор (Reset).

Сам порт — скорость, распиновка, кто ещё на нём может жить — описан в статье «Последовательные порты».

⚙ Открыть настройки RS-232

Показания видны на вкладке «Устройство». В диагностике включите канал RS232[0] или RS232[1] — там появятся сообщения от датчика.

Если в течение 60 секунд прибор не получит ни одного сообщения, поле RS232 обнуляется — так диагностируется обрыв или неисправность датчика.

⚙ Каналы диагностики

По RS-485 прибор опрашивает до 16 ДУТ одновременно. Датчики должны иметь адреса от 0 до 15. Обмен идёт по запросу: прибор шлёт запрос, датчик с совпавшим сетевым адресом отвечает пакетом с уровнем и температурой.

Подключение цифрового ДУТ по RS-485

«Земли» (GND) прибора и ДУТ должны быть соединены. Питание на датчик подаётся отдельно.

  1. Задайте тип периферии RS-485. Для ДУТ подходят значения:

    RS485FN 2 — фотокамера и ДУТ
    RS485FN 9 — ДУТ и Modbus

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

  2. Отметьте в основном пакете нужные поля или отправьте MainPackBit <n>,1, где n — от 77 до 92 в зависимости от адреса ДУТ.

  3. Примените настройки.

Полный перечень значений RS485FN — в разделе «Типы периферии RS-485».

⚙ Открыть настройки RS-485

Показания видны на вкладке «Устройство»; в диагностике — по каналу RS485. Из терминала все 16 датчиков читаются одной командой:

RS485
RS485:<уровень 0>,<температура 0>;<уровень 1>,<температура 1>; … ;<уровень 15>,<температура 15>;

Если за время FLSTIMEOUT (по умолчанию 60 секунд) прибор не получит сообщения от датчика, значение поля RS485 обнуляется.

Показания цифровых ДУТ усредняются скользящим фильтром. Длина фильтра задаётся отдельно для каждого входа командой DFILTER:

DFILTER <RS232_0>,<RS232_1>,<RS485_0>, … ,<RS485_15>

Значения — по порядку, через запятую, без имён; имена вида RS485_3= прибор пишет только в ответе.

  • значение — длина фильтра, от 1 до 65535; при 1 показания передаются без обработки;
  • значения для RS232_0 и RS232_1 есть, только если у прибора есть соответствующие порты — иначе список начинается с RS485_0;
  • слотов RS-485 — шестнадцать, по одному на каждый адрес ДУТ.

Запрос текущих значений — DFILTER без параметров.

Хвостовые значения можно не указывать — они останутся прежними. Пропустить значение в начале или середине списка нельзя: чтобы задать фильтр для RS485_3, перечислите все значения до него.

Отдельно настраивается таймаут потери связи с датчиком:

FLSTIMEOUT <с> — 0…65535, по умолчанию 60

Принцип работы: измеренная электрическая ёмкость преобразуется в напряжение, зависящее от уровня топлива в баке. Аналоговый выход ДУТ соединяется с одним из дискретно-аналоговых входов прибора, отрицательный вход питания ДУТ — с минусом питания прибора.

Подключение аналогового ДУТ к ДАВ

Настройка:

  1. Для входа, к которому подключён ДУТ, задайте тип фильтра «среднее значение» и длину фильтра 5.
  2. Заведите двигатель и убедитесь на вкладке «Устройство», что сигнал поступает.
  3. Выполните тарировку ДУТ по рекомендациям завода-изготовителя.

⚙ Открыть настройки входов

Принцип работы: ёмкость преобразуется в частотный сигнал. Частотный выход ДУТ соединяется с одним из ДАВ прибора, отрицательный вход питания ДУТ — с минусом питания прибора.

Если производитель ДУТ не предусмотрел подтяжку частотного сигнала к «плюсу» питания, дополнительно ставится резистор R1 номиналом 10 кОм:

Подключение частотного ДУТ к ДАВ с подтягивающим резистором

Настройка идёт в два этапа.

Этап 1. Замер средней амплитуды частотного сигнала.

  1. Установите тип фильтра «среднее значение» и длину фильтра 50.
  2. Запустите двигатель, перейдите на вкладку «Устройство» и, слегка увеличивая обороты в течение минуты, засеките среднее значение амплитуды на настраиваемом входе.

Если амплитуда частотного сигнала указана в документации на ДУТ, искомая величина равна половине этой амплитуды.

Этап 2. Установка рабочего фильтра.

  1. Установите тип фильтра «подсчёт частоты» и длину фильтра 1.
  2. Задайте границу дискретного сигнала равной средней амплитуде, замеренной на первом этапе.
  3. Примените настройки, запустите двигатель и выполните тарировку.

Отметьте в основном пакете поля тех ДАВ или цифровых входов, к которым подключены датчики. Прибор передаёт абсолютное значение, которое он зафиксировал; уровень топлива вычисляется на стороне ПО мониторинга по тарировочной таблице и формуле расчёта. Для терминалов версий 1.x, 2.x и 5.x температура топлива и показания датчиков с адресами 3…15 сохраняются в архив только при включённой динамической структуре архива.

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

Параметр «тип периферии RS-485» (RS485FN <n>) определяет, кто владеет шиной:

На Galileosky 10, XS и 7x в списке доступны семь значений — они же подписаны в настройках прибора:

nТип периферии
2Фотокамера GalileoSky и ДУТ
4Только обработчики RS485 в EasyLogic
5Отключен
6CAN-LOG
7Обработчик фотокамеры в EasyLogic и ДУТ
8Modbus
9ДУТ и Modbus

Значения 0, 1 и 3 (фотокамера по старому протоколу, считыватели RFID IronLogic и китайские) остались от прежних приборов и в списке не предлагаются; 50 — служебный диагностический режим. Задать их можно только командой из терминала.

Алгоритм rs485exchange даёт прямой асинхронный обмен с любым последовательным устройством на шине RS-485 — конфигурирование датчика, тарировка, обновление прошивки датчика, визуализация. Структура запроса и разбор ответа алгоритмом не выполняются: что послали, то и ушло в порт.

Подготовка:

  1. Задайте тип периферии RS-485 в одно из значений, допускающих обработчики EasyLogic: 4, 7, 2, 8 или 9.
  2. Загрузите алгоритм: SCRIPT galileosky/rs485exchange (либо файл rs485exchange.bin в разделе EasyLogic).
  3. Перезагрузите прибор.

Обмен идёт в рамках соединения — виртуального канала, который не даёт двум управляющим одновременно работать с одним алгоритмом. Соединение разрывается автоматически после 60 секунд неактивности.

КомандаНазначениеУспешный ответ
RS485EXCH 1Установить соединениеid=<идентификатор>
RS485EXCH 2,iСбросить таймер неактивностиok
RS485EXCH 3,iРазорвать соединениеok
RS485EXCH 4,iПрочитать настройки портаbr=<b>,sb=<s>,pr=<p>,to=<t>
RS485EXCH 5,i,b,s,p,tНастроить порткак у команды 4
RS485EXCH 6,i,r,s,d0,…Отправить запрос в портok
RS485EXCH 7,iПолучить ответ из портаs=<sz><!|?>,<d0>,<d1>,…

Параметры:

  • i — идентификатор соединения;
  • b — скорость, бит/с; s — стоповые биты 1…2; p — чётность (0 — нет, 1 — нечётность, 2 — чётность); t — таймаут приёма, мс;
  • r — ожидаемый размер ответа, 0…40 байт; s — размер отправляемых данных, 1…40 байт;
  • d — данные: каждое число — S32 Big-Endian, то есть 4 байта (например, −1430532899 = 0xAABBCCDD, 305397760 = 0x12340000), не более 10 чисел;
  • в ответе команды 7: sz — размер полученных данных, ! — ответ принят полностью, ? — приём завершён по таймауту.

Коды ошибок (er=<код>):

КодЗначение
1Неверный номер команды
2Неверный идентификатор соединения (или соединение уже установлено)
3Неверный размер отправляемых данных
4Порт не инициализирован
5Данные ещё ожидаются

Типичный сценарий:

RS485EXCH 1 → id=17
RS485EXCH 5,17,19200,1,2,1000 → br=19200,sb=1,pr=2,to=1000
RS485EXCH 6,17,8,4,305397760 → ok
RS485EXCH 7,17 → er=5 (ответ ещё не пришёл)
RS485EXCH 7,17 → s=8!,… (ответ принят полностью)
RS485EXCH 3,17 → ok

⚙ Открыть EasyLogic


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