Приветствую.
Все воюю с Мамонтом. Возникла следующая проблемка - вместо шпинделя у Мамонта, швейная машина, необходимо адекватно отреагировать на обрыв нити. Т.е. в произвольном месте, нить может оборватся\кончится, необходимо в режиме пауза убрать стол в сторону, для доступа к швейной машине. Опишу интерфейс - софт EMC2, рулит всем микроконтроллер который посылает скан коды клавиш по интерфейсу клавиатуры (если необходимо что-то сделать со столом вне основной программы - переходим в режим MDI, и генерим необходимые последовательности G-кода). Но тут закавыка - интерфейс MDI, запускается только после остановки выполнения программы (потеря координат, и шага G-кода) ac.gif

В общем, суть - как вызвать подпрограмму, по внешнему событию (например, привязаться к какому нить концевику и т.д.) Шьем- шьем, вдруг бац - нитка кончилась, останов, вызов подпрограмки (подпрограмма убирает стол в сторону до сработки ограничения, и ждет команду оператора, для продолжения основной программы - возврат в позицию обрыва и продолжение шитья).

З.С. как крайнее средство - прийдется этим же микроконтроллером, напрямую генерить Step/Dir и считать шаги до концевика, а потом возвращать стол обратно. ak.gif