Opened 6 лет ago

Closed 6 лет ago

#221 closed баг (fixed)

Авария 17.1 появляется и пропадает

Сообщил: san Владелец: alx
Приоритет: средний Этап разработки: 2-я очередь
Ключевые слова: Копия: andrei

Описание

В логе из comment:13:ticket:220 я заметил что авария 17.1 появляется и пропадает каждый ход. Приведу фрагмент лога:

Jun 21 13:23:22 smarthdcd[1640]: Снятие аварии: 17.1 Снижение длины хода по числу качаний
Jun 21 13:23:22 smarthdcd[1640]: controller.cpp:1592: НУ1: запуск двигателя (15.0 Гц)
Jun 21 13:23:23 smarthdcd[1640]: controller.cpp:3739: верхний датчик положения активен
Jun 21 13:23:23 smarthdcd[1640]: controller.cpp:1629: НУ1: останов двигателя (нормальный)
Jun 21 13:23:23 smarthdcd[1640]: Авария привода: 17.1 Снижение длины хода по числу качаний
Jun 21 13:23:23 smarthdcd[1640]: controller.cpp:3872: верхний датчик положения неактивен
Jun 21 13:23:25 smarthdcd[1640]: smbus.cpp:542: /dev/ttyS2: request timeout
Jun 21 13:23:31 smarthdcd[1640]: controller.cpp:3095: условие разворота
Jun 21 13:23:31 smarthdcd[1640]: Снятие аварии: 17.1 Снижение длины хода по числу качаний
Jun 21 13:23:31 smarthdcd[1640]: controller.cpp:1592: НУ1: запуск двигателя (15.0 Гц)
Jun 21 13:23:34 smarthdcd[1640]: controller.cpp:3739: верхний датчик положения активен
Jun 21 13:23:34 smarthdcd[1640]: controller.cpp:1629: НУ1: останов двигателя (нормальный)
Jun 21 13:23:34 smarthdcd[1640]: Авария привода: 17.1 Снижение длины хода по числу качаний
Jun 21 13:23:35 smarthdcd[1640]: controller.cpp:3872: верхний датчик положения неактивен
Jun 21 13:23:38 smarthdcd[1640]: smbus.cpp:542: /dev/ttyS2: request timeout
Jun 21 13:23:42 smarthdcd[1640]: controller.cpp:3095: условие разворота
Jun 21 13:23:42 smarthdcd[1640]: Снятие аварии: 17.1 Снижение длины хода по числу качаний
Jun 21 13:23:42 smarthdcd[1640]: controller.cpp:1592: НУ1: запуск двигателя (15.0 Гц)
Jun 21 13:23:42 smarthdcd[1640]: smbus.cpp:542: /dev/ttyS2: request timeout
Jun 21 13:23:45 smarthdcd[1640]: controller.cpp:3739: верхний датчик положения активен
Jun 21 13:23:45 smarthdcd[1640]: controller.cpp:1629: НУ1: останов двигателя (нормальный)
Jun 21 13:23:45 smarthdcd[1640]: Авария привода: 17.1 Снижение длины хода по числу качаний
Jun 21 13:23:45 smarthdcd[1640]: controller.cpp:3872: верхний датчик положения неактивен
Jun 21 13:23:53 smarthdcd[1640]: controller.cpp:3095: условие разворота
Jun 21 13:23:53 smarthdcd[1640]: Снятие аварии: 17.1 Снижение длины хода по числу качаний

Т.к. условие аварии 17.1 зависит от настроек привода и ПП(исчерпаны все меры повышения производительности), а настройки привода и ПП не меняются, то непонятно почему авария 17.1 то появляется, то пропадает. Думаю, что это баг.
r722

История изменений (2)

comment:1 by alx, 6 лет ago

Условием снятия аварии 17.1 является:

несоблюдение “условия” на протяжении всего очередного спуска

Несоблюдение определяется следующим образом:

  1. В момент начала спуска сбрасывается специальный флаг wasAlarm17_1;
  2. При каждой очередной проверке условия аварии 17.1, если условие выполняется, устанавливается флаг wasAlarm17_1;
  3. При завершении спуска проверяется состояние флага wasAlarm17_1: если он сброшен, считается, что аврии 17.1 не было на протяжении всего спуска.

В этом алгоритме есть ошибка: если авария 17.1 присутствовала изначально, и на протяжении всего спуска новые проверки ее условия не производились, флаг wasAlarm17_1 остается сброшенным и авария 17.1 ложно снимается.

Решением проблемы будет в первом пункте алгоритма сбрасывать флаг только если аварии 17.1 нет, и устанавливать если авария 17.1 есть.

comment:2 by alx, 6 лет ago

Решение: fixed
Состояние: newclosed

In 773/smartHDC:

Исправлена ошибка, приводившая к ложному снятию аварии 17.1. Closes #221.

Note: See TracTickets for help on using tickets.