Стала доступна функция включения и выключения выхода по ходу выполнения программы. Без остановки движения и выполнения скрипта например. Эта функция выполняется сугубо контроллером для чего ему помещается соотв. элемент в буфер.
Для её использования необходимо создать таблицу соответствия выходам указанным в программе (g коде) и выходам контроллера. Делается это с помощью окна редактирования:
То есть мы указываем что выходу (gcode)1 будет соотв. выход (device) 4( цифровому выход (dout) контроллера.
Тогда в программе мы можем включит (установить в 1) этот выход командой M62 P1. И это произойдёт когда X будет в положении 100:
G0 X0
G1 X100 F500
M62 P1
G1 X200
Аналогично и M63 выключение.
Для M62/63 есть 3 модификатора, которые позволяют сместить точку выполнения команды.
I — (время мс) Временное смещение. Позволяет задавать время смещения выполнения M62/63 в мс.
J -(позиция.) Положение смещения. Позволяет задавать положение смещения выполнения M62/63. (Только XYZ)
K- (коэф.) Коэффициент смещения. Позволяет задавать положение смещения выполнения M62/63 через коэффициент.
Причём смещение можно задавать как от начала последующего элемента (в этом случае смещения положительные), так и от его конца (в этом случае смещения отрицательные).
Можно переписать предыдущий пример так
G0 X0
M62 P1 K0.5 //устанавливаем задание что включить 1 выход(g кода) когда выполним половину. Или останется половина (К=-0.5)
G1 X200 F500
Также можно включать несколько заданий в один элемент. Например
G0 X0
M62 P1 K0.5 //устанавливаем задание что включить 1 выход(g кода) когда выполним половину.
M63 P1 K-0.25 //устанавливаем задание что выключить 1 выход(g кода) когда до конца останется 25%
G1 X200 F500
Также имеется поддержка M64/65, которые включают и выключают выходы мгновенно.
Видео с пояснениями: