Цитата(Impartial @ 19.4.2013, 14:55)
Я, интереса ради, запустил ЕМС2 (LinuxCNC) на вот такой плате
http://www.st.com/web/catalog/tools/FM116/...SS1532/PF252419Интересные получились результаты.
Тестировал на простом прогоне их стандартной программы AXIS.ngc.
Оказалось, что быстродействие сильно зависит от наличия сопрцессора с плавающей точкой и оптимизации вычисления синуса и косинуса.
Без сопроцессора программа на частоте проца 168 мгц выполнилась за 5 мин 37 сек. А с сопроцессором и синус-косинусным алгоритмом от STM - за 17 сек.
Это приличный результат, учитывая наличие богатой периферии в этом процессоре.
О! А можете проверить на прицепленном файле?
Это средней "вредности" рельеф. При заданных у меня ускорениях (координата не теряется и не ребуется коррекция по энкодеру) этот рельеф обрабатывается 4,5 часа. Время просчета траектории + вывод на экранчик траектории - 55 сек.
Сколько из этих 55 сек расчет, а сколько вывод на экран сказать не могу. Но фактически каждый пиксель отрисовывается (отключать сейчас рисование в контроллере лень.)
Цитата(Impartial @ 19.4.2013, 14:55)
Попробуйте пересобрать Ваш проект с плавающей точкой. Результат по скорости значительный. Использовать фиксированную точку в мат. расчетах не лучший вариант (IMHO).
Разбалованы программисты отсутсвием проблем с производительностью.. Да. То что я писал, используя интегрирование и целочисленные вычисления с определнным уровнем приближения, можно было уместить в десяток строк с использованием плавающей запятой и пр. Но делалось под конкрентный проц и конкретные задачи.
EMC писался без учета оптимизации по скорость (с расчетом на современные компы). Это не в укор... просто не было задачи такой.
-----------
Меня "обвиняют" в двух совершенно противоположных вещах.
Одни говорят что взял слишком маломощьный проц и проще LinuxCNC + ARM. Другие - "да все можно на 8-битной меге сделать!"
Про 8-бит даже комментировать не хочу.. Хотя, если кому дырки сверлить на станке с масимальной подачей 200мм/мин.. то.. вперед.
Поясняю еще раз:
- Мне нужен был
готовый, с экраном (ключевые слова) контроллер не слишком больших размеров и с полным контролем (либо RT OS, либо голый кристалл). Есть другой вариант под эти условия?
Ну лениво мне платы разводить и пр. если есть уже готовый кит точно под задачу!
Почему я не буду использовать LinuxCNC под, например, raspberry:
- Нет вариантов простым подключением маленького экрана.
- стартует Linux сек 30-40 (!) на нем.
- Linux даже с спец сборкой ядра - это не RTOS. Все одно требуется внешний формирователь step|dir на основе траектории, выданной EMC (это можно на быстрых компах ножками LPT дергать.. в надежде успеть).
- Все, что я пока видел на ютюбе для малины - это медленное и печальное исполнение AXIS.ngc на скорость 200мм/мин для станка с винтами. Как оно потянет ли нормальный рельеф - ?
------------------------------
Еще одна фраза: "не нужен никакой дисплей/экран. Нажал кнопку и поехало"...
Ну.. для любителей концептуального минимализма..
А мне нужно:
1. Список файлов на флешке с возможностью просмотра/выбора файлов как минимум. У меня уже десятка два файлов там. Что я каждый раз с ноутом+USB подходить должен? Тем более, что флешка в данной плате не вытаскивается легко. Стоит себе и стоит.
2. Ручное управление.. Вообще то координаты видеть хочется.
Ну а остальное, типа "время от начала работы" и вывод всякой вспомогательной информации - просто доп. удобства.