И почему в ПЧВ задают время разгона и торможения ,а не количество периодов меняющейся частотыинтересно????
электронщик до мозга костей и не только
Владимир, ответьте на простой вопрос. Измениться ли результат на выходе ФБ если в одном случае выполнить деление
10'000 Гц/10 сек на входе блока, а во втором случае сделать это деление внутри блока ?
Скажите начала что значит period в вашем варианте параметров
В моём варианте у каждого параметра есть понятный смысл, и параметры accel_ramp, decel_ramp, max_speed являются параметрами конкретной установки.
Т.е. фактичеки, я предлагаю блок, у которого задавать нужно только quantity.
Вы же почему-то упорно хотите заниматься подбором параметров и передавать лишние/недостающие данные.
Зачем -- понять не могу.
Слова "ШД выбран неправильно", конечно, говорить можно, но юстировку и т.п. никто не отменял. Я не хочу добавлять в блок искусственные ограничения на диапазон допустимых quantity. Вариант "блок работает, но quantity меньше 100 не передавать" будет звучать крайне странно.
Что-то вы мое ТЗ переиначили на свой лад. Что в результате получится я просто не представляю.
Последний раз редактировалось Newcomer; 26.09.2016 в 00:20.
Период у меня означает величину обратную частоте, т.е. T = 1/F. Я же график в одном из постов приводил. Обсуждать остальное сил уже нет, спать хочется.
Тестировать есть что-нибудь?)))![]()
Правильно говорят, что утро вечера мудренее. Соглашусь с В.Ситниковым, что достаточно для первого ФБ (отработка ШД заданного количества импульсов) задать только количество импульсов и ускорение (замедление). Будем полагать, что ускорение и замедление противоположны по знаку, но имеют одинаковый модуль. Ускорение (замедление) можно задавать от сколь угодно малого до предельно возможного для данной механической системы.
Для второго ФБ надо задавать частоту до которой должен раскрутиться ШД и ускорение (замедление).
Зачем использовать формат данных REAL ?
Во вложении документ на буржуйский ПЛК. На стр. 92 этого документа подробно расписано как работает функция управления ШД в этом ПЛК. Это примерно то, что я изначально хотел. Если заработает то, что предлагаете вы (задавать ускорение), то это будет круче чем у забугорных друзей.
Последний раз редактировалось Newcomer; 26.09.2016 в 11:39.
Если в двух словах, то для того, чтобы не пришлось править пользовательскую КДС программу при обновлении PRU программы.
Например, если передавать "max_speed" как DWORD в герцах, то уже невозможно задать 100.5 Гц. Либо 100, либо 101.
Конечно, можно договориться, что "max_speed" передаётся как "частота, умноженная на 256" (т.е. вместо 100.5 передавать 25728), но это дичь.
Гораздо лучше будет, если на вход блоку будет передаваться осмысленное значение (частота в герцах), а уже сам блок при передаче команды в PRU будет либо просто округлять, либо домножать на 256 (или сколько нужно).
Тогда "в следующих версиях блока" можно менять лишь PRU0.prg/stepper.lib, а саму программу, которая подаёт команды менять не придётся. Программа как передавала "частоту в герцах", так и продолжит передавать.
Аналогично, если окажется, что для "ускорений" у dword'а точность низкая, то опять же, можно будет поправить реализацию самой PRU программы, и не трогать пользовательский код.
Наконец-то мы поняли друг друга.