Для многих операций ЧПУ очень важно всегда знать точное положение станка. Процедура хоуминга (возврата в исходное положение) используется чтобы найти правильное положение машины, в случаях если есть какая-либо неисправность сервопривода или в ситуациях где была нажата аварийная кнопка.
Процедура хоуминга реализована с помощью Software PLC:
ПРИМЕЧАНИЕ. По умолчанию данная процедура ВЫКЛЮЧЕНА, поскольку в начале процедуры идет строка exit(99);, которая немедленно завершает работу PLC как только процедура запускается. Чтобы включить процедуру хоуминга, добавьте две косые черты перед строкой exit(99);, чтобы закомментировать ее. Таким образом PLC сможет работать корректно:
Флаги хоуминга хранятся в глобальных переменных 7391-7399.
Переменная | Функция глобальной переменной |
---|---|
7391 | X axis homing flag |
7392 | Y axis homing flag |
7393 | Z axis homing flag |
7394 | A axis homing flag |
7395 | B axis homing flag |
7396 | C axis homing flag |
Флаги автоматически устанавливаются в «1», если:
Процедура хоуминга (в Software PLC) мониторит данные флаги и останавливает выполнение G-кода, если какой-либо из флагов установлен в 1.
main() { //exit(99); a=0; do{ hx=gvarget(7391); //monitor axes flags X, Y, Z and C hy=gvarget(7392) ; hz=gvarget(7393); //hc=gvarget(7396); a++; if(a>9){a=1;}; b=hx+hy*10+hz*100; //b=hx+hy*10+hz*100+hc*1000; c=a*10000000; gvarset(99,c+b); //build variable to display which axis is not ready home_old=home; home=hx+hy+hz; //check if any of axis is not ready //home=hx+hy+hz+hc; //check if any of axis is not ready if (home!=0) //if any of axis is not ready, then ... { prg=gvarget(6065); if (prg!=0) //Check if Program running is started and Stop it immediately { gvarset(0xffffff,1); //Stop Program }; gvarset(9100,1); //display the message #1 on the screen, if any of home alarm activated gvarset(8160,2); //set XHC Homing display }else { gvarset(9100,0); //hide the message #1, if everything's ok if (home_old!=home) //just home { gvarset(8160,0); //set XHC Homing display }; }; }while(1); exit(99); };
Запись «1» в глобальную переменную #9100 покажет Popup Message #0 (всплывающее окно №0). Информация, отображаемая во всплывающем сообщении, сохраняется в файле cnc-variables.xml. Программное обеспечение myCNC имеет виджет в настройках для добавления подобных всплывающих окон.
Пример всплывающего окна показан ниже:
Ниже приводится описание подобного окна в XML для тех, кто предпочитает редактировать XML-файлы напрямую. Для большинства пользователей в этом нет необходимости, поскольку данный функционал можно использовать и настраивать напрямую из программы myCNC:
<value name="cnc-popup-message-0" width="600" height="300" buttonImage="machine-home-find-all" buttonWidth="80" buttonHeight="80" buttonAction="direct-run:M138" header="Machine position lost due to either Emergency Stop or Servo Alarm" headerHeight="40" headerFontSize="16" message="Please run Homing" fontSize="20" footer="[%d]" footerFontSize="20" footerHeight="20" timeout="5" dest="cnc-gvariable-99" K="1">0</value>
Всплывающее сообщение может содержать кнопку. У кнопки есть атрибуты
Любой из разделов подобного окна может отображать значение глобальной переменной, чтобы показать, например, текущее состояние или какой-либо таймер.
Процедура хоуминга, как описывается выше, сделана через “HOMING_HANDLER.plc”, в Software PLC.
Если вам нужно отключить процедуру и полностью удалить всплывающие сообщения, добавьте команду
exit(99);
в начало процедуры «HOMING_HANDLER». По умолчанию данная строка закомментирована, и вы можете просто удалить символы комментария.
Чтобы изменения вступили в силу, вам нужно будет нажать кнопку «Сохранить код» и перезапустить программу.
Хоуминг ВЫКЛЮЧЕН:
main() { exit(99); ....
Хоуминг ВКЛЮЧЕН:
main() { //exit(99); ....