#126 closed улучшение (fixed)
Убрать из алгоритма функцию "Сброс ошибок"
Сообщил: | san | Владелец: | alx |
---|---|---|---|
Приоритет: | Полный атас | Этап разработки: | 1-я очередь |
Ключевые слова: | Копия: | andrei, Art_M |
Описание (последним изменил )
r633
Контроллер на столе, к нему подключен ЭК1 и Переключатель авт/руч/стоп, все остальные датчики отсутствуют.
Эксперимент.
- После включения контроллера сработали аварии датчиков
- В 15:34 произведено переключение руч->авто
После сброса аварий(в результате переключения режима) контроллер не обнаружил аварии датчиков, хотя датчики по прежнему отсутствовали.
В эксперименте привод начал движение вниз, хотя, с точки зрения Артёма, он должен был определить аварии и при наличии критических аварий быть остановлен.
Предлагается внести правки в тз и ПО: если авария присутствующая в блоке была завершена "сбросом аварий", после "сброса аварий", если условие аварии выполняется, авария должна снова сработать.
Вложения (2)
История изменений (23)
by , 6 лет ago
Вложение: | messages.log added |
---|
by , 6 лет ago
Вложение: | config.xml added |
---|
следующий: 3 comment:2 by , 6 лет ago
Телепатия сработала в верном направлении.
У нас с тобой разные интерпретации сброса аварий, поэтому тебе и не очевидно что я тут считаю багом. Завтра загляну в ТЗ и разберусь....
comment:3 by , 6 лет ago
Копия: | added |
---|
Replying to san:
У нас с тобой разные интерпретации сброса аварий,
Тут не нужны никакие интерпретации. Действия, которые должны выполняться при сбросе аварий, перечислены в ТЗ:
- убрать индикацию об авариях,
- записать в журнал сообщение о сбросе аварий,
- считать все присутствующие аварии завершенными,
- снять пометку с НУ помеченных как неисправные,
- если переключатель в режиме авт., то начать работу в авт. режиме согласно "Запуск привода в работу".
Эти действия либо выполняются приводом, либо нет. Насколько я вижу, все требуемые действия в рассматриваемом случае были выполнены.
Обрати, пожалуйста, особое внимание на последний пункт. Смотрим, как же выполняется запуск привода в работу:
При запуске привода в автоматическом режиме следует проводить стартовый ход... Стартовый ход начинается с движения вниз.
Ты, получается, жалуешься на то, что привод выполнил прямое требование ТЗ - начал выполнять стартовый ход вниз! :)
Вот так и должно работать. Завтра загляну в ТЗ и разберусь....
Разберись. Потому что ТЗ и Андрей (Андрей, подтверди) с тобой не согласны. :) Совершенно очевидно, тикет подлежит закрытию как invalid.
следующий: 8 comment:4 by , 6 лет ago
А где тут написано, что наличии "условия" аварии она не должна быть заново обнаружена после сброса?
comment:6 by , 6 лет ago
Копия: | added |
---|---|
Краткое описание: | Не срабатывают аварии после сброса → Обнаруживать аварии после сброса |
Описание: | изменено (отличие) |
Тип: | баг → улучшение |
следующий: 9 comment:7 by , 6 лет ago
Добавил в тз:
Если авария присутствующая в блоке была завершена "Сбросом аварий", а после "Сброса аварий" условие аварии выполняется - авария должна снова возникнуть.
comment:8 by , 6 лет ago
Replying to san:
А где тут написано, что наличии "условия" аварии она не должна быть заново обнаружена после сброса?
Если контроллер будет так себя вести - удалив аварию из списка ваварий в тот же миг помещать ее туда заново - это будет равносильно тому, что авария просто не была удалена из списка аварий, что нарушает требование ТЗ удалить аварию из списка. Это называется "довести до абсурда". :) Как если бы при нажатии кнопки "Вверх" движение вверх не началось, потому что двигатели были включены, но в тот же миг опять остановлены, так как нигде не написано, что после включения двигателей их нельзя останавливать... :)
comment:9 by , 6 лет ago
Replying to san:
Добавил в тз:
Если авария присутствующая в блоке была завершена "Сбросом аварий", а после "Сброса аварий" условие аварии выполняется - авария должна снова возникнуть.
Так как у подавляющего большинства аварий условие снятия обратно Условию, сброс аварий, как правило, не будет делать ничего...
следующий: 11 comment:10 by , 6 лет ago
"Сброс аварий" задуман для сброса именно тех аварий у которых условие отличается от условия снятия, но для "упрощения" его действие было обобщёно на все аварии.
comment:11 by , 6 лет ago
Replying to san:
но для "упрощения" его действие было обобщёно на все аварии.
Теперь это "упрощение" закончится тем, что после удаления всех аварий придется дополнительно проверять выполнение условий всех 35 возможных аварий, в то время как аварий, у которых условие снятия не обратно Условию, наверное, четырех не наберется... Идею упрощения тоже довели до абсурда. :)
comment:12 by , 6 лет ago
Идею упрощения тоже довели до абсурда
Ну вот, это упрощение и стало причиной путаницы.
comment:13 by , 6 лет ago
Давайте немного ускоримся.
Сегодня ночью монтаж и, в идеале, завтра на запуске иметь прошивку, которая не игнорирует аварии.
comment:14 by , 6 лет ago
Так у вас же все датчики на месте будут, вы даже не заметите.
Оторвали датчик - привод остановился, прицепили - поехал. Сбрасывать не надо)
comment:15 by , 6 лет ago
Артем говорит что нужно для подгонки уровня масла нужно чтобы авария не "маскировалась".
Ночью в 3 на монтаж, завтра запуск, если все хорошо. Осталось шток просверлить и программу обновить. Ждем)))
comment:16 by , 6 лет ago
Все, разобрались.
Не надо сбрасывать аварии датчиков.
При переводе из РУЧ в АВТ нужно "штатно" начинать работу. При этом привод, если есть аварии датчиков, никуда не поедет. А если все хорошо - начнет движение.
При этом:
- Если выполнялась процедура расклинивания, она "забывается".
- Если привод остановлен по перегреву, но температура масла уже ниже температуры отключения, то тоже "забыть" что он был остановлен. Если температура больше температуры отключения, то стоим.
Может быть Артем еще вспомнит "состояния", которые нужно "забыть".
Ну и "сброс аварий" просто изначально неправильная терминология.
comment:17 by , 6 лет ago
Приоритет: | Срочно → Полный атас |
---|
comment:18 by , 6 лет ago
В таком случае убираем функцию "Сброс аварий".
Алексей, я из т.з. убрал упоминания сброса аварий, когда уберёшь эту функцию из алгоритма тикет можно закрыть.
Андрей, имей ввиду, аварию 16.2 сейчас можно будет завершить только сбросом питания.
И ещё есть авария 19, при ней привод может быть остановлен и завершить её можно будет доехав вручную до ДВ или сбросом питания.
comment:19 by , 6 лет ago
Краткое описание: | Обнаруживать аварии после сброса → Убрать из алгоритма функцию "Сборс ошибок" |
---|
comment:20 by , 6 лет ago
Краткое описание: | Убрать из алгоритма функцию "Сборс ошибок" → Убрать из алгоритма функцию "Сброс ошибок" |
---|
Саша, из описания тикета я не могу понять, в чем суть ошибки.
Вот здесь написано, как сделать хороший баг-рипорт. Если кратко - в хорошем баг-рипорте есть три компонента: что делали, что ожидали получить, и что получили вместо этого. В этом тикете, к сожалению, второго из перечисленных компонентов нет. Уточни, пожалуйста, что по-твоему не так в описанном поведении привода.
Рискну предположить (как попытка телепатии), что ты считаешь неправильным, что контроллер, как ты пишешь, не обнаружил аварии датчиков. Это не так (или, как минимум, не совсем так). Аварии датчиков были обнаружены сразу после старта привода, о чем есть записи в журнале:
С этого момента состояния датчиков (сигналов, поступающих от датчиков в контроллер), насколько я понимаю, не менялись.
В 15:34:07, действительно, переключатель режима работы был переведен в положение "авто", при этом выполнился сброс аварий, о чем также есть записи в журнале:
Выполнение сброса аварий соответствует требованиям ТЗ, в котором написано:
Таким образом, сброс аварий был выполнен правильно.
Именно это и выполнил контроллер - посчитал текущие аварии завершенными и убрал записи о них из списка аварий. Так как сигналы от датчиков не менялись, никаких новых аварий не возникало. Не вижу в описанном поведении нарушений каких-либо требований ТЗ. Напротив, если бы контроллер вел себя иначе, это противоречило бы требованию об очистке аварий - получилось бы, что оператор переключил переключатель, выполнив, таким образом, сброс аварий, а аварии датчиков как были в списке, так и остались (хотя, технически, это были бы новые аварии, созданные в тот же миг, что убраны старые). Я смутно помню, что ты уже когда-то говорил с Андреем по этому поводу, и Андрей подтвердил, что все правильно, так и должно быть: повернул переключатель, и никаких аварий не стало...