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

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

К прибору подключаются датчики уровня топлива (ДУТ) трёх типов: цифровые (по 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 до 91 в зависимости от адреса ДУТ.

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

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

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

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

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

Если в течение 18 секунд прибор не получит сообщения от датчика, значение поля RS485 обнуляется.

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

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

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

Задать можно и один параметр, остальные останутся прежними:

DFILTER RS485_3=10

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

FLSTIMEOUT <мс> — 0…65535

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

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

Настройка:

  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