Просмотр полной версии : Hardella IDE
Ещё в упрощенном случае можно считать, что каждый цикл PRU выполняется через указанное в конфигурации время. Например указали цикл PRU в 1 мкс, вызываем pwm_dw в каждом цикле и тогда можно считать, что pwm_dw настраивается в мкс.
Так я в посте #758 про это и написал.
Владимир Ситников
04.03.2017, 12:13
Тогда задам конкретный вопрос. Какие значения должны иметь period и value, если на выходе надо получить импульсы с периодом 10 мкс и скважностью 2 в ФБ PWM_DW и PDM_DW соответственно ? min cycle = 1 mcs.
Период 10 мкс, значит надо указывать period=10
Value задаёт длительность импульсов. Можно указать 5. Тогда будет 5мкс импульс, 5мкс пауза и так далее.
lara197a
04.03.2017, 12:17
Много пустой, не нужной писанины.
хотел объяснить, что вы пытаетесь получить из плк "систему онлайн",
а они устроены иначе и требуют иных ресурсов.
Но у вы решили пройти своим путем, через тернии и по граблям.
удачи.
хотел объяснить, что вы пытаетесь получить из плк "систему онлайн",
а они устроены иначе и требуют иных ресурсов.
Но у вы решили пройти своим путем, через тернии и по граблям.
удачи.
И вам всего хорошего, добрый человек. ;)
Я так понял, что PWM_DW и PDM_DW - это совершенно разные вещи. PWM_DW - это классический ШИМ, а PDM_DW - это я не знаю что такое. Зачем вы на сайте Hardella сравниваете эти не сравнимые вещи. И названия этим ФБ дали похожие. Это сбивает с толку. Я с дуру ухватился за PDM_DW подумав, что это какой-то супер ШИМ от которого мне привалит много счастья. ;)
Владимир Ситников
04.03.2017, 15:04
PDM_DW - это я не знаю что такое
PDM это pulse density modulation: https://en.wikipedia.org/wiki/Pulse-density_modulation
В английской статье говорится, что PWM это частный случай PDM.
Pulse-width modulation (PWM) is a special case of PDM where the switching frequency is fixed and all the pulses corresponding to one sample are contiguous in the digital signal...
Есть про PDM упоминание и в русской статье про ШИМ (https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%80%D0%BE%D1%82%D0%BD%D0%BE-%D0%B8%D0%BC%D0%BF%D1%83%D0%BB%D1%8C%D1%81%D0%BD%D 0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F%D1 %86%D0%B8%D1%8F#.D0.A6.D0.B8.D1.84.D1.80.D0.BE.D0. B2.D0.B0.D1.8F_.D0.A8.D0.98.D0.9C):
Высоким качеством обладает такая разновидность однобитной ИКМ, как импульсно-плотностная модуляция (pulse density modulation), которая ещё именуется импульсно-частотной модуляцией.
Newcomer
06.03.2017, 09:46
Добрый день.
Интересный документ представил Ветер. Владимир Ситников, вы не планируете реализовать что-то подобное (хотя бы часть инструкций) в своем проекте ? Ваш ФБ Steper работает хорошо. Было бы не плохо расширить возможности управления ШД.
Владимир Ситников
06.03.2017, 15:27
Интересный документ представил Ветер. Владимир Ситников, вы не планируете реализовать что-то подобное (хотя бы часть инструкций) в своем проекте ? Ваш ФБ Steper работает хорошо. Было бы не плохо расширить возможности управления ШД.
До мая вряд ли.
Владимир, как можно оценить время исполнения программы для PRU ? Я так понимаю, что время исполнения программы для PRU должно обязательно укладываться в min cycle.
Владимир Ситников
07.03.2017, 19:18
Владимир, как можно оценить время исполнения программы для PRU ? Я так понимаю, что время исполнения программы для PRU должно обязательно укладываться в min cycle.
Можно:
1) выполнить её на эмуляторе.
2) грубо оценить -- умножить на 5нс количество команд в PRU коде. Т.е. заглянуть в программу ..._Pru0Init, найти там pruCode : ARRAY[1..557] и умножить размер массива на 5нс.
557*5нс = 2.785мкс. Это оценка сверху. Например, если выполнение пошло по одной из веток IF, то вторая, разумеется, не выполняется.
Можно придумать какой-нибудь механизм, чтобы в online можно было узнать сколько выполнялся пользовательский код. Минус в том, что он потребует какого-то регистра для хранения данных. С другой стороны, одного-двух байтов должно быть достаточно.
Владимир, как заключить в оператор IF кусок ранее написанного кода ? При вводе IF сразу формируется пустое тело оператора. Если убрать END_IF, убирается весь оператор.
Владимир Ситников
07.03.2017, 20:49
Владимир, как заключить в оператор IF кусок ранее написанного кода ? При вводе IF сразу формируется пустое тело оператора. Если убрать END_IF, убирается весь оператор.
ctrl+shift+стрелки вверх/вниз будут перемещать операторы (либо текущую команду, либо блок выделенных команд)
Например:
пишем if -- появляется пустой блок if
выделяем код, который хотим внести в этот самый IF
дальше жмём ctrl+shift+вверх/вниз до тех пор, пока код не переместится внутрь IF'а
А операций деление, умножение вроде как нет ?
Почему компилятору не нравится такая конструкция ?
Владимир Ситников
07.03.2017, 22:34
Почему компилятору не нравится такая конструкция ?
https://hardella.com/docs/pru/features-and-limits/#Язык-программирования
* Не поддерживаются сложные выражения. Т.е. чтобы записать d := a+b-c нужно делать промежуточную переменную и записывать как u := b-c; d:= a+b;. При этом не стоит думать, что “использование одной временной переменной” сократит используемые ресурсы. Если использовать разные переменные, то компилятор сможет понять, когда одна из них становится ненужной.
* В условных операторах (IF, WHILE, REPEAT) составные AND, OR работают, но тоже не в любых комбинациях. Если скомпилировалось, то норм. Если “не поддерживается”, то будет ошибка компиляции.
Владимир Ситников
07.03.2017, 22:37
А операций деление, умножение вроде как нет ?
Умножение/деление сейчас через MUL / DIV блоки.
Владимир, что такое ваш эмулятор и как им пользоваться ?
Владимир Ситников
08.03.2017, 11:39
Владимир, что такое ваш эмулятор и как им пользоваться ?
Это библиотека на java. Нужно писать программы типа таких: https://github.com/vlsi/pru-emulator/blob/master/src/test/java/com/github/vlsi/pru/AbzTest.java#L27-L29
ctrl+A – это сочетание открывает окно, в котором можно найти все остальные сочетания.
Владимир, у меня это не работает.
Ctrl+C, Ctrl+V у меня не работает.
Владимир Ситников
08.03.2017, 14:38
ctrl+A – это сочетание открывает окно, в котором можно найти все остальные сочетания.
Владимир, у меня это не работает.
Ctrl+shift+a не работает?
На сайте написано не Ctrl+shift+A, а ctrl+A.
ctrl+A – это сочетание открывает окно, в котором можно найти все остальные сочетания - вот так написано.
Владимир, в последней версии Hardella чтение и запись переменных при обмене с программой CoDeSys разделены. Что в связи с этим должно поменяется в тексте программы в Hardella ?
Владимир Ситников
08.03.2017, 16:05
Владимир, в последней версии Hardella чтение и запись переменных при обмене с программой CoDeSys разделены. Что в связи с этим должно поменяется в тексте программы в Hardella ?
В начале чтение данных из PRU, потом обработка, потом запись.
В начале чтение данных из PRU, потом обработка, потом запись.
Вы ничего не перепутали ? То, что вы написали должно быть в программе CoDeSys, а не в программе, которая пишется в Hardella. Я спрашивал о возможных изменениях в программе для PRU.
Владимир Ситников
08.03.2017, 18:19
Вы ничего не перепутали ? То, что вы написали должно быть в программе CoDeSys, а не в программе, которая пишется в Hardella. Я спрашивал о возможных изменениях в программе для PRU.
Да, я действительно ответил на вопрос "программы в КДС".
В PRU ничего не меняется. Если поменяется, то об этом обязательно будет сказано в "списке изменений"
Владимир как зачать, то что на первой картинке? Чем первое отличается от второго ?
Владимир Ситников
08.03.2017, 18:46
Владимир как зачать, то что на первой картинке? Чем первое отличается от второго ?
Отличается типом того, какую переменную прокидываем в КДС (ну, т.е. почти ничем не отличается)
Если простая переменная, то просто @Export.
Если это ФБ, то будет @Export со скобочками в которых можно указать какие именно поля ФБ нужно прокидывать в КДС.
Отличается типом того, какую переменную прокидываем в КДС (ну, т.е. почти ничем не отличается)
Если простая переменная, то просто @Export.
Если это ФБ, то будет @Export со скобочками в которых можно указать какие именно поля ФБ нужно прокидывать в КДС.
А как @Export( зачать ?
Владимир, что за холера прицепилась и не отстает.
Владимир Ситников
08.03.2017, 18:57
А как @Export( зачать ?
А как пробовали?
Либо через клавишу @, либо alt+enter -> exchange with host, либо мышкой по лампочке и снова echange with host, либо чуть-чуть подождать и мышкой справа на варианте exchange with host.
4 варианта.
Вот пример: http://recordit.co/ctJyTr3c3r
Владимир Ситников
08.03.2017, 18:58
Владимир, что за холера прицепилась и не отстает.
Так это для того, чтобы можно было добавить/убрать input/output "не отходя от кассы".
Мешает разве?
А как пробовали?
Либо через клавишу @, либо alt+enter -> exchange with host, либо мышкой по лампочке и снова echange with host, либо чуть-чуть подождать и мышкой справа на варианте exchange with host.
4 варианта.
Вот пример: http://recordit.co/ctJyTr3c3r
Мне нужно @Export( , а не @Export. С зачатием @Export проблем нет.
Владимир Ситников
08.03.2017, 19:27
Мне нужно @Export( , а не @Export. С зачатием @Export проблем нет.
Проблемный пример в студию.
Вот на примере TON'а: http://recordit.co/GhbZbjC4hV
Так это для того, чтобы можно было добавить/убрать input/output "не отходя от кассы".
Мешает разве?
А эту подсказку как изначально вытащить. Я не понял откуда она у меня появилась. Что-то я делал и вдруг она вылезла. Или это новшество появилось в Hardella 1.6.2 ?
Владимир Ситников
09.03.2017, 12:18
А эту подсказку как изначально вытащить. Я не понял откуда она у меня появилась. Что-то я делал и вдруг она вылезла. Или это новшество появилось в Hardella 1.6.2 ?
Да, в 1.6.1 этого не было. В 1.6.2 появляется после того, как курсор задерживается какое-то время на строе с объявлением переменной.
Владимир, сколько переменных типа DWORD можно объявить в программе PRU ?
Владимир Ситников
11.03.2017, 14:47
Владимир, сколько переменных типа DWORD можно объявить в программе PRU ?
Штук 30.
Но всё зависит от того, сколько из них реально используются.
Например, в следующем коде "используются 3 DWORD переменные", но в результирующей PRU программе используется только 4 байта из регистровой памяти.
a,b,c:DWORD;
a:=1;
b:=a+1; (* на этом этапе значение a уже не нужно и по факту, "b" размещается в той же ячейке, что и "a" *)
c:=b+1; (* аналогично, "c" размещается в той же ячейке, что и "b" *)
(* далее чтений переменных "a" и "b" нет *)
Т.е. если нужна переменная для временных вычислений в одном конкретном месте, то лучше взять и объявить эту самую переменную.
Компилятор должен понять, что после этих временных вычислений значение больше не используется, и сможет переиспользовать этот регистр.
Если же для всех промежуточных вычислений использовать одну-единственную переменную, то компилятор наглухо зарезервирует регистр за этой переменной, хотя он и нужен только эпизодически.
Владимир, вы в ФБ Steper корректировку частоты (периода) делаете в каждом такте ?
Владимир Ситников
11.03.2017, 15:50
Владимир, вы в ФБ Steper корректировку частоты (периода) делаете в каждом такте ?
При разгоне-торможении, да, при каждом импульсе.
Владимир, вы в ФБ Steper корректировку частоты (периода) делаете в каждом такте ?
В нашем полку прибыло. Отлично. Вместе нам будет веселей. Я тут тоже озадачен решением нетривиальной задачи по управлению ШД.
Я в Hardella делаю свой ФБ для непрерывного регулирования частоты вращения ротора ШД. У меня вот такая формула для расчета текущего значения периода получилась: T = T0/(1+T0*a*t);
Тут присутствует операция деления и это мне не нравится. Владимир, что можете посоветовать ?
В нашем полку прибыло. Отлично. Вместе нам будет веселей.
Да я только начинаю знакомится с Hardella. Хорошо, что есть у кого что спросить.
Да я только начинаю знакомится с Hardella. Хорошо, что есть у кого что спросить.
А я уже поработал с Hardella и вошел во вкус, чего и вам желаю. Все у вас получится если сильно захотите.
Владимир Ситников
11.03.2017, 16:18
Тут присутствует операция деления и это мне не нравится. Владимир, что можете посоветовать ?
Если присмотреться, то видно, что PRU_STEPPER на этапе разгона/торможения тоже выполняет операцию деления.
Поэтому, либо её оставлять в PRU, либо деления/умножения делать в "быстром таймере"
Если присмотреться, то видно, что PRU_STEPPER на этапе разгона/торможения тоже выполняет операцию деления.
А на пальцах не объясните как в PRU_STEPPER выполняется операция деления ?
либо деления/умножения делать в "быстром таймере"
PRU тактируется с частотой 1 Мгц (1 мкс), а прерывание по быстрому таймеру чаще 100 мкс лучше не делать. Т.е. частоты несоизмеримы. По этой причине каждую микросекунду корректировать Т не получится.
Владимир Ситников
11.03.2017, 17:09
PRU тактируется с частотой 1 Мгц (1 мкс), а прерывание по быстрому таймеру чаще 100 мкс лучше не делать. Т.е. частоты несоизмеримы. По этой причине каждую микросекунду корректировать Т не получится.
А обязательно ли корректировать каждую микросекунду?
Можно раз в 100мкс обновлять "новую цель" и чтобы PRU шпарило к ней.
Либо просто "раз в 100мкс вычислять новый интервал между импульсами", либо "раз в 100мкс вычислять новый интервал + прибавку к нему". При этом PRU будет каждые 100мкс получать более-менее правильные значения, а между делом линейно наращивать/сокращать интервал на полученное же значение.
Тогда деление в PRU не понадобится, а достаточно будет простого t1 := t1+dt;
Вот исходная формула: T = T0/(1+T0*a*t);, ее можно привести к виду: T = T0 + ΣdT.
T0 - текущий период известен, t - время разгона/торможения известно (изначально жестко задано), n - количество тактов известно (т.к. t известно), dT - приращение на каждом такте известно. Т.е. на каждом такте прибавляем к T0 накопленную сумму, суммируем от 0 до n. В основной программе один раз раcчитывается и передается в PRU dT и n
Владимир Ситников
11.03.2017, 17:17
T = T0 + n * dT - вот она заветная формула. T0 - текущий период известен, t - время разгона/торможения известно, n - количество тактов известно, dT - приращение на каждом такте известно.
"Проблема" в том, что для правильной физики процесса формула должна быть не для задержек, а для частоты.
Т.е. частота должна расти линейно, а задержки будут расти как разница корней.
Другое дело, что если обновлять T0 раз в 100мкс, то никто не заметит подлога и наверняка будет всех устраивать.
PS. В моём блоке PRU_STEPPER реализована корректировка длительности каждого импульса только из-за того, что так было _проще_ сделать. Да, да. Именно проще всю программу написать в PRU, т.к. тогда её гораздо проще отлаживать. По крайней мере мне. Запускаешь на эмуляторе и всё видишь.
Если же делать половину программы в "100мкс таймере" и "половину в PRU", то отлаживать становится сложнее, т.к. у меня нет "эмулятора КДС кода".
Например: в КДС программе можно и нужно использовать нормальные деления REAL'ов. А мой эмулятор делался для PRU, в котором дробных вообще нет.
T = T0 + n * dT - вот она заветная формула. T0 - текущий период известен, t - время разгона/торможения известно, n - количество тактов известно, dT - приращение на каждом такте известно. Т.е. на каждом такте прибавляем к T0 накопленную сумму.
А что сразу не было заметно ,что кусочная апроксимация проще вычисления (деления, итд) кривой ???Я думал для продвинутых это очевидно
А что сразу не было заметно ,что кусочная апроксимация проще вычисления (деления, итд) кривой ???Я думал для продвинутых это очевидно
О каких кривых речь ? Решено, что разгон и торможение только с постоянным ускорением. От разгона по нелинейной зависимости давно отказался, а следовательно никакие аппроксимации не нужны.
rovki, может вы в ОЛ и для PRU программу наваляете за 5 минут ? ;)
"Проблема" в том, что для правильной физики процесса формула должна быть не для задержек, а для частоты.
Т.е. частота должна расти линейно, а задержки будут расти как разница корней.
Ничего не понял. Какая разница корней ? Я же все формулы выложил. Нет там никаких корней, а только одни суммирования.
Владимир Ситников
11.03.2017, 18:29
Ничего не понял. Какая разница корней ? Я же все формулы выложил. Нет там никаких корней, а только одни суммирования.
Линейное изменение T это приближенная формула.
При точном "равноускоренном движении" S=a*t*t/2, и, значит, t = sqrt(2*s/a). Т.е. tn-tn-1 = sqrt(2*n/a) - sqrt(2*(n-1)/a), где tn это время, когда должен возникнуть n-ый импульс, а tn-tn-1 это длительность n-го импульса.
В коде ФБ Steper никаких делений и извлечений корней нет.
Владимир Ситников
11.03.2017, 19:21
В коде ФБ Steper никаких делений и извлечений корней нет.
Всё есть. И деления, и корни:
29983
Неужели все это успевает выполнится за 1 мкс ?
А где эти ФБ умножения, деления, извлечения квадратного корня и их описания ?
О каких кривых речь ? Решено, что разгон и торможение только с постоянным ускорением. От разгона по нелинейной зависимости давно отказался, а следовательно никакие аппроксимации не нужны.
rovki, может вы в ОЛ и для PRU программу наваляете за 5 минут ? ;)
Кривая это график функции ,наприме 1/x .Можно делить ,а можно разложить на куски линейные разложить (апроксимация)
Кривая это график функции ,наприме 1/x .Можно делить ,а можно разложить на куски линейные разложить (апроксимация)
rovki, вам же написали, что нелинейные функции уже не рассматриваются, а следовательно и аппроксимация то же. Что такое аппроксимация я и без вас хорошо представляю.
Владимир Ситников
11.03.2017, 19:58
Неужели все это успевает выполнится за 1 мкс ?
За одну не успевает, а за 2-5мкс -- вполне.
Стоит заметить, что в процессе движения корни не нужны (они только перед стартом)
А где эти ФБ умножения, деления, извлечения квадратного корня ?
ФБ там же, где и все остальные. Нажимаем ctrl+N, пишем pru_sqrt_dw, нажимаем enter и наслаждаемся блоком извлечения корня.
Ну или находим их использование в PRU_STEPPER, нажимаем ctrl и мышкой нажимаем на PRU_SQRT_DW
Значит min cycle в Program configuration надо ставить больше 5 мкс ?
Владимир Ситников
11.03.2017, 20:07
Значит min cycle надо ставить больше 5 мкс ?
Одно другому не мешает.
Вернее, мешает, но несильно. Мешает в части обработки энкодера/счётчика только в момент, когда идёт запуск ШД.
Если min cycle указано 1мкс, а по факту вычисления длились 5мкс, то следующий цикл начинается прямо сразу же.
В расчетной формуле у вас S - это число импульсов n[безразмерная величина], а что такое v и a и какие у них единицы измерения ?
Если min cycle указано 1мкс, а по факту вычисления длились 5мкс, то следующий цикл начинается прямо сразу же.
Проход не закончился, а ФБ снова вызывается. Это же каша получится.
Владимир Ситников
11.03.2017, 20:37
Проход не закончился, а ФБ снова вызывается. Это же каша получится.
Как закончится проход, так и следующий начнётся.
Владимир Ситников
11.03.2017, 20:40
В расчетной формуле у вас S - это число импульсов n[безразмерная величина], а что такое v и a и какие у них единицы измерения ?
можно, например, так:
v -- скорость, имп/сек
a -- ускорение, имп/(сек2)
S -- пройденный путь, имп
t -- время, сек.
Получается, что v - это частота, т.е. f ?
Как закончится проход, так и следующий начнётся.
Но это же деформация времени.
Но это же деформация времени.
И искривление пространства ;)
Владимир Ситников
11.03.2017, 21:14
Но это же деформация времени.
Ничего не поделаешь, спорт есть спорт.
Но есть один нюанс: в большинстве случаев, импульсы имеют длительность более этих самых 2-5мкс.
Сам счётчик времени никуда не портится. PRU по-прежнему трезво понимает сколько времени прошло с прошлого импульса.
Скажем, на частоте 100кГц выход должен менять состояние раз в 5мкс, что вполне будет получаться, ведь вычисления будут укладываться в 1-2мкс (в момент подхода к 100кГц). Да и само вычисление вызывается не на каждом цикле PRU, а только тогда, когда импульс закончился, и нужно узнать длительность следующего.
Владимир Ситников
11.03.2017, 21:17
Получается, что v - это частота, т.е. f ?
Да, так и есть.
Такая формула будет справедлива: f(t) = f0 + a*t; ?
Владимир Ситников
11.03.2017, 21:40
Такая формула будет справедлива: f(t) = f0 + a*t; ?
Да, формула верная.
Значит такая то же имеет право быть: 1/T(t) = 1/T0 + a*t; ? Если так, то что мне мешает вычислять T(t) и корректировать период следования импульсов при каждом вызове моего ФБ ? а (ускорение) можно вычислить в программе CoDeSys и передать при обращении к программе PRU.
Владимир Ситников
11.03.2017, 21:47
Значит такая то же имеет право быть: 1/T(t) = 1/T0 + a*t; ?
Да, и так тоже можно.
Владимир Ситников
11.03.2017, 21:54
Значит такая то же имеет право быть: 1/T(t) = 1/T0 + a*t; ? Если так, то что мне мешает вычислять T(t) и корректировать период следования импульсов при каждом вызове моего ФБ ? а можно вычислить в программе CoDeSys и передать при обращении к программе PRU.
Вопрос в том, сколько умножений/делений хотите делать за такт. Насколько я помню, умножение и деление требуют примерно по 1мкс.
Для справки: PRU_STEPPER на этапах разгона и торможения использует несколько сложений-вычитаний и одно единственное деление.
И, да, не забывайте, что REAL типов в PRU нет, т.е. вычисления через DWORD с округлением
Мою формулу можно свести в итоге к такой: T = T0 + ΣdT. Приращение dT можно вычислить в программе CoDeSys и передать при обращении к программе PRU. В итоге все сведется к суммированию заранее известного числа раз. Или я не прав ?
Владимир Ситников
11.03.2017, 22:07
Мою формулу можно свести в итоге к такой: T = T0 + ΣdT. Приращение dT можно вычислить в программе CoDeSys и передать при обращении к программе PRU. В итоге все сведется к суммированию заранее известного числа раз. Или я не прав ?
Это будет другая формула, и она будет неким приближением исходной. dT нужно будет корректировать каждые 100мкс.
Да я не верно написал. Должно быть так: 1/T(t) = 1/T0 + a * t;
1/T0 - это константа, она вычисляется однажды в основной программе и передается в PRU.
T(t) = T0/(1+T0*a*t); или T(t) = T0/(1+T0*aΣdt);
Если делать вычисления в лоб, то на каждом шаге надо будет суммировать, умножать, и делить. Не фонтан. :mad:
Надо попробовать разложить функцию в степенной ряд, возможно полегчает. ;)
Если ограничиться двумя членами, то в окрестности точки 133 мкс (7500 Гц) получается так:
T(t) = T0/(1+T0*a*t) = 200/(1+200*0,000000833*t) = 196 - 0,0325*(t-133)
Вроде не плохо получилось. Только что делать с коэффициентом 0,0325 ? Владимир, что скажите ?
Владимир Ситников
12.03.2017, 14:46
Вроде не плохо получилось. Владимир, что скажите ?
Я бы предложил сделать вычисления без PRU, проверить, что получаются нужные цифры и тогда уже переходить к кодированию.
И ещё: время лучше не в мкс измерять, а 5нс интервалах. PRU работает на частоте 200МГц, и 1 такт занимает 5нс. Счётчик тактов доступен из PRUграммы.
С коэффициентом 0,0325 в степенном ряду что делать ? Как с дробными числами работать ?
Может так избавиться от дробного числа: 196 - 0,0325*(t-133) = 196 - (t-133)/31
Тогда погрешность при целочисленном делении будет большая.
Может так сделать T(t)*31 = 196*31 - (t-133), т.е. в результате вычислений получить T(t)*31, а потом результат поделить на 31.
И ещё: время лучше не в мкс измерять, а 5нс интервалах.
А это для чего нужно ?
Владимир Ситников
12.03.2017, 15:34
А это для чего нужно ?
Блок PRU_CURRENT_TIME: https://hardella.com/docs/pru/standard-library/#pru_current_time
Блок PRU_CURRENT_TIME: https://hardella.com/docs/pru/standard-library/#pru_current_time
Зачем мерить время в 5 нс интервалах ? Что это дает ?
Владимир, операция целочисленного деления сколько у вас времени занимает ?
Василий Кашуба
12.03.2017, 15:48
Зачем мерить время в 5 нс интервалах ? Что это дает ?
Время можно посчитать в штуках интервалов.
Время можно посчитать в штуках интервалов.
Счетчик вызовов ФБ проще организовать для подсчета временных интервалов известной длины.
Владимир Ситников
12.03.2017, 16:31
Владимир, операция целочисленного деления сколько у вас времени занимает ?
Максимум -- около 200 инструкций (цикл на 32 бита, каждая итерация это 6 инструкций) == 1мкс.
Если числа маленькие, то деление может закончиться и быстрее.
Владимир Ситников
12.03.2017, 16:33
Время можно посчитать в штуках интервалов.
Ага, всё так.
У самого процессора есть счётчик количества прошедших 5нс интервалов, поэтому и оперировать ими может быть удобно (есть возможность узнать сколько уже прошло, когда нужно начинать следующий импульс и т.п.).
Максимум -- около 200 инструкций (цикл на 32 бита, каждая итерация это 6 инструкций) == 1мкс.
Если числа маленькие, то деление может закончиться и быстрее.
А где ФБ деления чисел находится ?
Владимир Ситников
12.03.2017, 16:36
А где ФБ деления чисел находится ?
В стандартной поставке: PRU_DIV_DW_DW
А оператор CASE в Hardella есть ?
Владимир Ситников
15.03.2017, 13:33
А оператор CASE в Hardella есть ?
Оператор CASE есть.
Оператор CASE есть.
А вы его в своих блоках использовали ?
Владимир Ситников
15.03.2017, 13:43
А вы его в своих блоках использовали ?
Ну, да.
Например, PRU_STEPPER на CASE построен:
30045
А почему нельзя вставить комментарий напротив строки текста программы ?
При объявлении переменных комментарий на против строки ставится, а в тексте программы нет.
Владимир Ситников
15.03.2017, 15:12
А почему нельзя вставить комментарий напротив строки текста программы ?
Сейчас, да, комментарии только на своих строках. Вообще, да, можно добавить.
Добрый день!
Столкнулся с проблемой. Проект, созданный в Харделла 1.6.1 работал нормально. После обновления до 1.6.2, т.е. после разделения процедур чтения и записи из\в PRU проект перестал работать.
При онлайне с ПЛК переменная lastWriteOk в состоянии FALSE, постоянно растет счетчик writeFails, хотя переменная running в TRUE. Естественно, никакие данные не пишутся и не поступают с\в PRU-блоки.
Непонятно назначение POU Hardella_SimulationDetector.
Созданный в 1.6.1 проект без изменений перекомпилирован в 1.6.2, и все нужные файлы перенесены в КДС как положено.
Что я не так делаю?
---------------
Обратил внимание, что в коде *.exp компиляции 1.6.1 присутствует вызов FB_GetParametr, а в компиляции 1.6.2 такого вызова нет.
Владимир Ситников
16.03.2017, 09:48
Созданный в 1.6.1 проект без изменений перекомпилирован в 1.6.2, и все нужные файлы перенесены в КДС как положено.
Что я не так делаю?
Посмотрю.
Обратил внимание, что в коде *.exp компиляции 1.6.1 присутствует вызов FB_GetParametr, а в компиляции 1.6.2 такого вызова нет.
Это сделано, чтобы не требовалось подключать pruaccesslib.lib
murdemon
16.03.2017, 10:55
А на каком софте основана сама Hardella IDE? Есть возможность компилировать ST в код IL (все описание самого кода есть). Интересна возможность запилить поддержку Delta PLc. На которых нет ST.
Владимир Ситников
16.03.2017, 11:00
А на каком софте основана сама Hardella IDE? Есть возможность компилировать ST в код IL (все описание самого кода есть). Интересна возможность запилить поддержку Delta PLc. На которых нет ST.
Hardella IDE написана на JetBrains MPS (https://www.jetbrains.com/mps/).
Да, сделать компиляцию ST -> IL можно.
Delta на может IL в текстовом виде обрабатывать?
murdemon
16.03.2017, 11:05
На DELTA PLC (для ПЛК DVP серии) в среде ISPSoft IL можно только копи пастом, есть импорт и экспорт (но формат там не текстовый)
Владимир Ситников
20.03.2017, 01:41
Созданный в 1.6.1 проект без изменений перекомпилирован в 1.6.2, и все нужные файлы перенесены в КДС как положено.
Что я не так делаю?
Да, в 1.6.2 не работает обмен.
Если других дополнений нет, то выложу обновление с таким составом:
Исправлено:
- Восстановлен PRU - host обмен данными (в 1.6.2 обмен был сломан)
Новые возможности:
- Получение фактической длительности PRU цикла в online режиме. При включении этой опции в PRU configuration, в программу `MemoryRead` передаётся максимальная длительность работы программы и фактическая длительность PRU цикла. PRU ядро накапливает максимальнюу длительность и сброс происходит в момент очередного чтения данных из PRU.
- Теперь комментарии можно добавять после точки с запятой, после `IF`, `ELSE`, и т.п.
Замечание:
- При открытии проекта, созданного в предыдущих версиях Hardella, запустится "Migration Assistant" и предложит обновить проект (формат хранения комментариев изменился). Достаточно просто пронажимать next.
Статистика времени выполнения выводится в MemoryRead следующим образом.
Фактическая длительность PRU цикла. Т.е. время от одной записи выходов до следующей.
maxOutputWriteTimeMicros : REAL; (* макс. длительность цикла за всё время работы ПЛК, мкс *)
lastOutputWriteTimeMicros : REAL; (* последняя длительность цикла, считанная из PRU, мкс *)
Например, если указать "min cycle: 1µs", и PRU программа очень простая (всегда укладывается в 1мкс), то OutputWriteTimeMicros будут равны 1.0
Ну, мы указали, что хотим 1 мкс цикл, его и получили.
Если же программа заняла дольше, то тут будет фактическое значение.
Разумеется, второй вопрос "а сколько реально занимает программа, без учёта ожиданий?"
Для этого выведены переменные про длительность полезного кода (это длительность программы + 2 опроса входов с фильтрацией + приём-передача)
maxCycleTimeMicros : REAL; (* макс. длительность работы PRU программы за всё время работы ПЛК, мкс *)
lastCycleTimeMicros : REAL; (* последняя длительность работы PRU программы, считанная из PRU, мкс *)
Владимир Ситников
Спасибо! Протестирую и сообщу о результатах.
Кстати, на следующей неделе предстоит воплощение одного из проектов на реальном железе в реальной установке. Будет использоваться сокращенная версия моего проекта. Будет использоваться только PRU-энкодер с детектором машинного нуля.
Владимир Ситников
20.03.2017, 14:10
Спасибо! Протестирую и сообщу о результатах.
Опубликовал Hardella 1.7.0.
Можно через автообновление, можно с нуля выкачать.
Владимир, какое минимальное время допустимо между этим
SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_st epper_enable := FALSE);
и этим
SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_st epper_enable := TRUE);
операторами ?
Владимир Ситников
22.03.2017, 23:25
Владимир, какое минимальное время допустимо между этим
SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_st epper_enable := FALSE);
и этим
SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_st epper_enable := TRUE);
операторами ?
Примерно 2-3 цикла PRU.
Примерно 2-3 цикла PRU.
Если цикл PRU 1 мкс, то 2...3 мкс ?
А обмен между ЦП и PRU постоянно идет ? Когда начинается и когда заканчивается обмен между ЦП и PRU ? Или как прошло это
SteppersConfig_Pru0Init();
SteppersConfig_Pru1Init();
так и пошел обмен ?
Или надо постоянно делать это иначе обмена не будет?
SteppersConfig_Pru0MemoryTransfer();
SteppersConfig_Pru1MemoryTransfer();
Владимир Ситников
23.03.2017, 00:30
Если цикл PRU 1 мкс, то 2...3 мкс ?
Да.
А обмен между ЦП и PRU постоянно идет ? Когда начинается и когда заканчивается обмен между ЦП и PRU ? Или как прошло это
PRU программа выполняет следующее:
t0 := засекаем_время();
WHITE TRUE
USER_PROGRAM(); (* вызываем программу, указанную в pru configuration *)
REPEAT
обрабатываем_обмен_данными_с_host();
читаем_входы();
UNTIL время < t0 + мин_ц
END_REPEAT;
t0 := засекаем_время();
записываем_выходы();
читаем_входы();
END_WHILE;
Иначе говоря, большую часть времени PRU ядро ждёт от КДС программы команд на чтение-запись PRU данных.
Но эти данные PRU программа сможет использовать только на следующем PRU цикле.
Возвращаясь к исходному вопросу "когда можно перезапускать stepper". После перевода enable в false нужно выполнять memoryread и ждать когда блок сменит состояние. В целом, за одну-две микросекунды это может и случиться, т.е. можно это выполнять и в рамках одного цикла ПЛК (while stepper.state<>... memory read ...).
SteppersConfig_Pru0Init();
SteppersConfig_Pru1Init();
так и пошел обмен ?
Нет. После Init запускается только "ответная" сторона в PRU. Сами данные идут только по управлению КДС программы.
Чтобы данные реально ходили нужно вызывать MemoryTransfer или MemoryRead или MemoryWrite.
При каждом вызове Memory* будет новый обмен.
После перевода enable в false нужно выполнять memoryread и ждать когда блок сменит состояние. В целом, за одну-две микросекунды это может и случиться, т.е. можно это выполнять и в рамках одного цикла ПЛК (while stepper.state<>... memory read ...).
А можно перевести enable в false и не делать memoryread для анализа состояния блока, а просто подождать немного и далее перевести enable в true ?
Владимир Ситников
24.03.2017, 10:48
А можно перевести enable в false и не делать memoryread для анализа состояния блока, а просто подождать немного и далее перевести enable в true ?
Можно-то оно можно, но нужно набраться уверенности, что прошло достаточно времени.
Можно-то оно можно, но нужно набраться уверенности, что прошло достаточно времени.
3 мкс - это мизер при цикле ПЛК 1 мс.
У меня в прерывающей программе, которая вызывается с периодом 200 мкс записано
SteppersConfig_Pru1MemoryTransfer();
Допустим в основной программе ПЛК однажды записано так
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := Dir,
STEPPER1_PRU1_stepper_accel_ramp := Accel,
STEPPER1_PRU1_stepper_decel_ramp := 200000000,
STEPPER1_PRU1_stepper_max_speed := 200000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := Quantity,
STEPPER1_PRU1_stepper_enable := TRUE
);
Правильно ли я понимаю, что каждые 200 мкс между программой PRU и основной программой будут передаваться указанные выше значения ?
Владимир Ситников
24.03.2017, 12:41
Допустим в основной программе ПЛК однажды записано так
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := Dir, ...);
Правильно ли я понимаю, что каждые 200 мкс между программой PRU и основной программой будут передаваться указанные выше значения ?
Если MemoryTransfer() вызывается в 200мкс таймере, то в основной программе достаточно просто менять-читать значения переменных:
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_di r := Dir;
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_accel_ramp := Accel;
...
Либо просто в 200мкс таймере вызывать MemoryTransfer со всеми параметрами.
Уточняю вопрос. Достаточно ли однократно вызвать
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := Dir,
STEPPER1_PRU1_stepper_accel_ramp := Accel,
STEPPER1_PRU1_stepper_decel_ramp := 200000000,
STEPPER1_PRU1_stepper_max_speed := 200000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := Quantity,
STEPPER1_PRU1_stepper_enable := TRUE
);
чтобы эти значения постоянно передавались посредством вызова SteppersConfig_Pru1MemoryTransfer(); в прерывающей программе ?
Владимир Ситников
24.03.2017, 13:05
Уточняю вопрос. Достаточно ли однажды записать
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := Dir,
STEPPER1_PRU1_stepper_accel_ramp := Accel,
STEPPER1_PRU1_stepper_decel_ramp := 200000000,
STEPPER1_PRU1_stepper_max_speed := 200000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := Quantity,
STEPPER1_PRU1_stepper_enable := TRUE
);
чтобы эти значения постоянно передавались.
Что значит однажды?
При вызове SteppersConfig_Pru1MemoryTransfer(), в PRU передаются значения переменных блока SteppersConfig_Pru1MemoryTransfer.
Запись
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := Dir,
STEPPER1_PRU1_stepper_accel_ramp := Accel,...
Это абсолютно то же самое, что и
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_di r := Dir;
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_accel_ramp := Accel;
SteppersConfig_Pru1MemoryTransfer();
Иными словами, запись SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_di r := Dir,) не несёт в себе какого-то магического "отныне STEPPER1_PRU1_dir будет отслеживать значение переменной Dir". STEPPER1_PRU1_dir и Dir это независимые переменные, поэтому, если нужно передавать новое значение Dir в PRU, то нужно и выполнять присваивание в переменную STEPPER1_PRU1_dir.
Что значит однажды?
Вот так например
CASE N OF
10:
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := Dir,
STEPPER1_PRU1_stepper_accel_ramp := Accel,
STEPPER1_PRU1_stepper_decel_ramp := 200000000,
STEPPER1_PRU1_stepper_max_speed := 200000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := Quantity,
STEPPER1_PRU1_stepper_enable := TRUE
);
N := 20;
20:
;
END_CASE
Владимир Ситников
Отчитываюсь по своему проекту.
Произведен монтаж ПЛК в шкаф машины, компиляция кода использована версией 1.7.0, код работает отлично, сбоев за двое суток непрерывной работы не зафиксировано.
Есть небольшой вопросик. При выполнении в КДС Проект>Контроль>Неиспользуемые переменные выводит вот такую табличку:
30216
В принципе это не критично, но хотелось бы знать детали.
Владимир Ситников
24.03.2017, 13:52
Вот так например
CASE N OF
10:
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := Dir,
N := 20;
20:
;
END_CASE
Как я писал выше, в PRU попадёт то значение Dir, которое было на момент выполнения шага N=10. Если потом Dir будет меняться, то новое значение попадёт в PRU уже только при очередном N=10.
Владимир Ситников
24.03.2017, 14:01
Владимир Ситников
Отчитываюсь по своему проекту.
Произведен монтаж ПЛК в шкаф машины, компиляция кода использована версией 1.7.0, код работает отлично, сбоев за двое суток непрерывной работы не зафиксировано.
Здорово.
Есть небольшой вопросик. При выполнении в КДС Проект>Контроль>Неиспользуемые переменные выводит вот такую табличку:
30216
В принципе это не критично, но хотелось бы знать детали.
Идею с Hardella_SimulationDetector'ом подсказал Валенок: http://www.owen.ru/forum/showthread.php?t=25933&p=233794&viewfull=1#post233794
Решаемая проблема в том, что программы MemoryRead/Write/Transfer не работают в режиме симуляции (КДС не симулирует работу PRU), поэтому чтобы проект не падал в запуске этой самой симуляции в коде нужно как-то определять выполняется ли код на реальном ПЛК или нет.
Там действительно переменные объявлены и не используются. Можно, наверное, сделать их "используемыми", чтобы не вызывали предупреждений.
В MemoryTransfer действительно неиспользуемые переменные. Надо убрать.
Я логику в Read/Write перенёс, а переменные остались.
У меня такое подозрение, что если принудительно остановить работу ФБ Steper
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_enable := FALSE;
без предварительной проверки
IF SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_state = STOP_STEPPER_RUN_STATE
то после этого ФБ перестает нормально работать.
CASE R200 OF
0: (* *)
Stop_Motor();
SSP_Y := FALSE; (* Нет исходного положения *)
TON3(IN := FALSE, PT:= T#0s);
R200 := 10;
10: (* Вперед или стоп *)
IF (D1) THEN
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := FALSE,
STEPPER1_PRU1_stepper_accel_ramp := 5000,
STEPPER1_PRU1_stepper_decel_ramp := 50000,
STEPPER1_PRU1_stepper_max_speed := 10000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := 1000000,
STEPPER1_PRU1_stepper_enable := TRUE
);
ELSE SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_st epper_enable := FALSE); R200 := 15; END_IF
15: (* Пауза *)
TON3(IN := TRUE, PT:= UT_500ms); (* Запустили таймер *)
IF (TON3.Q = TRUE) THEN TON3(IN := FALSE, PT:= T#0s); R200 := 20; END_IF
20: (* Назад *)
IF (NOT D1) THEN
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := TRUE,
STEPPER1_PRU1_stepper_accel_ramp := 5000,
STEPPER1_PRU1_stepper_decel_ramp := 50000,
STEPPER1_PRU1_stepper_max_speed := 10000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := 1000000,
STEPPER1_PRU1_stepper_enable := TRUE
);
ELSE R200 := 30; END_IF
30: (* Стоп *)
SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_st epper_enable := FALSE);
SSP_Y := TRUE;
END_CASE
В этом ФБ происходит затык на шаге 20, вал ШД вращается, но очень медленно. Т.е. частота вращения не соответствует заданию.
Владимир Ситников
24.03.2017, 14:16
В этом ФБ происходит затык на шаге 20, вал ШД вращается, но очень медленно. Т.е. частота вращения не соответствует заданию.
А чему равны переменные блока SteppersConfig_Pru1MemoryTransfer в этот момент?
А чему равны переменные блока SteppersConfig_Pru1MemoryTransfer в этот момент?
D1 = FALSE, следовательно выполняется это
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := TRUE,
STEPPER1_PRU1_stepper_accel_ramp := 5000,
STEPPER1_PRU1_stepper_decel_ramp := 50000,
STEPPER1_PRU1_stepper_max_speed := 10000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := 1000000,
STEPPER1_PRU1_stepper_enable := TRUE
);
Да еще каждые 200 мкс исполняется это
SteppersConfig_Pru1MemoryTransfer();
Может это наложение все портит ?
Владимир Ситников
24.03.2017, 14:20
Вот этому
SteppersConfig_Pru1MemoryTransfer(...
Вопрос другой. Вопрос в том, что показывает КДС в online режиме.
Картинку покажете?
В онлайне все правильно показывает.
Владимир Ситников
24.03.2017, 14:27
Может это наложение все портит ?
Описанное "вал ШД вращается, но очень медленно. Т.е. частота вращения не соответствует заданию" больше похоже на проблему самого блока.
Вроде, такое уже исправлялось как-то.
"Лишние" вызовы SteppersConfig_Pru1MemoryTransfer, на мой взгляд, портить ничего не должны. Их же легко убрать и проверить, влияют ли они на что-нибудь. В обозначенной выше программе они не нужны.
Владимир Ситников
24.03.2017, 14:28
В онлайне все правильно показывает.
Что именно показывает-то?
SteppersConfig_Pru1MemoryTransfer.STEPPER_PRU1_ste pper_state, например чему равно?
В том то и дело, что SteppersConfig_Pru1MemoryTransfer.STEPPER_PRU1_ste pper_state в ФБ не анализируется.
Останов Steper делается по срабатыванию датчика.
Владимир Ситников
24.03.2017, 14:31
В том то и дело, что SteppersConfig_Pru1MemoryTransfer.STEPPER_PRU1_ste pper_state в ФБ не анализируется.
ррр. Покажите картинку того, что показывает КДС в online режиме при открытии программы SteppersConfig_Pru1MemoryTransfer в момент, когда "частота вращения не соответствует заданию"
Интересно, что если из прерывающей программе убрать
SteppersConfig_Pru1MemoryTransfer();
то все работает как надо.
ррр. Покажите картинку того, что показывает КДС в online режиме при открытии программы SteppersConfig_Pru1MemoryTransfer в момент, когда "частота вращения не соответствует заданию"
В отладчике значения, перечисленные в SteppersConfig_Pru1MemoryTransfer не отображаются.
Но я так понимаю, что задается тому они и равны.
Владимир Ситников
24.03.2017, 14:59
В отладчике значения, перечисленные в SteppersConfig_Pru1MemoryTransfer не отображаются.
Но я так понимаю, что задается тому они и равны.
Отображаются, но надо SteppersConfig_Pru1MemoryTransfer явно открывать (двойным щелчком слева в списке блоков)
CASE R200 OF
0: (* *)
Stop_Motor();
SSP_Y := FALSE; (* Нет исходного положения *)
TON3(IN := FALSE, PT:= T#0s);
R200 := 10;
10: (* Вперед или стоп *)
IF (D1) THEN
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := FALSE,
STEPPER1_PRU1_stepper_accel_ramp := 5000,
STEPPER1_PRU1_stepper_decel_ramp := 50000,
STEPPER1_PRU1_stepper_max_speed := 10000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := 1000000,
STEPPER1_PRU1_stepper_enable := TRUE
);
ELSE SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_st epper_enable := FALSE); R200 := 15; END_IF
15: (* Пауза *)
SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_st epper_enable := FALSE);
TON3(IN := TRUE, PT:= UT_1S); (* Запустили таймер *) Если уставка таймера 1 сек., то ФБ работает нормально, если 100 мс, то на шаге 20 все стопорится, вал ШД вращается, но с черепашьей частотой
IF (TON3.Q = TRUE) THEN TON3(IN := FALSE, PT:= T#0s); R200 := 20; END_IF
20: (* Назад *)
IF (NOT D1) THEN
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := TRUE,
STEPPER1_PRU1_stepper_accel_ramp := 5000,
STEPPER1_PRU1_stepper_decel_ramp := 50000,
STEPPER1_PRU1_stepper_max_speed := 10000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := 1000000,
STEPPER1_PRU1_stepper_enable := TRUE
);
ELSE R200 := 30; END_IF
30: (* Стоп *)
SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_st epper_enable := FALSE);
SSP_Y := TRUE;
END_CASE
Если дать возможность ШД отработать заданное количество импульсов, то все в дальнейшем корректно работает.
Проблема в дальнейшем возникает, если выдать
SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_st epper_enable := FALSE);
до того, как ШД отработает заданное количество импульсов.
Вот так работает корректно
CASE R200 OF
0: (* *)
Stop_Motor();
SSP_Y := FALSE; (* Нет исходного положения *)
TON3(IN := FALSE, PT:= T#0s);
R200 := 10;
10: (* Вперед или стоп *)
IF (D1) THEN
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := FALSE,
STEPPER1_PRU1_stepper_accel_ramp := 5000,
STEPPER1_PRU1_stepper_decel_ramp := 50000,
STEPPER1_PRU1_stepper_max_speed := 10000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := 1000000,
STEPPER1_PRU1_stepper_enable := TRUE
);
ELSE R200 := 15; END_IF
15: (* Ждем отработки заданного на предыдущем шаге количества импульсов *)
IF SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_state = STOP_STEPPER_RUN_STATE THEN
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_enable := FALSE; R200 := 20; END_IF
20: (* Назад *)
IF (NOT D1) THEN
SteppersConfig_Pru1MemoryTransfer(
STEPPER1_PRU1_dir := TRUE,
STEPPER1_PRU1_stepper_accel_ramp := 5000,
STEPPER1_PRU1_stepper_decel_ramp := 50000,
STEPPER1_PRU1_stepper_max_speed := 10000,
STEPPER1_PRU1_stepper_min_speed := 0,
STEPPER1_PRU1_stepper_quantity := 1000000,
STEPPER1_PRU1_stepper_enable := TRUE
);
ELSE R200 := 30; END_IF
30: (* Стоп *)
SteppersConfig_Pru1MemoryTransfer(STEPPER1_PRU1_st epper_enable := FALSE);
SSP_Y := TRUE;
END_CASE
Владимир Ситников
24.03.2017, 19:48
Вот так работает корректно
А почему на 15-ом шаге нет вызова MemoryTransfer?
Просто так присваивать STEPPER1_PRU1_stepper_enable := FALSE смысла нет.
Или в фоне крутится 200мкс таймер, который вызывает Transfer?
А почему на 15-ом шаге нет вызова MemoryTransfer?
Просто так присваивать STEPPER1_PRU1_stepper_enable := FALSE смысла нет.
Или в фоне крутится 200мкс таймер, который вызывает Transfer?
MemoryTransfer вызывается каждые 200 мкс в прерывающей программе.
Владимир, какое значение примет
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_state
после того как буде выполнено
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_enable := FALSE;
Владимир Ситников
25.03.2017, 11:33
Владимир, какое значение примет
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_state
после того как буде выполнено
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_enable := FALSE;
Так я и просил картинку из online.
По логике, должно быть DECEL -- замедление (при ненулевом decel_ramp), потом STOP.
Вы не поняли.
DECEL и STOP были. Выдается SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_enable := FALSE;
После этого SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_state так и останется STOP ?
Владимир Ситников
25.03.2017, 11:45
DECEL и STOP были. Выдается SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_enable := FALSE;
После этого SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_state так и останется STOP ?
Нет, перейдёт в INIT.
Вот фрагмент кода PRU_STEPPER:
30222
А состояние INIT что означает ?
Владимир Ситников
25.03.2017, 12:05
А состояние INIT что означает ?
Готовность принимать параметры для очередного движения.
Я вчера писал, что если во время работы ФБ Steper в произвольный момент времени подать
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_enable := FALSE;
то ФБ на время примерно равное 1 сек. встает в ступор, т.е. не готов принимать параметры для очередного движения.
В связи с этим вопрос - какое состояние примет
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_state
если в произвольный момент времени выполнить
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_enable := FALSE; ?
И попутный вопрос. Как SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_state принудительно привести в состояние INIT ?
Владимир Ситников
25.03.2017, 15:56
И попутный вопрос. Как SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_state принудительно привести в состояние INIT ?
Никак. Нужно дождаться, пока ШД остановится.
Для останова ШД нужно передать enable=false.
Если при этом decel_ramp>0, то ШД будет останавливаться плавно. Если же decel_ramp=0, то ШД сразу остановится и на следующем такте (или около того) перейдёт в INIT.
Владимир, сможет ли один PRU управлять двумя драйверами ШД, т.е. хватит ли памяти и прочих ресурсов ? Нужны два быстрых выхода для управления STEP. Для управления DIR буду использовать простые выходы ПЛК.
Владимир Ситников
05.04.2017, 21:56
А почему бы не управлять каждым шд со своего PRU ядра?
Т.е.откуда берётся задача запитать два шд от одного PRU ядра?
А почему бы не управлять каждым шд со своего PRU ядра?
Т.е.откуда берётся задача запитать два шд от одного PRU ядра?
Надо одним ПЛК управлять тремя ШД.
Владимир Ситников
05.04.2017, 22:42
А два шд заработали? Устраивают?
По ресурсам сходу может и не пролезть. Возможно будет проще вынести часть логики в КДС, чем впихивать текущие шд блоки в PRU.
А два шд заработали? Устраивают?
По ресурсам сходу может и не пролезть. Возможно будет проще вынести часть логики в КДС, чем впихивать текущие шд блоки в PRU.
Два ШД работают. Сейчас первый PRU управляет одним ШД, второй PRU управляет другим ШД и опрашивает энкодер. Хочу выкинуть энкодер и навесить на второй PRU два ШД.
Hardella 1.7.0
Из проекта достал <code class="highlighter-rouge">Step motors
</code><code>пр.кн.мыши по SteppersConfig -> Run -> указал путь -> RUN
Получил ошибку
</code>
Please upload E:\Programs\Hardella\PRU\PRU0.prg to PLC110 M02
Note: PRU0.prg is always the same, so there's no need to upload it every time
Please upload E:\Programs\Hardella\PRU\PRU1.prg to PLC110 M02
Note: PRU1.prg is always the same, so there's no need to upload it every time
Writing output to E:\Programs\Hardella\PRU\SteppersConfig.exp
java.lang.ClassNotFoundException: pru.SteppersConfig_Pru0Program_CodeGenerator
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.github.vlsi.iec61131.st2ti1808.runtime.compile r.CreateLibrary.main(CreateLibrary.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at jetbrains.mps.execution.lib.startup.ClassRunner.ma in(ClassRunner.java:93)
PRU создались, SteppersConfig.exp = 0кБ
Что не так?
Владимир Ситников
12.04.2017, 14:47
Hardella 1.7.0
Из проекта достал <code class="highlighter-rouge">Step motors
</code><code>пр.кн.мыши по SteppersConfig -> Run -> указал путь -> RUN
Получил ошибку
</code>
Please upload E:\Programs\Hardella\PRU\PRU0.prg to PLC110 M02
Note: PRU0.prg is always the same, so there's no need to upload it every time
Please upload E:\Programs\Hardella\PRU\PRU1.prg to PLC110 M02
Note: PRU1.prg is always the same, so there's no need to upload it every time
Writing output to E:\Programs\Hardella\PRU\SteppersConfig.exp
java.lang.ClassNotFoundException: pru.SteppersConfig_Pru0Program_CodeGenerator
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.github.vlsi.iec61131.st2ti1808.runtime.compile r.CreateLibrary.main(CreateLibrary.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at jetbrains.mps.execution.lib.startup.ClassRunner.ma in(ClassRunner.java:93)
PRU создались, SteppersConfig.exp = 0кБ
Что не так?
В пути к Hardella проекту были пробелы?
В пути к Hardella проекту были пробелы?
S:\User\Администратор\MPSProjects\...
по умолчанию, ничего не менял.
В пути к Hardella проекту были пробелы?
Создал проект и указал папку без русских, вроде завелось, но по умолчанию на русской винде получается не работает.
Хорошо, двигаюсь дальше.
Вопрос, загрузил PRU0 но выхода работают 3 и 4 (ПЛК110 60), как перейти на 1 и 2?
Владимир Ситников
12.04.2017, 15:19
Вопрос, загрузил PRU0 но выхода работают 3 и 4 (ПЛК110 60), как перейти на 1 и 2?
К сожалению, так уж сделан ПЛК110 (см https://hardella.com/docs/pru/features-and-limits/#Характеристики-ПЛК110-М02 )
Можно либо PRU0 (выхода 3 и 4, быстрые входа), либо вместе PRU0+PRU1 (тогда будут работать 1, 2, 3, 4).
Отдельно залить PRU1 (для 1 и 2 выходов) не заработает.
К сожалению, так уж сделан ПЛК110 (см https://hardella.com/docs/pru/features-and-limits/#Характеристики-ПЛК110-М02 )
Можно либо PRU0 (выхода 3 и 4, быстрые входа), либо вместе PRU0+PRU1 (тогда будут работать 1, 2, 3, 4).
Отдельно залить PRU1 (для 1 и 2 выходов) не заработает.
Ага, хорошо, запустил, крутится, классно.
Попробую что нибудь посложнее.
Сейчас в примере используется пара выходов на одном PRU, причем один из выходов занимается направлением (DIR), но этим заниматься может и обычный выход, тогда вопрос..
Можно подключить на каждый быстрый выход управление STEP, тоесть 4мя ШД управлять из 2 PRU?
4 быстрых выхода на STEP + 4 обычных для DIR?
Владимир Ситников
12.04.2017, 18:30
Сейчас в примере используется пара выходов на одном PRU, причем один из выходов занимается направлением (DIR), но этим заниматься может и обычный выход, тогда вопрос..
Можно подключить на каждый быстрый выход управление STEP, тоесть 4мя ШД управлять из 2 PRU?
4 быстрых выхода на STEP + 4 обычных для DIR?
С текущим блоком 4 ШД на 2 PRU не повесить. Нужно править блок, чтобы вычислениями занималась КДС программа.
Иначе говоря, теоретически возможно. Практически -- я этим в ближайший месяц вряд ли буду заниматься.
С текущим блоком 4 ШД на 2 PRU не повесить. Нужно править блок, чтобы вычислениями занималась КДС программа.
Иначе говоря, теоретически возможно. Практически -- я этим в ближайший месяц вряд ли буду заниматься.
Понял, спасибо, у меня пока и задачи нет на 4 ШД.
Что и куда надо отправить чтобы ШД незамедлительно остановился?
Владимир Ситников
14.04.2017, 11:44
Что и куда надо отправить чтобы ШД незамедлительно остановился?
Незамедлительно -- установить decel_ramp=0, и enable=false. Вроде, так
Владимир Ситников
19.04.2017, 22:30
Надо одним ПЛК управлять тремя ШД.
Сделать саму PRU программу несложно (как-никак, это что-то типа простого blink'а).
Сложность возникает из того, что "ответный" КДС код должен тоже размножаться (по количеству ШД, реально используемых в PRU программе).
Допустим, PRU блок будет называться PRU_STEPPER_BLINK. При этом должна быть возможность указать, что "если пользователь задействовал блок", то в КДС программу нужно размножить вот эти блоки и программы (с ШД математикой).
В итоге, КДС и PRU части должны фигурировать в одном проекте, но система как-то должна понимать какой код предназначен для КДС, а какой для PRU.
У меня один ШД и один энкодер.
Загрузив с помощью hardella управление ШД Fast encoder не работает из конфигуратора?
У меня эти входа вообще не работают.
Теперь с ними надо работать из PRU?
Есть пример для ШД и есть пример Быстрого энкодера от hardella. А есть и то и другое?
Владимир Ситников
20.04.2017, 11:03
Загрузив с помощью hardella управление ШД Fast encoder не работает из конфигуратора?
У меня эти входа вообще не работают.
Да, это ограничение самой технологии. При использовании PRU программы соответствующие входы-выходы перестают управляться из plc configuration.
Теперь с ними надо работать из PRU?
Есть пример для ШД и есть пример Быстрого энкодера от hardella. А есть и то и другое?
Готового примера нет.
Но достаточно взять программу ШД и добавить туда вызов энкодера (как на 1-ой картинке в описании примера про энкодер (https://hardella.com/docs/pru/examples/fast-encoder/)).
Да, это ограничение самой технологии. При использовании PRU программы соответствующие входы-выходы перестают управляться из plc configuration.
Готового примера нет.
Но достаточно взять программу ШД и добавить туда вызов энкодера (как на 1-ой картинке в описании примера про энкодер (https://hardella.com/docs/pru/examples/fast-encoder/)).
Ок, я так и подумал, решил переспросить на всякий случай, спасибо.
Не получилось добавить энкодер к ШД
http://recordit.co/qtt4cFbPAF (http://recordit.co/qtt4cFbPAF)
30904
В чем может быть проблема?
Владимир Ситников
03.05.2017, 10:26
Не получилось добавить энкодер к ШД
http://recordit.co/qtt4cFbPAF (http://recordit.co/qtt4cFbPAF)
30904
В чем может быть проблема?
Вообще говоря, PRU1 отдельно от PRU0 не работает.
Т.е. либо просто PRU0, либо вместе PRU0+PRU1.
Все входы подключены к PRU0, поэтому энкодер нужно добавлять в программу PRU0.
Странно, что Hardella не выдала ошибку компиляции на использование FAST_INPUTS в программе для PRU1. Проверил у себя -- действительно не ругается. Нужно поправить.
Попробуйте использовать энкодер в программе для PRU0 (как вариант -- просто поменять местами записи в SteppersConfig)
Вообще говоря, PRU1 отдельно от PRU0 не работает.
Т.е. либо просто PRU0, либо вместе PRU0+PRU1.
Не понял, у меня в ПЛК загружено и PRU0 и PRU1, я сначало крутил ШД, через PRU1, в него входа и добавил т.к. не знаю какой PRU за что отвечает, информации нет.
По поводу SteppersConfig тоже не понял, для меня это лес какой-то.
Вот, переделал, так ?
30907
Проект скомпилился.
Владимир Ситников
03.05.2017, 10:51
Не понял, у меня в ПЛК загружено и PRU0 и PRU1, я сначало крутил ШД, через PRU1, в него входа и добавил т.к. не знаю какой PRU за что отвечает, информации нет.
Информация описана тут: https://hardella.com/docs/pru/features-and-limits/#Характеристики-ПЛК110-М02
По поводу SteppersConfig тоже не понял, для меня это лес какой-то.
Вот, переделал, так ?
30907
Проект скомпилился.
Да, так должно работать. SteppersConfig это "PRU configuration", и смысл этой конфигурации в том, чтобы назначить какие программы будут выполняться в PRU ядрах, какая будет фильтрация входов, и т.п.
Информация описана тут: https://hardella.com/docs/pru/features-and-limits/#Характеристики-ПЛК110-М02
Да, так должно работать. SteppersConfig это "PRU configuration", и смысл этой конфигурации в том, чтобы назначить какие программы будут выполняться в PRU ядрах, какая будет фильтрация входов, и т.п.
Ага, спасибо, вопрос...
Не понял что такое initialOffset? Погонял, оно у меня меньше на 10, чем position.
И как сбросить\обнулить энкодер?
Владимир Ситников
03.05.2017, 12:08
Ага, спасибо, вопрос...
Не понял что такое initialOffset? Погонял, оно у меня меньше на 10, чем position.
И как сбросить\обнулить энкодер?
Ну, началось.... "как сбросить энкодер".
Ааааа.
Если честно, то мне быть хоть краем глаза посмотреть на установки с энкодерами и решаемые задачи. Без этого тяжело понять "как сделать удобный блок энкодера".
Тем не менее, это уже вторая версия блока и наверняка её вам хватит (в конце концов, посмотрите код блока PRU_ABZ_ENCODER -- наверняка станет понятно как ведут себя значения).
В двух словах:
position -- это переменная, которая при A/B импульсах увеличивается или уменьшается на 1 в зависимости от направления вращения. Грубо говоря, если из нового значения вычитать прошлое, то можно узнать "пробег". Это значение не сбрасывается по Z импульсу. По значению position можно понять относительное перемещение.
initialOffset -- это значение переменной position в тот момент, когда была встречена Z метка. Если Z метка ещё не встречалась, то initialOffset равно 0.
Если честно, то я думал, что initialOffset будет обновляться только при самом первом обнаружении Z метки, но сейчас код написан так, что initialOffset обновляется при обнаружении каждой Z метки.
Тут дело в том, что от момента обнаружения Z метки до опроса из основного цикла ПЛК может прийти ещё несколько импульсов по A/B, поэтому и в результате обработки энкодера я возвращаю 2 значения: "фактическое положение" (==position), "положение, в момент прохождения Z метки" (==initialOffset). В этом ключе, конечно, название "initialOffset" нехорошее. Возможно, positionOfLastZ будет лучше.
zCount -- количество раз, которое была обнаружена Z метка. В начале 0, потом 1, 2 и т.д.
IF R_TRIG(CLK := z).Q THEN
zCount := zCount + 1;
initialOffset := position;
END_IF;
Например, возьмём энкодер с 40 импульсами на оборот
1) 1-ый цикл ПЛК. прочитали и получили position=0, initialOffset=0
2) Внезапно энкодер прокрутили на полтора оборота
3) 2-ой цикл ПЛК. Тут будет position=60, initialOffset=40 (ну или около того).
4) Прокрутили энкодер ещё на 70 импульсов.
5) 3-ий цикл ПЛК. Тут будет position=130, initialOffset=120 (или около того). Разница 130-60 показывает, что энкодер провернулся на 70 импульсов. А initialOffset=120 показывает, что последний раз Z метка встречалась на отметке 120.
Собственно, вопрос: а зачем обнулять энкодер? Какая фактическая задача при этом решается?
Если честно, то мне быть хоть краем глаза посмотреть на установки с энкодерами и решаемые задачи. Без этого тяжело понять "как сделать удобный блок энкодера".
Скинул в ЛС.
Энкодер 25 импульсов на оборот, ШД - 200.
Делаю один оборот, position меняется на 100.
При этом zCount увеличивается не на один, а на два.
На валу есть метка, вижу визуально, что 200 для ШД это ровно 1 оборот.
Покрутил раз 20, всегда position меняется на 100 вместо 25, а zCount на 2.
Есть идеи?
Владимир Ситников
03.05.2017, 14:30
Покрутил раз 20, всегда position меняется на 100 вместо 25,
Это норма™
Смысл в том, что считаются оба фронта (передний и задний) обоих каналов (A и B). Кто-то может называть это "4x счёт".
Повышение точности на ровном месте.
При этом zCount увеличивается не на один, а на два.
Вот это странно.
Может, реально Z канал выдаёт дубли? (дребезг или просто поломан контакт)
Как вариант -- можно попробовать настроить фильтрацию по Z входу.
Код обработки Z выглядит верно, компилируется в разумный код, и мои тесты тоже показывают, что Z увеличивается на 1.
Владимир Ситников
06.05.2017, 23:08
По мотивам последних замечаний, выпустил обновление Hardella 1.7.1 (обновиться можно через автообновление):
Исправлено:
Проект не компилировался, если расположен в пути с пробелами
Убраны неиспользуемые переменные из создаваемых PruMemoryTransfer
Добавлена ошибка компиляции, если блок FAST_INPUTS используется в программе PRU1 (доступ к входам имеет только PRU0)
Переменная PRU_ABZ_ENCODER.initialOffset переименована в positionOfLastZ
Добавлена поддержка VAR_IN_OUT (для PRU и CoDeSys). Использовать IN_OUT в PRU нужно осторожно, т.к. write передаёт данные в PRU вообще всегда, а не только по изменению
Теперь программы PRU1 (init, memory read/write) не будут запускаться, если инициализация PRU0 не прошла. Так уж сделана прошивка ПЛК110, что PRU1 само по себе не работает, поэтому и добавлена дополнительная проверка
Newcomer
06.06.2017, 13:05
Установил Java SE Development Kit 8u131, пользуюсь Hardella 1.6.1. При компиляции ранее созданных проектов получаю - см. картинку. Что это значит.
Newcomer
06.06.2017, 13:09
В более ранней Java SE Development Kit и Hardella 1.6.1 корректирую проект, но при компиляции новый SteppersConfig.exp не создается.
Владимир Ситников
06.06.2017, 13:58
В более ранней Java SE Development Kit и Hardella 1.6.1 корректирую проект, но при компиляции новый SteppersConfig.exp не создается.
Может, есть реально файл с названием D:\Hardella\Pro\2_Step_&_Enc_red_2 ? Ну или файл, который отличается лишь регистром букв.
Либо наоборот папки нет. Сейчас папка не создаётся и будет такая же ошибка.
Покажите что выведет команда dir /N D:\Hardella\Pro
В Hardella такой код:
if (!new File(args[0]).isDirectory()) {
System.err.println("The first argument should be a directory. Given " + args[0]);
System.err.println();
CreateLibrary.usage();
System.exit(-2);
}
PS. Ну и обновиться на 1.7.1 вполне можно.
Newcomer
06.06.2017, 14:11
А по посту #939 что можете сказать ?
Владимир Ситников
06.06.2017, 14:59
А по посту #939 что можете сказать ?
Не понимаю вопрос. #941 это ответ на #939
Например:
Покажите что выведет команда dir /N D:\Hardella\Pro
Newcomer
06.06.2017, 15:03
Не понимаю вопрос. #941 это ответ на #939
Например:
С этим разобрался.
Newcomer
06.06.2017, 15:05
А по посту #940 что можете сказать ?
Владимир Ситников
06.06.2017, 15:08
А по посту #940 что можете сказать ?
"В более ранней Java SE Development Kit и Hardella 1.6.1 корректирую проект, но при компиляции новый SteppersConfig.exp не создается."?
А что значит "не создаётся"? Наверняка должна какая-нибудь ошибка возникать. Ну или хоть какая-нибудь надпись.
И какая именно "более ранняя" версия? На Java 1.6, 1.7 Hardella вообще не запустится (не должно по крайней мере), а из 1.8 почти без разницы какой номер update'а.
Newcomer
06.06.2017, 15:46
"В более ранней Java SE Development Kit и Hardella 1.6.1 корректирую проект, но при компиляции новый SteppersConfig.exp не создается."?
А что значит "не создаётся"? Наверняка должна какая-нибудь ошибка возникать. Ну или хоть какая-нибудь надпись.
И какая именно "более ранняя" версия? На Java 1.6, 1.7 Hardella вообще не запустится (не должно по крайней мере), а из 1.8 почти без разницы какой номер update'а.
С этим то же разобрался, все заработало. Давно не работал с Hardella и подзабыл.
Теперь такой вопрос: будут ли корректно работать старые проекты в новой Hardella ?
Владимир Ситников
06.06.2017, 15:54
Теперь такой вопрос: будут ли корректно работать старые проекты в новой Hardella ?
Будут конечно. Куда они денутся?
При открытии проекта в новой версии иногда может требоваться обновление самого проекта (например, такое было в 1.7.0 -- см. секцию "замечание" (https://hardella.com/blog/2017/03/20/hardella-1.7.0-released/)).
Но, проекты сохранённые более новой версией уже не получится открыть более старой.
Newcomer
11.06.2017, 11:22
Какое начальное значение примет переменная, объявленная в программе для PRU, при подаче питания на ПЛК ?
Владимир Ситников
11.06.2017, 12:14
Какое начальное значение примет переменная, объявленная в программе для PRU, при подаче питания на ПЛК ?
0.
При объявлении
VAR
x: int := 5;
...
Всё равно 0 будет. Сейчас синтаксис поддерживается, но инициализация не компилируется.
Newcomer
11.06.2017, 13:06
0.
При объявлении
VAR
x: int := 5;
...
Всё равно 0 будет. Сейчас синтаксис поддерживается, но инициализация не компилируется.
А планируется поддержка инициализации ?
Владимир Ситников
15.06.2017, 19:05
А планируется поддержка инициализации ?
Сделать можно и это довольно несложно.
Владимир Ситников
16.06.2017, 23:50
А планируется поддержка инициализации ?
Сделал в Hardella 1.7.2 (https://hardella.com/download/)
Newcomer
29.06.2017, 15:13
Добрый день.
Нет ли возможности проверить в симуляторе за какое время STEPPER1_PRU1 исполнит, если задать:
accel_ramp := 5000000,
decel_ramp := 500000000,
max_speed := 300000,
min_speed := 300,
stepper_quantity := 800
Владимир Ситников
29.06.2017, 17:29
Добрый день.
Нет ли возможности проверить в симуляторе за какое время STEPPER1_PRU1 исполнит, если задать:
accel_ramp := 5000000,
decel_ramp := 500000000,
max_speed := 300000,
min_speed := 300,
stepper_quantity := 800
Код не смотрел, в эмуляторе получается так:
31885
25 мс на всё про всё.
Newcomer
30.06.2017, 12:06
Код не смотрел, в эмуляторе получается так:
31885
25 мс на всё про всё.
Спасибо. Это вы мой проект эмулировали ? Черные полосы это что такое ?
Владимир Ситников
30.06.2017, 12:53
Спасибо. Это вы мой проект эмулировали ?
Ну, да.
Черные полосы это что такое ?
Чёрные полосы это следствие того, что PRU цикл фиксирован. Каждый импульс отдельной точкой нарисован, но точек много и они наслоились.
Возьмём для примера, что PRU цикл указан в 1мкс.
Это значит, что переключение выхода будет выполняться не чаще, чем раз 1 мкс.
Например, если PRU переключает выход каждые 10 циклов (каждые 10 мкс), то частота меандра на выходе будет 1/(10мкс+10мкс) = 50.0кГц
Если же выход будет переключаться через каждые 9 циклов (каждые 9 мкс), то частота меандра на выходе будет 1/(9мкс+9мкс) = 55.5кГц
Если же 0 и 1 будут разной длительности (например, 10 тактов 1, потом 9 тактов 0), то частота меандра на выходе будет 1/(10мкс+9мкс) = 52.6кГц
Т.е. скачкИ по 2-3 кГц. Чтобы таких сильных изменений частоты не было, блок размазывает длительности импульсов. Например, для получения частоты 51кГц генерируются импульсы длительностью в 19 и 20 мкс вперемешку в нужной пропорции.
Newcomer
30.06.2017, 13:39
По формуле S = V0 * t + (a * t * t)/2 = 300 * 0,025 + (5000000 * 0,025 * 0,025)/2 = 1570 [импульсов]
Или я что-то не так считаю ? Может 1570 - это число импульсов + число пауз ?
Владимир Ситников
30.06.2017, 14:39
По формуле S = V0 * t + (a * t * t)/2 = 300 * 0,025 + (5000000 * 0,025 * 0,025)/2 = 1569 [импульсов]
Или я что-то не так считаю ?
Всё так, это должно получаться количество импульсов. Иными словами, должно было получиться 800.
Во-первых, точная длительность всей последовательности -- 23мс (25 это я на глаз сказал, а вертикальная белая линия после 20мс это 22.5мс)
Во-вторых, фактическая достигнутая скорость на 23мс получилась где-то 70кГц, а должна была быть 115кГц (== 5000000 * 0,023)
Возможно, это погрешность того, что PRU вычисления идут в целых числах.
Возможно, формула с ошибкой.
Ну и не стоит забывать про то, что сама по себе формула приближенная. В точной формуле нужно было бы вычислять квадратный корень на каждом шаге, и приближения должно хватать.
Попробовал указать minSpeed=0 -- получается примерно 17.3мс:
31894
minSpeed=1000 -- 18.3мс
31895
minSpeed=10000 -- 15.2мс
31897
Newcomer
30.06.2017, 15:02
800 и 1570 - это две большие разницы и тут явно не в погрешности дело.
С minSpeed то же не понятно. Чем больше minSpeed, тем меньше должно быть время.
Владимир Ситников
30.06.2017, 15:26
800 и 1570 - это две большие разницы и тут явно не в погрешности дело.
С minSpeed то же не понятно. Чем больше minSpeed, тем меньше должно быть время.
Проверил вычисления без округлений -- получаются точно такие же результаты.
Т.е. наблюдаемый эффект следует именно из-за использования приближенной формулы.
Newcomer
30.06.2017, 15:42
Проверил вычисления без округлений -- получаются точно такие же результаты.
Т.е. наблюдаемый эффект следует именно из-за использования приближенной формулы.
Не точная формула дает ошибку почти в 100 %. А точная формула какая ?
Владимир Ситников
30.06.2017, 15:50
Не точная формула дает ошибку почти в 100 %. А точная формула какая ?
Формула чего?
Newcomer
30.06.2017, 15:53
Фактическая достигнутая скорость на 23мс получилась где-то 70кГц, а должна была быть 115кГц (== 5000000 * 0,023)
А почему не была достигнута скорость 115кГц ?
Newcomer
30.06.2017, 15:54
Формула чего?
А вы о какой приближенной формуле писали ?
Newcomer
30.06.2017, 15:56
У меня вполне конкретная задача: необходимо за заданное время сгенерировать определенное количество импульсов. Как мне посчитать ускорение ?
Владимир Ситников
30.06.2017, 17:25
У меня вполне конкретная задача: необходимо за заданное время сгенерировать определенное количество импульсов. Как мне посчитать ускорение ?
Есть 2 варианта:
1) Для конкретного значения "начальной скорости" подобрать ускорение, чтобы в итоге разгонялось за нужное время
Например, если нужно разогнать с начальной скорости 300Гц с ускорением 5'000 кГц/сек, то нужно указывать accelRamp=860000.
Будет такая картина:
31903
Общая продолжительность -- 17.82мс
> 300*0.01782+5e6*(0.01782**2)/2
=> 799
Т.е. получается 800 импульсов за то время, какое должно было быть при нач. скорости 300 и ускорении 5'000 кГц/сек
Конкретное значение 8'600'000 я нашёл просто подбором.
2) Переписать весь stepper блок.
Владимир Ситников
30.06.2017, 17:25
А вы о какой приближенной формуле писали ?
http://www.embedded.com/design/mcus-processors-and-socs/4006438/Generate-stepper-motor-speed-profiles-in-real-time раздел Approximating linear ramp
Владимир Ситников
30.06.2017, 17:28
Не точная формула дает ошибку почти в 100 %. А точная формула какая ?
О какой ошибке речь?
Приближенная формула выполняет движение за 23мс, а согласно точной формуле движение должно было бы выполняться где-то 17.8мс.
Ошибка времени составляет 30% == (23-17.8)/17.8*100
Newcomer
30.06.2017, 17:58
Переписать весь stepper блок.
Чем новый stepper блок должен отличаться от существующего ?
Newcomer
30.06.2017, 17:59
О какой ошибке речь?
Приближенная формула выполняет движение за 23мс, а согласно точной формуле движение должно было бы выполняться где-то 17.8мс.
Точную формулу можете привести ?
Newcomer
30.06.2017, 18:04
Для конкретного значения "начальной скорости" подобрать ускорение, чтобы в итоге разгонялось за нужное время
Например, если нужно разогнать с начальной скорости 300Гц с ускорением 5'000 кГц/сек, то нужно указывать accelRamp=860000.
Разве accelRamp - это не ускорение ? Что тогда такое 5'000 кГц/сек, decelRamp ?
Владимир Ситников
30.06.2017, 18:05
Точную формулу можете привести ?
Формулу чего?
Формулу того, когда должен возникать импульс?
s = v0*t + a*t2/2
Применяем формулу квадратного уравнения, и получаем, что импульс с номером n должен возникнуть в момент tn
tn = ((v02 + 2*a*n)0.5 - v0)/a
Но это, конечно, "формула для сферического ШД в вакууме". Т.е. чтобы оценить работу блока PRU_STEPPER на больших ускорениях, нужно в качестве a использовать не accelRamp, а немного другое значение.
Newcomer
30.06.2017, 18:24
Я при расчете a пользуюсь такой формулой: a = 2*s/t*t. Но при большом s steper не успевает выдать требуемое число импульсов за заданное время.
Владимир Ситников
30.06.2017, 18:28
Разве accelRamp - это не ускорение ? Что тогда такое 5'000 кГц/сек ?
Так исходно же был вопрос
accel_ramp := 5000000,
accel_ramp := 5000000 Гц/сек == 5000кГц/сек == 5 кГц/мс
accelRamp это должно быть ускорение. Но при больших значениях ускорения-скорости фактическое ускорение не совпадает с указанным в accelRamp.
Newcomer
30.06.2017, 18:35
Но при больших значениях ускорения-скорости фактическое ускорение не совпадает с указанным в accelRamp.
Это интересно. Если я задаю accel_ramp = 5000000, то чему оно будет равно на самом деле ?
Владимир Ситников
30.06.2017, 19:33
Это интересно. Если я задаю accel_ramp = 5000000, то чему оно будет равно на самом деле ?
В общем, построил для нескольких значений accel_ramp первые 1000 импульсов, и получается следующая связь между accel_ramp и фактическим a:
accelRamp = -4e-9 * a2 + 1,7252 * a - 118961
a = 1e-9 * accelRamp2 + 0,5677 * accelRamp +85109
Иными словами, если указать accel_ramp = 5000000, то будет a = 1e-9 * 50000002 + 0,5677 * 5000000 + 85109 == 2948609
Вспоминаем, что когда указывали 5000000, то разгонялось за 23мс.
Проверяем: 300 * 0,023 + 2948609 * 0,0232/2 == 786 -- т.е. весьма близко к 800.
И наоборот. Чтобы получить a = 5000000, то нужно указывать accelRamp = -4e-9 * 50000002 + 1,7252 * 5000000 - 118961 == 8407039
И не забываем, что эти формулы только для min_speed=300.
Возможно, стоит провести больше экспериментов (для разных min_speed) и вывести общую формулу.
Newcomer
30.06.2017, 22:34
А из за чего такие сложности ?
Владимир Ситников
30.06.2017, 23:24
А из за чего такие сложности ?
Точное решение квадратного уравнения делать на PRU тяжело, т.к. там только целые числа, и умножения-деления-квадратного корня толком нет.
Можно было бы для каждого импульса применять формулу квадратного уравнения, но тогда пришлось бы для каждого импульса вычислять формулу из #973:
tn = ((v02 + 2*a*n)0.5 - v0)/a
Конечно, v02 это константа и вычислять 2an не так сложно, но всё равно остаются квадратный корень и деление.
Квадратный корень может занимать 0.5мкс, деление до 1мкс.
Сейчас же используется более простая формула -- без квадратного корня. Из сложных операций только одно деление. Это позволяет экономить ресурсы PRU. Из-за того, что квадратный корень не используется и получается отклонение от "эталонной формулы".
позволяет ли объем памяти держать таблицу корней?
Newcomer
01.07.2017, 10:51
В моей задаче надо за одно и то же фиксированное время генерировать разное количество импульсов. Число импульсов, которое надо генерировать за фиксированное время может колебаться от 16 до 1120.
Какова будет формула пересчета a в accelRamp при нулевой начальной частоте ?
Владимир Ситников
01.07.2017, 12:15
позволяет ли объем памяти держать таблицу корней?
Килобайт памяти суммарно есть, т.е. таблицу-то можно попробовать поместить (хотя не такую-то и большую таблицу можно в килобайт поместить)
В конце концов, квадратный корень работает в два раза быстрее деления, и с ним не такая большая проблема.
Вторая проблема: нет плавающей точки, а в широком диапазоне значений v0 и "a" может не хватать 32 битных чисел.
Грубо говоря, tn (в секундах) нужно умножить на 200'000'000 (чтобы перевести в такты).
Так вот: значение 200'000'000/a это константа, и, чтобы вообще исключить деление хотелось бы внести этот множитель под корень.
Но там-то и перестаёт хватать разрядности 32 (даже 64 не хватило бы), ведь (200'000'000/a)2 может быть весьма много (особенно, при небольших ускорениях порядка 10-100 Гц/сек).
Владимир Ситников
01.07.2017, 14:23
В моей задаче надо за одно и то же фиксированное время генерировать разное количество импульсов. Число импульсов, которое надо генерировать за фиксированное время может колебаться от 16 до 1120.
Какова будет формула пересчета a в accelRamp при нулевой начальной частоте ?
А чему равно это фиксированное время? Миллисекунды? Секунды?
Ускорение точно нужно? Постоянной частоты не достаточно?
Замедление в конце точно нужно? Или, может, достаточно просто прекращения генерации?
Newcomer
01.07.2017, 18:15
А чему равно это фиксированное время? Миллисекунды? Секунды?
Ускорение точно нужно? Постоянной частоты не достаточно?
Замедление в конце точно нужно? Или, может, достаточно просто прекращения генерации?
1. Фиксированное время - 10 мс. За это время нужно выдать заданное число импульсов, которое может быть от 16 до 1120 штук.
2. Без ускорения разогнаться до большой частоты будет не возможно. Без разгона до большой частоты не возможно будет за 10 мс выдать требуемое (например 1120) число импульсов.
3. Можно просто прекратить генерацию после выдачи требуемого числа импульсов, но лучше задавать большое decel_ramp.
Владимир Ситников
01.07.2017, 20:05
1. Фиксированное время - 10 мс. За это время нужно выдать заданное число импульсов, которое может быть от 16 до 1120 штук.
А что называется выдачей 16 импульсов за 10мс?
Допустим, от 1-го фронта 1-го импульса начали отсчёт времени. Это, кстати, тоже вопрос как считать. От переднего фронта? От заднего?
Потом импульсы идут, идут.
Настало время 16-го завершающего импульса.
Он должен начаться в момент 10мс?
Или его задний фронт должен наступить в момент 10мс?
Или ещё как-нибудь?
Возможно, на 10и импульсах проще объяснить будет. Грубо говоря, на каждый импульс есть 1мс.
Т.е. 0.5мс единица, потом 0.5мс ноль.
Так вот: если пытаемся сгенерировать 10 импульсов за 10мс, то что должно произойти в момент, как наступит 10мс? Это будет "середина 10-го импульса"? Или в этот момент должен закончиться "ноль" 10-го импульса?
Ну и какая погрешность допустима?
Newcomer
01.07.2017, 20:21
Десять полных периодов должны сформироваться до истечения 10 мс. Если десять периодов сформируются между 9,5 мс и 10 мс, то ничего страшного. Никакой сверхточности не требуется.
Владимир Ситников
01.07.2017, 22:11
Десять полных периодов должны сформироваться до истечения 10 мс. Если десять периодов сформируются между 9,9 мс и 10 мс, то ничего страшного. Никакой сверхточности не требуется.
Если время фиксировано, то лучше accelRamp вычислять исходя из фактического количества импульсов.
Я запустил перебор (указал decelRamp=accelRamp*32) и получил такую табличку:
quantity accel_ramp duration_ms
16 263000 9.924
17 280000 9.947
18 299000 9.938
19 314000 9.986
20 337000 9.923
21 355000 9.923
22 369000 9.99676
23 390000 9.958
24 405000 9.999
25 430000 9.926
26 448000 9.938
27 467000 9.936
28 487000 9.923
29 508000 9.898
30 519000 9.971
31 543000 9.926
32 555000 9.984
33 581000 9.91901
34 595000 9.962035
35 609000 9.999035
36 639000 9.90806
37 655000 9.932035
38 672000 9.95002
39 689000 9.96205
40 706000 9.969065
41 725000 9.971025
42 744000 9.96804
43 764000 9.96004
44 785000 9.948065
45 806000 9.93104
46 829000 9.909035
47 853000 9.882075
48 853000 9.99309
49 877000 9.960035
50 903000 9.92205
51 929000 9.88003
52 929000 9.982055
53 957000 9.93403
54 986000 9.882065
55 986000 9.978065
56 1017000 9.91907
57 1049000 9.85704
58 1049000 9.947035
59 1083000 9.879055
60 1083000 9.96707
61 1118000 9.893035
62 1118000 9.97806
63 1155000 9.89806
64 1155000 9.980065
65 1194000 9.89602
66 1194000 9.98702
67 1234000 9.896025
68 1234000 9.973025
69 1277000 9.87803
70 1277000 9.952005
71 1322000 9.85204
72 1322000 9.92303
73 1322000 9.995055
74 1370000 9.888015
75 1370000 9.95702
76 1420000 9.84504
77 1420000 9.912055
78 1420000 9.97903
79 1473000 9.861045
80 1473000 9.925035
81 1473000 9.99006
82 1530000 9.865995
83 1530000 9.92804
84 1530000 9.98903
85 1589000 9.860045
86 1589000 9.91902
87 1589000 9.979045
88 1652000 9.843035
89 1652000 9.90105
90 1652000 9.95802
91 1718000 9.817015
92 1718000 9.872065
93 1718000 9.92807
94 1718000 9.982055
95 1789000 9.83407
96 1789000 9.88806
97 1789000 9.941075
98 1789000 9.990005
99 1865000 9.855025
100 1865000 9.90603
101 1865000 9.95603
102 1945000 9.796045
103 1945000 9.84503
104 1945000 9.894035
105 1945000 9.943035
106 1945000 9.99105
107 2030000 9.82304
108 2030000 9.870045
109 2030000 9.917045
110 2030000 9.96306
111 2121000 9.789035
112 2121000 9.83405
113 2121000 9.87906
114 2121000 9.924065
115 2121000 9.96802
116 2219000 9.787025
117 2219000 9.830045
118 2219000 9.87305
119 2219000 9.916035
120 2219000 9.95805
121 2323000 9.77004
122 2323000 9.811055
123 2323000 9.852035
124 2323000 9.89305
125 2323000 9.93405
126 2323000 9.974055
127 2435000 9.77904
128 2435000 9.818045
129 2435000 9.857045
130 2435000 9.89606
131 2435000 9.929
132 2435000 9.989
133 2556000 9.785005
134 2556000 9.823005
135 2556000 9.86002
136 2556000 9.897005
137 2556000 9.93302
138 2556000 9.97002
139 2685000 9.759035
140 2685000 9.794995
141 2685000 9.83001
142 2685000 9.86502
143 2685000 9.900025
144 2685000 9.93501
145 2685000 9.970025
146 2824000 9.751025
147 2824000 9.78503
148 2824000 9.817995
149 2824000 9.852
150 2824000 9.885
151 2824000 9.919035
152 2824000 9.952
153 2824000 9.985035
154 2975000 9.757035
155 2975000 9.78904
156 2975000 9.82101
157 2975000 9.852025
158 2975000 9.884025
159 2975000 9.91604
160 2975000 9.947025
161 2975000 9.97804
162 3138000 9.74203
163 3138000 9.772045
164 3138000 9.795
165 3138000 9.847
166 3138000 9.87701
167 3138000 9.90701
168 3138000 9.937015
169 3138000 9.96601
170 3138000 9.996775
171 3315000 9.750015
172 3315000 9.77903
173 3315000 9.807
174 3315000 9.835015
175 3315000 9.864015
176 3315000 9.89203
177 3315000 9.920015
178 3315000 9.94803
179 3315000 9.97603
180 3507000 9.721045
181 3507000 9.748
182 3507000 9.775005
183 3507000 9.802005
184 3507000 9.82902
185 3507000 9.856035
186 3507000 9.88202
187 3507000 9.90905
188 3507000 9.936065
189 3507000 9.962005
190 3507000 9.98805
191 3716000 9.72304
192 3716000 9.749065
193 3716000 9.77404
194 3716000 9.799055
195 3716000 9.825055
196 3716000 9.85007
197 3716000 9.865995
198 3716000 9.913995
199 3716000 9.93901
200 3716000 9.96401
201 3716000 9.988025
202 3944000 9.71302
203 3944000 9.736035
204 3944000 9.760035
205 3944000 9.78404
206 3944000 9.80802
207 3944000 9.832025
208 3944000 9.855035
209 3944000 9.87904
210 3944000 9.902025
211 3944000 9.92604
212 3944000 9.94905
213 3944000 9.973065
214 3944000 9.99601
215 4195000 9.709025
216 4195000 9.731015
217 4195000 9.75404
218 4195000 9.776025
219 4195000 9.79904
220 4195000 9.82104
221 4195000 9.843055
222 4195000 9.865025
223 4195000 9.88704
224 4195000 9.90904
225 4195000 9.931045
226 4195000 9.95304
227 4195000 9.975045
228 4195000 9.997055
229 4470000 9.69807
230 4470000 9.71
231 4470000 9.753
232 4470000 9.774015
233 4470000 9.794015
234 4470000 9.81503
235 4470000 9.836015
236 4470000 9.85703
237 4470000 9.87703
238 4470000 9.898045
239 4470000 9.919015
240 4470000 9.93903
241 4470000 9.96003
242 4470000 9.980045
243 4773000 9.67003
244 4773000 9.689045
245 4773000 9.709035
246 4773000 9.72906
247 4773000 9.748015
248 4773000 9.76802
249 4773000 9.78703
250 4773000 9.807045
251 4773000 9.82602
252 4773000 9.845045
253 4773000 9.865035
254 4773000 9.88405
255 4773000 9.90303
256 4773000 9.922035
257 4773000 9.941035
258 4773000 9.96005
259 4773000 9.980035
260 4773000 9.99905
261 5107000 9.67503
262 5107000 9.693065
263 5107000 9.701
264 5107000 9.741
265 5107000 9.759
266 5107000 9.777
267 5107000 9.796
268 5107000 9.814
269 5107000 9.83202
270 5107000 9.85
271 5107000 9.868015
272 5107000 9.885005
273 5107000 9.903
274 5107000 9.921
275 5107000 9.939015
276 5107000 9.95702
277 5107000 9.974035
278 5107000 9.992035
279 5479000 9.65502
280 5479000 9.672005
281 5479000 9.689
282 5479000 9.706
283 5479000 9.723035
284 5479000 9.74
285 5479000 9.757005
286 5479000 9.773015
287 5479000 9.79002
288 5479000 9.807
289 5479000 9.824005
290 5479000 9.840005
291 5479000 9.85705
292 5479000 9.874005
293 5479000 9.89002
294 5479000 9.90703
295 5479000 9.923035
296 5479000 9.929
297 5479000 9.967
298 5479000 9.984
299 5892000 9.632
300 5892000 9.648005
301 5892000 9.664
302 5892000 9.679005
303 5892000 9.695005
304 5892000 9.71102
305 5892000 9.726
306 5892000 9.742005
307 5892000 9.757005
308 5892000 9.77302
309 5892000 9.788005
310 5892000 9.80402
311 5892000 9.81902
312 5892000 9.835035
313 5892000 9.85
314 5892000 9.865005
315 5892000 9.881005
316 5892000 9.89602
317 5892000 9.911005
318 5892000 9.92702
319 5892000 9.94202
320 5892000 9.957035
321 5892000 9.972005
322 5892000 9.98802
323 6354000 9.62002
324 6354000 9.635035
325 6354000 9.64902
326 6354000 9.664035
327 6354000 9.678035
328 6354000 9.69305
329 6354000 9.696
330 6354000 9.731
331 6354000 9.746
332 6354000 9.76
333 6354000 9.774005
334 6354000 9.789
335 6354000 9.803005
336 6354000 9.816995
337 6354000 9.83102
338 6354000 9.845
339 6354000 9.860005
340 6354000 9.873995
341 6354000 9.88802
342 6354000 9.902005
343 6354000 9.91601
344 6354000 9.93002
345 6354000 9.944025
346 6354000 9.958
347 6354000 9.971995
348 6354000 9.986005
349 6872000 9.60202
350 6872000 9.614995
351 6872000 9.62901
352 6872000 9.64201
353 6872000 9.655035
354 6872000 9.667995
355 6872000 9.68201
356 6872000 9.69501
357 6872000 9.708025
358 6872000 9.72102
359 6872000 9.735025
360 6872000 9.748025
361 6872000 9.76104
362 6872000 9.762
363 6872000 9.796
364 6872000 9.808995
365 6872000 9.822995
366 6872000 9.83601
367 6872000 9.848995
368 6872000 9.86201
369 6872000 9.87501
370 6872000 9.888025
371 6872000 9.899995
372 6872000 9.91301
373 6872000 9.92601
374 6872000 9.939025
375 6872000 9.95201
376 6872000 9.965025
377 6872000 9.978025
378 6872000 9.99005
379 7457000 9.588005
380 7457000 9.60003
381 7457000 9.61202
382 7457000 9.624035
383 7457000 9.63703
384 7457000 9.649035
385 7457000 9.661045
386 7457000 9.67305
387 7457000 9.68503
388 7457000 9.697035
389 7457000 9.709045
390 7457000 9.72105
391 7457000 9.733035
392 7457000 9.74506
393 7457000 9.75706
394 7457000 9.769065
395 7457000 9.76901
396 7457000 9.80201
397 7457000 9.81401
398 7457000 9.82601
399 7457000 9.838005
400 7457000 9.85001
401 7457000 9.862015
402 7457000 9.873005
403 7457000 9.88503
404 7457000 9.89701
405 7457000 9.909005
406 7457000 9.921015
407 7457000 9.93203
408 7457000 9.944005
409 7457000 9.95603
410 7457000 9.96803
411 7457000 9.979045
412 7457000 9.99101
413 8120000 9.569005
414 8120000 9.580005
415 8120000 9.59102
416 8120000 9.602005
417 8120000 9.61302
418 8120000 9.62402
419 8120000 9.635035
420 8120000 9.646005
421 8120000 9.65702
422 8120000 9.66802
423 8120000 9.679035
424 8120000 9.69002
425 8120000 9.701035
426 8120000 9.712035
427 8120000 9.72305
428 8120000 9.722
429 8120000 9.753
430 8120000 9.764005
431 8120000 9.774995
432 8120000 9.78602
433 8120000 9.797005
434 8120000 9.80802
435 8120000 9.81802
436 8120000 9.829035
437 8120000 9.840005
438 8120000 9.85101
439 8120000 9.86202
440 8120000 9.872035
441 8120000 9.88302
442 8120000 9.894035
443 8120000 9.905035
444 8120000 9.91504
445 8120000 9.926005
446 8120000 9.93702
447 8120000 9.94702
448 8120000 9.958025
449 8120000 9.96902
450 8120000 9.979035
451 8120000 9.990025
452 8874000 9.54605
453 8874000 9.55602
454 8874000 9.567025
455 8874000 9.577035
456 8874000 9.58704
457 8874000 9.597035
458 8874000 9.60704
459 8874000 9.61705
460 8874000 9.627055
461 8874000 9.625
462 8874000 9.655
463 8874000 9.664995
464 8874000 9.674005
465 8874000 9.68401
466 8874000 9.694005
467 8874000 9.70401
468 8874000 9.71402
469 8874000 9.724025
470 8874000 9.734005
471 8874000 9.74401
472 8874000 9.75401
473 8874000 9.763035
474 8874000 9.77301
475 8874000 9.783035
476 8874000 9.793025
477 8874000 9.80304
478 8874000 9.813005
479 8874000 9.82201
480 8874000 9.83202
481 8874000 9.842025
482 8874000 9.85201
483 8874000 9.861035
484 8874000 9.871025
485 8874000 9.88104
486 8874000 9.89002
487 8874000 9.900025
488 8874000 9.910025
489 8874000 9.92004
490 8874000 9.929035
491 8874000 9.93904
492 8874000 9.94904
493 8874000 9.958065
494 8874000 9.954995
495 8874000 9.984995
496 8874000 9.99501
497 9740000 9.52702
498 9740000 9.536025
499 9740000 9.54501
500 9740000 9.554025
501 9740000 9.563025
502 9740000 9.57204
503 9740000 9.58101
504 9740000 9.590025
505 9740000 9.599025
506 9740000 9.60805
507 9740000 9.617025
508 9740000 9.62604
509 9740000 9.63504
510 9740000 9.644055
511 9740000 9.65301
512 9740000 9.662025
513 9740000 9.671025
514 9740000 9.68004
515 9740000 9.689025
516 9740000 9.69804
517 9740000 9.70704
518 9740000 9.716055
519 9740000 9.725025
520 9740000 9.73304
521 9740000 9.74204
522 9740000 9.751055
523 9740000 9.76004
524 9740000 9.769055
525 9740000 9.778055
526 9740000 9.78607
527 9740000 9.783
528 9740000 9.811
529 9740000 9.82
530 9740000 9.829
531 9740000 9.838
532 9740000 9.846
533 9740000 9.855
534 9740000 9.864
535 9740000 9.873005
536 9740000 9.881
537 9740000 9.89
538 9740000 9.899
539 9740000 9.907005
540 9740000 9.916
541 9740000 9.925005
542 9740000 9.933005
543 9740000 9.94202
544 9740000 9.951
545 9740000 9.959
546 9740000 9.968
547 9740000 9.977005
548 9740000 9.985
549 9740000 9.994005
550 10738000 9.500005
551 10738000 9.50802
552 10738000 9.516
553 10738000 9.524005
554 10738000 9.532005
555 10738000 9.54002
556 10738000 9.549
557 10738000 9.55702
558 10738000 9.56502
559 10738000 9.573035
560 10738000 9.569
561 10738000 9.596
562 10738000 9.604
563 10738000 9.612
564 10738000 9.620005
565 10738000 9.628
566 10738000 9.636005
567 10738000 9.644
568 10738000 9.65202
569 10738000 9.66
570 10738000 9.668
571 10738000 9.676005
572 10738000 9.68402
573 10738000 9.692
574 10738000 9.70002
575 10738000 9.70802
576 10738000 9.715035
577 10738000 9.723
578 10738000 9.731005
579 10738000 9.739005
580 10738000 9.74702
581 10738000 9.755
582 10738000 9.76302
583 10738000 9.77102
584 10738000 9.779035
585 10738000 9.786005
586 10738000 9.793995
587 10738000 9.80202
588 10738000 9.810035
589 10738000 9.81802
590 10738000 9.826035
591 10738000 9.834035
592 10738000 9.84105
593 10738000 9.837
594 10738000 9.864
595 10738000 9.871
596 10738000 9.879
597 10738000 9.887005
598 10738000 9.895
599 10738000 9.902005
600 10738000 9.910005
601 10738000 9.91802
602 10738000 9.926
603 10738000 9.933
604 10738000 9.941005
605 10738000 9.948995
606 10738000 9.956005
607 10738000 9.963995
608 10738000 9.97202
609 10738000 9.98001
610 10738000 9.987
611 10738000 9.995
612 11898000 9.472
613 11898000 9.47902
614 11898000 9.486
615 11898000 9.49402
616 11898000 9.50102
617 11898000 9.50801
618 11898000 9.515005
619 11898000 9.521995
620 11898000 9.53002
621 11898000 9.537035
622 11898000 9.543995
623 11898000 9.551035
624 11898000 9.558035
625 11898000 9.56505
626 11898000 9.56
627 11898000 9.586
628 11898000 9.593
629 11898000 9.600005
630 11898000 9.60702
631 11898000 9.614
632 11898000 9.62102
633 11898000 9.62802
634 11898000 9.63601
635 11898000 9.643005
636 11898000 9.65002
637 11898000 9.656995
638 11898000 9.664035
639 11898000 9.67102
640 11898000 9.67801
641 11898000 9.685035
642 11898000 9.69205
643 11898000 9.699
644 11898000 9.70602
645 11898000 9.71302
646 11898000 9.72001
647 11898000 9.72702
648 11898000 9.734035
649 11898000 9.74101
650 11898000 9.748025
651 11898000 9.75502
652 11898000 9.762035
653 11898000 9.76901
654 11898000 9.77605
655 11898000 9.783035
656 11898000 9.790025
657 11898000 9.797025
658 11898000 9.804065
659 11898000 9.798
660 11898000 9.824
661 11898000 9.831
662 11898000 9.838
663 11898000 9.844005
664 11898000 9.851
665 11898000 9.858
666 11898000 9.865005
667 11898000 9.87202
668 11898000 9.879
669 11898000 9.886
670 11898000 9.893005
671 11898000 9.89902
672 11898000 9.906005
673 11898000 9.912995
674 11898000 9.919995
675 11898000 9.927035
676 11898000 9.934
677 11898000 9.940005
678 11898000 9.947
679 11898000 9.95402
680 11898000 9.961005
681 11898000 9.96802
682 11898000 9.973995
683 11898000 9.98101
684 11898000 9.988005
685 11898000 9.99502
686 13257000 9.43902
687 13257000 9.445035
688 13257000 9.45202
689 13257000 9.458035
690 13257000 9.46401
691 13257000 9.471025
692 13257000 9.465
693 13257000 9.489
694 13257000 9.495005
695 13257000 9.502005
696 13257000 9.50802
697 13257000 9.514005
698 13257000 9.52102
699 13257000 9.52702
700 13257000 9.53301
701 13257000 9.539
702 13257000 9.545995
703 13257000 9.551995
704 13257000 9.558035
705 13257000 9.56402
706 13257000 9.571035
707 13257000 9.577035
708 13257000 9.58305
709 13257000 9.589005
710 13257000 9.59602
711 13257000 9.60202
712 13257000 9.60801
713 13257000 9.613995
714 13257000 9.62001
715 13257000 9.62701
716 13257000 9.633025
717 13257000 9.638995
718 13257000 9.645035
719 13257000 9.651035
720 13257000 9.65805
721 13257000 9.664035
722 13257000 9.67005
723 13257000 9.67605
724 13257000 9.682065
725 13257000 9.676
726 13257000 9.7
727 13257000 9.706005
728 13257000 9.713005
729 13257000 9.71902
730 13257000 9.725005
731 13257000 9.73102
732 13257000 9.73702
733 13257000 9.74301
734 13257000 9.749
735 13257000 9.754995
736 13257000 9.760995
737 13257000 9.76801
738 13257000 9.773995
739 13257000 9.78001
740 13257000 9.78601
741 13257000 9.792025
742 13257000 9.798
743 13257000 9.803995
744 13257000 9.809995
745 13257000 9.81601
746 13257000 9.821995
747 13257000 9.82801
748 13257000 9.83401
749 13257000 9.840025
750 13257000 9.845995
751 13257000 9.85201
752 13257000 9.85801
753 13257000 9.864025
754 13257000 9.87001
755 13257000 9.877025
756 13257000 9.883025
757 13257000 9.88904
758 13257000 9.882
759 13257000 9.906
760 13257000 9.91202
761 13257000 9.91802
762 13257000 9.924035
763 13257000 9.93002
764 13257000 9.936035
765 13257000 9.942035
766 13257000 9.94805
767 13257000 9.95402
768 13257000 9.960035
769 13257000 9.966035
770 13257000 9.97205
771 13257000 9.978035
772 13257000 9.98405
773 13257000 9.99005
774 13257000 9.99504
775 14862000 9.40302
776 14862000 9.408055
777 14862000 9.414055
778 14862000 9.41907
779 14862000 9.425055
780 14862000 9.43007
781 14862000 9.436045
782 14862000 9.44106
783 14862000 9.44703
784 14862000 9.453035
785 14862000 9.45807
786 14862000 9.464085
787 14862000 9.46907
788 14862000 9.474085
789 14862000 9.48006
790 14862000 9.485075
791 14862000 9.47902
792 14862000 9.50202
793 14862000 9.50702
794 14862000 9.51202
795 14862000 9.518025
796 14862000 9.52302
797 14862000 9.52902
798 14862000 9.53402
799 14862000 9.54002
800 14862000 9.54502
801 14862000 9.551025
802 14862000 9.556025
803 14862000 9.56104
804 14862000 9.56702
805 14862000 9.572015
806 14862000 9.57802
807 14862000 9.583055
808 14862000 9.58802
809 14862000 9.594025
810 14862000 9.59902
811 14862000 9.604015
812 14862000 9.61002
813 14862000 9.61504
814 14862000 9.62104
815 14862000 9.626055
816 14862000 9.63102
817 14862000 9.63702
818 14862000 9.64204
819 14862000 9.648055
820 14862000 9.65304
821 14862000 9.65803
822 14862000 9.66403
823 14862000 9.669035
824 14862000 9.66202
825 14862000 9.68502
826 14862000 9.690025
827 14862000 9.695025
828 14862000 9.701015
829 14862000 9.70602
830 14862000 9.71104
831 14862000 9.71704
832 14862000 9.722055
833 14862000 9.72702
834 14862000 9.73302
835 14862000 9.73804
836 14862000 9.743055
837 14862000 9.74804
838 14862000 9.75403
839 14862000 9.75902
840 14862000 9.76407
841 14862000 9.770025
842 14862000 9.775015
843 14862000 9.780015
844 14862000 9.78502
845 14862000 9.79104
846 14862000 9.796055
847 14862000 9.80103
848 14862000 9.806035
849 14862000 9.81204
850 14862000 9.817055
851 14862000 9.822055
852 14862000 9.827045
853 14862000 9.83302
854 14862000 9.83807
855 14862000 9.84307
856 14862000 9.84806
857 14862000 9.84102
858 14862000 9.86402
859 14862000 9.869025
860 14862000 9.874025
861 14862000 9.879015
862 14862000 9.88502
863 14862000 9.89004
864 14862000 9.89504
865 14862000 9.90003
866 14862000 9.90502
867 14862000 9.91004
868 14862000 9.91604
869 14862000 9.92103
870 14862000 9.92602
871 14862000 9.931055
872 14862000 9.936055
873 14862000 9.941045
874 14862000 9.94702
875 14862000 9.95204
876 14862000 9.95704
877 14862000 9.96203
878 14862000 9.96702
879 14862000 9.972055
880 14862000 9.977055
881 14862000 9.982045
882 14862000 9.98802
883 14862000 9.993055
884 14862000 9.998055
885 16778000 9.36305
886 16778000 9.367035
887 16778000 9.372015
888 16778000 9.37705
889 16778000 9.382065
890 16778000 9.374
891 16778000 9.396
892 16778000 9.4
893 16778000 9.40502
894 16778000 9.41001
895 16778000 9.415
896 16778000 9.419035
897 16778000 9.42401
898 16778000 9.429015
899 16778000 9.43302
900 16778000 9.43801
901 16778000 9.443
902 16778000 9.44805
903 16778000 9.45201
904 16778000 9.457015
905 16778000 9.46205
906 16778000 9.46604
907 16778000 9.471
908 16778000 9.476035
909 16778000 9.48001
910 16778000 9.485015
911 16778000 9.490035
912 16778000 9.494025
913 16778000 9.499015
914 16778000 9.504065
915 16778000 9.508
916 16778000 9.51305
917 16778000 9.51805
918 16778000 9.52203
919 16778000 9.52705
920 16778000 9.532065
921 16778000 9.53603
922 16778000 9.54108
923 16778000 9.533
924 16778000 9.555
925 16778000 9.559
926 16778000 9.564005
927 16778000 9.568995
928 16778000 9.573
929 16778000 9.57802
930 16778000 9.581995
931 16778000 9.587
932 16778000 9.592005
933 16778000 9.596
934 16778000 9.60102
935 16778000 9.605035
936 16778000 9.61
937 16778000 9.615035
938 16778000 9.61901
939 16778000 9.624015
940 16778000 9.628005
941 16778000 9.633
942 16778000 9.63802
943 16778000 9.642035
944 16778000 9.647
945 16778000 9.651035
946 16778000 9.65601
947 16778000 9.661015
948 16778000 9.66502
949 16778000 9.67
950 16778000 9.674035
951 16778000 9.67905
952 16778000 9.683
953 16778000 9.68805
954 16778000 9.692025
955 16778000 9.69703
956 16778000 9.689005
957 16778000 9.710005
958 16778000 9.715
959 16778000 9.72002
960 16778000 9.72401
961 16778000 9.729
962 16778000 9.733035
963 16778000 9.738
964 16778000 9.74205
965 16778000 9.746995
966 16778000 9.751
967 16778000 9.756035
968 16778000 9.760015
969 16778000 9.765035
970 16778000 9.769025
971 16778000 9.774015
972 16778000 9.778065
973 16778000 9.783
974 16778000 9.787035
975 16778000 9.79201
976 16778000 9.796015
977 16778000 9.800035
978 16778000 9.805015
979 16778000 9.80905
980 16778000 9.81404
981 16778000 9.818
982 16778000 9.82305
983 16778000 9.827015
984 16778000 9.832065
985 16778000 9.836015
986 16778000 9.841065
987 16778000 9.845065
988 16778000 9.850045
989 16778000 9.842005
990 16778000 9.863005
991 16778000 9.868
992 16778000 9.87202
993 16778000 9.87601
994 16778000 9.881
995 16778000 9.885035
996 16778000 9.89
997 16778000 9.89405
998 16778000 9.898
999 16778000 9.903035
1000 16778000 9.90701
1001 16778000 9.912015
1002 16778000 9.916035
1003 16778000 9.921015
1004 16778000 9.92505
1005 16778000 9.92903
1006 16778000 9.93402
1007 16778000 9.938
1008 16778000 9.942035
1009 16778000 9.94705
1010 16778000 9.951
1011 16778000 9.95605
1012 16778000 9.960015
1013 16778000 9.964065
1014 16778000 9.969
1015 16778000 9.97305
1016 16778000 9.97705
1017 16778000 9.98203
1018 16778000 9.98605
1019 16778000 9.99103
1020 16778000 9.995065
1021 16778000 9.999045
1022 16778000 9.99102
1023 19089000 9.323
1024 19089000 9.327055
1025 19089000 9.331
1026 19089000 9.33505
1027 19089000 9.339
1028 19089000 9.34305
1029 19089000 9.347015
1030 19089000 9.351065
1031 19089000 9.355
1032 19089000 9.35905
1033 19089000 9.363025
1034 19089000 9.36703
1035 19089000 9.37105
1036 19089000 9.37503
1037 19089000 9.379065
1038 19089000 9.383045
1039 19089000 9.387035
1040 19089000 9.391015
1041 19089000 9.39505
1042 19089000 9.39903
1043 19089000 9.40305
1044 19089000 9.40703
1045 19089000 9.411065
1046 19089000 9.415045
1047 19089000 9.41905
1048 19089000 9.42303
1049 19089000 9.426065
1050 19089000 9.430045
1051 19089000 9.434065
1052 19089000 9.438045
1053 19089000 9.44208
1054 19089000 9.44606
1055 19089000 9.438
1056 19089000 9.458
1057 19089000 9.462
1058 19089000 9.466
1059 19089000 9.47
1060 19089000 9.474
1061 19089000 9.478
1062 19089000 9.481995
1063 19089000 9.486
1064 19089000 9.49
1065 19089000 9.493995
1066 19089000 9.498
1067 19089000 9.50101
1068 19089000 9.505
1069 19089000 9.50901
1070 19089000 9.513
1071 19089000 9.517025
1072 19089000 9.521
1073 19089000 9.524995
1074 19089000 9.529
1075 19089000 9.53301
1076 19089000 9.537
1077 19089000 9.54001
1078 19089000 9.544
1079 19089000 9.548025
1080 19089000 9.552
1081 19089000 9.55601
1082 19089000 9.56
1083 19089000 9.564025
1084 19089000 9.568
1085 19089000 9.571025
1086 19089000 9.575015
1087 19089000 9.57904
1088 19089000 9.571
1089 19089000 9.591
1090 19089000 9.595
1091 19089000 9.598995
1092 19089000 9.603
1093 19089000 9.605995
1094 19089000 9.61
1095 19089000 9.61401
1096 19089000 9.618015
1097 19089000 9.621995
1098 19089000 9.626
1099 19089000 9.62901
1100 19089000 9.633015
1101 19089000 9.63701
1102 19089000 9.641015
1103 19089000 9.645025
1104 19089000 9.64903
1105 19089000 9.653
1106 19089000 9.65601
1107 19089000 9.66
1108 19089000 9.664025
1109 19089000 9.668
1110 19089000 9.671025
1111 19089000 9.675015
1112 19089000 9.67904
1113 19089000 9.683
1114 19089000 9.687025
1115 19089000 9.691015
1116 19089000 9.69503
1117 19089000 9.698025
1118 19089000 9.70203
1119 19089000 9.70604
1120 19089000 9.710045
1121 19089000 9.701
1122 19089000 9.721
1123 19089000 9.725
1124 19089000 9.728995
1125 19089000 9.733
1126 19089000 9.735995
1127 19089000 9.74
1128 19089000 9.744
1129 19089000 9.748025
1130 19089000 9.752
1131 19089000 9.75501
1132 19089000 9.759
1133 19089000 9.763025
1134 19089000 9.767
1135 19089000 9.770025
1136 19089000 9.774015
1137 19089000 9.77803
1138 19089000 9.780995
1139 19089000 9.785
1140 19089000 9.78901
1141 19089000 9.793015
1142 19089000 9.79601
1143 19089000 9.800015
1144 19089000 9.804025
1145 19089000 9.80803
1146 19089000 9.812
1147 19089000 9.815025
1148 19089000 9.819015
1149 19089000 9.82304
1150 19089000 9.826015
1151 19089000 9.83004
1152 19089000 9.83403
1153 19089000 9.838045
1154 19089000 9.828995
1155 19089000 9.848995
1156 19089000 9.853
1157 19089000 9.85601
1158 19089000 9.860015
1159 19089000 9.86401
1160 19089000 9.868015
1161 19089000 9.871015
1162 19089000 9.87504
1163 19089000 9.879
1164 19089000 9.882025
1165 19089000 9.886015
1166 19089000 9.89004
1167 19089000 9.894015
1168 19089000 9.89703
1169 19089000 9.90104
1170 19089000 9.905045
1171 19089000 9.90801
1172 19089000 9.912015
1173 19089000 9.916025
1174 19089000 9.91903
1175 19089000 9.923015
1176 19089000 9.92704
1177 19089000 9.93003
1178 19089000 9.934055
1179 19089000 9.938015
1180 19089000 9.94203
1181 19089000 9.94504
1182 19089000 9.949045
1183 19089000 9.95204
1184 19089000 9.956045
1185 19089000 9.960055
1186 19089000 9.96306
1187 19089000 9.955
1188 19089000 9.975
1189 19089000 9.977995
1190 19089000 9.982
1191 19089000 9.98501
1192 19089000 9.989
1193 19089000 9.993
1194 19089000 9.99601
Вот так оно выглядит:
31917
Точки с quantity<400 неплохо ложатся на прямую accelRamp = 19112.07*quantity - 40973.45
При 400<=quantity<686 больше подходит такая формула: accelRamp = 17591.1*quantity + 545526.5
При 686<=quantity<775 такая: accelRamp = 13257000
При 775<=quantity<885 такая: accelRamp = 14862000
При 885<=quantity<1023 такая: accelRamp = 16778000
При 1023<=quantity<1195 такая: accelRamp = 19089000
При переборе значения accelRamp изменялись на 1000, т.е. значения между 13257000 и 14862000 не влияли на время выполнения 775 импульсов.
Newcomer
01.07.2017, 22:21
Колоссально. А универсальной формулы для 16<=quantity<=1020 нет ?
Владимир Ситников
01.07.2017, 22:49
Колоссально. А универсальной формулы для 16<=quantity<=1020 нет ?
Так зависит от того, какая точность нужна.
Если грубо, то можно так: accelRamp = 19254.77 * qty - 22746.38
Если считать по ней (ну и decelRamp=accelRamp*32), то будет такой результат:
31918
quantity duration_ms
16 9.535
17 9.545
18 9.606
19 9.559
20 9.571
21 9.652
22 9.625
23 9.673
24 9.609
25 9.628
26 9.633
27 9.625
28 9.711
29 9.682
30 9.642
31 9.702
32 9.756
33 9.68704
34 9.727045
35 9.760065
36 9.78705
37 9.686025
38 9.70006
39 9.70905
40 9.713055
41 9.711005
42 9.70503
43 9.82704
44 9.813065
45 9.79404
46 9.770085
47 9.743065
48 9.85209
49 9.817015
50 9.77805
51 9.73405
52 9.835055
53 9.78506
54 9.731065
55 9.825055
56 9.76607
57 9.85704
58 9.791065
59 9.879055
60 9.80806
61 9.893035
62 9.81607
63 9.89806
64 9.816065
65 9.89602
66 9.81901
67 9.896025
68 9.803025
69 9.87803
70 9.779025
71 9.85204
72 9.92303
73 9.818045
74 9.888015
75 9.77801
76 9.84504
77 9.912055
78 9.79602
79 9.861045
80 9.925035
81 9.80305
82 9.865995
83 9.92804
84 9.79903
85 9.860045
86 9.91902
87 9.785045
88 9.843035
89 9.90105
90 9.95802
91 9.817015
92 9.872065
93 9.92807
94 9.982055
95 9.83407
96 9.88806
97 9.941075
98 9.784025
99 9.855025
100 9.90603
101 9.95603
102 10.007045
103 9.84503
104 9.894035
105 9.943035
106 9.99105
107 9.82304
108 9.870045
109 9.917045
110 9.96306
111 10.010045
112 9.83405
113 9.87906
114 9.924065
115 9.96802
116 10.012025
117 9.830045
118 9.87305
119 9.916035
120 9.95805
121 10.00005
122 9.811055
123 9.852035
124 9.89305
125 9.93405
126 9.974055
127 10.01404
128 9.818045
129 9.857045
130 9.89606
131 9.929
132 9.989
133 10.027015
134 9.823005
135 9.86002
136 9.897005
137 9.93302
138 9.97002
139 10.007025
140 10.042995
141 9.83001
142 9.86502
143 9.900025
144 9.93501
145 9.970025
146 10.005025
147 10.04004
148 9.817995
149 9.852
150 9.885
151 9.919035
152 9.952
153 9.985035
154 10.018035
155 10.05104
156 9.82101
157 9.852025
158 9.884025
159 9.91604
160 9.947025
161 9.97804
162 10.01003
163 10.041055
164 10.064
165 9.847
166 9.87701
167 9.90701
168 9.937015
169 9.96601
170 9.996775
171 10.02602
172 10.05504
173 10.084
174 9.835015
175 9.864015
176 9.89203
177 9.920015
178 9.94803
179 9.97603
180 10.004045
181 10.032
182 10.060015
183 10.088005
184 9.82902
185 9.856035
186 9.88202
187 9.90905
188 9.936065
189 9.962005
190 9.98805
191 10.01504
192 10.041065
193 10.06705
194 10.093055
195 9.825055
196 9.85007
197 9.865995
198 9.913995
199 9.93901
200 9.96401
201 9.988025
202 10.01301
203 10.038025
204 10.062025
205 10.08704
206 10.112
207 9.832025
208 9.855035
209 9.87904
210 9.902025
211 9.92604
212 9.94905
213 9.973065
214 9.99601
215 10.019025
216 10.042025
217 10.06505
218 10.089025
219 10.11205
220 9.82104
221 9.843055
222 9.865025
223 9.88704
224 9.90904
225 9.931045
226 9.95304
227 9.975045
228 9.997055
229 10.01906
230 10.03
231 10.075
232 10.096025
233 10.118015
234 9.81503
235 9.836015
236 9.85703
237 9.87703
238 9.898045
239 9.919015
240 9.93903
241 9.96003
242 9.980045
243 10.00003
244 10.021045
245 10.041045
246 10.06106
247 10.082015
248 10.10203
249 10.12202
250 9.807045
251 9.82602
252 9.845045
253 9.865035
254 9.88405
255 9.90303
256 9.922035
257 9.941035
258 9.96005
259 9.980035
260 9.99905
261 10.01805
262 10.036065
263 10.045
264 10.086
265 10.105
266 10.124
267 9.796
268 9.814
269 9.83202
270 9.85
271 9.868015
272 9.885005
273 9.903
274 9.921
275 9.939015
276 9.95702
277 9.974035
278 9.992035
279 10.01005
280 10.027005
281 10.04502
282 10.06302
283 10.080035
284 10.098
285 10.115015
286 9.773015
287 9.79002
288 9.807
289 9.824005
290 9.840005
291 9.85705
292 9.874005
293 9.89002
294 9.90703
295 9.923035
296 9.929
297 9.967
298 9.984
299 10.0
300 10.016005
301 10.033
302 10.049005
303 10.065005
304 10.08102
305 10.098
306 10.114005
307 10.130005
308 9.77302
309 9.788005
310 9.80402
311 9.81902
312 9.835035
313 9.85
314 9.865005
315 9.881005
316 9.89602
317 9.911005
318 9.92702
319 9.94202
320 9.957035
321 9.972005
322 9.98802
323 10.00302
324 10.018035
325 10.03302
326 10.048035
327 10.063035
328 10.07805
329 10.081
330 10.118
331 10.133
332 9.76
333 9.774005
334 9.789
335 9.803005
336 9.816995
337 9.83102
338 9.845
339 9.860005
340 9.873995
341 9.88802
342 9.902005
343 9.91601
344 9.93002
345 9.944025
346 9.958
347 9.971995
348 9.986005
349 10.00001
350 10.014005
351 10.02801
352 10.04202
353 10.056025
354 10.069005
355 10.08301
356 10.09701
357 10.111035
358 10.12501
359 9.735025
360 9.748025
361 9.76104
362 9.762
363 9.796
364 9.808995
365 9.822995
366 9.83601
367 9.848995
368 9.86201
369 9.87501
370 9.888025
371 9.899995
372 9.91301
373 9.92601
374 9.939025
375 9.95201
376 9.965025
377 9.978025
378 9.99005
379 10.002995
380 10.01601
381 10.02901
382 10.041025
383 10.05402
384 10.067025
385 10.080025
386 10.09205
387 10.10501
388 10.117025
389 9.709045
390 9.72105
391 9.733035
392 9.74506
393 9.75706
394 9.769065
395 9.76901
396 9.80201
397 9.81401
398 9.82601
399 9.838005
400 9.85001
401 9.862015
402 9.873005
403 9.88503
404 9.89701
405 9.909005
406 9.921015
407 9.93203
408 9.944005
409 9.95603
410 9.96803
411 9.979045
412 9.99101
413 10.003015
414 10.014015
415 10.02603
416 10.038015
417 10.04902
418 10.06103
419 10.072045
420 10.084015
421 10.09603
422 10.10703
423 9.679035
424 9.69002
425 9.701035
426 9.712035
427 9.72305
428 9.722
429 9.753
430 9.764005
431 9.774995
432 9.78602
433 9.797005
434 9.80802
435 9.81802
436 9.829035
437 9.840005
438 9.85101
439 9.86202
440 9.872035
441 9.88302
442 9.894035
443 9.905035
444 9.91504
445 9.926005
446 9.93702
447 9.94702
448 9.958025
449 9.96902
450 9.979035
451 9.990025
452 10.00105
453 10.01102
454 10.022025
455 10.032035
456 10.04305
457 10.053025
458 10.06405
459 10.07405
460 10.085055
461 10.083
462 10.114
463 9.664995
464 9.674005
465 9.68401
466 9.694005
467 9.70401
468 9.71402
469 9.724025
470 9.734005
471 9.74401
472 9.75401
473 9.763035
474 9.77301
475 9.783035
476 9.793025
477 9.80304
478 9.813005
479 9.82201
480 9.83202
481 9.842025
482 9.85201
483 9.861035
484 9.871025
485 9.88104
486 9.89002
487 9.900025
488 9.910025
489 9.92004
490 9.929035
491 9.93904
492 9.94904
493 9.958065
494 9.954995
495 9.984995
496 9.99501
497 10.00401
498 10.01403
499 10.02301
500 10.033025
501 10.042025
502 10.05204
503 10.06102
504 10.071025
505 10.080025
506 10.09004
507 9.617025
508 9.62604
509 9.63504
510 9.644055
511 9.65301
512 9.662025
513 9.671025
514 9.68004
515 9.689025
516 9.69804
517 9.70704
518 9.716055
519 9.725025
520 9.73304
521 9.74204
522 9.751055
523 9.76004
524 9.769055
525 9.778055
526 9.78607
527 9.783
528 9.811
529 9.82
530 9.829
531 9.838
532 9.846
533 9.855
534 9.864
535 9.873005
536 9.881
537 9.89
538 9.899
539 9.907005
540 9.916
541 9.925005
542 9.933005
543 9.94202
544 9.951
545 9.959
546 9.968
547 9.977005
548 9.985
549 9.994005
550 10.002005
551 10.010995
552 10.02
553 10.028005
554 10.037005
555 10.04502
556 10.054005
557 10.06302
558 10.07102
559 9.573035
560 9.569
561 9.596
562 9.604
563 9.612
564 9.620005
565 9.628
566 9.636005
567 9.644
568 9.65202
569 9.66
570 9.668
571 9.676005
572 9.68402
573 9.692
574 9.70002
575 9.70802
576 9.715035
577 9.723
578 9.731005
579 9.739005
580 9.74702
581 9.755
582 9.76302
583 9.77102
584 9.779035
585 9.786005
586 9.793995
587 9.80202
588 9.810035
589 9.81802
590 9.826035
591 9.834035
592 9.84105
593 9.837
594 9.864
595 9.871
596 9.879
597 9.887005
598 9.895
599 9.902005
600 9.910005
601 9.91802
602 9.926
603 9.933
604 9.941005
605 9.948995
606 9.956005
607 9.963995
608 9.97202
609 9.98001
610 9.987
611 9.995
612 10.002005
613 10.009995
614 10.018005
615 10.024995
616 10.03302
617 10.04101
618 10.048005
619 10.05602
620 9.53002
621 9.537035
622 9.543995
623 9.551035
624 9.558035
625 9.56505
626 9.56
627 9.586
628 9.593
629 9.600005
630 9.60702
631 9.614
632 9.62102
633 9.62802
634 9.63601
635 9.643005
636 9.65002
637 9.656995
638 9.664035
639 9.67102
640 9.67801
641 9.685035
642 9.69205
643 9.699
644 9.70602
645 9.71302
646 9.72001
647 9.72702
648 9.734035
649 9.74101
650 9.748025
651 9.75502
652 9.762035
653 9.76901
654 9.77605
655 9.783035
656 9.790025
657 9.797025
658 9.804065
659 9.798
660 9.824
661 9.831
662 9.838
663 9.844005
664 9.851
665 9.858
666 9.865005
667 9.87202
668 9.879
669 9.886
670 9.893005
671 9.89902
672 9.906005
673 9.912995
674 9.919995
675 9.927035
676 9.934
677 9.940005
678 9.947
679 9.95402
680 9.961005
681 9.96802
682 9.973995
683 9.98101
684 9.988005
685 9.99502
686 10.00202
687 10.00801
688 10.014995
689 10.022035
690 9.46401
691 9.471025
692 9.465
693 9.489
694 9.495005
695 9.502005
696 9.50802
697 9.514005
698 9.52102
699 9.52702
700 9.53301
701 9.539
702 9.545995
703 9.551995
704 9.558035
705 9.56402
706 9.571035
707 9.577035
708 9.58305
709 9.589005
710 9.59602
711 9.60202
712 9.60801
713 9.613995
714 9.62001
715 9.62701
716 9.633025
717 9.638995
718 9.645035
719 9.651035
720 9.65805
721 9.664035
722 9.67005
723 9.67605
724 9.682065
725 9.676
726 9.7
727 9.706005
728 9.713005
729 9.71902
730 9.725005
731 9.73102
732 9.73702
733 9.74301
734 9.749
735 9.754995
736 9.760995
737 9.76801
738 9.773995
739 9.78001
740 9.78601
741 9.792025
742 9.798
743 9.803995
744 9.809995
745 9.81601
746 9.821995
747 9.82801
748 9.83401
749 9.840025
750 9.845995
751 9.85201
752 9.85801
753 9.864025
754 9.87001
755 9.877025
756 9.883025
757 9.88904
758 9.882
759 9.906
760 9.91202
761 9.91802
762 9.924035
763 9.93002
764 9.936035
765 9.942035
766 9.94805
767 9.95402
768 9.960035
769 9.966035
770 9.97205
771 9.978035
772 9.98405
773 9.99005
774 9.39706
775 9.40302
776 9.408055
777 9.414055
778 9.41907
779 9.425055
780 9.43007
781 9.436045
782 9.44106
783 9.44703
784 9.453035
785 9.45807
786 9.464085
787 9.46907
788 9.474085
789 9.48006
790 9.485075
791 9.47902
792 9.50202
793 9.50702
794 9.51202
795 9.518025
796 9.52302
797 9.52902
798 9.53402
799 9.54002
800 9.54502
801 9.551025
802 9.556025
803 9.56104
804 9.56702
805 9.572015
806 9.57802
807 9.583055
808 9.58802
809 9.594025
810 9.59902
811 9.604015
812 9.61002
813 9.61504
814 9.62104
815 9.626055
816 9.63102
817 9.63702
818 9.64204
819 9.648055
820 9.65304
821 9.65803
822 9.66403
823 9.669035
824 9.66202
825 9.68502
826 9.690025
827 9.695025
828 9.701015
829 9.70602
830 9.71104
831 9.71704
832 9.722055
833 9.72702
834 9.73302
835 9.73804
836 9.743055
837 9.74804
838 9.75403
839 9.75902
840 9.76407
841 9.770025
842 9.775015
843 9.780015
844 9.78502
845 9.79104
846 9.796055
847 9.80103
848 9.806035
849 9.81204
850 9.817055
851 9.822055
852 9.827045
853 9.83302
854 9.83807
855 9.84307
856 9.84806
857 9.84102
858 9.86402
859 9.869025
860 9.874025
861 9.879015
862 9.88502
863 9.89004
864 9.89504
865 9.90003
866 9.90502
867 9.91004
868 9.91604
869 9.92103
870 9.92602
871 9.931055
872 9.936055
873 9.30505
874 9.31
875 9.315
876 9.32002
877 9.32401
878 9.329
879 9.334035
880 9.33901
881 9.344015
882 9.34802
883 9.353035
884 9.358
885 9.36305
886 9.367035
887 9.372015
888 9.37705
889 9.382065
890 9.374
891 9.396
892 9.4
893 9.40502
894 9.41001
895 9.415
896 9.419035
897 9.42401
898 9.429015
899 9.43302
900 9.43801
901 9.443
902 9.44805
903 9.45201
904 9.457015
905 9.46205
906 9.46604
907 9.471
908 9.476035
909 9.48001
910 9.485015
911 9.490035
912 9.494025
913 9.499015
914 9.504065
915 9.508
916 9.51305
917 9.51805
918 9.52203
919 9.52705
920 9.532065
921 9.53603
922 9.54108
923 9.533
924 9.555
925 9.559
926 9.564005
927 9.568995
928 9.573
929 9.57802
930 9.581995
931 9.587
932 9.592005
933 9.596
934 9.60102
935 9.605035
936 9.61
937 9.615035
938 9.61901
939 9.624015
940 9.628005
941 9.633
942 9.63802
943 9.642035
944 9.647
945 9.651035
946 9.65601
947 9.661015
948 9.66502
949 9.67
950 9.674035
951 9.67905
952 9.683
953 9.68805
954 9.692025
955 9.69703
956 9.689005
957 9.710005
958 9.715
959 9.72002
960 9.72401
961 9.729
962 9.733035
963 9.738
964 9.74205
965 9.746995
966 9.751
967 9.756035
968 9.760015
969 9.765035
970 9.769025
971 9.774015
972 9.778065
973 9.783
974 9.787035
975 9.79201
976 9.796015
977 9.800035
978 9.805015
979 9.80905
980 9.81404
981 9.818
982 9.82305
983 9.827015
984 9.832065
985 9.836015
986 9.841065
987 9.845065
988 9.850045
989 9.842005
990 9.863005
991 9.868
992 9.87202
993 9.197035
994 9.20102
995 9.205
996 9.209035
997 9.214015
998 9.2182
999 9.222
1000 9.226035
1001 9.230015
1002 9.234035
1003 9.238015
1004 9.24205
1005 9.24603
1006 9.25002
1007 9.25401
1008 9.258
1009 9.26205
1010 9.266
1011 9.27005
1012 9.274015
1013 9.278065
1014 9.283
1015 9.28705
1016 9.291015
1017 9.295065
1018 9.299015
1019 9.303065
1020 9.30703
Newcomer
01.07.2017, 23:02
Видно, что для некоторых quantity 10 с копейками проскакивают. Это не допустимо.
Владимир Ситников
02.07.2017, 00:09
Видно, что для некоторых quantity 10 с копейками проскакивают. Это не допустимо.
Ну, можно поиграть в нумерологию:
accelRamp = (int) (19254.77 * q - 22746.38 - 96275.0*Math.exp(-q/25.0) + 231060.0*(1-Math.exp(-q/100.0)))
Но почему-то мне кажется, что в реальности это не заработает. Уж слишком сомнительно звучит задача "сгенерировать хоть каких-нибудь импульсов за 10мс" без какой-либо синхронизации с принимающей стороной.
31919
quantity duration_ms accelRamp
16 9.846 268728
17 9.786 291932
18 9.689 315039
19 9.644 338052
20 9.659 360973
21 9.562 383807
22 9.532 406555
23 9.578 429220
24 9.512 451806
25 9.528 474315
26 9.429 496749
27 9.417 519111
28 9.499 541403
29 9.466 563627
30 9.422 585785
31 9.478 607880
32 9.41401 629914
33 9.45603 651888
34 9.374045 673804
35 9.401045 695664
36 9.42306 717470
37 9.439015 739223
38 9.45006 760925
39 9.45605 782578
40 9.456045 804182
41 9.451045 825740
42 9.44103 847253
43 9.42704 868722
44 9.408045 890148
45 9.38408 911533
46 9.356075 932878
47 9.463075 954184
48 9.42706 975451
49 9.388035 996682
50 9.34405 1017877
51 9.44204 1039037
52 9.392075 1060164
53 9.48704 1081257
54 9.430045 1102318
55 9.369055 1123348
56 9.45906 1144347
57 9.39205 1165317
58 9.478055 1186258
59 9.406055 1207171
60 9.48908 1228057
61 9.411045 1248916
62 9.49206 1269749
63 9.40802 1290557
64 9.486085 1311340
65 9.39701 1332099
66 9.48401 1352834
67 9.390015 1373546
68 9.462005 1394236
69 9.53505 1414905
70 9.433015 1435552
71 9.50302 1456178
72 9.39703 1476783
73 9.465035 1497369
74 9.532035 1517935
75 9.42003 1538483
76 9.48503 1559011
77 9.549035 1579522
78 9.43003 1600015
79 9.493045 1620490
80 9.555035 1640948
81 9.43007 1661390
82 9.490015 1681815
83 9.55003 1702225
84 9.41902 1722619
85 9.477045 1742997
86 9.53402 1763360
87 9.592035 1783709
88 9.454035 1804043
89 9.50904 1824364
90 9.564 1844670
91 9.420055 1864962
92 9.474055 1885242
93 9.52707 1905508
94 9.579055 1925761
95 9.42905 1946002
96 9.48005 1966231
97 9.531085 1986447
98 9.579015 2006651
99 9.647015 2026844
100 9.48902 2047025
101 9.53703 2067194
102 9.585045 2087353
103 9.63302 2107500
104 9.468025 2127637
105 9.515055 2147764
106 9.56106 2167880
107 9.60703 2187985
108 9.653045 2208081
109 9.481035 2228167
110 9.52506 2248243
111 9.569035 2268309
112 9.61305 2288366
113 9.65705 2308414
114 9.478055 2328452
115 9.52003 2348482
116 9.562045 2368503
117 9.604035 2388514
118 9.64605 2408518
119 9.688035 2428513
120 9.50004 2448499
121 9.54004 2468478
122 9.580065 2488448
123 9.620025 2508410
124 9.66004 2528364
125 9.70004 2548311
126 9.504025 2568250
127 9.54301 2588181
128 9.581025 2608105
129 9.619065 2628022
130 9.65708 2647931
131 9.689 2667833
132 9.507 2687728
133 9.543005 2707616
134 9.580005 2727498
135 9.61601 2747372
136 9.652005 2767240
137 9.68801 2787101
138 9.72401 2806956
139 9.512035 2826804
140 9.545995 2846646
141 9.58102 2866482
142 9.61501 2886311
143 9.649025 2906135
144 9.68301 2925952
145 9.717025 2945763
146 9.751025 2965569
147 9.53003 2985369
148 9.563 3005163
149 9.595 3024951
150 9.62802 3044734
151 9.660035 3064511
152 9.69302 3084282
153 9.725025 3104049
154 9.757035 3123809
155 9.52704 3143565
156 9.55801 3163315
157 9.589025 3183061
158 9.620025 3202801
159 9.65004 3222536
160 9.681015 3242266
161 9.71104 3261991
162 9.74203 3281712
163 9.772045 3301427
164 9.525995 3321138
165 9.576995 3340844
166 9.60601 3360546
167 9.63501 3380242
168 9.664015 3399935
169 9.69301 3419623
170 9.721015 3439306
171 9.750015 3458985
172 9.77903 3478660
173 9.807 3498330
174 9.557015 3517996
175 9.585015 3537658
176 9.61203 3557316
177 9.640005 3576969
178 9.66703 3596619
179 9.69402 3616264
180 9.721045 3635906
181 9.748 3655544
182 9.775005 3675177
183 9.802005 3694807
184 9.82902 3714433
185 9.569035 3734056
186 9.59505 3753674
187 9.62105 3773289
188 9.646065 3792900
189 9.672025 3812508
190 9.69805 3832112
191 9.72304 3851712
192 9.749065 3871309
193 9.77404 3890903
194 9.799055 3910493
195 9.825055 3930080
196 9.55408 3949663
197 9.570005 3969243
198 9.616005 3988820
199 9.64002 4008394
200 9.66402 4027964
201 9.689035 4047531
202 9.71302 4067095
203 9.736035 4086656
204 9.760035 4106214
205 9.78404 4125769
206 9.80802 4145321
207 9.832025 4164870
208 9.855035 4184415
209 9.57303 4203958
210 9.596015 4223498
211 9.61903 4243036
212 9.64103 4262570
213 9.664055 4282101
214 9.687 4301630
215 9.709025 4321156
216 9.731015 4340679
217 9.75404 4360200
218 9.776025 4379718
219 9.79904 4399233
220 9.82104 4418746
221 9.843055 4438256
222 9.865025 4457763
223 9.57103 4477268
224 9.59204 4496771
225 9.614045 4516271
226 9.63503 4535769
227 9.656045 4555264
228 9.677045 4574756
229 9.69807 4594247
230 9.71 4613735
231 9.753 4633220
232 9.774015 4652704
233 9.794015 4672185
234 9.81503 4691664
235 9.836015 4711140
236 9.85703 4730614
237 9.87703 4750087
238 9.898045 4769557
239 9.591015 4789024
240 9.61103 4808490
241 9.63003 4827954
242 9.650045 4847415
243 9.67003 4866875
244 9.689045 4886332
245 9.709035 4905787
246 9.72906 4925241
247 9.748015 4944692
248 9.76802 4964142
249 9.78703 4983589
250 9.807045 5003035
251 9.82602 5022478
252 9.845045 5041920
253 9.865035 5061360
254 9.88405 5080798
255 9.90303 5100234
256 9.583035 5119669
257 9.601035 5139101
258 9.62005 5158532
259 9.638035 5177961
260 9.65705 5197389
261 9.67503 5216814
262 9.693065 5236238
263 9.701 5255661
264 9.741 5275081
265 9.759 5294500
266 9.777 5313917
267 9.796 5333333
268 9.814 5352747
269 9.83202 5372160
270 9.85 5391571
271 9.868015 5410980
272 9.885005 5430388
273 9.903 5449794
274 9.921 5469199
275 9.587015 5488602
276 9.604 5508004
277 9.621015 5527404
278 9.638015 5546803
279 9.65502 5566201
280 9.672005 5585597
281 9.689 5604991
282 9.706 5624384
283 9.723035 5643776
284 9.74 5663167
285 9.757005 5682556
286 9.773015 5701944
287 9.79002 5721330
288 9.807 5740715
289 9.824005 5760099
290 9.840005 5779482
291 9.85705 5798863
292 9.874005 5818243
293 9.89002 5837622
294 9.90703 5857000
295 9.923035 5876376
296 9.563 5895751
297 9.6 5915125
298 9.616 5934498
299 9.632 5953869
300 9.648005 5973240
301 9.664 5992609
302 9.679005 6011977
303 9.695005 6031344
304 9.71102 6050710
305 9.726 6070075
306 9.742005 6089438
307 9.757005 6108801
308 9.77302 6128163
309 9.788005 6147523
310 9.80402 6166882
311 9.81902 6186241
312 9.835035 6205598
313 9.85 6224954
314 9.865005 6244310
315 9.881005 6263664
316 9.89602 6283017
317 9.911005 6302370
318 9.92702 6321721
319 9.94202 6341071
320 9.576035 6360421
321 9.591005 6379769
322 9.60602 6399117
323 9.62002 6418463
324 9.635035 6437809
325 9.64902 6457154
326 9.664035 6476498
327 9.678035 6495841
328 9.69305 6515183
329 9.696 6534524
330 9.731 6553865
331 9.746 6573204
332 9.76 6592543
333 9.774005 6611881
334 9.789 6631218
335 9.803005 6650554
336 9.816995 6669890
337 9.83102 6689224
338 9.845 6708558
339 9.860005 6727891
340 9.873995 6747224
341 9.88802 6766555
342 9.902005 6785886
343 9.91601 6805216
344 9.93002 6824545
345 9.944025 6843874
346 9.958 6863201
347 9.574995 6882528
348 9.588995 6901855
349 9.60202 6921180
350 9.614995 6940505
351 9.62901 6959829
352 9.64201 6979153
353 9.655035 6998476
354 9.667995 7017798
355 9.68201 7037119
356 9.69501 7056440
357 9.708025 7075760
358 9.72102 7095080
359 9.735025 7114399
360 9.748025 7133717
361 9.76104 7153034
362 9.762 7172351
363 9.796 7191668
364 9.808995 7210983
365 9.822995 7230299
366 9.83601 7249613
367 9.848995 7268927
368 9.86201 7288240
369 9.87501 7307553
370 9.888025 7326865
371 9.899995 7346177
372 9.91301 7365488
373 9.92601 7384799
374 9.939025 7404108
375 9.95201 7423418
376 9.965025 7442727
377 9.563045 7462035
378 9.57605 7481343
379 9.588005 7500650
380 9.60003 7519957
381 9.61202 7539263
382 9.624035 7558569
383 9.63703 7577874
384 9.649035 7597178
385 9.661045 7616483
386 9.67305 7635786
387 9.68503 7655090
388 9.697035 7674392
389 9.709045 7693695
390 9.72105 7712996
391 9.733035 7732298
392 9.74506 7751598
393 9.75706 7770899
394 9.769065 7790199
395 9.76901 7809498
396 9.80201 7828797
397 9.81401 7848096
398 9.82601 7867394
399 9.838005 7886692
400 9.85001 7905989
401 9.862015 7925286
402 9.873005 7944582
403 9.88503 7963878
404 9.89701 7983174
405 9.909005 8002469
406 9.921015 8021764
407 9.93203 8041059
408 9.944005 8060353
409 9.95603 8079646
410 9.96803 8098940
411 9.979045 8118232
412 9.557 8137525
413 9.569005 8156817
414 9.580005 8176109
415 9.59102 8195400
416 9.602005 8214691
417 9.61302 8233982
418 9.62402 8253272
419 9.635035 8272562
420 9.646005 8291852
421 9.65702 8311141
422 9.66802 8330430
423 9.679035 8349718
424 9.69002 8369007
425 9.701035 8388294
426 9.712035 8407582
427 9.72305 8426869
428 9.722 8446156
429 9.753 8465443
430 9.764005 8484729
431 9.774995 8504015
432 9.78602 8523301
433 9.797005 8542586
434 9.80802 8561871
435 9.81802 8581156
436 9.829035 8600440
437 9.840005 8619724
438 9.85101 8639008
439 9.86202 8658292
440 9.872035 8677575
441 9.88302 8696858
442 9.894035 8716141
443 9.905035 8735423
444 9.91504 8754705
445 9.926005 8773987
446 9.93702 8793269
447 9.94702 8812550
448 9.958025 8831831
449 9.96902 8851112
450 9.979035 8870393
451 9.536025 8889673
452 9.54605 8908953
453 9.55602 8928233
454 9.567025 8947513
455 9.577035 8966792
456 9.58704 8986071
457 9.597035 9005350
458 9.60704 9024628
459 9.61705 9043907
460 9.627055 9063185
461 9.625 9082463
462 9.655 9101740
463 9.664995 9121018
464 9.674005 9140295
465 9.68401 9159572
466 9.694005 9178849
467 9.70401 9198125
468 9.71402 9217401
469 9.724025 9236678
470 9.734005 9255953
471 9.74401 9275229
472 9.75401 9294505
473 9.763035 9313780
474 9.77301 9333055
475 9.783035 9352330
476 9.793025 9371604
477 9.80304 9390879
478 9.813005 9410153
479 9.82201 9429427
480 9.83202 9448701
481 9.842025 9467975
482 9.85201 9487248
483 9.861035 9506522
484 9.871025 9525795
485 9.88104 9545068
486 9.89002 9564341
487 9.900025 9583613
488 9.910025 9602886
489 9.92004 9622158
490 9.929035 9641430
491 9.93904 9660702
492 9.94904 9679973
493 9.958065 9699245
494 9.954995 9718516
495 9.984995 9737788
496 9.51801 9757059
497 9.52702 9776330
498 9.536025 9795600
499 9.54501 9814871
500 9.554025 9834141
501 9.563025 9853412
502 9.57204 9872682
503 9.58101 9891952
504 9.590025 9911221
505 9.599025 9930491
506 9.60805 9949761
507 9.617025 9969030
508 9.62604 9988299
509 9.63504 10007568
510 9.644055 10026837
511 9.65301 10046106
512 9.662025 10065375
513 9.671025 10084643
514 9.68004 10103911
515 9.689025 10123180
516 9.69804 10142448
517 9.70704 10161716
518 9.716055 10180984
519 9.725025 10200251
520 9.73304 10219519
521 9.74204 10238786
522 9.751055 10258054
523 9.76004 10277321
524 9.769055 10296588
525 9.778055 10315855
526 9.78607 10335122
527 9.783 10354388
528 9.811 10373655
529 9.82 10392922
530 9.829 10412188
531 9.838 10431454
532 9.846 10450720
533 9.855 10469986
534 9.864 10489252
535 9.873005 10508518
536 9.881 10527784
537 9.89 10547049
538 9.899 10566315
539 9.907005 10585580
540 9.916 10604845
541 9.925005 10624110
542 9.933005 10643376
543 9.94202 10662640
544 9.951 10681905
545 9.959 10701170
546 9.968 10720435
547 9.475005 10739699
548 9.484 10758964
549 9.492005 10778228
550 9.500005 10797492
551 9.50802 10816756
552 9.516 10836021
553 9.524005 10855285
554 9.532005 10874548
555 9.54002 10893812
556 9.549 10913076
557 9.55702 10932340
558 9.56502 10951603
559 9.573035 10970867
560 9.569 10990130
561 9.596 11009393
562 9.604 11028656
563 9.612 11047919
564 9.620005 11067182
565 9.628 11086445
566 9.636005 11105708
567 9.644 11124971
568 9.65202 11144234
569 9.66 11163496
570 9.668 11182759
571 9.676005 11202021
572 9.68402 11221284
573 9.692 11240546
574 9.70002 11259808
575 9.70802 11279070
576 9.715035 11298333
577 9.723 11317595
578 9.731005 11336857
579 9.739005 11356118
580 9.74702 11375380
581 9.755 11394642
582 9.76302 11413904
583 9.77102 11433165
584 9.779035 11452427
585 9.786005 11471688
586 9.793995 11490950
587 9.80202 11510211
588 9.810035 11529472
589 9.81802 11548733
590 9.826035 11567994
591 9.834035 11587256
592 9.84105 11606517
593 9.837 11625777
594 9.864 11645038
595 9.871 11664299
596 9.879 11683560
597 9.887005 11702821
598 9.895 11722081
599 9.902005 11741342
600 9.910005 11760602
601 9.91802 11779863
602 9.926 11799123
603 9.933 11818384
604 9.941005 11837644
605 9.948995 11856904
606 9.956005 11876164
607 9.963995 11895424
608 9.44302 11914685
609 9.450035 11933945
610 9.458 11953205
611 9.465005 11972465
612 9.472 11991724
613 9.47902 12010984
614 9.486 12030244
615 9.49402 12049504
616 9.50102 12068763
617 9.50801 12088023
618 9.515005 12107283
619 9.521995 12126542
620 9.53002 12145802
621 9.537035 12165061
622 9.543995 12184320
623 9.551035 12203580
624 9.558035 12222839
625 9.56505 12242098
626 9.56 12261358
627 9.586 12280617
628 9.593 12299876
629 9.600005 12319135
630 9.60702 12338394
631 9.614 12357653
632 9.62102 12376912
633 9.62802 12396171
634 9.63601 12415430
635 9.643005 12434688
636 9.65002 12453947
637 9.656995 12473206
638 9.664035 12492465
639 9.67102 12511723
640 9.67801 12530982
641 9.685035 12550241
642 9.69205 12569499
643 9.699 12588758
644 9.70602 12608016
645 9.71302 12627275
646 9.72001 12646533
647 9.72702 12665791
648 9.734035 12685050
649 9.74101 12704308
650 9.748025 12723566
651 9.75502 12742824
652 9.762035 12762083
653 9.76901 12781341
654 9.77605 12800599
655 9.783035 12819857
656 9.790025 12839115
657 9.797025 12858373
658 9.804065 12877631
659 9.798 12896889
660 9.824 12916147
661 9.831 12935405
662 9.838 12954663
663 9.844005 12973921
664 9.851 12993178
665 9.858 13012436
666 9.865005 13031694
667 9.87202 13050952
668 9.879 13070209
669 9.886 13089467
670 9.893005 13108725
671 9.89902 13127982
672 9.906005 13147240
673 9.912995 13166497
674 9.919995 13185755
675 9.927035 13205012
676 9.934 13224270
677 9.940005 13243527
678 9.388005 13262785
679 9.39402 13282042
680 9.401005 13301299
681 9.40702 13320557
682 9.412995 13339814
683 9.42001 13359071
684 9.426 13378329
685 9.43202 13397586
686 9.43902 13416843
687 9.445035 13436100
688 9.45202 13455357
689 9.458035 13474614
690 9.46401 13493872
691 9.471025 13513129
692 9.465 13532386
693 9.489 13551643
694 9.495005 13570900
695 9.502005 13590157
696 9.50802 13609414
697 9.514005 13628671
698 9.52102 13647928
699 9.52702 13667185
700 9.53301 13686441
701 9.539 13705698
702 9.545995 13724955
703 9.551995 13744212
704 9.558035 13763469
705 9.56402 13782726
706 9.571035 13801982
707 9.577035 13821239
708 9.58305 13840496
709 9.589005 13859752
710 9.59602 13879009
711 9.60202 13898266
712 9.60801 13917522
713 9.613995 13936779
714 9.62001 13956036
715 9.62701 13975292
716 9.633025 13994549
717 9.638995 14013805
718 9.645035 14033062
719 9.651035 14052319
720 9.65805 14071575
721 9.664035 14090832
722 9.67005 14110088
723 9.67605 14129344
724 9.682065 14148601
725 9.676 14167857
726 9.7 14187114
727 9.706005 14206370
728 9.713005 14225626
729 9.71902 14244883
730 9.725005 14264139
731 9.73102 14283395
732 9.73702 14302652
733 9.74301 14321908
734 9.749 14341164
735 9.754995 14360421
736 9.760995 14379677
737 9.76801 14398933
738 9.773995 14418189
739 9.78001 14437445
740 9.78601 14456702
741 9.792025 14475958
742 9.798 14495214
743 9.803995 14514470
744 9.809995 14533726
745 9.81601 14552982
746 9.821995 14572239
747 9.82801 14591495
748 9.83401 14610751
749 9.840025 14630007
750 9.845995 14649263
751 9.85201 14668519
752 9.85801 14687775
753 9.864025 14707031
754 9.87001 14726287
755 9.877025 14745543
756 9.883025 14764799
757 9.88904 14784055
758 9.882 14803311
759 9.906 14822567
760 9.91202 14841823
761 9.91802 14861079
762 9.33003 14880335
763 9.336015 14899590
764 9.34203 14918846
765 9.34702 14938102
766 9.35307 14957358
767 9.35804 14976614
768 9.364055 14995870
769 9.370055 15015126
770 9.37507 15034381
771 9.381055 15053637
772 9.386045 15072893
773 9.392045 15092149
774 9.39706 15111405
775 9.40302 15130660
776 9.408055 15149916
777 9.414055 15169172
778 9.41907 15188428
779 9.425055 15207683
780 9.43007 15226939
781 9.436045 15246195
782 9.44106 15265450
783 9.44703 15284706
784 9.453035 15303962
785 9.45807 15323218
786 9.464085 15342473
787 9.46907 15361729
788 9.474085 15380984
789 9.48006 15400240
790 9.485075 15419496
791 9.47902 15438751
792 9.50202 15458007
793 9.50702 15477263
794 9.51202 15496518
795 9.518025 15515774
796 9.52302 15535029
797 9.52902 15554285
798 9.53402 15573541
799 9.54002 15592796
800 9.54502 15612052
801 9.551025 15631307
802 9.556025 15650563
803 9.56104 15669818
804 9.56702 15689074
805 9.572015 15708329
806 9.57802 15727585
807 9.583055 15746840
808 9.58802 15766096
809 9.594025 15785351
810 9.59902 15804607
811 9.604015 15823862
812 9.61002 15843118
813 9.61504 15862373
814 9.62104 15881629
815 9.626055 15900884
816 9.63102 15920139
817 9.63702 15939395
818 9.64204 15958650
819 9.648055 15977906
820 9.65304 15997161
821 9.65803 16016416
822 9.66403 16035672
823 9.669035 16054927
824 9.66202 16074183
825 9.68502 16093438
826 9.690025 16112693
827 9.695025 16131949
828 9.701015 16151204
829 9.70602 16170459
830 9.71104 16189715
831 9.71704 16208970
832 9.722055 16228225
833 9.72702 16247481
834 9.73302 16266736
835 9.73804 16285991
836 9.743055 16305247
837 9.74804 16324502
838 9.75403 16343757
839 9.75902 16363013
840 9.76407 16382268
841 9.770025 16401523
842 9.775015 16420779
843 9.780015 16440034
844 9.78502 16459289
845 9.79104 16478544
846 9.796055 16497800
847 9.80103 16517055
848 9.806035 16536310
849 9.81204 16555565
850 9.817055 16574821
851 9.822055 16594076
852 9.827045 16613331
853 9.83302 16632586
854 9.83807 16651842
855 9.84307 16671097
856 9.84806 16690352
857 9.84102 16709607
858 9.86402 16728862
859 9.869025 16748118
860 9.874025 16767373
861 9.248 16786628
862 9.252005 16805883
863 9.25702 16825138
864 9.262 16844394
865 9.267035 16863649
866 9.272005 16882904
867 9.275995 16902159
868 9.281 16921414
869 9.286035 16940669
870 9.290995 16959925
871 9.296 16979180
872 9.300035 16998435
873 9.30505 17017690
874 9.31 17036945
875 9.315 17056200
876 9.32002 17075455
877 9.32401 17094711
878 9.329 17113966
879 9.334035 17133221
880 9.33901 17152476
881 9.344015 17171731
882 9.34802 17190986
883 9.353035 17210241
884 9.358 17229496
885 9.36305 17248751
886 9.367035 17268007
887 9.372015 17287262
888 9.37705 17306517
889 9.382065 17325772
890 9.374 17345027
891 9.396 17364282
892 9.4 17383537
893 9.40502 17402792
894 9.41001 17422047
895 9.415 17441302
896 9.419035 17460557
897 9.42401 17479812
898 9.429015 17499067
899 9.43302 17518323
900 9.43801 17537578
901 9.443 17556833
902 9.44805 17576088
903 9.45201 17595343
904 9.457015 17614598
905 9.46205 17633853
906 9.46604 17653108
907 9.471 17672363
908 9.476035 17691618
909 9.48001 17710873
910 9.485015 17730128
911 9.490035 17749383
912 9.494025 17768638
913 9.499015 17787893
914 9.504065 17807148
915 9.508 17826403
916 9.51305 17845658
917 9.51805 17864913
918 9.52203 17884168
919 9.52705 17903423
920 9.532065 17922678
921 9.53603 17941933
922 9.54108 17961188
923 9.533 17980443
924 9.555 17999698
925 9.559 18018953
926 9.564005 18038208
927 9.568995 18057463
928 9.573 18076718
929 9.57802 18095973
930 9.581995 18115228
931 9.587 18134483
932 9.592005 18153738
933 9.596 18172993
934 9.60102 18192248
935 9.605035 18211503
936 9.61 18230758
937 9.615035 18250013
938 9.61901 18269268
939 9.624015 18288523
940 9.628005 18307778
941 9.633 18327033
942 9.63802 18346288
943 9.642035 18365543
944 9.647 18384798
945 9.651035 18404053
946 9.65601 18423308
947 9.661015 18442562
948 9.66502 18461817
949 9.67 18481072
950 9.674035 18500327
951 9.67905 18519582
952 9.683 18538837
953 9.68805 18558092
954 9.692025 18577347
955 9.69703 18596602
956 9.689005 18615857
957 9.710005 18635112
958 9.715 18654367
959 9.72002 18673622
960 9.72401 18692877
961 9.729 18712132
962 9.733035 18731387
963 9.738 18750641
964 9.74205 18769896
965 9.746995 18789151
966 9.751 18808406
967 9.756035 18827661
968 9.760015 18846916
969 9.765035 18866171
970 9.769025 18885426
971 9.774015 18904681
972 9.778065 18923936
973 9.783 18943191
974 9.787035 18962445
975 9.79201 18981700
976 9.796015 19000955
977 9.800035 19020210
978 9.805015 19039465
979 9.80905 19058720
980 9.81404 19077975
981 9.144035 19097230
982 9.148025 19116485
983 9.152015 19135740
984 9.156065 19154994
985 9.160015 19174249
986 9.164065 19193504
987 9.16803 19212759
988 9.17208 19232014
989 9.165 19251269
990 9.185 19270524
991 9.18902 19289779
992 9.193 19309034
993 9.197035 19328288
994 9.20102 19347543
995 9.205 19366798
996 9.209035 19386053
997 9.214015 19405308
998 9.2182 19424563
999 9.222 19443818
1000 9.226035 19463073
1001 9.230015 19482328
1002 9.234035 19501582
1003 9.238015 19520837
1004 9.24205 19540092
1005 9.24603 19559347
1006 9.25002 19578602
1007 9.25401 19597857
1008 9.258 19617112
1009 9.26205 19636366
1010 9.266 19655621
1011 9.27005 19674876
1012 9.274015 19694131
1013 9.278065 19713386
1014 9.283 19732641
1015 9.28705 19751896
1016 9.291015 19771151
1017 9.295065 19790405
1018 9.299015 19809660
1019 9.303065 19828915
1020 9.30703 19848170
1021 9.31108 19867425
1022 9.303 19886680
1023 9.323 19905934
1024 9.327035 19925189
1025 9.331 19944444
1026 9.33505 19963699
1027 9.339 19982954
1028 9.34305 20002209
1029 9.347015 20021464
1030 9.351065 20040718
1031 9.355 20059973
1032 9.35905 20079228
1033 9.363025 20098483
1034 9.36703 20117738
1035 9.37105 20136993
1036 9.37503 20156248
1037 9.379065 20175502
1038 9.383045 20194757
1039 9.387035 20214012
1040 9.391015 20233267
1041 9.39505 20252522
1042 9.39903 20271777
1043 9.40305 20291031
1044 9.40703 20310286
1045 9.411065 20329541
1046 9.415045 20348796
1047 9.41905 20368051
1048 9.42303 20387306
1049 9.426065 20406560
1050 9.430045 20425815
1051 9.434065 20445070
1052 9.438045 20464325
1053 9.44208 20483580
1054 9.44606 20502835
1055 9.438 20522089
1056 9.458 20541344
1057 9.462 20560599
1058 9.466 20579854
1059 9.47 20599109
1060 9.474 20618364
1061 9.478 20637618
1062 9.481995 20656873
1063 9.486 20676128
1064 9.49 20695383
1065 9.493995 20714638
1066 9.498 20733893
1067 9.50101 20753147
1068 9.505 20772402
1069 9.50901 20791657
1070 9.513 20810912
1071 9.517025 20830167
1072 9.521 20849421
1073 9.524995 20868676
1074 9.529 20887931
1075 9.53301 20907186
1076 9.537 20926441
1077 9.54001 20945696
1078 9.544 20964950
1079 9.548025 20984205
1080 9.552 21003460
1081 9.55601 21022715
1082 9.56 21041970
1083 9.564025 21061224
1084 9.568 21080479
1085 9.571025 21099734
1086 9.575015 21118989
1087 9.57904 21138244
1088 9.571 21157499
1089 9.591 21176753
1090 9.595 21196008
1091 9.598995 21215263
1092 9.603 21234518
1093 9.605995 21253773
1094 9.61 21273027
1095 9.61401 21292282
1096 9.618015 21311537
1097 9.621995 21330792
1098 9.626 21350047
1099 9.62901 21369301
1100 9.633015 21388556
1101 9.63701 21407811
1102 9.641015 21427066
1103 9.645025 21446321
1104 9.64903 21465575
1105 9.653 21484830
1106 9.65601 21504085
1107 9.66 21523340
1108 9.664025 21542595
1109 9.668 21561850
1110 9.671025 21581104
1111 9.675015 21600359
1112 9.67904 21619614
1113 9.683 21638869
1114 9.687025 21658124
1115 9.691015 21677378
1116 9.69503 21696633
1117 9.698025 21715888
1118 9.70203 21735143
1119 9.70604 21754398
1120 9.710045 21773652
Newcomer
02.07.2017, 12:03
Задача вполне реальная и связана с управлением ШД. Судя по всему при правильном расчете accelRamp она вполне решаема.
Задачу я сформулировал правильно, только временной интервал не правильно указал.
Правильная постановка задачи такая: необходимо сгенерировать с ускорением и последующим резким замедлением пачку импульсов. Число импульсов в пачке может колебаться от 16 до 1120 шт. Срез последнего импульса пачки импульсов должен быть сгенерирован в промежутке от 15 до 16 мс.
Владимир, дайте, пожалуйста, формулу для расчета accelRamp. Только не надо сложную формулу. Еще интересно знать какая максимальная частота будет достигнута для n = 1120 шт.
Владимир Ситников
02.07.2017, 14:17
Владимир, дайте, пожалуйста, формулу для расчета accelRamp. Только не надо сложную формулу
Слушайте, мне непонятно что значит "простая формула", а что значит "сложная".
Если не нравятся мои -- пробуйте подобрать свою.
Вот исходные данные:
quantity accel_ramp duration_ms
16 106000 15.672
17 113000 15.653
18 121000 15.665
19 129000 15.631
20 136000 15.644
21 144000 15.62
22 151000 15.655
23 158000 15.663
24 166000 15.644
25 173000 15.699
26 182000 15.632
27 189000 15.646
28 197000 15.641
29 205000 15.618
30 211000 15.688
31 220000 15.633
32 226000 15.676
33 236000 15.59104
34 243000 15.608075
35 251000 15.614055
36 259000 15.61005
37 267000 15.594065
38 271000 15.69407
39 280000 15.66008
40 289000 15.617075
41 294000 15.694025
42 304000 15.63308
43 309000 15.69708
44 320000 15.620095
45 325000 15.67107
46 337000 15.579075
47 343000 15.618075
48 349000 15.6521
49 355000 15.680055
50 369000 15.56006
51 376000 15.57825
52 383000 15.591065
53 390000 15.59905
54 398000 15.603055
55 405000 15.603045
56 413000 15.59907
57 422000 15.59002
58 430000 15.577085
59 439000 15.560065
60 439000 15.69808
61 448000 15.674065
62 457000 15.64708
63 467000 15.61507
64 476000 15.580095
65 487000 15.54102
66 487000 15.68402
67 497000 15.639065
68 508000 15.591045
69 519000 15.53806
70 519000 15.655055
71 531000 15.59705
72 543000 15.53604
73 543000 15.648055
74 555000 15.582045
75 555000 15.69105
76 568000 15.61904
77 581000 15.544075
78 581000 15.64904
79 595000 15.569065
80 595000 15.671055
81 609000 15.58606
82 609000 15.685065
83 624000 15.59508
84 624000 15.69206
85 639000 15.598075
86 639000 15.69306
87 655000 15.594085
88 655000 15.686075
89 672000 15.58208
90 672000 15.67305
91 689000 15.565065
92 689000 15.653065
93 706000 15.54007
94 706000 15.626045
95 725000 15.50909
96 725000 15.59409
97 725000 15.677095
98 744000 15.550045
99 744000 15.662045
100 764000 15.53504
101 764000 15.61504
102 764000 15.694035
103 785000 15.56101
104 785000 15.639055
105 806000 15.502035
106 806000 15.57805
107 806000 15.65302
108 829000 15.511025
109 829000 15.585025
110 829000 15.65805
111 853000 15.511025
112 853000 15.58204
113 853000 15.65404
114 877000 15.502055
115 877000 15.571
116 877000 15.640065
117 903000 15.483055
118 903000 15.55107
119 903000 15.619055
120 903000 15.68607
121 929000 15.52206
122 929000 15.588075
123 929000 15.653035
124 957000 15.48506
125 957000 15.54906
126 957000 15.613075
127 957000 15.67605
128 986000 15.502075
129 986000 15.564075
130 986000 15.62608
131 986000 15.678
132 1017000 15.532
133 1017000 15.592005
134 1017000 15.652035
135 1049000 15.46804
136 1049000 15.526025
137 1049000 15.58404
138 1049000 15.64203
139 1049000 15.699045
140 1083000 15.508025
141 1083000 15.56403
142 1083000 15.62103
143 1083000 15.676045
144 1118000 15.48003
145 1118000 15.535035
146 1118000 15.589055
147 1118000 15.64307
148 1118000 15.697025
149 1155000 15.49503
150 1155000 15.54703
151 1155000 15.600045
152 1155000 15.65203
153 1194000 15.445035
154 1194000 15.496805
155 1194000 15.54706
156 1194000 15.59802
157 1194000 15.648045
158 1194000 15.699035
159 1234000 15.48405
160 1234000 15.534035
161 1234000 15.58304
162 1234000 15.63204
163 1234000 15.681055
164 1277000 15.448035
165 1277000 15.531035
166 1277000 15.57804
167 1277000 15.62605
168 1277000 15.673055
169 1322000 15.44604
170 1322000 15.492055
171 1322000 15.538055
172 1322000 15.58406
173 1322000 15.63003
174 1322000 15.675045
175 1370000 15.442045
176 1370000 15.48607
177 1370000 15.531045
178 1370000 15.57507
179 1370000 15.61906
180 1370000 15.663075
181 1420000 15.42303
182 1420000 15.466045
183 1420000 15.509045
184 1420000 15.55206
185 1420000 15.594035
186 1420000 15.63706
187 1420000 15.67905
188 1473000 15.432085
189 1473000 15.474055
190 1473000 15.51505
191 1473000 15.55607
192 1473000 15.597075
193 1473000 15.63807
194 1473000 15.679075
195 1530000 15.425075
196 1530000 15.46409
197 1530000 15.490015
198 1530000 15.565015
199 1530000 15.60503
200 1530000 15.64403
201 1530000 15.683045
202 1589000 15.42202
203 1589000 15.460045
204 1589000 15.498015
205 1589000 15.53703
206 1589000 15.575
207 1589000 15.612025
208 1589000 15.650035
209 1589000 15.68804
210 1652000 15.419025
211 1652000 15.45603
212 1652000 15.49304
213 1652000 15.529045
214 1652000 15.56601
215 1652000 15.602015
216 1652000 15.639015
217 1652000 15.67503
218 1718000 15.399015
219 1718000 15.43403
220 1718000 15.46903
221 1718000 15.505045
222 1718000 15.540015
223 1718000 15.57503
224 1718000 15.61002
225 1718000 15.645045
226 1718000 15.68003
227 1789000 15.396035
228 1789000 15.429035
229 1789000 15.46305
230 1789000 15.482
231 1789000 15.551
232 1789000 15.584035
233 1789000 15.618005
234 1789000 15.65105
235 1789000 15.684005
236 1865000 15.39206
237 1865000 15.42506
238 1865000 15.457075
239 1865000 15.490045
240 1865000 15.52205
241 1865000 15.55406
242 1865000 15.586065
243 1865000 15.61905
244 1865000 15.651075
245 1865000 15.683065
246 1945000 15.38207
247 1945000 15.413025
248 1945000 15.44404
249 1945000 15.47504
250 1945000 15.506055
251 1945000 15.53704
252 1945000 15.568055
253 1945000 15.599055
254 1945000 15.63007
255 1945000 15.66004
256 1945000 15.691055
257 2030000 15.381045
258 2030000 15.41107
259 2030000 15.441045
260 2030000 15.47106
261 2030000 15.50007
262 2030000 15.530075
263 2030000 15.543
264 2030000 15.607
265 2030000 15.635995
266 2030000 15.665995
267 2030000 15.69501
268 2121000 15.376005
269 2121000 15.40501
270 2121000 15.43302
271 2121000 15.462025
272 2121000 15.490005
273 2121000 15.51802
274 2121000 15.54701
275 2121000 15.575035
276 2121000 15.60302
277 2121000 15.631035
278 2121000 15.659035
279 2121000 15.68705
280 2219000 15.360005
281 2219000 15.38702
282 2219000 15.41401
283 2219000 15.441025
284 2219000 15.46802
285 2219000 15.495025
286 2219000 15.522025
287 2219000 15.54905
288 2219000 15.57601
289 2219000 15.603025
290 2219000 15.630025
291 2219000 15.65604
292 2219000 15.683025
293 2323000 15.34604
294 2323000 15.37204
295 2323000 15.398055
296 2323000 15.405995
297 2323000 15.465995
298 2323000 15.49201
299 2323000 15.51801
300 2323000 15.543025
301 2323000 15.56901
302 2323000 15.595025
303 2323000 15.620025
304 2323000 15.64604
305 2323000 15.67101
306 2323000 15.696025
307 2435000 15.349025
308 2435000 15.37404
309 2435000 15.398025
310 2435000 15.42303
311 2435000 15.44804
312 2435000 15.472055
313 2435000 15.497
314 2435000 15.521025
315 2435000 15.546015
316 2435000 15.57004
317 2435000 15.594015
318 2435000 15.61903
319 2435000 15.64304
320 2435000 15.667045
321 2435000 15.691015
322 2556000 15.33403
323 2556000 15.35703
324 2556000 15.381045
325 2556000 15.40403
326 2556000 15.427045
327 2556000 15.451045
328 2556000 15.47408
329 2556000 15.48
330 2556000 15.536
331 2556000 15.56
332 2556000 15.58302
333 2556000 15.606015
334 2556000 15.629
335 2556000 15.652035
336 2556000 15.675015
337 2556000 15.69805
338 2685000 15.329
339 2685000 15.352035
340 2685000 15.374035
341 2685000 15.39605
342 2685000 15.418035
343 2685000 15.44105
344 2685000 15.46303
345 2685000 15.485065
346 2685000 15.50702
347 2685000 15.529035
348 2685000 15.551035
349 2685000 15.57304
350 2685000 15.595035
351 2685000 15.61705
352 2685000 15.63905
353 2685000 15.661065
354 2685000 15.683035
355 2824000 15.30304
356 2824000 15.32405
357 2824000 15.345065
358 2824000 15.36604
359 2824000 15.387055
360 2824000 15.409065
361 2824000 15.43007
362 2824000 15.43202
363 2824000 15.48602
364 2824000 15.507025
365 2824000 15.528025
366 2824000 15.54905
367 2824000 15.570025
368 2824000 15.59104
369 2824000 15.61104
370 2824000 15.632065
371 2824000 15.653025
372 2824000 15.67404
373 2824000 15.69404
374 2975000 15.302055
375 2975000 15.32204
376 2975000 15.342055
377 2975000 15.362055
378 2975000 15.38207
379 2975000 15.402025
380 2975000 15.42204
381 2975000 15.44204
382 2975000 15.462055
383 2975000 15.48204
384 2975000 15.502055
385 2975000 15.521055
386 2975000 15.54107
387 2975000 15.56104
388 2975000 15.581055
389 2975000 15.600055
390 2975000 15.62007
391 2975000 15.640055
392 2975000 15.65907
393 2975000 15.67907
394 2975000 15.698085
395 2975000 15.698995
396 3138000 15.326995
397 3138000 15.34501
398 3138000 15.36401
399 3138000 15.383025
400 3138000 15.40201
401 3138000 15.421025
402 3138000 15.440025
403 3138000 15.45804
404 3138000 15.47701
405 3138000 15.496785
406 3138000 15.515025
407 3138000 15.53304
408 3138000 15.552025
409 3138000 15.57102
410 3138000 15.58902
411 3138000 15.608035
412 3138000 15.626
413 3138000 15.645005
414 3138000 15.663005
415 3138000 15.68201
416 3315000 15.265025
417 3315000 15.28301
418 3315000 15.30104
419 3315000 15.318055
420 3315000 15.336025
421 3315000 15.35401
422 3315000 15.37204
423 3315000 15.390055
424 3315000 15.40801
425 3315000 15.425055
426 3315000 15.443055
427 3315000 15.46104
428 3315000 15.46001
429 3315000 15.50901
430 3315000 15.526995
431 3315000 15.544025
432 3315000 15.56203
433 3315000 15.579025
434 3315000 15.59703
435 3315000 15.61404
436 3315000 15.632045
437 3315000 15.649025
438 3315000 15.66701
439 3315000 15.68404
440 3507000 15.253045
441 3507000 15.27004
442 3507000 15.287025
443 3507000 15.304025
444 3507000 15.32106
445 3507000 15.337025
446 3507000 15.35401
447 3507000 15.37101
448 3507000 15.388025
449 3507000 15.40403
450 3507000 15.421045
451 3507000 15.438055
452 3507000 15.45404
453 3507000 15.47101
454 3507000 15.488025
455 3507000 15.504025
456 3507000 15.52104
457 3507000 15.537025
458 3507000 15.55404
459 3507000 15.57104
460 3507000 15.587055
461 3507000 15.584
462 3507000 15.632
463 3507000 15.648995
464 3507000 15.664995
465 3507000 15.68201
466 3507000 15.697995
467 3716000 15.25203
468 3716000 15.26801
469 3716000 15.284025
470 3716000 15.300005
471 3716000 15.31603
472 3716000 15.33101
473 3716000 15.347025
474 3716000 15.36302
475 3716000 15.379045
476 3716000 15.394025
477 3716000 15.41005
478 3716000 15.426015
479 3716000 15.44101
480 3716000 15.45702
481 3716000 15.473045
482 3716000 15.48801
483 3716000 15.504035
484 3716000 15.519045
485 3716000 15.53505
486 3716000 15.55003
487 3716000 15.566025
488 3716000 15.581035
489 3716000 15.59704
490 3716000 15.612035
491 3716000 15.62804
492 3716000 15.64305
493 3716000 15.659075
494 3716000 15.655005
495 3944000 15.225005
496 3944000 15.24003
497 3944000 15.25503
498 3944000 15.270055
499 3944000 15.28403
500 3944000 15.299035
501 3944000 15.314045
502 3944000 15.32906
503 3944000 15.34403
504 3944000 15.358055
505 3944000 15.373045
506 3944000 15.38806
507 3944000 15.402035
508 3944000 15.41706
509 3944000 15.43206
510 3944000 15.447075
511 3944000 15.46102
512 3944000 15.476045
513 3944000 15.490045
514 3944000 15.50506
515 3944000 15.520045
516 3944000 15.53406
517 3944000 15.54907
518 3944000 15.563075
519 3944000 15.578045
520 3944000 15.59206
521 3944000 15.60706
522 3944000 15.621075
523 3944000 15.63606
524 3944000 15.650085
525 3944000 15.665075
526 3944000 15.67909
527 3944000 15.67401
528 4195000 15.227
529 4195000 15.241
530 4195000 15.255
531 4195000 15.269
532 4195000 15.283
533 4195000 15.296
534 4195000 15.31
535 4195000 15.324015
536 4195000 15.338
537 4195000 15.352
538 4195000 15.366
539 4195000 15.379015
540 4195000 15.393
541 4195000 15.407015
542 4195000 15.420015
543 4195000 15.43403
544 4195000 15.448
545 4195000 15.462
546 4195000 15.475
547 4195000 15.489015
548 4195000 15.503
549 4195000 15.516015
550 4195000 15.530015
551 4195000 15.54402
552 4195000 15.557
553 4195000 15.571015
554 4195000 15.584015
555 4195000 15.59802
556 4195000 15.611015
557 4195000 15.62503
558 4195000 15.63803
559 4195000 15.652035
560 4195000 15.646
561 4195000 15.69
562 4470000 15.195
563 4470000 15.208
564 4470000 15.221015
565 4470000 15.234
566 4470000 15.247015
567 4470000 15.260005
568 4470000 15.27303
569 4470000 15.286
570 4470000 15.298015
571 4470000 15.311015
572 4470000 15.32402
573 4470000 15.337015
574 4470000 15.35002
575 4470000 15.36303
576 4470000 15.376035
577 4470000 15.388
578 4470000 15.401005
579 4470000 15.414015
580 4470000 15.42702
581 4470000 15.440015
582 4470000 15.45202
583 4470000 15.46503
584 4470000 15.478035
585 4470000 15.491015
586 4470000 15.50302
587 4470000 15.51603
588 4470000 15.529035
589 4470000 15.54103
590 4470000 15.554035
591 4470000 15.567045
592 4470000 15.57905
593 4470000 15.573
594 4470000 15.615
595 4470000 15.628
596 4470000 15.64
597 4470000 15.653015
598 4470000 15.665
599 4470000 15.678005
600 4470000 15.690015
601 4773000 15.17703
602 4773000 15.189
603 4773000 15.201005
604 4773000 15.213005
605 4773000 15.22503
606 4773000 15.237005
607 4773000 15.24902
608 4773000 15.26102
609 4773000 15.273045
610 4773000 15.285
611 4773000 15.297005
612 4773000 15.309005
613 4773000 15.32103
614 4773000 15.333005
615 4773000 15.34502
616 4773000 15.35702
617 4773000 15.369045
618 4773000 15.381005
619 4773000 15.39302
620 4773000 15.40502
621 4773000 15.417035
622 4773000 15.42902
623 4773000 15.441045
624 4773000 15.452035
625 4773000 15.46405
626 4773000 15.457
627 4773000 15.498
628 4773000 15.510005
629 4773000 15.521005
630 4773000 15.53303
631 4773000 15.545005
632 4773000 15.55702
633 4773000 15.56902
634 4773000 15.580035
635 4773000 15.592005
636 4773000 15.60402
637 4773000 15.61602
638 4773000 15.627045
639 4773000 15.63902
640 4773000 15.651035
641 4773000 15.662035
642 4773000 15.67405
643 4773000 15.686005
644 4773000 15.69702
645 5107000 15.16402
646 5107000 15.175035
647 5107000 15.18702
648 5107000 15.198035
649 5107000 15.209035
650 5107000 15.22005
651 5107000 15.23102
652 5107000 15.242035
653 5107000 15.254035
654 5107000 15.26505
655 5107000 15.276035
656 5107000 15.28705
657 5107000 15.29805
658 5107000 15.309065
659 5107000 15.301
660 5107000 15.341
661 5107000 15.352
662 5107000 15.363
663 5107000 15.374005
664 5107000 15.385
665 5107000 15.396005
666 5107000 15.407005
667 5107000 15.41802
668 5107000 15.429
669 5107000 15.440005
670 5107000 15.451005
671 5107000 15.46202
672 5107000 15.473005
673 5107000 15.48402
674 5107000 15.49502
675 5107000 15.506035
676 5107000 15.517
677 5107000 15.528005
678 5107000 15.539005
679 5107000 15.55002
680 5107000 15.561005
681 5107000 15.57202
682 5107000 15.58202
683 5107000 15.593035
684 5107000 15.604005
685 5107000 15.61502
686 5107000 15.62602
687 5107000 15.637035
688 5107000 15.64802
689 5107000 15.658035
690 5107000 15.669035
691 5107000 15.68005
692 5107000 15.671
693 5479000 15.145
694 5479000 15.156005
695 5479000 15.166005
696 5479000 15.17602
697 5479000 15.187005
698 5479000 15.19702
699 5479000 15.20702
700 5479000 15.218035
701 5479000 15.228005
702 5479000 15.23802
703 5479000 15.24902
704 5479000 15.259035
705 5479000 15.26902
706 5479000 15.279035
707 5479000 15.290035
708 5479000 15.30005
709 5479000 15.310005
710 5479000 15.32002
711 5479000 15.33102
712 5479000 15.341035
713 5479000 15.35102
714 5479000 15.362035
715 5479000 15.372035
716 5479000 15.38205
717 5479000 15.39202
718 5479000 15.402035
719 5479000 15.413035
720 5479000 15.42305
721 5479000 15.433035
722 5479000 15.44305
723 5479000 15.45305
724 5479000 15.463065
725 5479000 15.454
726 5479000 15.492
727 5479000 15.502005
728 5479000 15.513005
729 5479000 15.52302
730 5479000 15.533005
731 5479000 15.54302
732 5479000 15.55302
733 5479000 15.563035
734 5479000 15.573005
735 5479000 15.58302
736 5479000 15.59302
737 5479000 15.603035
738 5479000 15.61302
739 5479000 15.623035
740 5479000 15.633035
741 5479000 15.64305
742 5479000 15.653005
743 5479000 15.66302
744 5479000 15.67302
745 5479000 15.683035
746 5479000 15.69302
747 5892000 15.116035
748 5892000 15.125035
749 5892000 15.13505
750 5892000 15.14402
751 5892000 15.154035
752 5892000 15.163035
753 5892000 15.17305
754 5892000 15.183035
755 5892000 15.19205
756 5892000 15.20205
757 5892000 15.211065
758 5892000 15.202005
759 5892000 15.238005
760 5892000 15.24802
761 5892000 15.25702
762 5892000 15.267035
763 5892000 15.27602
764 5892000 15.286035
765 5892000 15.295035
766 5892000 15.30505
767 5892000 15.31402
768 5892000 15.323035
769 5892000 15.333035
770 5892000 15.34205
771 5892000 15.352035
772 5892000 15.36105
773 5892000 15.37005
774 5892000 15.380065
775 5892000 15.38902
776 5892000 15.399035
777 5892000 15.408035
778 5892000 15.41705
779 5892000 15.427035
780 5892000 15.43605
781 5892000 15.44505
782 5892000 15.455065
783 5892000 15.464035
784 5892000 15.47305
785 5892000 15.48305
786 5892000 15.492065
787 5892000 15.50105
788 5892000 15.511065
789 5892000 15.520065
790 5892000 15.52908
791 5892000 15.519
792 5892000 15.556
793 5892000 15.565
794 5892000 15.574
795 5892000 15.584005
796 5892000 15.593
797 5892000 15.602005
798 5892000 15.611005
799 5892000 15.62102
800 5892000 15.63
801 5892000 15.639005
802 5892000 15.648005
803 5892000 15.65702
804 5892000 15.667005
805 5892000 15.67602
806 5892000 15.68502
807 5892000 15.694035
808 6354000 15.092
809 6354000 15.100005
810 6354000 15.109005
811 6354000 15.11802
812 6354000 15.127005
813 6354000 15.13602
814 6354000 15.14402
815 6354000 15.153035
816 6354000 15.162005
817 6354000 15.17102
818 6354000 15.17902
819 6354000 15.188035
820 6354000 15.19702
821 6354000 15.205035
822 6354000 15.214035
823 6354000 15.22305
824 6354000 15.213
825 6354000 15.248
826 6354000 15.257005
827 6354000 15.265005
828 6354000 15.27402
829 6354000 15.283005
830 6354000 15.290995
831 6354000 15.30002
832 6354000 15.309035
833 6354000 15.317005
834 6354000 15.32602
835 6354000 15.33502
836 6354000 15.343035
837 6354000 15.35202
838 6354000 15.360035
839 6354000 15.36901
840 6354000 15.37805
841 6354000 15.386005
842 6354000 15.39502
843 6354000 15.40302
844 6354000 15.41201
845 6354000 15.42002
846 6354000 15.429035
847 6354000 15.438035
848 6354000 15.44605
849 6354000 15.45502
850 6354000 15.463035
851 6354000 15.472035
852 6354000 15.48005
853 6354000 15.489035
854 6354000 15.49705
855 6354000 15.50605
856 6354000 15.514065
857 6354000 15.504
858 6354000 15.539
859 6354000 15.548005
860 6354000 15.556005
861 6354000 15.56402
862 6354000 15.573005
863 6354000 15.58102
864 6354000 15.59002
865 6354000 15.598035
866 6354000 15.607005
867 6354000 15.61502
868 6354000 15.623995
869 6354000 15.632035
870 6354000 15.64102
871 6354000 15.649035
872 6354000 15.658035
873 6354000 15.66605
874 6354000 15.674005
875 6354000 15.682995
876 6354000 15.69102
877 6354000 15.699035
878 6872000 15.07002
879 6872000 15.078035
880 6872000 15.086035
881 6872000 15.09405
882 6872000 15.10202
883 6872000 15.110035
884 6872000 15.118035
885 6872000 15.12605
886 6872000 15.13401
887 6872000 15.142025
888 6872000 15.15005
889 6872000 15.158065
890 6872000 15.147005
891 6872000 15.181005
892 6872000 15.18902
893 6872000 15.19702
894 6872000 15.205035
895 6872000 15.21302
896 6872000 15.221035
897 6872000 15.229035
898 6872000 15.23705
899 6872000 15.24502
900 6872000 15.253035
901 6872000 15.260035
902 6872000 15.26805
903 6872000 15.276035
904 6872000 15.28405
905 6872000 15.29205
906 6872000 15.30004
907 6872000 15.307995
908 6872000 15.31601
909 6872000 15.32301
910 6872000 15.33105
911 6872000 15.339035
912 6872000 15.34705
913 6872000 15.35505
914 6872000 15.363065
915 6872000 15.371035
916 6872000 15.37805
917 6872000 15.38605
918 6872000 15.394065
919 6872000 15.40205
920 6872000 15.410065
921 6872000 15.418065
922 6872000 15.42508
923 6872000 15.414
924 6872000 15.448
925 6872000 15.456005
926 6872000 15.464005
927 6872000 15.47202
928 6872000 15.479005
929 6872000 15.48702
930 6872000 15.49502
931 6872000 15.503035
932 6872000 15.510005
933 6872000 15.51802
934 6872000 15.52602
935 6872000 15.534035
936 6872000 15.54102
937 6872000 15.549035
938 6872000 15.557035
939 6872000 15.56505
940 6872000 15.572005
941 6872000 15.58002
942 6872000 15.58802
943 6872000 15.595035
944 6872000 15.60302
945 6872000 15.611035
946 6872000 15.61801
947 6872000 15.626025
948 6872000 15.633995
949 6872000 15.64101
950 6872000 15.649
951 6872000 15.65705
952 6872000 15.665035
953 6872000 15.67205
954 6872000 15.68005
955 6872000 15.688065
956 6872000 15.676005
957 7457000 15.043015
958 7457000 15.05103
959 7457000 15.05803
960 7457000 15.065045
961 7457000 15.07203
962 7457000 15.080045
963 7457000 15.08702
964 7457000 15.094025
965 7457000 15.10203
966 7457000 15.109045
967 7457000 15.116045
968 7457000 15.12306
969 7457000 15.131045
970 7457000 15.13806
971 7457000 15.14506
972 7457000 15.152075
973 7457000 15.159005
974 7457000 15.16701
975 7457000 15.174045
976 7457000 15.18106
977 7457000 15.188045
978 7457000 15.19606
979 7457000 15.20306
980 7457000 15.210075
981 7457000 15.217045
982 7457000 15.225025
983 7457000 15.23206
984 7457000 15.239075
985 7457000 15.24606
986 7457000 15.253075
987 7457000 15.260075
988 7457000 15.26709
989 7457000 15.256015
990 7457000 15.288015
991 7457000 15.29601
992 7457000 15.30303
993 7457000 15.310045
994 7457000 15.31703
995 7457000 15.324045
996 7457000 15.331045
997 7457000 15.33806
998 7457000 15.346005
999 7457000 15.35301
1000 7457000 15.360045
1001 7457000 15.36724
1002 7457000 15.374045
1003 7457000 15.38106
1004 7457000 15.38806
1005 7457000 15.39505
1006 7457000 15.40301
1007 7457000 15.410045
1008 7457000 15.417045
1009 7457000 15.42406
1010 7457000 15.431045
1011 7457000 15.43806
1012 7457000 15.445025
1013 7457000 15.452075
1014 7457000 15.459045
1015 7457000 15.46606
1016 7457000 15.47306
1017 7457000 15.480075
1018 7457000 15.487025
1019 7457000 15.494075
1020 7457000 15.501075
1021 7457000 15.50809
1022 7457000 15.49703
1023 7457000 15.52903
1024 7457000 15.536045
1025 7457000 15.54301
1026 7457000 15.55006
1027 7457000 15.557045
1028 7457000 15.56406
1029 7457000 15.57106
1030 7457000 15.578075
1031 7457000 15.58501
1032 7457000 15.59206
1033 7457000 15.59906
1034 7457000 15.606075
1035 7457000 15.61306
1036 7457000 15.62004
1037 7457000 15.627075
1038 7457000 15.63409
1039 7457000 15.641045
1040 7457000 15.64806
1041 7457000 15.655025
1042 7457000 15.662075
1043 7457000 15.66906
1044 7457000 15.676075
1045 7457000 15.683075
1046 7457000 15.68909
1047 7457000 15.697025
1048 8120000 15.005065
1049 8120000 15.012065
1050 8120000 15.019045
1051 8120000 15.025065
1052 8120000 15.03208
1053 8120000 15.03808
1054 8120000 15.04506
1055 8120000 15.034
1056 8120000 15.064
1057 8120000 15.071
1058 8120000 15.077
1059 8120000 15.084
1060 8120000 15.091
1061 8120000 15.096995
1062 8120000 15.103995
1063 8120000 15.11
1064 8120000 15.117
1065 8120000 15.122995
1066 8120000 15.129995
1067 8120000 15.136
1068 8120000 15.142995
1069 8120000 15.14901
1070 8120000 15.15601
1071 8120000 15.163015
1072 8120000 15.169
1073 8120000 15.174995
1074 8120000 15.181995
1075 8120000 15.189
1076 8120000 15.194995
1077 8120000 15.20101
1078 8120000 15.20801
1079 8120000 15.215015
1080 8120000 15.220995
1081 8120000 15.22701
1082 8120000 15.234
1083 8120000 15.240025
1084 8120000 15.24701
1085 8120000 15.253025
1086 8120000 15.260015
1087 8120000 15.26604
1088 8120000 15.254
1089 8120000 15.285
1090 8120000 15.291995
1091 8120000 15.298
1092 8120000 15.30501
1093 8120000 15.310995
1094 8120000 15.318
1095 8120000 15.32401
1096 8120000 15.330025
1097 8120000 15.336995
1098 8120000 15.343
1099 8120000 15.35001
1100 8120000 15.356025
1101 8120000 15.363
1102 8120000 15.369025
1103 8120000 15.375025
1104 8120000 15.38204
1105 8120000 15.388
1106 8120000 15.39501
1107 8120000 15.40101
1108 8120000 15.407015
1109 8120000 15.41401
1110 8120000 15.420025
1111 8120000 15.427015
1112 8120000 15.43304
1113 8120000 15.43901
1114 8120000 15.445025
1115 8120000 15.452015
1116 8120000 15.45804
1117 8120000 15.465025
1118 8120000 15.47103
1119 8120000 15.47704
1120 8120000 15.484055
Вот вариант:
accel_ramp = 51492.89 + 7560.61*q - 65000*Math.exp(-(q-16)/100.0);
decel_ramp = accel_ramp*32
31920
qty duration_ms accel
16 15.516 107462
17 15.492 115670
18 15.499 123870
19 15.46 132065
20 15.38 140253
21 15.439 148435
22 15.377 156611
23 15.378 164781
24 15.352 172944
25 15.301 181102
26 15.327 189254
27 15.335 197400
28 15.323 205540
29 15.294 213674
30 15.358 221802
31 15.297 229925
32 15.334 238043
33 15.35904 246154
34 15.255055 254261
35 15.256065 262361
36 15.36707 270457
37 15.348055 278547
38 15.31907 286632
39 15.28007 294711
40 15.360075 302786
41 15.304065 310855
42 15.37007 318920
43 15.29706 326979
44 15.350085 335033
45 15.26108 343083
46 15.302085 351127
47 15.338105 359167
48 15.36911 367202
49 15.251055 375232
50 15.27107 383258
51 15.28503 391279
52 15.296055 399295
53 15.30103 407307
54 15.302065 415314
55 15.299045 423317
56 15.29205 431316
57 15.28008 439310
58 15.264075 447300
59 15.402085 455285
60 15.37909 463267
61 15.353085 471244
62 15.32309 479217
63 15.28806 487186
64 15.415095 495151
65 15.37501 503111
66 15.34901 511068
67 15.301045 519021
68 15.420055 526970
69 15.36705 534915
70 15.310035 542856
71 15.42306 550794
72 15.36104 558728
73 15.472085 566658
74 15.404035 574584
75 15.33305 582507
76 15.43904 590426
77 15.362065 598342
78 15.46605 606254
79 15.384065 614162
80 15.485055 622067
81 15.39912 629969
82 15.497065 637867
83 15.40606 645762
84 15.50207 653654
85 15.407065 661542
86 15.50005 669427
87 15.400075 677309
88 15.491075 685187
89 15.38608 693063
90 15.47606 700935
91 15.366055 708804
92 15.453055 716670
93 15.34006 724533
94 15.425075 732393
95 15.50909 740250
96 15.39008 748105
97 15.472095 755956
98 15.344035 763804
99 15.455035 771650
100 15.53504 779492
101 15.40502 787332
102 15.483035 795169
103 15.56101 803003
104 15.426045 810835
105 15.502035 818664
106 15.57805 826490
107 15.43702 834314
108 15.511025 842135
109 15.585025 849953
110 15.43905 857769
111 15.511025 865582
112 15.58204 873393
113 15.43204 881201
114 15.502055 889007
115 15.571 896810
116 15.415055 904611
117 15.483055 912410
118 15.55107 920206
119 15.619055 928000
120 15.45706 935791
121 15.52206 943580
122 15.588075 951367
123 15.421055 959152
124 15.48506 966934
125 15.54906 974715
126 15.613075 982493
127 15.44006 990269
128 15.502075 998042
129 15.564075 1005814
130 15.62608 1013583
131 15.439 1021351
132 15.532 1029116
133 15.592005 1036880
134 15.652035 1044641
135 15.46804 1052400
136 15.526025 1060158
137 15.58404 1067913
138 15.64203 1075667
139 15.452045 1083418
140 15.508025 1091168
141 15.56403 1098916
142 15.62103 1106661
143 15.676045 1114406
144 15.48003 1122148
145 15.535035 1129888
146 15.589055 1137627
147 15.64307 1145364
148 15.697025 1153099
149 15.49503 1160832
150 15.54703 1168564
151 15.600045 1176294
152 15.65203 1184022
153 15.705035 1191749
154 15.496805 1199474
155 15.54706 1207197
156 15.59802 1214919
157 15.648045 1222639
158 15.699035 1230357
159 15.48405 1238074
160 15.534035 1245790
161 15.58304 1253504
162 15.63204 1261216
163 15.681055 1268927
164 15.718035 1276636
165 15.531035 1284344
166 15.57804 1292050
167 15.62605 1299755
168 15.673055 1307459
169 15.72004 1315161
170 15.492055 1322861
171 15.538055 1330561
172 15.58406 1338258
173 15.63003 1345955
174 15.675045 1353650
175 15.721045 1361344
176 15.76606 1369036
177 15.531045 1376728
178 15.57507 1384418
179 15.61906 1392106
180 15.663075 1399793
181 15.70703 1407480
182 15.751045 1415164
183 15.509045 1422848
184 15.55206 1430530
185 15.594035 1438211
186 15.63706 1445891
187 15.67905 1453570
188 15.721065 1461248
189 15.764035 1468924
190 15.51505 1476599
191 15.55607 1484274
192 15.597075 1491947
193 15.63807 1499618
194 15.679075 1507289
195 15.719085 1514959
196 15.76009 1522628
197 15.490015 1530295
198 15.565015 1537961
199 15.60503 1545627
200 15.64403 1553291
201 15.683045 1560955
202 15.72203 1568617
203 15.761015 1576278
204 15.800045 1583938
205 15.53703 1591598
206 15.575 1599256
207 15.612025 1606913
208 15.650035 1614570
209 15.68804 1622225
210 15.726035 1629880
211 15.76304 1637533
212 15.80104 1645186
213 15.529045 1652838
214 15.56601 1660488
215 15.602015 1668138
216 15.639015 1675787
217 15.67503 1683435
218 15.711015 1691083
219 15.74703 1698729
220 15.78303 1706375
221 15.819045 1714019
222 15.540015 1721663
223 15.57503 1729306
224 15.61002 1736949
225 15.645045 1744590
226 15.68003 1752231
227 15.714035 1759870
228 15.749035 1767509
229 15.78405 1775148
230 15.802 1782785
231 15.551 1790422
232 15.584035 1798058
233 15.618005 1805693
234 15.65105 1813327
235 15.684005 1820961
236 15.71805 1828594
237 15.75105 1836226
238 15.784065 1843858
239 15.817035 1851489
240 15.85005 1859119
241 15.55406 1866748
242 15.586065 1874377
243 15.61905 1882005
244 15.651075 1889633
245 15.683065 1897260
246 15.71408 1904886
247 15.746035 1912511
248 15.77805 1920136
249 15.81005 1927760
250 15.842065 1935384
251 15.87305 1943007
252 15.568055 1950629
253 15.599055 1958250
254 15.63007 1965872
255 15.66004 1973492
256 15.691055 1981112
257 15.721055 1988731
258 15.75206 1996350
259 15.782055 2003968
260 15.81307 2011586
261 15.84306 2019203
262 15.873085 2026819
263 15.543 2034435
264 15.607 2042050
265 15.635995 2049665
266 15.665995 2057279
267 15.69501 2064893
268 15.723995 2072506
269 15.75302 2080119
270 15.78201 2087731
271 15.811025 2095342
272 15.840005 2102954
273 15.86901 2110564
274 15.89802 2118174
275 15.575035 2125784
276 15.60302 2133393
277 15.631035 2141002
278 15.659035 2148610
279 15.68705 2156217
280 15.714995 2163825
281 15.74302 2171431
282 15.77102 2179038
283 15.798025 2186644
284 15.82602 2194249
285 15.854035 2201854
286 15.881025 2209458
287 15.90905 2217063
288 15.57601 2224666
289 15.603025 2232269
290 15.630025 2239872
291 15.65604 2247475
292 15.683025 2255077
293 15.71004 2262678
294 15.73604 2270279
295 15.763055 2277880
296 15.771995 2285480
297 15.832995 2293080
298 15.85901 2300680
299 15.88601 2308279
300 15.912025 2315878
301 15.56901 2323476
302 15.595025 2331074
303 15.620025 2338672
304 15.64604 2346269
305 15.67101 2353866
306 15.696025 2361463
307 15.722025 2369059
308 15.74704 2376655
309 15.772025 2384250
310 15.79804 2391845
311 15.82304 2399440
312 15.848055 2407034
313 15.873 2414629
314 15.898025 2422222
315 15.923025 2429816
316 15.57004 2437409
317 15.594015 2445002
318 15.61903 2452594
319 15.64304 2460186
320 15.667045 2467778
321 15.691015 2475370
322 15.71503 2482961
323 15.74003 2490552
324 15.764055 2498143
325 15.78803 2505733
326 15.812045 2513323
327 15.836045 2520913
328 15.86006 2528502
329 15.865005 2536091
330 15.923005 2543680
331 15.947 2551269
332 15.58302 2558857
333 15.606015 2566445
334 15.629 2574033
335 15.652035 2581621
336 15.675015 2589208
337 15.69805 2596795
338 15.721 2604381
339 15.744035 2611968
340 15.767035 2619554
341 15.79003 2627140
342 15.812035 2634726
343 15.83505 2642311
344 15.85803 2649896
345 15.881065 2657481
346 15.90302 2665066
347 15.926035 2672651
348 15.949035 2680235
349 15.57304 2687819
350 15.595035 2695402
351 15.61705 2702986
352 15.63905 2710569
353 15.661065 2718152
354 15.683035 2725735
355 15.70404 2733318
356 15.72605 2740900
357 15.748065 2748482
358 15.77004 2756064
359 15.791065 2763646
360 15.813065 2771228
361 15.83507 2778809
362 15.83702 2786390
363 15.89302 2793971
364 15.914025 2801552
365 15.936035 2809132
366 15.95704 2816713
367 15.570025 2824293
368 15.59104 2831873
369 15.61104 2839453
370 15.632065 2847032
371 15.653025 2854612
372 15.67404 2862191
373 15.69404 2869770
374 15.715055 2877349
375 15.73604 2884927
376 15.756055 2892506
377 15.777055 2900084
378 15.79707 2907662
379 15.818025 2915240
380 15.83804 2922818
381 15.85904 2930395
382 15.879055 2937973
383 15.89904 2945550
384 15.920055 2953127
385 15.940055 2960704
386 15.96007 2968281
387 15.56104 2975857
388 15.581055 2983434
389 15.600055 2991010
390 15.62007 2998586
391 15.640055 3006162
392 15.65907 3013738
393 15.67907 3021314
394 15.698085 3028889
395 15.698995 3036465
396 15.750995 3044040
397 15.77101 3051615
398 15.79001 3059190
399 15.810025 3066765
400 15.82901 3074339
401 15.849025 3081914
402 15.868025 3089488
403 15.88704 3097062
404 15.90601 3104637
405 15.926025 3112210
406 15.945025 3119784
407 15.96404 3127358
408 15.983025 3134932
409 15.57102 3142505
410 15.58902 3150078
411 15.608035 3157652
412 15.626 3165225
413 15.645005 3172798
414 15.663005 3180370
415 15.68201 3187943
416 15.700025 3195516
417 15.71904 3203088
418 15.73704 3210660
419 15.756055 3218233
420 15.774025 3225805
421 15.79204 3233377
422 15.81101 3240949
423 15.829055 3248520
424 15.84704 3256092
425 15.866055 3263664
426 15.884055 3271235
427 15.90204 3278806
428 15.90101 3286378
429 15.95201 3293949
430 15.970025 3301520
431 15.987995 3309091
432 15.56203 3316661
433 15.579025 3324232
434 15.59703 3331803
435 15.61404 3339373
436 15.632045 3346944
437 15.649025 3354514
438 15.66701 3362084
439 15.68404 3369654
440 15.702025 3377224
441 15.71903 3384794
442 15.736055 3392364
443 15.754025 3399934
444 15.77107 3407503
445 15.787995 3415073
446 15.80601 3422642
447 15.82303 3430212
448 15.840055 3437781
449 15.85701 3445350
450 15.875045 3452920
451 15.892045 3460489
452 15.90907 3468058
453 15.92601 3475626
454 15.943025 3483195
455 15.960045 3490764
456 15.97706 3498333
457 15.994055 3505901
458 15.55404 3513470
459 15.57104 3521038
460 15.587055 3528606
461 15.584 3536174
462 15.632 3543743
463 15.648995 3551311
464 15.664995 3558879
465 15.68201 3566447
466 15.697995 3574015
467 15.71401 3581582
468 15.73101 3589150
469 15.747025 3596718
470 15.763005 3604285
471 15.78003 3611853
472 15.79603 3619420
473 15.812025 3626988
474 15.82801 3634555
475 15.845025 3642122
476 15.861035 3649689
477 15.87706 3657256
478 15.893015 3664824
479 15.90901 3672391
480 15.92602 3679957
481 15.942045 3687524
482 15.95803 3695091
483 15.974025 3702658
484 15.990035 3710224
485 15.53505 3717791
486 15.55003 3725358
487 15.566025 3732924
488 15.581035 3740491
489 15.59704 3748057
490 15.612035 3755623
491 15.62804 3763190
492 15.64305 3770756
493 15.659075 3778322
494 15.655005 3785888
495 15.701005 3793454
496 15.71701 3801020
497 15.73202 3808586
498 15.747025 3816152
499 15.76302 3823718
500 15.778025 3831283
501 15.793035 3838849
502 15.80905 3846415
503 15.82403 3853980
504 15.839035 3861546
505 15.854025 3869112
506 15.86905 3876677
507 15.885035 3884242
508 15.90004 3891808
509 15.91505 3899373
510 15.930065 3906938
511 15.94503 3914504
512 15.960035 3922069
513 15.975035 3929634
514 15.99004 3937199
515 15.520045 3944764
516 15.53406 3952329
517 15.54907 3959894
518 15.563075 3967459
519 15.578045 3975024
520 15.59206 3982589
521 15.60706 3990154
522 15.621075 3997718
523 15.63606 4005283
524 15.650085 4012848
525 15.665075 4020412
526 15.67909 4027977
527 15.67401 4035542
528 15.71901 4043106
529 15.73401 4050671
530 15.74801 4058235
531 15.76201 4065799
532 15.77701 4073364
533 15.79101 4080928
534 15.80501 4088492
535 15.820025 4096057
536 15.83401 4103621
537 15.84801 4111185
538 15.86201 4118749
539 15.877025 4126313
540 15.89101 4133877
541 15.905025 4141441
542 15.919025 4149005
543 15.93304 4156569
544 15.94801 4164133
545 15.96201 4171697
546 15.97601 4179261
547 15.990025 4186825
548 15.503 4194389
549 15.516015 4201952
550 15.530015 4209516
551 15.54402 4217080
552 15.557 4224644
553 15.571015 4232207
554 15.584015 4239771
555 15.59802 4247334
556 15.611015 4254898
557 15.62503 4262462
558 15.63803 4270025
559 15.652035 4277588
560 15.646 4285152
561 15.69 4292715
562 15.703 4300279
563 15.717 4307842
564 15.730005 4315405
565 15.743 4322969
566 15.757015 4330532
567 15.770005 4338095
568 15.78403 4345658
569 15.797 4353222
570 15.810005 4360785
571 15.824015 4368348
572 15.83703 4375911
573 15.850185 4383474
574 15.86403 4391037
575 15.87702 4398600
576 15.890045 4406163
577 15.903 4413726
578 15.917005 4421289
579 15.930015 4428852
580 15.94302 4436415
581 15.957015 4443978
582 15.97003 4451541
583 15.98302 4459104
584 15.996805 4466667
585 15.491015 4474230
586 15.50302 4481792
587 15.51603 4489355
588 15.529035 4496918
589 15.54103 4504481
590 15.554035 4512043
591 15.567045 4519606
592 15.57905 4527169
593 15.573 4534731
594 15.615 4542294
595 15.628 4549857
596 15.64 4557419
597 15.653015 4564982
598 15.665 4572544
599 15.678005 4580107
600 15.690015 4587669
601 15.70302 4595232
602 15.716 4602794
603 15.728015 4610357
604 15.741005 4617919
605 15.75303 4625482
606 15.766005 4633044
607 15.77802 4640606
608 15.79103 4648169
609 15.803035 4655731
610 15.816 4663293
611 15.828015 4670856
612 15.840005 4678418
613 15.85302 4685980
614 15.865005 4693543
615 15.87803 4701105
616 15.89002 4708667
617 15.902035 4716229
618 15.915015 4723791
619 15.92702 4731354
620 15.93902 4738916
621 15.952035 4746478
622 15.96403 4754040
623 15.976035 4761602
624 15.989035 4769164
625 15.46405 4776726
626 15.457 4784288
627 15.498 4791851
628 15.510005 4799413
629 15.521005 4806975
630 15.53303 4814537
631 15.545005 4822099
632 15.55702 4829661
633 15.56902 4837223
634 15.580035 4844785
635 15.592005 4852347
636 15.60402 4859908
637 15.61602 4867470
638 15.627045 4875032
639 15.63902 4882594
640 15.651035 4890156
641 15.662035 4897718
642 15.67405 4905280
643 15.686005 4912842
644 15.69702 4920403
645 15.70902 4927965
646 15.721035 4935527
647 15.73202 4943089
648 15.744035 4950651
649 15.756035 4958212
650 15.76705 4965774
651 15.77902 4973336
652 15.790035 4980898
653 15.802035 4988459
654 15.81306 4996021
655 15.825035 5003583
656 15.83605 5011145
657 15.84805 5018706
658 15.860065 5026268
659 15.851 5033830
660 15.892 5041391
661 15.904 5048953
662 15.915 5056514
663 15.927005 5064076
664 15.938 5071638
665 15.950005 5079199
666 15.961005 5086761
667 15.97302 5094323
668 15.984 5101884
669 15.440005 5109446
670 15.451005 5117007
671 15.46202 5124569
672 15.473005 5132130
673 15.48402 5139692
674 15.49502 5147253
675 15.506035 5154815
676 15.517 5162376
677 15.528005 5169938
678 15.539005 5177499
679 15.55002 5185061
680 15.561005 5192622
681 15.57202 5200184
682 15.58202 5207745
683 15.593035 5215307
684 15.604005 5222868
685 15.61502 5230429
686 15.62602 5237991
687 15.637035 5245552
688 15.64802 5253114
689 15.658035 5260675
690 15.669035 5268236
691 15.68005 5275798
692 15.671 5283359
693 15.711 5290921
694 15.722005 5298482
695 15.732005 5306043
696 15.74302 5313605
697 15.754005 5321166
698 15.76502 5328727
699 15.77502 5336289
700 15.786035 5343850
701 15.797005 5351411
702 15.80802 5358972
703 15.81802 5366534
704 15.829035 5374095
705 15.84002 5381656
706 15.850035 5389218
707 15.861215 5396779
708 15.87205 5404340
709 15.882005 5411901
710 15.89302 5419463
711 15.90402 5427024
712 15.914035 5434585
713 15.92502 5442146
714 15.936035 5449707
715 15.946035 5457269
716 15.95705 5464830
717 15.96702 5472391
718 15.402035 5479952
719 15.413035 5487513
720 15.42305 5495075
721 15.433035 5502636
722 15.44305 5510197
723 15.45305 5517758
724 15.463065 5525319
725 15.454 5532880
726 15.492 5540442
727 15.502005 5548003
728 15.513005 5555564
729 15.52302 5563125
730 15.533005 5570686
731 15.54302 5578247
732 15.55302 5585808
733 15.563035 5593370
734 15.573005 5600931
735 15.58302 5608492
736 15.59302 5616053
737 15.603035 5623614
738 15.61302 5631175
739 15.623035 5638736
740 15.633035 5646297
741 15.64305 5653858
742 15.653005 5661419
743 15.66302 5668980
744 15.67302 5676541
745 15.683035 5684102
746 15.69302 5691664
747 15.703035 5699225
748 15.713035 5706786
749 15.72305 5714347
750 15.73302 5721908
751 15.743035 5729469
752 15.753035 5737030
753 15.76305 5744591
754 15.773035 5752152
755 15.78305 5759713
756 15.79305 5767274
757 15.802065 5774835
758 15.793005 5782396
759 15.831005 5789957
760 15.84102 5797518
761 15.85102 5805079
762 15.860035 5812640
763 15.8702 5820201
764 15.880035 5827762
765 15.890035 5835323
766 15.90005 5842884
767 15.91002 5850445
768 15.919035 5858006
769 15.929035 5865567
770 15.93905 5873128
771 15.949035 5880689
772 15.95805 5888249
773 15.37005 5895810
774 15.380065 5903371
775 15.38902 5910932
776 15.399035 5918493
777 15.408035 5926054
778 15.41705 5933615
779 15.427035 5941176
780 15.43605 5948737
781 15.44505 5956298
782 15.455065 5963859
783 15.464035 5971420
784 15.47305 5978981
785 15.48305 5986542
786 15.492065 5994102
787 15.50105 6001663
788 15.511065 6009224
789 15.520065 6016785
790 15.52908 6024346
791 15.519 6031907
792 15.556 6039468
793 15.565 6047029
794 15.574 6054590
795 15.584005 6062150
796 15.593 6069711
797 15.602005 6077272
798 15.611005 6084833
799 15.62102 6092394
800 15.63 6099955
801 15.639005 6107516
802 15.648005 6115077
803 15.65702 6122637
804 15.667005 6130198
805 15.67602 6137759
806 15.68502 6145320
807 15.694035 6152881
808 15.703 6160442
809 15.712005 6168002
810 15.722005 6175563
811 15.73102 6183124
812 15.740005 6190685
813 15.74902 6198246
814 15.75802 6205807
815 15.767035 6213368
816 15.776005 6220928
817 15.78602 6228489
818 15.79502 6236050
819 15.804035 6243611
820 15.81302 6251172
821 15.822035 6258732
822 15.831035 6266293
823 15.84005 6273854
824 15.83 6281415
825 15.866 6288976
826 15.875185 6296537
827 15.884005 6304097
828 15.89302 6311658
829 15.903005 6319219
830 15.91102 6326780
831 15.92002 6334341
832 15.930035 6341901
833 15.938005 6349462
834 15.32602 6357023
835 15.33502 6364584
836 15.343035 6372144
837 15.35202 6379705
838 15.360035 6387266
839 15.36901 6394827
840 15.37805 6402388
841 15.386005 6409948
842 15.39502 6417509
843 15.40302 6425070
844 15.41201 6432631
845 15.42002 6440192
846 15.429035 6447752
847 15.438035 6455313
848 15.44605 6462874
849 15.45502 6470435
850 15.463035 6477995
851 15.472035 6485556
852 15.48005 6493117
853 15.489035 6500678
854 15.49705 6508238
855 15.50605 6515799
856 15.514065 6523360
857 15.504 6530921
858 15.539 6538481
859 15.548005 6546042
860 15.556005 6553603
861 15.56402 6561164
862 15.573005 6568724
863 15.58102 6576285
864 15.59002 6583846
865 15.598035 6591407
866 15.607005 6598967
867 15.61502 6606528
868 15.623995 6614089
869 15.632035 6621650
870 15.64102 6629210
871 15.649035 6636771
872 15.658035 6644332
873 15.66605 6651893
874 15.674005 6659453
875 15.682995 6667014
876 15.69102 6674575
877 15.699035 6682136
878 15.70802 6689696
879 15.716035 6697257
880 15.725035 6704818
881 15.73305 6712378
882 15.74102 6719939
883 15.75001 6727500
884 15.758035 6735061
885 15.76605 6742621
886 15.775035 6750182
887 15.78305 6757743
888 15.79205 6765303
889 15.800065 6772864
890 15.789005 6780425
891 15.824005 6787986
892 15.83202 6795546
893 15.840995 6803107
894 15.849035 6810668
895 15.85702 6818228
896 15.865035 6825789
897 15.874035 6833350
898 15.88205 6840911
899 15.89002 6848471
900 15.899035 6856032
901 15.907035 6863593
902 15.91505 6871153
903 15.276035 6878714
904 15.28405 6886275
905 15.29205 6893835
906 15.30004 6901396
907 15.307995 6908957
908 15.31601 6916518
909 15.32301 6924078
910 15.33105 6931639
911 15.339035 6939200
912 15.34705 6946760
913 15.35505 6954321
914 15.363065 6961882
915 15.371035 6969442
916 15.37805 6977003
917 15.38605 6984564
918 15.394065 6992125
919 15.40205 6999685
920 15.410065 7007246
921 15.418065 7014807
922 15.42508 7022367
923 15.414 7029928
924 15.448 7037489
925 15.456005 7045049
926 15.464005 7052610
927 15.47202 7060171
928 15.479005 7067731
929 15.48702 7075292
930 15.49502 7082853
931 15.503035 7090413
932 15.510005 7097974
933 15.51802 7105535
934 15.52602 7113095
935 15.534035 7120656
936 15.54102 7128217
937 15.549035 7135777
938 15.557035 7143338
939 15.56505 7150899
940 15.572005 7158459
941 15.58002 7166020
942 15.58802 7173581
943 15.595035 7181141
944 15.60302 7188702
945 15.611035 7196263
946 15.61801 7203824
947 15.626025 7211384
948 15.633995 7218945
949 15.64101 7226506
950 15.649 7234066
951 15.65705 7241627
952 15.665035 7249188
953 15.67205 7256748
954 15.68005 7264309
955 15.688065 7271870
956 15.676005 7279430
957 15.710005 7286991
958 15.71802 7294551
959 15.72502 7302112
960 15.733035 7309673
961 15.74002 7317233
962 15.748035 7324794
963 15.756035 7332355
964 15.76305 7339915
965 15.77102 7347476
966 15.778035 7355037
967 15.786035 7362597
968 15.79405 7370158
969 15.80101 7377719
970 15.809015 7385279
971 15.81705 7392840
972 15.824065 7400401
973 15.83202 7407961
974 15.839035 7415522
975 15.847035 7423083
976 15.85405 7430643
977 15.862035 7438204
978 15.86905 7445765
979 15.87705 7453325
980 15.210075 7460886
981 15.217045 7468447
982 15.225025 7476007
983 15.23206 7483568
984 15.239075 7491129
985 15.24606 7498689
986 15.253075 7506250
987 15.260075 7513811
988 15.26709 7521371
989 15.256015 7528932
990 15.288015 7536492
991 15.29601 7544053
992 15.30303 7551614
993 15.310045 7559174
994 15.31703 7566735
995 15.324045 7574296
996 15.331045 7581856
997 15.33806 7589417
998 15.346005 7596978
999 15.35301 7604538
1000 15.360045 7612099
1001 15.36724 7619660
1002 15.374045 7627220
1003 15.38106 7634781
1004 15.38806 7642342
1005 15.39505 7649902
1006 15.40301 7657463
1007 15.410045 7665023
1008 15.417045 7672584
1009 15.42406 7680145
1010 15.431045 7687705
1011 15.43806 7695266
1012 15.445025 7702827
1013 15.452075 7710387
1014 15.459045 7717948
1015 15.46606 7725509
1016 15.47306 7733069
1017 15.480075 7740630
1018 15.487025 7748190
1019 15.494075 7755751
1020 15.501075 7763312
При генерации 1120 импульсов частота доходит до 150кГц.
31922
Newcomer
02.07.2017, 14:25
Спасибо. А что такое Math.exp(), как это изобразить на ST ?
q - это quantity ?
На картинке, в конце траектории, виден небольшой пологий участок. Что это такое ?
Newcomer
02.07.2017, 14:42
А без члена 65000*Math.exp(-(q-16)/100.0) какова картина будет ?
Владимир Ситников
02.07.2017, 15:14
Спасибо. А что такое Math.exp(), как это изобразить на ST ?
exp() -- это экспоненциальная функция
q - это quantity ?
да
На картинке, в конце траектории, виден небольшой пологий участок. Что это такое ?
Пологий это где? 125кГц? Это, скорее, особенность округления.
Владимир Ситников
02.07.2017, 15:20
А без члена 65000*Math.exp(-(q-16)/100.0) какова картина будет ?
31924
quantity duration_ms accel_ramp
16 12.254 172462
17 12.438 180023
18 12.594 187583
19 12.723 195144
20 12.827 202705
21 12.907 210265
22 13.058 217826
23 13.191 225386
24 13.211 232947
25 13.31 240508
26 13.395 248068
27 13.466 255629
28 13.523 263189
29 13.567 270750
30 13.709 278311
31 13.731 285871
32 13.74 293432
33 13.85404 300993
34 13.844035 308553
35 13.942075 316114
36 14.03308 323674
37 13.994055 331235
38 14.07107 338796
39 14.14104 346356
40 14.205095 353917
41 14.263065 361477
42 14.18408 369038
43 14.23006 376599
44 14.270085 384159
45 14.30406 391720
46 14.334085 399280
47 14.359075 406841
48 14.37808 414402
49 14.393015 421962
50 14.40306 429523
51 14.55504 437084
52 14.558055 444644
53 14.55604 452205
54 14.549065 459765
55 14.539045 467326
56 14.6781 474887
57 14.66006 482447
58 14.639075 490008
59 14.613065 497568
60 14.74309 505129
61 14.711065 512690
62 14.67508 520250
63 14.79807 527811
64 14.756075 535371
65 14.71103 542932
66 14.84703 550493
67 14.795045 558053
68 14.910035 565614
69 14.85205 573174
70 14.791035 580735
71 14.90104 588296
72 14.83505 595856
73 14.942065 603417
74 14.870025 610978
75 14.97404 618538
76 14.89706 626099
77 14.999065 633659
78 14.91704 641220
79 15.016055 648781
80 14.929095 656341
81 15.0261 663902
82 14.934035 671462
83 15.02907 679023
84 15.12205 686584
85 15.024055 694144
86 15.11507 701705
87 15.013075 709265
88 15.102065 716826
89 15.19007 724387
90 15.08205 731947
91 15.168065 739508
92 15.055045 747069
93 15.1391 754629
94 15.223075 762190
95 15.10408 769750
96 15.18608 777311
97 15.063095 784872
98 15.139035 792432
99 15.247035 799993
100 15.11802 807553
101 15.19602 815114
102 15.273025 822675
103 15.13803 830235
104 15.213035 837796
105 15.288035 845356
106 15.14805 852917
107 15.22101 860478
108 15.294025 868038
109 15.367035 875599
110 15.22004 883159
111 15.291035 890720
112 15.36105 898281
113 15.21004 905841
114 15.278095 913402
115 15.34705 920963
116 15.415055 928523
117 15.257045 936084
118 15.32407 943644
119 15.390055 951205
120 15.22706 958766
121 15.29206 966326
122 15.357065 973887
123 15.421055 981447
124 15.25206 989008
125 15.31506 996569
126 15.378065 1004129
127 15.44006 1011690
128 15.265065 1019250
129 15.326065 1026811
130 15.38708 1034372
131 15.439 1041932
132 15.29102 1049493
133 15.350035 1057054
134 15.409035 1064614
135 15.46804 1072175
136 15.526025 1079735
137 15.33804 1087296
138 15.39504 1094857
139 15.452045 1102417
140 15.508025 1109978
141 15.31503 1117538
142 15.37003 1125099
143 15.425045 1132660
144 15.48003 1140220
145 15.535035 1147781
146 15.335055 1155341
147 15.38906 1162902
148 15.442015 1170463
149 15.49503 1178023
150 15.54703 1185584
151 15.342035 1193144
152 15.39302 1200705
153 15.445035 1208266
154 15.496805 1215826
155 15.54706 1223387
156 15.59802 1230948
157 15.385035 1238508
158 15.435035 1246069
159 15.48405 1253629
160 15.534035 1261190
161 15.58304 1268751
162 15.63204 1276311
163 15.412095 1283872
164 15.448035 1291432
165 15.531035 1298993
166 15.57804 1306554
167 15.62605 1314114
168 15.673055 1321675
169 15.44604 1329235
170 15.492055 1336796
171 15.538055 1344357
172 15.58406 1351917
173 15.63003 1359478
174 15.675045 1367039
175 15.442045 1374599
176 15.48607 1382160
177 15.531045 1389720
178 15.57507 1397281
179 15.61906 1404842
180 15.663075 1412402
181 15.42303 1419963
182 15.466045 1427523
183 15.509045 1435084
184 15.55206 1442645
185 15.594035 1450205
186 15.63706 1457766
187 15.67905 1465326
188 15.721065 1472887
189 15.474055 1480448
190 15.51505 1488008
191 15.55607 1495569
192 15.597075 1503130
193 15.63807 1510690
194 15.679075 1518251
195 15.719085 1525811
196 15.46409 1533372
197 15.490015 1540933
198 15.565015 1548493
199 15.60503 1556054
200 15.64403 1563614
201 15.683045 1571175
202 15.72203 1578736
203 15.761015 1586296
204 15.498015 1593857
205 15.53703 1601417
206 15.575 1608978
207 15.612025 1616539
208 15.650035 1624099
209 15.68804 1631660
210 15.726035 1639220
211 15.76304 1646781
212 15.49304 1654342
213 15.529045 1661902
214 15.56601 1669463
215 15.602015 1677024
216 15.639015 1684584
217 15.67503 1692145
218 15.711015 1699705
219 15.74703 1707266
220 15.78303 1714827
221 15.505045 1722387
222 15.540015 1729948
223 15.57503 1737508
224 15.61002 1745069
225 15.645045 1752630
226 15.68003 1760190
227 15.714035 1767751
228 15.749035 1775311
229 15.78405 1782872
230 15.482 1790433
231 15.551 1797993
232 15.584035 1805554
233 15.618005 1813115
234 15.65105 1820675
235 15.684005 1828236
236 15.71805 1835796
237 15.75105 1843357
238 15.784065 1850918
239 15.817035 1858478
240 15.52205 1866039
241 15.55406 1873599
242 15.586065 1881160
243 15.61905 1888721
244 15.651075 1896281
245 15.683065 1903842
246 15.71408 1911402
247 15.746035 1918963
248 15.77805 1926524
249 15.81005 1934084
250 15.842065 1941645
251 15.53704 1949205
252 15.568055 1956766
253 15.599055 1964327
254 15.63007 1971887
255 15.66004 1979448
256 15.691055 1987009
257 15.721055 1994569
258 15.75206 2002130
259 15.782055 2009690
260 15.81307 2017251
261 15.84306 2024812
262 15.530075 2032372
263 15.543 2039933
264 15.607 2047493
265 15.635995 2055054
266 15.665995 2062615
267 15.69501 2070175
268 15.723995 2077736
269 15.75302 2085296
270 15.78201 2092857
271 15.811025 2100418
272 15.840005 2107978
273 15.86901 2115539
274 15.54701 2123100
275 15.575035 2130660
276 15.60302 2138221
277 15.631035 2145781
278 15.659035 2153342
279 15.68705 2160903
280 15.714995 2168463
281 15.74302 2176024
282 15.77102 2183584
283 15.798025 2191145
284 15.82602 2198706
285 15.854035 2206266
286 15.881025 2213827
287 15.54905 2221387
288 15.57601 2228948
289 15.603025 2236509
290 15.630025 2244069
291 15.65604 2251630
292 15.683025 2259191
293 15.71004 2266751
294 15.73604 2274312
295 15.763055 2281872
296 15.771995 2289433
297 15.832995 2296994
298 15.85901 2304554
299 15.88601 2312115
300 15.912025 2319675
301 15.56901 2327236
302 15.595025 2334797
303 15.620025 2342357
304 15.64604 2349918
305 15.67101 2357478
306 15.696025 2365039
307 15.722025 2372600
308 15.74704 2380160
309 15.772025 2387721
310 15.79804 2395281
311 15.82304 2402842
312 15.848055 2410403
313 15.873 2417963
314 15.898025 2425524
315 15.923025 2433085
316 15.57004 2440645
317 15.594015 2448206
318 15.61903 2455766
319 15.64304 2463327
320 15.667045 2470888
321 15.691015 2478448
322 15.71503 2486009
323 15.74003 2493569
324 15.764055 2501130
325 15.78803 2508691
326 15.812045 2516251
327 15.836045 2523812
328 15.86006 2531372
329 15.865005 2538933
330 15.923005 2546494
331 15.947 2554054
332 15.58302 2561615
333 15.606015 2569176
334 15.629 2576736
335 15.652035 2584297
336 15.675015 2591857
337 15.69805 2599418
338 15.721 2606979
339 15.744035 2614539
340 15.767035 2622100
341 15.79003 2629660
342 15.812035 2637221
343 15.83505 2644782
344 15.85803 2652342
345 15.881065 2659903
346 15.90302 2667463
347 15.926035 2675024
348 15.949035 2682585
349 15.57304 2690145
350 15.595035 2697706
351 15.61705 2705267
352 15.63905 2712827
353 15.661065 2720388
354 15.683035 2727948
355 15.70404 2735509
356 15.72605 2743070
357 15.748065 2750630
358 15.77004 2758191
359 15.791065 2765751
360 15.813065 2773312
361 15.83507 2780873
362 15.83702 2788433
363 15.89302 2795994
364 15.914025 2803554
365 15.936035 2811115
366 15.95704 2818676
367 15.570025 2826236
368 15.59104 2833797
369 15.61104 2841357
370 15.632065 2848918
371 15.653025 2856479
372 15.67404 2864039
373 15.69404 2871600
374 15.715055 2879161
375 15.73604 2886721
376 15.756055 2894282
377 15.777055 2901842
378 15.79707 2909403
379 15.818025 2916964
380 15.83804 2924524
381 15.85904 2932085
382 15.879055 2939645
383 15.89904 2947206
384 15.920055 2954767
385 15.940055 2962327
386 15.96007 2969888
387 15.56104 2977448
388 15.581055 2985009
389 15.600055 2992570
390 15.62007 3000130
391 15.640055 3007691
392 15.65907 3015252
393 15.67907 3022812
394 15.698085 3030373
395 15.698995 3037933
396 15.750995 3045494
397 15.77101 3053055
398 15.79001 3060615
399 15.810025 3068176
400 15.82901 3075736
401 15.849025 3083297
402 15.868025 3090858
403 15.88704 3098418
404 15.90601 3105979
405 15.926025 3113539
406 15.945025 3121100
407 15.96404 3128661
408 15.983025 3136221
409 15.57102 3143782
410 15.58902 3151342
411 15.608035 3158903
412 15.626 3166464
413 15.645005 3174024
414 15.663005 3181585
415 15.68201 3189146
416 15.700025 3196706
417 15.71904 3204267
418 15.73704 3211827
419 15.756055 3219388
420 15.774025 3226949
421 15.79204 3234509
422 15.81101 3242070
423 15.829055 3249630
424 15.84704 3257191
425 15.866055 3264752
426 15.884055 3272312
427 15.90204 3279873
428 15.90101 3287433
429 15.95201 3294994
430 15.970025 3302555
431 15.987995 3310115
432 15.56203 3317676
433 15.579025 3325237
434 15.59703 3332797
435 15.61404 3340358
436 15.632045 3347918
437 15.649025 3355479
438 15.66701 3363040
439 15.68404 3370600
440 15.702025 3378161
441 15.71903 3385721
442 15.736055 3393282
443 15.754025 3400843
444 15.77107 3408403
445 15.787995 3415964
446 15.80601 3423524
447 15.82303 3431085
448 15.840055 3438646
449 15.85701 3446206
450 15.875045 3453767
451 15.892045 3461328
452 15.90907 3468888
453 15.92601 3476449
454 15.943025 3484009
455 15.960045 3491570
456 15.97706 3499131
457 15.537025 3506691
458 15.55404 3514252
459 15.57104 3521812
460 15.587055 3529373
461 15.584 3536934
462 15.632 3544494
463 15.648995 3552055
464 15.664995 3559615
465 15.68201 3567176
466 15.697995 3574737
467 15.71401 3582297
468 15.73101 3589858
469 15.747025 3597418
470 15.763005 3604979
471 15.78003 3612540
472 15.79603 3620100
473 15.812025 3627661
474 15.82801 3635222
475 15.845025 3642782
476 15.861035 3650343
477 15.87706 3657903
478 15.893015 3665464
479 15.90901 3673025
480 15.92602 3680585
481 15.942045 3688146
482 15.95803 3695706
483 15.974025 3703267
484 15.990035 3710828
485 15.53505 3718388
486 15.55003 3725949
487 15.566025 3733509
488 15.581035 3741070
489 15.59704 3748631
490 15.612035 3756191
491 15.62804 3763752
492 15.64305 3771313
493 15.659075 3778873
494 15.655005 3786434
495 15.701005 3793994
496 15.71701 3801555
497 15.73202 3809116
498 15.747025 3816676
499 15.76302 3824237
500 15.778025 3831797
501 15.793035 3839358
502 15.80905 3846919
503 15.82403 3854479
504 15.839035 3862040
505 15.854025 3869600
506 15.86905 3877161
507 15.885035 3884722
508 15.90004 3892282
509 15.91505 3899843
510 15.930065 3907403
511 15.94503 3914964
512 15.960035 3922525
513 15.975035 3930085
514 15.99004 3937646
515 15.520045 3945207
516 15.53406 3952767
517 15.54907 3960328
518 15.563075 3967888
519 15.578045 3975449
520 15.59206 3983010
521 15.60706 3990570
522 15.621075 3998131
523 15.63606 4005691
524 15.650085 4013252
525 15.665075 4020813
526 15.67909 4028373
527 15.67401 4035934
528 15.71901 4043494
529 15.73401 4051055
530 15.74801 4058616
531 15.76201 4066176
532 15.77701 4073737
533 15.79101 4081298
534 15.80501 4088858
535 15.820025 4096419
536 15.83401 4103979
537 15.84801 4111540
538 15.86201 4119101
539 15.877025 4126661
540 15.89101 4134222
541 15.905025 4141782
542 15.919025 4149343
543 15.93304 4156904
544 15.94801 4164464
545 15.96201 4172025
546 15.97601 4179585
547 15.990025 4187146
548 15.503 4194707
549 15.516015 4202267
550 15.530015 4209828
551 15.54402 4217389
552 15.557 4224949
553 15.571015 4232510
554 15.584015 4240070
555 15.59802 4247631
556 15.611015 4255192
557 15.62503 4262752
558 15.63803 4270313
559 15.652035 4277873
560 15.646 4285434
561 15.69 4292995
562 15.703 4300555
563 15.717 4308116
564 15.730005 4315676
565 15.743 4323237
566 15.757015 4330798
567 15.770005 4338358
568 15.78403 4345919
569 15.797 4353479
570 15.810005 4361040
571 15.824015 4368601
572 15.83703 4376161
573 15.850185 4383722
574 15.86403 4391283
575 15.87702 4398843
576 15.890045 4406404
577 15.903 4413964
578 15.917005 4421525
579 15.930015 4429086
580 15.94302 4436646
581 15.957015 4444207
582 15.97003 4451767
583 15.98302 4459328
584 15.996805 4466889
585 15.491015 4474449
586 15.50302 4482010
587 15.51603 4489570
588 15.529035 4497131
589 15.54103 4504692
590 15.554035 4512252
591 15.567045 4519813
592 15.57905 4527374
593 15.573 4534934
594 15.615 4542495
595 15.628 4550055
596 15.64 4557616
597 15.653015 4565177
598 15.665 4572737
599 15.678005 4580298
600 15.690015 4587858
601 15.70302 4595419
602 15.716 4602980
603 15.728015 4610540
604 15.741005 4618101
605 15.75303 4625661
606 15.766005 4633222
607 15.77802 4640783
608 15.79103 4648343
609 15.803035 4655904
610 15.816 4663464
611 15.828015 4671025
612 15.840005 4678586
613 15.85302 4686146
614 15.865005 4693707
615 15.87803 4701268
616 15.89002 4708828
617 15.902035 4716389
618 15.915015 4723949
619 15.92702 4731510
620 15.93902 4739071
621 15.952035 4746631
622 15.96403 4754192
623 15.976035 4761752
624 15.989035 4769313
625 15.46405 4776874
626 15.457 4784434
627 15.498 4791995
628 15.510005 4799555
629 15.521005 4807116
630 15.53303 4814677
631 15.545005 4822237
632 15.55702 4829798
633 15.56902 4837359
634 15.580035 4844919
635 15.592005 4852480
636 15.60402 4860040
637 15.61602 4867601
638 15.627045 4875162
639 15.63902 4882722
640 15.651035 4890283
641 15.662035 4897843
642 15.67405 4905404
643 15.686005 4912965
644 15.69702 4920525
645 15.70902 4928086
646 15.721035 4935646
647 15.73202 4943207
648 15.744035 4950768
649 15.756035 4958328
650 15.76705 4965889
651 15.77902 4973449
652 15.790035 4981010
653 15.802035 4988571
654 15.81306 4996131
655 15.825035 5003692
656 15.83605 5011253
657 15.84805 5018813
658 15.860065 5026374
659 15.851 5033934
660 15.892 5041495
661 15.904 5049056
662 15.915 5056616
663 15.927005 5064177
664 15.938 5071737
665 15.950005 5079298
666 15.961005 5086859
667 15.97302 5094419
668 15.984 5101980
669 15.440005 5109540
670 15.451005 5117101
671 15.46202 5124662
672 15.473005 5132222
673 15.48402 5139783
674 15.49502 5147344
675 15.506035 5154904
676 15.517 5162465
677 15.528005 5170025
678 15.539005 5177586
679 15.55002 5185147
680 15.561005 5192707
681 15.57202 5200268
682 15.58202 5207828
683 15.593035 5215389
684 15.604005 5222950
685 15.61502 5230510
686 15.62602 5238071
687 15.637035 5245631
688 15.64802 5253192
689 15.658035 5260753
690 15.669035 5268313
691 15.68005 5275874
692 15.671 5283435
693 15.711 5290995
694 15.722005 5298556
695 15.732005 5306116
696 15.74302 5313677
697 15.754005 5321238
698 15.76502 5328798
699 15.77502 5336359
700 15.786035 5343919
701 15.797005 5351480
702 15.80802 5359041
703 15.81802 5366601
704 15.829035 5374162
705 15.84002 5381722
706 15.850035 5389283
707 15.861215 5396844
708 15.87205 5404404
709 15.882005 5411965
710 15.89302 5419525
711 15.90402 5427086
712 15.914035 5434647
713 15.92502 5442207
714 15.936035 5449768
715 15.946035 5457329
716 15.95705 5464889
717 15.96702 5472450
718 15.402035 5480010
719 15.413035 5487571
720 15.42305 5495132
721 15.433035 5502692
722 15.44305 5510253
723 15.45305 5517813
724 15.463065 5525374
725 15.454 5532935
726 15.492 5540495
727 15.502005 5548056
728 15.513005 5555616
729 15.52302 5563177
730 15.533005 5570738
731 15.54302 5578298
732 15.55302 5585859
733 15.563035 5593420
734 15.573005 5600980
735 15.58302 5608541
736 15.59302 5616101
737 15.603035 5623662
738 15.61302 5631223
739 15.623035 5638783
740 15.633035 5646344
741 15.64305 5653904
742 15.653005 5661465
743 15.66302 5669026
744 15.67302 5676586
745 15.683035 5684147
746 15.69302 5691707
747 15.703035 5699268
748 15.713035 5706829
749 15.72305 5714389
750 15.73302 5721950
751 15.743035 5729510
752 15.753035 5737071
753 15.76305 5744632
754 15.773035 5752192
755 15.78305 5759753
756 15.79305 5767314
757 15.802065 5774874
758 15.793005 5782435
759 15.831005 5789995
760 15.84102 5797556
761 15.85102 5805117
762 15.860035 5812677
763 15.8702 5820238
764 15.880035 5827798
765 15.890035 5835359
766 15.90005 5842920
767 15.91002 5850480
768 15.919035 5858041
769 15.929035 5865601
770 15.93905 5873162
771 15.949035 5880723
772 15.95805 5888283
773 15.37005 5895844
774 15.380065 5903405
775 15.38902 5910965
776 15.399035 5918526
777 15.408035 5926086
778 15.41705 5933647
779 15.427035 5941208
780 15.43605 5948768
781 15.44505 5956329
782 15.455065 5963889
783 15.464035 5971450
784 15.47305 5979011
785 15.48305 5986571
786 15.492065 5994132
787 15.50105 6001692
788 15.511065 6009253
789 15.520065 6016814
790 15.52908 6024374
791 15.519 6031935
792 15.556 6039496
793 15.565 6047056
794 15.574 6054617
795 15.584005 6062177
796 15.593 6069738
797 15.602005 6077299
798 15.611005 6084859
799 15.62102 6092420
800 15.63 6099980
801 15.639005 6107541
802 15.648005 6115102
803 15.65702 6122662
804 15.667005 6130223
805 15.67602 6137783
806 15.68502 6145344
807 15.694035 6152905
808 15.703 6160465
809 15.712005 6168026
810 15.722005 6175586
811 15.73102 6183147
812 15.740005 6190708
813 15.74902 6198268
814 15.75802 6205829
815 15.767035 6213390
816 15.776005 6220950
817 15.78602 6228511
818 15.79502 6236071
819 15.804035 6243632
820 15.81302 6251193
821 15.822035 6258753
822 15.831035 6266314
823 15.84005 6273874
824 15.83 6281435
825 15.866 6288996
826 15.875185 6296556
827 15.884005 6304117
828 15.89302 6311677
829 15.903005 6319238
830 15.91102 6326799
831 15.92002 6334359
832 15.930035 6341920
833 15.938005 6349481
834 15.32602 6357041
835 15.33502 6364602
836 15.343035 6372162
837 15.35202 6379723
838 15.360035 6387284
839 15.36901 6394844
840 15.37805 6402405
841 15.386005 6409965
842 15.39502 6417526
843 15.40302 6425087
844 15.41201 6432647
845 15.42002 6440208
846 15.429035 6447768
847 15.438035 6455329
848 15.44605 6462890
849 15.45502 6470450
850 15.463035 6478011
851 15.472035 6485571
852 15.48005 6493132
853 15.489035 6500693
854 15.49705 6508253
855 15.50605 6515814
856 15.514065 6523375
857 15.504 6530935
858 15.539 6538496
859 15.548005 6546056
860 15.556005 6553617
861 15.56402 6561178
862 15.573005 6568738
863 15.58102 6576299
864 15.59002 6583859
865 15.598035 6591420
866 15.607005 6598981
867 15.61502 6606541
868 15.623995 6614102
869 15.632035 6621662
870 15.64102 6629223
871 15.649035 6636784
872 15.658035 6644344
873 15.66605 6651905
874 15.674005 6659466
875 15.682995 6667026
876 15.69102 6674587
877 15.699035 6682147
878 15.70802 6689708
879 15.716035 6697269
880 15.725035 6704829
881 15.73305 6712390
882 15.74102 6719950
883 15.75001 6727511
884 15.758035 6735072
885 15.76605 6742632
886 15.775035 6750193
887 15.78305 6757753
888 15.79205 6765314
889 15.800065 6772875
890 15.789005 6780435
891 15.824005 6787996
892 15.83202 6795557
893 15.840995 6803117
894 15.849035 6810678
895 15.85702 6818238
896 15.865035 6825799
897 15.874035 6833360
898 15.88205 6840920
899 15.89002 6848481
900 15.899035 6856041
901 15.907035 6863602
902 15.91505 6871163
903 15.276035 6878723
904 15.28405 6886284
905 15.29205 6893844
906 15.30004 6901405
907 15.307995 6908966
908 15.31601 6916526
909 15.32301 6924087
910 15.33105 6931647
911 15.339035 6939208
912 15.34705 6946769
913 15.35505 6954329
914 15.363065 6961890
915 15.371035 6969451
916 15.37805 6977011
917 15.38605 6984572
918 15.394065 6992132
919 15.40205 6999693
920 15.410065 7007254
921 15.418065 7014814
922 15.42508 7022375
923 15.414 7029935
924 15.448 7037496
925 15.456005 7045057
926 15.464005 7052617
927 15.47202 7060178
928 15.479005 7067738
929 15.48702 7075299
930 15.49502 7082860
931 15.503035 7090420
932 15.510005 7097981
933 15.51802 7105542
934 15.52602 7113102
935 15.534035 7120663
936 15.54102 7128223
937 15.549035 7135784
938 15.557035 7143345
939 15.56505 7150905
940 15.572005 7158466
941 15.58002 7166026
942 15.58802 7173587
943 15.595035 7181148
944 15.60302 7188708
945 15.611035 7196269
946 15.61801 7203829
947 15.626025 7211390
948 15.633995 7218951
949 15.64101 7226511
950 15.649 7234072
951 15.65705 7241632
952 15.665035 7249193
953 15.67205 7256754
954 15.68005 7264314
955 15.688065 7271875
956 15.676005 7279436
957 15.710005 7286996
958 15.71802 7294557
959 15.72502 7302117
960 15.733035 7309678
961 15.74002 7317239
962 15.748035 7324799
963 15.756035 7332360
964 15.76305 7339920
965 15.77102 7347481
966 15.778035 7355042
967 15.786035 7362602
968 15.79405 7370163
969 15.80101 7377723
970 15.809015 7385284
971 15.81705 7392845
972 15.824065 7400405
973 15.83202 7407966
974 15.839035 7415527
975 15.847035 7423087
976 15.85405 7430648
977 15.862035 7438208
978 15.86905 7445769
979 15.87705 7453330
980 15.210075 7460890
981 15.217045 7468451
982 15.225025 7476011
983 15.23206 7483572
984 15.239075 7491133
985 15.24606 7498693
986 15.253075 7506254
987 15.260075 7513814
988 15.26709 7521375
989 15.256015 7528936
990 15.288015 7536496
991 15.29601 7544057
992 15.30303 7551618
993 15.310045 7559178
994 15.31703 7566739
995 15.324045 7574299
996 15.331045 7581860
997 15.33806 7589421
998 15.346005 7596981
999 15.35301 7604542
1000 15.360045 7612102
1001 15.36724 7619663
1002 15.374045 7627224
1003 15.38106 7634784
1004 15.38806 7642345
1005 15.39505 7649905
1006 15.40301 7657466
1007 15.410045 7665027
1008 15.417045 7672587
1009 15.42406 7680148
1010 15.431045 7687708
1011 15.43806 7695269
1012 15.445025 7702830
1013 15.452075 7710390
1014 15.459045 7717951
1015 15.46606 7725512
1016 15.47306 7733072
1017 15.480075 7740633
1018 15.487025 7748193
1019 15.494075 7755754
1020 15.501075 7763315
1021 15.50809 7770875
1022 15.49703 7778436
1023 15.52903 7785996
1024 15.536045 7793557
1025 15.54301 7801118
1026 15.55006 7808678
1027 15.557045 7816239
1028 15.56406 7823799
1029 15.57106 7831360
1030 15.578075 7838921
1031 15.58501 7846481
1032 15.59206 7854042
1033 15.59906 7861603
1034 15.606075 7869163
1035 15.61306 7876724
1036 15.62004 7884284
1037 15.627075 7891845
1038 15.63409 7899406
1039 15.641045 7906966
1040 15.64806 7914527
1041 15.655025 7922087
1042 15.662075 7929648
1043 15.66906 7937209
1044 15.676075 7944769
1045 15.683075 7952330
1046 15.68909 7959890
1047 15.697025 7967451
1048 15.703075 7975012
1049 15.710075 7982572
1050 15.71709 7990133
1051 15.72404 7997693
1052 15.73109 8005254
1053 15.73809 8012815
1054 15.745105 8020375
1055 15.73301 8027936
1056 15.76501 8035497
1057 15.77201 8043057
1058 15.77901 8050618
1059 15.786005 8058178
1060 15.79301 8065739
1061 15.800005 8073300
1062 15.80701 8080860
1063 15.81402 8088421
1064 15.82001 8095981
1065 15.827005 8103542
1066 15.834005 8111103
1067 15.84101 8118663
1068 15.142995 8126224
1069 15.14901 8133784
1070 15.15601 8141345
1071 15.163015 8148906
1072 15.169 8156466
1073 15.174995 8164027
1074 15.181995 8171588
1075 15.189 8179148
1076 15.194995 8186709
1077 15.20101 8194269
1078 15.20801 8201830
1079 15.215015 8209391
1080 15.220995 8216951
1081 15.22701 8224512
1082 15.234 8232072
1083 15.240025 8239633
1084 15.24701 8247194
1085 15.253025 8254754
1086 15.260015 8262315
1087 15.26604 8269875
1088 15.254 8277436
1089 15.285 8284997
1090 15.291995 8292557
1091 15.298 8300118
1092 15.30501 8307679
1093 15.310995 8315239
1094 15.318 8322800
1095 15.32401 8330360
1096 15.330025 8337921
1097 15.336995 8345482
1098 15.343 8353042
1099 15.35001 8360603
1100 15.356025 8368163
1101 15.363 8375724
1102 15.369025 8383285
1103 15.375025 8390845
1104 15.38204 8398406
1105 15.388 8405966
1106 15.39501 8413527
1107 15.40101 8421088
1108 15.407015 8428648
1109 15.41401 8436209
1110 15.420025 8443769
1111 15.427015 8451330
1112 15.43304 8458891
1113 15.43901 8466451
1114 15.445025 8474012
1115 15.452015 8481573
1116 15.45804 8489133
1117 15.465025 8496694
1118 15.47103 8504254
1119 15.47704 8511815
1120 15.484055 8519376
Newcomer
02.07.2017, 15:34
Без члена 65000*Math.exp(-(q-16)/100.0) картина значительно хуже.
На ST 65000*Math.exp(-(q-16)/100.0) запишется так: 65000*EXP(-(q-16)/100.0) ?
Владимир Ситников
02.07.2017, 16:06
На ST 65000*Math.exp(-(q-16)/100.0) запишется так: 65000*EXP(-(q-16)/100.0) ?
Ну, да, верно
Newcomer
02.07.2017, 16:14
Будем пробовать на железе.
Возвращаюсь к теме энкодеров на Hardella. Написанные мною модули успешно работают в железе. Однако есть небольшой недостаток - при выключении теряются показания (счетчики) энкодера, что естественно по причине того, что память PRU не энергонезависимая. Ломаю голову на тему сохранения показаний. Вопрос не приоритетный, но хочется что бы всё было по фен-шую.
В прошлых реализациях на ПЛК старой версии (без PRU) просто засовывал переменную показаний в ретайн, и этого было достаточно. Хотелось бы сделать нечто подобное и на новой версии ПЛК.
Владимир Ситников
06.07.2017, 10:26
Возвращаюсь к теме энкодеров на Hardella. Написанные мною модули успешно работают в железе. Однако есть небольшой недостаток - при выключении теряются показания (счетчики) энкодера, что естественно по причине того, что память PRU не энергонезависимая. Ломаю голову на тему сохранения показаний. Вопрос не приоритетный, но хочется что бы всё было по фен-шую.
В прошлых реализациях на ПЛК старой версии (без PRU) просто засовывал переменную показаний в ретайн, и этого было достаточно. Хотелось бы сделать нечто подобное и на новой версии ПЛК.
Можно сделать следующим образом:
1) У PRU переменной/FB блока ставим retain
2) При этом на КДС стороне будет создана отдельная программа (напр PRU0_RETAINS) с retain переменными
3) При "pru_memory_read" будут обновляться переменные в PRU0_RETAINS)
4) В момент PRU0Init брать значения из PRU0_RETAINS и с помощью них инициализровать PRU.
Newcomer
09.07.2017, 13:50
Проверили на железе этот вариант:
accel_ramp = 51492.89 + 7560.61*q - 65000*EXP(-(q-16)/100.0);
decel_ramp = accel_ramp*32
При числе импульсов 16...25 удается уложиться в промежуток от 15 до 16 мс. При 26 импульсах и более не получается уложиться в промежуток от 15 до 16 мс. Чем большее количество импульсов генерируется тем хуже результат.
Если считать accel_ramp = (2 * q)/(0,016 * 0,016); (классическая формула), а decel_ramp = 500000000;, то в для 16 <= q <= 160 все нормально. При q > 160 генерация пачки импульсов перестает укладываться в промежуток от 15 до 16 мс.
Возможно, ваша формула для accel_ramp более точна (она дает большее значение чем классическая формула) и надо просто увеличить decel_ramp.
Попробуем на железе так:
accel_ramp = 51492.89 + 7560.61*q - 65000*EXP(-(q-16)/100.0);
decel_ramp = 500000000;
Владимир Ситников
09.07.2017, 15:52
При 26 импульсах и более не получается уложиться в промежуток от 15 до 16 мс.
От какого момента отсчитываете 15-16мс?
В него входит время ПЛК цикла?
Есть возможность измерить длительность, которая фактически получается?
Фактическое время работы стабильно или меняется от раза к разу?
Возможно, ваша формула для accel_ramp более точна (она дает большее значение чем классическая формула) и надо просто увеличить decel_ramp.
На всякий случай: я формулу подбирал не исходя из законов физики, а исходя из фактической длительности генерации импульсов на эмуляторе. Т.е. формула подобрана именно для случая decel_ramp=accel_ramp*32 и неизвестно как она себя поведёт при других значениях decel_ramp. Попробовать-то можно, но я без понятия.
Newcomer
09.07.2017, 16:14
В цикле ПЛК делается проверка:
IF SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_state = STOP_STEPPER_RUN_STATE THEN
SteppersConfig_Pru1MemoryTransfer.STEPPER1_PRU1_st epper_enable := FALSE; END_IF
У меня цикл ПЛК = 1 мс. Крайнее значение временного интервала - 16,7 мс. Возможно, промежуток, в котором должна кончаться генерация пачки импульсов, надо задавать 14 - 15 мс. Тогда цикл ПЛК гарантированно не будет вносить погрешность.
Владимир Ситников
09.07.2017, 16:19
У меня цикл ПЛК = 1 мс. Крайнее значение временного интервала - 16,7 мс. Возможно, промежуток, в котором должна кончаться генерация пачки импульсов, надо задавать 14 - 15 мс. Тогда цикл ПЛК гарантированно не будет вносить погрешность.
Да, похоже на цикл ПЛК.
А что является критерием запуска генерации? Внешний импульс? Если так, то, может, его в PRU ловить, и тогда не будет зависимости от цикла ПЛК.
Newcomer
09.07.2017, 16:24
Да, похоже на цикл ПЛК.
А что является критерием запуска генерации? Внешний импульс? Если так, то, может, его в PRU ловить, и тогда не будет зависимости от цикла ПЛК.
Очередная генерация должна начинаться по истечению 16,7 мс. Если генерация пачки импульсов не укладывается в это время, то происходит смещение по времени начала генерации следующей пачки импульсов. Всего может быть до 15 000 пачек импульсов. Представляете какая ошибка по времени может накопиться ?
В программе ПЛК предусмотрена автокоррекция, которая позволяет на каждом шаге компенсировать временную погрешность в пределах +/- 1 мс. Если погрешность на каждом шаге больше 1 мс, то ее компенсировать нельзя. Эта погрешность накапливается и на 15 000 шагах может быть очень большой, что неприемлемо. Максимальная временная погрешность на 15 000 шагах должна быть не более 15 мс.
Владимир Ситников
09.07.2017, 16:50
Очередная генерация должна начинаться по истечению 16,7 мс. Если генерация пачки импульсов не укладывается в это время, то происходит смещение по времени начала генерации следующей пачки импульсов. Всего может быть до 15 000 пачек импульсов. Представляете какая ошибка по времени может накопиться ?
В программе ПЛК предусмотрена автокоррекция, которая позволяет на каждом шаге компенсировать временную погрешность в пределах +/- 1 мс. Если погрешность на каждом шаге больше 1 мс, то ее компенсировать нельзя. Эта погрешность накапливается и на 15 000 шагах может быть очень большой, что неприемлемо. Максимальная временная погрешность на 15 000 шагах должна быть не более 15 мс.
Вообще говоря, в PRU программе можно работать со временем (см pru_current_time (https://hardella.com/docs/pru/standard-library/#pru_current_time)), и точность должна быть довольно хорошей. Во всяком случае, должно быть точнее, чем цикл ПЛК.
Newcomer
09.07.2017, 17:08
Вообще говоря, в PRU программе можно работать со временем (см pru_current_time (https://hardella.com/docs/pru/standard-library/#pru_current_time)), и точность должна быть довольно хорошей. Во всяком случае, должно быть точнее, чем цикл ПЛК.
Погрешность, связанная с циклом ПЛК равном 1 мс, не страшна, т.к. есть автокоррекция +/- 1 мс. Страшна погрешность возникающая из-за того, что генерация пачки импульсов на каждом шаге не укладывается в заданное время.
Владимир Ситников
09.07.2017, 17:29
Погрешность, связанная с циклом ПЛК равном 1 мс, не страшна, т.к. есть автокоррекция +/- 1 мс. Страшна погрешность возникающая из-за того, что генерация пачки импульсов на каждом шаге не укладывается в заданное время.
Во-первых, есть гарантия, что цикл ПЛК всегда укладывается в 1мс?
Во-вторых, при некоторых значениях, генерация весьма плотно подходит к 16мс. Если там что-то добавляет ПЛК (т.е. обнаруживает завершение предыдущей генерации с задержкой на цикл ПЛК), то запросто может не уложиться в 16мс.
Т.е. тут либо переносить всю пачку в PRU -- там не будет проблем с временной синхронизацией. Можно до 5-10наносекунд точность выдерживать.
Либо оставлять синхронизацию в ПЛК, но тогда нужно, чтобы PRU программа заканчивала генерацию не более чем за 14-15мс, чтобы у ПЛК был шанс обработать и перезапустить.
Newcomer
09.07.2017, 17:40
Во-первых, есть гарантия, что цикл ПЛК всегда укладывается в 1мс?
Если на каждом шаге генерируется малое количество импульсов, то все нормально. Проблемы возникают, когда на каждом шаге генерируется большое число импульсов.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot