Не смог найти в форуме нужной информации.
Использую 4ю ось для дозатора через шприц. Отключил концевик и поиск концевика для этой оси (иначе жидкость выльется). В ini файле в [TRAJ] добавил POSITION_FILE = position.txt чтобы при следующий загрузке позиция шприца сохранялась. Но как выставить флаг axis.3.homed? Без него станок не хочет выполнять программу, требует выхода в концевики. Если в концевики выходить, то ось ставит этот флаг без перемещения оси, ведь HOME_SEARCH_VEL = 0.0, но при этом обнуляет позицию (((. Как добиться, чтобы флаг о том что ось вышла в концевик был, а позиция осталась из файла position.txt?
Помогите настроить ось на работу без концевика.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Помогите настроить ось на работу без концевика.
Ему не это надо.maratNC писал(а):Попробуй согласно таблицы ниже
Нормального решения эта задача не имеет. Только методом "через задницу", но надёжность такого решения сомнительна.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Помогите настроить ось на работу без концевика.
попробуй так :
настроить в конфиге REMAP
в ini добавить:
в Hal:
нужно чтоб joint.2 обнулялась в емс последней
ну или поставить вместо joint.2 ту ось ,которая обнуляется последней
в remap.py:
тут естественно путь к файлу прописать свой
================
что это всё делает :
после обнуления последней оси отдает MDI команду выполнить жкод G11 , в
котором читаем третью строку(позиция Z) и выполняем G10 L20 P1 Zn ,где n - это наше значение из position.txt
это если я правильно понял задачу
настроить в конфиге REMAP
в ini добавить:
Код: Выделить всё
[HALUI]
MDI_COMMAND=G11
[RS274NGC]
REMAP = G11 modalgroup=1 py=offsethomeв Hal:
Код: Выделить всё
net code-mdi halui.joint.2.is-homed halui.mdi-command-00ну или поставить вместо joint.2 ту ось ,которая обнуляется последней
в remap.py:
Код: Выделить всё
# --*-- coding:utf-8 --*--
from interpreter import *
from emccanon import MESSAGE
def offsethome(self,**words):
f = open('/home/nkp/linuxcnc/configs/sim.axis.twopass/position.txt','r')
lines = f.readlines()
f.close()
self.execute("(msg,G11)")
self.execute("G10 L20 P1 Z%f" % (float(lines[2])))================
что это всё делает :
после обнуления последней оси отдает MDI команду выполнить жкод G11 , в
котором читаем третью строку(позиция Z) и выполняем G10 L20 P1 Zn ,где n - это наше значение из position.txt
это если я правильно понял задачу
-
magrelo
- Кандидат
- Сообщения: 42
- Зарегистрирован: 27 ноя 2015, 11:53
- Репутация: 0
- Настоящее имя: Andrey
- Контактная информация:
Re: Помогите настроить ось на работу без концевика.
хорошо что простого решения нету ))) а то я стал думать уже что я такой тупой, описание не могу прочесть.. а зачем тогда вообще нужен POSITION_FILE? ведь это как раз для работы без концевиков? было бы логично осям без концевиков выставлять значение из position.txt и флаг axis.x.homed, а не обнулять все, после того как позиция из файла считана...
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Помогите настроить ось на работу без концевика.
Если использовать относительные перемещения по этой оси, абсолютная позиция не будет иметь значения.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Помогите настроить ось на работу без концевика.
если тебя в принципе устраивает реальная позиция всех осей перед включением,то можно поставить в иниmagrelo писал(а):а зачем тогда вообще нужен POSITION_FILE?
Код: Выделить всё
NO_FORCE_HOMING = 1