detrin написал(а):Да ладно? Откуда тогда пульт знает какая должна быть скорость на G0 ? Ведь в g-коде не задаётся скорость для G0.
Скорость ручных перемещений на скорости Hi и является скоростью G0. И в настройках можно задать разные скорости для осей.
В G-коде не задается скорость G0? Вы всерьез так думаете? Это Ваше умозаключение или просто предположение? Все прекрасно задается. Еще с момента создания G-кода сразу же была такая возможность.
Если бы Вы были более внимательным, то прочитали бы мое сообщение и поняли что скорость можно задавать для G0 и через постпроцессор:
RAPID_RATE_MOVE = "G0[X][Y][Z]F1800.0". При этом настройки пульта будут игнорироваться, так как скорость F прописывается непосредственно в G-код программы.
Если указать RAPID_RATE_MOVE = "G0[X][Y][Z]", то скорость будет браться из настроек пульта не из максимальной скорости, как вы написали, а из настроек скорости свободного перемещения в пульте. Эти настройки сразу действуют на все три оси одновременно. При этом скорость G0 в G-код не прописывается, а прописываются только координаты. Поэтому пульт, видя что в программе не указана F-скорость для G0, сам подставляет свою.
Также есть вариант указать RAPID_RATE_MOVE = "G0[X][Y][Z][F]" - в этом случае скорость G0 будет браться из последней скорости F перемещения в программе, будь то G0, G1, G2 или G3. Т.е. если в программе мы указали подачу в 500, а после этого пошел подъем фрезы и перемещение (G0), то скорость F для G0 будет равна 500, и это пропишется в G-код программы.
А Ваши, "Да ладно... " ни о чем конкретном не говорят, Вы уж извините...
Возвращаясь к моему вопросу. Сам на него и нашел ответ, изучая мануал постпроцессора арткама. Итак, для того чтобы разделить скорости G0 XY с G0 Z нужно написать следующее:
RAPID_RATE_MOVE = "G0[X][Y]F4500.0"
RETRACT_MOVE = "G0[Z]F1800.0"
Первая команда устанавливает скорость для XY равную 4500, а вторая команда устанавливает скорость подъема по Z равную 1800. Таким образом все отлично работает.
Отредактировано musicman3 (10-01-2016 02:02:23)