Заново подбирать время разгона для каждого значения quantity? Реально так?
Вот реально не могу понять почему вы думаете, что подбирать "время разгона/торможения" для каждого конкретного quantity это легче и проще, чем подобрать это самое время разгона/торможения один раз и потом использовать его для вообще всех значений? Например, если оказалось, что до 1000Гц без проблем разгоняемся за 5 секунд, то так и пишем: accel_time:=1000/5.
Дальше это accel_time уже не трогаем, а ставим quantity/max_speed как нужно
Поймите вы, что время разгона зависит от quantity. И отлаживать систему, в которой куча взаимосвязанных переменных тяжелее, чем отлаживать систему, где каждый параметр независим.
"слишком быстро разгоняется" -- уменьшили accel_ramp
"надо ехать подальше" -- увеличили quantity
"слишком медленно тормозит" -- увеличили decel_ramp.
Вы же предлагаете, что "пусконаладчики" каким-то мифическим образом подбирают времена.
А, если quantity потом меняется? Что? Все времена переигрывать?
Это реально каменный век.
"ускорение" действительно проще выражать в виде дроби 10'000 Гц/10 сек (по крайней мере мне)
Но в этом и прелесть, что, подобрав один раз эту дробь, можно менять остальные параметры (количество импульсов, предельную скорость) и не возвращаться к подбору "времени разгона".
Эта дробь имеет понятный смысл: за такое-то время мы достигнем такой-то скорости (если понадобится).