0

Вопрос по работе "Гибкой логики"

TKasatonov 4 years ago updated 4 years ago 14

Доброе время суток, уважаемые форумчане!

Возник вопрос по работе "Гибкой логики". 
Задача следующая: при включении заднего хода - включить сирену, при отключении заднего хода - выключить. Файл настроек прилагаю.

Внимание, вопрос: будет ли сирена работать всё время, пока включен задний ход или какое-то определённое время?

Заранее благодарю за ответы. Особо буду благодарен ответам официальных представителей StarLine.

Задний ход проверка.slc

Машина из профиля? Если так, то ни одна из 3-х ваших программ не запустится, поскольку система не увидит включение заднего хода.

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

будет ли сирена работать всё время, пока включен задний ход или какое-то определённое время?

В ваших настройках - только определенное время, сделает 5 пиков и все, но... ни одна программа не заработает с такими настройками для автомобиля из профиля.

1. Нет, машина не из профиля.

2. Как быть с этим?

2.1. Возможность оставления селектора в положении "Задний ход" при выключении зажигания вы исключаете? Тогда заведите машину, переключите селектор в положение "Задний ход", и заглушите машину. (Подсказка - запустить двигатель можно будет только после перевода селектора в "Нейтраль")

3. То есть, вы хотите сказать, что разработчики сигнализации и программного обеспечения, намеренно нарушили законы логического программирования? Булева алгебра или алгебра логики, это же первый курс техникума для слесарей КИПиА! Не института! Прямая зависимость: Х1˄(Х2˄Х3˄...˄Хn)=Y Как на выходе может появиться "0", если при логической операции конъюнкции, на входе "1" и все доп. условия в состоянии "1"? 
Ладно, я сирый да убогий, всего-лишь какой-то КИПовец... Иногда студентам лекции по КИПу читаю... Наплевать, что я программирование изучал (в том числе микроконтроллеров и промышленных контроллеров)... Ладно...
Я могу допустить, что это сделано намеренно, для снижения потребления электроэнергии сигнализацией... Но сколько потребляют ДХО? А габариты? По сравнению с основными потребителями в автомобиле, сигнализация находится ближе к предохранителям и проводам. 
Я даже могу допустить, что это конструктивная особенность элементарной базы используемых элементов...
Но даже при всех, нарушенных законах Булевой алгебры, автоматики, программирования и тем более, здравого смысла, можно же было исправить всё это непотребство одной единственной функцией: ЦИКЛ. Почему эта примитивная функция при программировании отсутствует? Ведь программист за зарплатой ходит ежемесячно (циклично), а не один единственный раз в своей жизни...

Не понимаю!

Возможность оставления селектора в положении "Задний ход" при выключении зажигания вы исключаете?

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

К чему вся эта ваша вода? При чем здесь Булева алгебра?

То есть, вы хотите сказать, что разработчики сигнализации и программного обеспечения, намеренно нарушили законы логического программирования?

??? Где и какие законы они нарушили?

Я могу допустить, что это сделано намеренно, для снижения потребления электроэнергии сигнализацией.

??? Что сделано?

Вы о чем вообще?

P.S. Все же для какой машины это нужно?

Другими словами, из 3 программ, которые я составил, вы решили обсуждать только последнюю... Потому, что так проще? Может объясните в чём заключается моя ошибка в предыдущих двух программах? Желательно с точки зрения работы сигнализации, ещё лучше, если с точки зрения логики. Я буду очень вам признателен, если вы объясните, как нужно сделать правильно.
На случай, если условие стёрлось из памяти: при включении заднего хода - включить сирену, при отключении заднего хода - выключить. 
Пояснение 1: состояние зажигания меня не интересует, пускай оно будет всегда включено. 

Пояснение 2: понятие "включить сирену" - обозначает, что она издаёт любые звуки, хоть голосом медведёва вещает. Не важно.

Важно: задний ход включен - сирена работает непрерывно, не выключаясь, пока рак на горе свистнет. Задний ход включен - тишина.

Другими словами, из 3 программ, которые я составил, вы решили обсуждать только последнюю

Да вроде про все сказал:

eugenyc 5 часов назад
Машина из профиля? Если так, то ни одна из 3-х ваших программ не запустится, поскольку система не увидит включение заднего хода.
В ваших настройках - только определенное время, сделает 5 пиков и все

Про последнюю ответил, что никогда не запуститься, даже если бы система видела включение заднего хода. Потому что никогда не станет активным задний ход (читай не будет после лягушки +12 В), если зажигание выключено.Поэтому условие "Зажигание включено" (или выключено) - лишнее. Это как: событие двигатель запущен при условии что зажигание включено.

Может объясните в чём заключается моя ошибка в предыдущих двух программах? Желательно с точки зрения работы сигнализации, ещё лучше, если с точки зрения логики.

Для этого нужно знать какое будет авто.

P.S.

Важно: задний ход включен - сирена работает непрерывно, не выключаясь, пока рак на горе свистнет. Задний ход включен - тишина.

Не понятно: задний ход включен - сирена работает непрерывно. Задний ход включен - тишина.

Так что нужно? Вероятно так: задний ход включен - сирена работает непрерывно. Задний ход вЫключен - тишина? Тогда когда будете сдавать задним ходом, будет орать сирена? А ночью?

Honda CR-V 2010 года ДВС - R20A1 (2 л. бензин), трансмиссия AT, префикс вин AC2, сигнализация StarLine S66. Вопрос: как в "гибкой логике" прописать программу, которая при  включеном зажигании, при включении заднего хода, включает сирену непрерывно, не выключаясь. При отключении заднего хода - сирена отключается.

Так понятнее?

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

Как правильно настроить, чтобы сирена орала до тех пор, пока включен задний ход?

+1

так включите канал сирены и выключиете по выключению задней. заняя из кан или аналоговый вход на нее. все в одну программу.

Так я не понимаю, почему сирена отрабатывает только 5 импульсов? Вон, сверху вложение гляньте, первые 2 программы.

+1

первая программа. почему 5 импульсов? а сколько настроили?



С точки зрения академической (нормальной) логики и моей потребности: если включен задний ход => сирена издаёт серию 5 коротких импульсов до тех пор, пока задний ход не отключится.

eugenyc объяснил, что сигналка отработает 5 импульсов и заткнётся, не смотря на то, что задний ход всё равно включен. Вместо того, чтобы объяснить причину моей ошибки, ему потребовалась справка из жека, из поликлиники, из налоговой, родословная, характеристика с работы, и прочее... Но осмысленного ответа (даже жалкого подобия) я так и не получил.

+1
Вместо того, чтобы объяснить причину моей ошибки, ему потребовалась справка из жека, из поликлиники, из налоговой, родословная, характеристика с работы, и прочее... 

Так вы не принесли справки? Ну да ладно, в следующий раз обязательно предоставьте все перечисленные справки...

Но осмысленного ответа (даже жалкого подобия) я так и не получил.

Вы задали вопрос:

Внимание, вопрос: будет ли сирена работать всё время, пока включен задний ход или какое-то определённое время?

я ответил

eugenyc 8 часов назад
В ваших настройках - только определенное время, сделает 5 пиков и все

Вам уже выложили скрин, на котором четко видно кол-во импульсов - 5.

Ваши настройки:

Количество импульсов = 5, по 0,1 сек., с паузами 0,5 сек. - итого пропикает  2,5 сек. и сирена замолчит.

Так понятно почему 5 пиков? Что то алгебра вас подводит.

И зажигание из условия можно убрать.

-2

Итак, что я понял.

Если бы вход был был дискретным - моя программа работала следующим образом:
1 - при поступлении на вход сигнала: "Задний ход" =>
2 - при условии: "Есть метка" и "Педаль тормоза отпущена" и "Зажигание включено" =>
3 - выполнялись бы действия: "Сирена подаёт 5 коротких сигналов" и "Поворотники включены" =>

4 - программа принудительно завершалась, при несоблюдении одного из условий из пунктов 1 или 2 или принудительной проверкой отсутствия сигнала "Задний ход".


Но похоже, в сигналке на входе стоит двухступенчатый D-триггер с активацией по спаду. Т.е. пока сигнал "Задний ход" не пропадёт, и не появится повторно, программа повторно выполняться не будет...
Если эта реализация называется "гибкая логика", то в Старлайне работают одни космонавты.

Причина, по которой я использую принудительную проверку "Зажигание включено" и для чего мне нужны 5 коротких сигналов сирены - это моё дело.

Спасибо, tda, за наводку. Огромное спасибо, eugenyc за хамство.