У меня как дополнение к CDS, так и альтернатива.
С одной стороны, моя среда может генерировать КДС проект (это в случае управления простыми, "медленными" выходами), а с другой, она может генерировать бинарный код для TI PRU процессора (ну, того, что используется в ПЛК110 М02) -- т.е. можно писать программы для быстрых входов/выходов.
Вижу, что вы пытались в ответе написать какой-то код: < spf; i++){delay_us(50);}
Можете поправить ответ, чтобы код стало видно?
Вообще говоря, на PRU нет операций деления и, соответственно, квадратного корня, но есть память.
Поэтому, рабочий подход -- рассчитать табличку ускорений и работать по ней.
Доступ к памяти стоит 2-3 такта, т.е. в процессе управления можно просто читать очередную задержку и всё.
Т.е. вся сложность сводится к вычислению таблицы задержек по входным "начальной скорости, максимальной скорости и ускорению"
Вот, похоже, разумные стати по теме ШД: http://www.embedded.com/design/mcus-...s-in-real-time, http://www.atmel.com/images/doc8017.pdf, https://courses.cs.washington.edu/co...Arithmetic.pdf, http://www.orientalmotor.com/product...alculation.pdf





Ответить с цитированием