0

Подскажите структуру программы ГЛ для задержки глушения двигателя

Аlex K 11 months ago updated by Ё-Моё 11 months ago 11

Здравствуйте.6е поколение, 2.32.1. Задача дернуть аналоговый выход сигнализации за определенное время (скажем, 1 секунда) перед глушением двигателя (декомпрессор дизельного двигателя). Т.е. выключили зажигание при запущенном двигателе, включаем вход (мотор должен работать), ждем секунду, выключаем двигатель сигнализацией, выключаем выход). Работает турботаймер, соответственно то же самое должно происходить при самостоятельном глушении двигателя сигнализацией (из режима турботаймера или дистанционно запущенного двигателя). Еще момент - управление вероятно будет от реле r7, запитанного от 5В, которое пропадает при выключении зажигания.

можно, конечно, зная время работы турботаймера (60 секунд) в момент включения поддержки зажигания запускать программу с задержкой выполнения 59 сек, которая дернет этот вход, но это не универсально (есть много ситуаций, когда эту программу придется прерывать или перезапускать). Хочется как-то привязаться к универсальному событию глушения и прерывать его на требуемую задержку.

Приветствуются любые идеи.

Спасибо.

Предвосхитить события нельзя, а вот ОТЛОЖИТЬ события можно. Рекомендую писать  две программы ГЛ. Одна должна   как раз 

при запущенном двигателе, включаем вход (мотор должен работать), ждем секунду, 

и затем запускаем вторую программу ГЛ, которая 

выключаем двигатель сигнализацией, выключаем выход).

Самое главное -  найти для себя СОБЫТИЯ на борту, которые будут запускать эти программы.

Сие понятно, вопрос как раз в универсальном событии, инициализирующим первую программу. Например

Image 57573

Случится тут перехват работы двигателя или нет? Как такая программа сработает если поддержка зажигания для турботаймера уже включена (иными словами снимает ли событие "глушение двигателя" флаг работы поддержки зажигания турботаймером)? И основной момент - каким условием запретить выполнение этой программы, если ключ по какой то причине остается в положении "зажигание" (например послали команду глушения из приложения, сама поддержка зажигания, разумеется, останется от ключа, но сработавший декомпрессор успешно заглушит двигатель тогда, когда это нежелательно). 

Ну и вторая программа для собственно глушения

Image 57574

Переменная там нужна для блокировки первой программы в процессе выполнения второй на команде "заглушить двигатель" (кстати, вопрос - если условник в 1й программе не выполняется, запустится ли вторая программа? Или условие с проверкой переменной в ней нужно продублировать?)

Понятно, что надо проверять самому на живой машине, но вдруг такое в принципе неработоспособно?

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

"двигатель - остановка" - использовать в качестве первого события НЕЛЬЗЯ. Подумайте сами - почему нельзя именно это СОБЫТИЕ, если  Ваша задача и конечная цель  - выключаем двигатель сигнализацией, выключаем выход).

только после тогою как  будут запущены некие программы гибкой логики...

Вот не понимаю, почему нельзя,  если работу двигателя сразу же продляем, например, турботаймером (перехват управления от пользователя сигнализацией). А потом сигнализацией и глушим.

Вот не понимаю, почему нельзя, если работу двигателя сразу же продляем

Ну попробуйте... Если Вам повезет, то будет работать. Но подозреваю, что  в лучшем случае   "продление" будет с "заиканием" -  явным провалом в работе мотора. В худшем - мотор будет успевать заглохнуть...

Как говорят в народе - "попытка - не пытка".

Болею пока, не могу экспериментировать. А какое еще событие можно для запуска 1й программы использовать? Не нахожу ничего подходящего.

И по поводу запрета работы такой программы, пока ключ в замке - как корректно сделать? Сигналка до сих пор не умеет различать кем включено зажигание - ей или человеком? Или добавили какое либо условие в ГЛ?

+1

"Получение команды на завершение АЗ" надо использовать. Это самое первое событие при завершении АЗ-ДЗ. Я б от нее смотрел. И в Запуске Двигателя проверить задержки на выключение цепей силовых

"Получение команды на завершение АЗ" - а оно будет срабатывать при завершении, например, турботаймера? 90% актов глушения происходит именно из этого режима работы

глупое предложение если канал ( для непонятно для меня зачем ) сделать ААС 

Image 57588

На этом выходе нужен импульс не длинее 5 секунд (чтобы не сжечь соленоид). Декомпрессор - механическая заслонка, закрывающая подачу воздуха в дизельный двигатель. Он вакуумный, но вакуумную магистраль открывает электромагнитный клапан. Конкретно на этом авто используется для мягкой остановки двигателя, штатно должен включаться при выключении зажигания на несколько секунд. Крайне полезная штука для дизеля, чтобы иметь хоть какую-то возможность заглушить мотор, ушедший в разнос, на коробке-автомате. Эксперименты показали, что глушится гораздо мягче, если включать этот клапан не синхронно с поворотом ключа, а на 0.5-0.7 сек раньше, что я и пытаюсь реализовать силами сигнализации.

немного стало понятно. 

если так = 

выход 1 вкл заж .

вход 1 сразу вкл реле , но выкл с задержкой 1 сёк. 

вход 2 сразу вкл клапан на 3 сёк. 

Image 57589