Opened 5 лет ago

Closed 5 лет ago

#190 closed баг (fixed)

Не отключается реверс ЭД.

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

Описание

Артем провел эксперименты над станцией с данфосами.

  1. Включен разовый реверсный пуск.

В РУЧ запускаем НУ2. Останавливаем НУ2.
Оба ЧРП переходят в аверс (информация с дисплея ЧРП).

  1. Включен разовый реверсный пуск.

В РУЧ запускаем НУ1. Останавливаем НУ1.
ЧРП2 переходят в аверс, ЧРП1 остается в реверсе (информация с дисплея ЧРП).

Во втором эксперименте Артем ожидал возврата в аверс обоих ЧРП.

Лог прилагаю. Правда я в нем не смог понять направление движения ЭД.

Вложения (1)

messages (125.2 KB ) - added by andrei 5 лет ago.

Download all attachments as: .zip

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

by andrei, 5 лет ago

Вложение: messages added

comment:1 by alx, 5 лет ago

Андрей, я вижу в приложенном логе 11 (одиннадцать) записей о переводе настройки "Разовый реверсный пуск" в значение "вкл". Уточни, пожалуйста, какая из них соответствует пункту 1, а какая - пункту 2 в описании тикета.

comment:2 by andrei, 5 лет ago

Например, Для эксперимента 1:
May 29 15:21:14 smarthdcd[670]: config.cpp:223: Настройка 'Разовый реверсный пуск' изменена: 'Откл.' --> 'Вкл.'

Для эксперимента 1:
May 29 15:34:13 smarthdcd[670]: config.cpp:223: Настройка 'Разовый реверсный пуск' изменена: 'Откл.' --> 'Вкл.'

Это если я правильно понял значение строк ниже:
controller.cpp:1550: НУ1: запуск двигателя (10.0 Гц)

comment:3 by andrei, 5 лет ago

Артема:
Можешь добавить, если следом за вторым экспериментом провести 1 то оба возвращаются в аверс

comment:4 by andrei, 5 лет ago

Приоритет: среднийПолный атас

in reply to:  1 comment:5 by alx, 5 лет ago

Replying to alx:

Андрей, я вижу в приложенном логе 11 (одиннадцать) записей о переводе настройки "Разовый реверсный пуск" в значение "вкл". Уточни, пожалуйста, какая из них соответствует пункту 1, а какая - пункту 2 в описании тикета.

Андрей, в comment:1 я просил уточнить, какое место (какая запись) в логе соответствует эксперименту 1, а какая - эксперименту 2. Ты пока уточнил, какие места касаются эксперимента 1, в котором станция работает правильно (ожидаемо). Это, конечно, полезно, но гораздо более полезно было бы изучить записи лога, касающиеся эксперимента 2, в котром станция вела себя не так, как ожидалось. Поэтому для ускорения решения описанной проблемы гораздо полезнее будет уточнить место в логе, касающееся эксперимента 2, чем повышение приоритета тикета до "Подный атас"...

comment:6 by andrei, 5 лет ago

Опечатка, второй случай и есть эксперимент 2.
Для эксперимента 2:
May 29 15:34:13 smarthdcd[670]: config.cpp:223: Настройка 'Разовый реверсный пуск' изменена: 'Откл.' --> 'Вкл.'

comment:7 by alx, 5 лет ago

Я вчера проанализировал код, и не нашел ничего, что могло бы навести на мысль о причинах незаписи аверса в ЧРП...

in reply to:  6 comment:8 by alx, 5 лет ago

Replying to andrei:

Опечатка, второй случай и есть эксперимент 2.

А, блин, вот оно что! :) Спасибо. Пошел изучать...

comment:9 by alx, 5 лет ago

При изменении настройки "Разовый реверсный пуск" контроллер записывает в оба ЧРП параметр 1-06. Судя по записям в логе, после выключения двигателя в 15:34:27 настройка "Разовый реверсный пуск" вернулась в значение "Откл" (см. строку 1128). Следовательно, контроллер должен был выполнить запись в параметр 1-06 значения 0 (аверс). Однако далее в строке 1132 есть такая запись:

May 29 15:34:27 smarthdcd[670]: smbus.cpp:507: SMBus::rtu_rx_timeout(): operation 10: error 4

Она означает, что в ответ на команду 10 (запись одного или нескольких регистров), переданную в шину modbus ("SMBUS" - это опечатка, сделанная в самом начале разработки, следует читать "MODBUS"), но в ответ на эту команду получатель вернул ошибку с кодом 4. Согласно документации ЧРП Danfoss, ошибка 4 означает:

Ошибка подчиненного устройства
Возникла неисправимая ошибка во время попытки сервера (или подчиненного устройства) выполнить запрашиваемое действие.

Из сказанного выше я делаю вывод о том, что проблема на стороне ЧРП. Предлагаю обратиться к специалисту по ЧРП за разъяснением, по какой причине в ЧРП возникает эта ошибка.

comment:10 by alx, 5 лет ago

На всякий случай, вот полное сообщение, отправляемое в ЧРП для установки параметра 1-06 в значение 0:

<address> 0x10 0x04 0x23 0x00 0x01 0x02 0x00 0x00

comment:11 by andrei, 5 лет ago

Странно, ведь при первом эксперименте в ЧРП передаются такие же данные в такой же последовательности и ошибку это не вызывает.
Или я ошибаюсь?

in reply to:  11 comment:12 by alx, 5 лет ago

Replying to andrei:

Странно, ведь при первом эксперименте в ЧРП передаются такие же данные в такой же последовательности и ошибку это не вызывает.
Или я ошибаюсь?

Не ошибаешься. В первом эксперименте ошибки нет.

comment:13 by andrei, 5 лет ago

Тогда не понимаю почему ты так категорично обвиняешь ЧРП.
Межет есть мысль какие еще провести над ним опыты чтобы лучше понять проблему?

in reply to:  13 ; comment:14 by alx, 5 лет ago

Replying to andrei:

Тогда не понимаю почему ты так категорично обвиняешь ЧРП.

Я же в comment:9 привел цитату из документации: код ошибки 4 означает, что в ЧРП возникла неисправимая ошибка.

Межет есть мысль какие еще провести над ним опыты чтобы лучше понять проблему?

Нет, к сожалению, никаких мыслей нет.

in reply to:  14 comment:15 by alx, 5 лет ago

Replying to alx:

Нет, к сожалению, никаких мыслей нет.

А теперь у меня внезапно появилась мысль. В документации сказано, что параметр 1-06 не может быть изменен во время движения. Предполагаю, что ошибка ЧРП возникает из-за того, что в момент записи НУ движется.

comment:16 by andrei, 5 лет ago

А ты параметр записываешь в ЧРП, при отпускании кнопки ВВЕРХ или ждешь когда скорость станет нулевой?

comment:17 by san, 5 лет ago

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

Может быть в качестве обходного пути будем записывать не сразу после останова а чуть позже? Конечно нельзя гарантировать что пользователь не нажмёт вверх снова...

in reply to:  16 comment:18 by alx, 5 лет ago

Replying to andrei:

А ты параметр записываешь в ЧРП, при отпускании кнопки ВВЕРХ или ждешь когда скорость станет нулевой?

Ни то, ни другое. Запись параметра производится при изменении значения настройки "Разовый реверсный пуск".

in reply to:  17 comment:19 by alx, 5 лет ago

Replying to san:

По логу запись настройки происходит после останова двигателя,

Двигатель имеет ненулевую массу, поэтому даже при быстром останове он не может прекратить движение мгновенно. Предполагаю, что на момент передачи команды он еще двигался.

comment:20 by alx, 5 лет ago

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

comment:21 by san, 5 лет ago

в случае неуспешной записи просто повторять попытку несколько раз.

Согласен. А вот насчёт таймаута скорее нет: двигатель останавливается довольно быстро, подозреваю что следующая запись "подряд" будет уже успешной, а нам и нужно попытаться успеть записать правильное направление движения до следующего хода вверх.

comment:22 by alx, 5 лет ago

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

In 738/smartHDC:

В случае получения от ЧРП ошибки в ответ на команду установки реверса
запрос установки реверса повторяется до десяти раз. Closes #190.

Note: See TracTickets for help on using tickets.