#222 closed задача
Ошибка в ТЗ в формуле расчета времени хода вниз при развороте по числу качаний — at Первоначальная версия
Сообщил: | Art_M | Владелец: | |
---|---|---|---|
Приоритет: | Срочно | Этап разработки: | 1-я очередь |
Ключевые слова: | Копия: | Art_M, andrei |
Описание
По мотиву #220
Ошибка заключается в том, что формула в ТЗ не учитывает задержку в верхней точке. Иными словами она действует пока задержка в ВМТ=0, в противном случае она дает ошибку, следствия которой мы и наблюдаем в #220.
Теперь о решении!
В настоящий момент, действительно, есть ошибка в определении точки отсчета времени хода вниз. На динамограмме отображается время хода вниз как сумма расчетного времени и времени задержки в ВМТ. А также замечено, что до внесения if Твниз < ТзадВМТ+1 then Tвниз:=ТзадВМТ+1 условие разворота могло наступить раньше чем закончится задержка в ВМТ. И было бы правильным, как заметил Алексей, считать его с момента включения клапанов, но такое решение, наверное, будет слишком долгореализуемым. Поэтому предлагаю два варианта решения, быстрый и правильный:
Вариант 1 - быстрый, хоть и чуть неправильный (но пока закроем на это глаза):
- Исправить формулу на
Твниз=(60 * Tвниз_пред / (N * Тцикла)) + TзадВМТ
- Все остальное оставляем как есть (т.е. условие так и остается "if Твниз < ТзадВМТ+1 then Tвниз:=ТзадВМТ+1").
Вариант 2 - правильный
- Исправить формулу на:
Твниз=60 * Tвниз_пред / (N * Тцикла)
- Сделать Твниз отсчитываемым от включения ЭК, а не от срабатывания в датчика верхнего положения.
- Изменить условие из имеющегося на
if Твниз < 1 then Tвниз:=1
Я не знаю насколько сложно сейчас в сжатые сроки сделать правильно по варианту 2, но сейчас для исключения имеющейся ошибки меня устраивает наибыстрейший вариант 1.
Теперь про Тцикла=Твверх+Твнизпред+ТзадВМТ(+ТзадНМТ).
Алексей, хотелось бы уточнить, действует ли в настоящий момент задержка в НМТ при развороте по числу качаний? Если нет, то в формуле ТзадНМТ не нужно учитывать.