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

Ограничители скорости

Ограничитель скорости — внешнее устройство, которое ограничивает скорость транспортного средства. Прибор передаёт ему нужное значение ограничения и получает подтверждение. Поддерживаются два устройства: E-Cruise II и Надёжный контроль 80.

Оба работают через алгоритм EasyLogic — общий порядок в статье «Подключение устройств через алгоритмы EasyLogic».

Минимальные версии прошивки: 10 — 1.2, 7x — 38.20.

Схема подключения E-Cruise II к приборам 10 и 7x

  1. В настройках последовательных портов для порта RS-232, к которому подключено устройство, выберите тип периферии Нет.

  2. В настройках входов для входа зажигания (вход 0) установите тип фильтра — среднее значение и задайте остальные параметры входа.

  3. Отметьте в основном пакете теги, которые использует алгоритм (см. ниже).

  4. В настройках CAN-сканера для всех портов CAN прибора установите тип фильтра EasyLogic и включите Не обнулять данные.

  5. Загрузите алгоритм в Терминале:

    SCRIPT galileosky/ecruiseSpeedLimiterEvent # новые устройства: ограничение по событию
    SCRIPT galileosky/ecruiseSpeedLimiterFixed # старые устройства: фиксированное ограничение

    При медленном интернет-соединении загрузка может занять до 20 минут. Локально алгоритм загружается на вкладке EasyLogic из файла ecruiseSpeedLimiterEvent.bin или ecruiseSpeedLimiterFixed.bin.

  6. Перезагрузите прибор.

ТегПараметр
Вход 0Зажигание
CAN8BITR28Задание ограничения скорости, км/ч
CAN8BITR29Успех задания ограничения

Циклически:

  1. проверяет вход зажигания; если зажигание включено, читает задание ограничения скорости из тега CAN8BITR28 и отправляет его в устройство;
  2. получает ответ устройства и выводит его в диагностику;
  3. записывает результат установки в тег CAN8BITR29.

Границы значений: для фиксированного ограничения — не менее 20 км/ч, для ограничения по событию — не менее 15 км/ч; максимум в обоих случаях 255 км/ч. Значение меньше минимума отменяет предыдущее ограничение.

Включите канал Алгоритмы и скрипты в Каналах диагностики. Префикс p%d — номер последовательного порта.

СообщениеЗначение
p%d init! / p%d init?Порт инициализирован / ошибка инициализации: неверные параметры или не хватает памяти (рядом будут сообщения Port Initialization error). Постоянное повторение на старой прошивке — предупреждение о необходимости обновиться
ecruise calibrationОт устройства получен сигнал калибровки: двигайтесь с постоянной скоростью 50 км/ч до окончания процесса либо выполните калибровку органами управления устройства
ecruise try set speedLimit=%dОтправлен запрос на ограничение скорости
ecruise speedLimit set ok / set failОграничение задано / ошибка задания

Расширенный режим (ADIAG 1) добавляет:

СообщениеЗначение
ecruise engine ON / OFFЗажигание включено / выключено
ecruise limReq=0x%XИдентификатор запроса — для сопоставления с ответом
ecruise wait req eventОжидание события для отправки запроса: изменение ограничения, интервал времени, ответ устройства
ecruise req=0x%X,%sОтвет на запрос: ACK — успешно, NACK — ошибка
ecruise er=%dОшибка обмена: -1 — нет ответа, -2 — ошибка передачи данных
ecruiseHВызов основного обработчика обмена
ecruise_sPОтправка запроса в устройство
ADIAG m

m: 0 — обычный режим диагностирования, 1 — расширенный. Ответ — a.diag=%d. Расширенный режим нужен только для поиска неисправностей; сразу после диагностики верните обычный, чтобы освободить ресурсы прибора. При запуске алгоритма устанавливается обычный режим.

Устройство ограничения скорости НК-80. В отличие от E-Cruise, ограничение здесь может задаваться по геозонам: алгоритм отдаёт устройству то значение, которое записано в имени геозоны, а вне геозон — фиксированное.

Минимальные версии прошивки: 10 — 3.0, 7x — 47.18.

Схема подключения НК-80 и сигнала зажигания к приборам 10 и 7x (зажигание показано на входе IN0)

  1. В настройках включите модули GNSS, RS-232, Запись архива точек в память и Геозоны, примените настройки и перезагрузите прибор.

  2. В настройках трека выберите номер входа зажигания.

  3. В настройках входов задайте параметры срабатывания входа зажигания.

  4. В настройках последовательных портов для RS-232 выберите тип периферии Нет.

  5. Отметьте нужные теги в основном пакете.

  6. Создайте геозоны для автоматического задания ограничения. Имя геозоны задаётся в формате НаименованиеГеозоны:ОграничениеСкорости;N2;N3;N4 — например, Город:60; для ограничения 60 км/ч.

  7. Загрузите алгоритм в Терминале:

    SCRIPT galileosky/speedlimitercmdp0
  8. Примените настройки и перезагрузите прибор.

При запуске алгоритм читает свои настройки из энергонезависимой памяти прибора; при первом запуске или ошибке памяти берутся значения по умолчанию.

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

Фиксированное ограничение можно менять не только командой, но и записью в соответствующий тег — например, другим алгоритмом EasyLogic.

SETSPEEDLIMIT без параметров показывает текущие настройки:

userLimit=%d;tagId userLimit=%d,status=%d,current=%d,geozoneFlag=%d

Установка:

SETSPEEDLIMIT limit,idUser,idStatus,idCurrent,geozoneFlag
ПараметрЗначение
limitФиксированное ограничение скорости вне геозон, 0…255 км/ч (по умолчанию 255)
idUserИдентификатор тега фиксированного ограничения (по умолчанию 99 — тег пользователя 1)
idStatusИдентификатор тега статуса обмена (по умолчанию 98 — тег пользователя 0)
idCurrentИдентификатор тега текущего установленного ограничения (по умолчанию 100 — тег пользователя 2)
geozoneFlagИспользовать геозоны при установке ограничения (по умолчанию 1 — использовать)

Идентификаторы тегов задаются десятичными числами по таблице тегов в контексте алгоритмов. Теги статуса и текущего ограничения можно не задействовать — укажите для них -1.

Параметры позиционные: чтобы изменить не все, передайте параметры до нужного включительно. Например, SETSPEEDLIMIT 60 меняет только фиксированное ограничение.

ПараметрТег по умолчаниюОписание
Статус связи с устройствомТег пользователя 00 — нет связи, 1 — связь есть (или зажигание выключено)
Фиксированное ограничение вне геозонТег пользователя 10…255 км/ч
Текущее установленное ограничениеТег пользователя 2Из геозоны либо фиксированное

Префикс p%d — номер последовательного порта (p0 — RS-232[0]).

СообщениеЗначение
inited! / inited?Порт инициализирован / ошибка инициализации: не хватает памяти, прибор не перезагружен после загрузки алгоритма (рядом будут сообщения Port Initialization error) либо версия прошивки устарела
ign=%d,sat=%d,%sLimit=%dНаличие зажигания, количество спутников и устанавливаемое ограничение
res=%dРезультат взаимодействия с устройством

Результаты взаимодействия:

КодЗначение
1Успешно
−1Нет запроса от устройства за отведённое время — проверьте питание и связь
−2Ошибка последовательного порта при отправке — проверьте свободную оперативную память и загрузку процессора
−3Ошибка передачи данных — проверьте связь и версию протокола
−4Принят неподдерживаемый запрос — проверьте версию протокола

См. также: Подключение устройств через алгоритмы EasyLogic