Ось twincat 2 - обновите целевую позицию

У меня есть ось, которая должна следовать заданной позиции, которая постоянно меняется. проблема в том, что если я использую FB "MC_MoveAbsolute", я не могу обновить целевое положение. Мне нужно дождаться окончания движения (или остановить его), и как только оно закончится, я могу указать новое целевое местоположение. Проблема заключается в том, что, если канал большой и / или в противоположном направлении, ось может немного отставать. Мне нужно было бы обновить целевую позицию, как только она будет отличаться от назначенной в данный момент. у него также не должно быть резкой остановки, поэтому что-то вроде запуска, остановки, запуска нового не является решением. движение должно быть как можно более плавным и актуальным.

У меня есть 2 возможных решения:

1) я делаю много небольших движений, которые смешиваются с предыдущим, поэтому я могу, например, менять целевое положение на каждый мм и быстро его обновлять

2) Я использую два разных FB для перемещения и использую в качестве режима mc_aborting, чтобы я мог перезаписать предыдущую команду перемещения.

какое решение является лучшим?

1 ответ

Решение

Лучшим вариантом было бы изменить настройку так, чтобы ваш входной сигнал был связан с осью энкодера в системе ЧПУ. Вы могли бы тогда использовать MC_GearIn соединить вашу подчиненную ось с "кодировщиком".

Если это невозможно, я верю MC_MoveAdditive это то, что вы ищете. Это позволяет изменить целевую позицию независимо от того, была ли достигнута позиция в течение последнего цикла.

Другие вопросы по тегам