Как например сделать несколько осей Z. WLMill

У нас есть станок с ЧПУ у которого две координаты X ,Y. И две оси Z, которые могут перемещаться независимо друг от друга и имеют разные датчики поиска положения, приводы и.т.д.. .

Например два шпинделя с разными инструментами и характеристиками. Или плазма и газовый резак.

Тогда мы берём и определяем наши оси как X,Y,Z1,Z2.

Но в программе(G коде) у нас только одна Z. Для этого мы можем установить какую именно Z1 или Z2 использовать для работе в G коде. Это можно сделать в ручную:

Тогда теперь у нас Z1=Z. И если нажать на Z то высветится её имя (Z1).

Если мы хотим “подвигать” или посмотреть состояние всех осей, а не только G(XYZABC). То нужно установить галочку:

Переключение с одной Z на другую можно сделать и в скриптах. При этом не должно происходит перемещения!!! Это можно проверить возможностью ручных перемещений. Если они возможны, то меняем G имя.

MACHINE.isPossiblyManual() // 1 возможны, 0 нет
DRIVEZ1.setGName("")  //сбросили G имя оси Z1
DRIVEZ2.setGName("Z") //установили G имя оси Z2 на Z
MACHINE.initGDrives() //применили изменения. данная функция вызывается при включении станка автоматически.

Для удобства работы с G приводами были добавлены функции которые перед словом Drive имеют G (GDrive). То есть какое имя использовать…

MACHINE.goGDriveManual - будет использовать G имя 
MACHINE.goDriveManual - будет использовать имя привода (Z1/Z2 в нашем примере например)

P.S. Данная функция (изменения G имени) ещё не была проверена при работе в программе