Дальше нужно сделать пины положения. Скинь свой hal/
EMC2 и неровная поверхность гравировки [РЕШЕНО]
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 и неровная поверхность гравировки
Не надо удалять нули, они нужны
. При пробинге в файл записываются все координаты всех осей, на всякий случай, а осей всего 9. XYZABCUVW (это по умолчанию, можно больше, если сильно нужно
)
Дальше нужно сделать пины положения. Скинь свой hal/
Дальше нужно сделать пины положения. Скинь свой hal/
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 и неровная поверхность гравировки
Вот так добавь:
net xpos-cmd => compensation.x-map
net ypos-cmd => compensation.y-map
net xpos-cmd => compensation.x-map
net ypos-cmd => compensation.y-map
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 и неровная поверхность гравировки
Так, вот новая версия, там будет пин enable, он пока не очень нужен, но вскоре понадобится.
- Вложения
-
- compensation.py.tar.gz
- (1.6 КБ) 1286 скачиваний
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: EMC2 и неровная поверхность гравировки
обновил копенсатитон.ру
1. зависать не будет?
2. компенсатион.аут - пин - меняется при передвижении х и у
3. что дальше?
мне в кратце потом ход работ скажешь? как работать то потом =))
1. зависать не будет?
2. компенсатион.аут - пин - меняется при передвижении х и у
3. что дальше?
мне в кратце потом ход работ скажешь? как работать то потом =))
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: EMC2 и неровная поверхность гравировки
после замены файла - компенсатион.аут ПЕРЕСТАЛ ИЗМЕНЯТЬСЯ от нуля =((
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 и неровная поверхность гравировки
Все правильно. Чтобы начал меняться в консоле новой
halcmd setp compensation.enable 1
потом нужно поменять в hal основном
1. добавить вверху:
loadrt sum2
addf sum2.0 base-thread
закоментировать строку 66
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
и добавить, можно в отдельный :
net zpos-cmd axis.2.motor-pos-cmd => sum2.0.in0
net comp compensation.out => sum2.0.in1
net zpos-cmd-comp sum2.out => stepgen.2.position-cmd
Должно заработать
halcmd setp compensation.enable 1
потом нужно поменять в hal основном
1. добавить вверху:
loadrt sum2
addf sum2.0 base-thread
закоментировать строку 66
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
и добавить, можно в отдельный :
net zpos-cmd axis.2.motor-pos-cmd => sum2.0.in0
net comp compensation.out => sum2.0.in1
net zpos-cmd-comp sum2.out => stepgen.2.position-cmd
Должно заработать
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: EMC2 и неровная поверхность гравировки
root@semen-desktop:~# halcmd setp compensation.enable 1
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: Locked memory limit is 64KiB, recommended at least 20480KiB.
This can cause the error 'could not open shared memory'.
For more information, see
http://wiki.linuxcnc.org/cgi-bin/emcinf ... ckedMemory
Segmentation fault
root@semen-desktop:~#
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: Locked memory limit is 64KiB, recommended at least 20480KiB.
This can cause the error 'could not open shared memory'.
For more information, see
http://wiki.linuxcnc.org/cgi-bin/emcinf ... ckedMemory
Segmentation fault
root@semen-desktop:~#
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 и неровная поверхность гравировки
попробуй halrun -U
и ulimit -l 20480
Дальше схема такая:
1. Запускаешь emc2. Делаешь halcmd setp compensation.enable 0. (потом расскажу, как на кнопочки все завести).
2. Сканируешь плату. Тем скриптом который вверху. (открываешь ngc вставил параметры и поехали).
3. делаешь в консоле halcmd setp compensation.reset 1, скрипт должен считать файл скана.
4. halcmd setp compensation.enable 1, чтобы включить компенсацию.
5. загружаешь файл со своей программой и выполняешь.
Потом опишу как это можно будет сделать автоматически чисто на Gкоде. Сейчас уже домой хочу, мне еще час ехать...
Давай бегом пробуй, заработает или нет, интересно же
.
Если выскочит Joint following error, то тупо в ини поставь Ferror по оси Z по-больше.
и ulimit -l 20480
Дальше схема такая:
1. Запускаешь emc2. Делаешь halcmd setp compensation.enable 0. (потом расскажу, как на кнопочки все завести).
2. Сканируешь плату. Тем скриптом который вверху. (открываешь ngc вставил параметры и поехали).
3. делаешь в консоле halcmd setp compensation.reset 1, скрипт должен считать файл скана.
4. halcmd setp compensation.enable 1, чтобы включить компенсацию.
5. загружаешь файл со своей программой и выполняешь.
Потом опишу как это можно будет сделать автоматически чисто на Gкоде. Сейчас уже домой хочу, мне еще час ехать...
Давай бегом пробуй, заработает или нет, интересно же
Если выскочит Joint following error, то тупо в ини поставь Ferror по оси Z по-больше.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 и неровная поверхность гравировки
И halcmd setp compensation.enable 1 нужно после запуска EMC2
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: EMC2 и неровная поверхность гравировки
Сделал все кроме первого пункта. см. предыдущее мое сообщениеNick писал(а):Все правильно. Чтобы начал меняться в консоле новой
halcmd setp compensation.enable 1
потом нужно поменять в hal основном
1. добавить вверху:
loadrt sum2
addf sum2.0 base-thread
закоментировать строку 66
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
и добавить, можно в отдельный :
net zpos-cmd axis.2.motor-pos-cmd => sum2.0.in0
net comp compensation.out => sum2.0.in1
net zpos-cmd-comp sum2.out => stepgen.2.position-cmd
Должно заработать
Запуск.
Ошибка:
Код: Выделить всё
root@semen-desktop:~# cat linuxcnc_debug.txt
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
3904
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
root@semen-desktop:~# ^C
root@semen-desktop:~#
root@semen-desktop:~# cat linuxcnc_print.txt
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/linuxcnc
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/share/linuxcnc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.5
INIFILE=/home/semen/linuxcnc/configs/cnc_3040t/cnc_3040t.ini
PARAMETER_FILE=linuxcnc.var
TASK=milltask
HALUI=
DISPLAY=axis
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Killing task linuxcncsvr, PID=3904
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 и неровная поверхность гравировки
Первый пункт обязательно!
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 и неровная поверхность гравировки
в смысле 1-й это который добавить loadrt и т.д.
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: EMC2 и неровная поверхность гравировки
сделал.... сейчас перепроверю
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: EMC2 и неровная поверхность гравировки
как я понял проблема в строке addf sum2.0 base-thread
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 и неровная поверхность гравировки
попробуй ее тогда в servo-thread, ей нужен floating point поток, а base-thread - это быстрый поток, может он без floating-point.
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: EMC2 и неровная поверхность гравировки
ругается в дебаге: pin 'sum2.out' does not exist
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 и неровная поверхность гравировки
sum2.0.out
-
Романов Семен
- Почётный участник

- Сообщения: 646
- Зарегистрирован: 23 янв 2012, 23:25
- Репутация: -80
- Откуда: Самара
Re: EMC2 и неровная поверхность гравировки
1/ опять зависал
2.
2.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: EMC2 и неровная поверхность гравировки
Не, в addf нужно просто sum2.0!
И там, где sum2.out добавить 0, чтобы было sum2.0.out. Т.е. компонент sum2 . сущность №0 . пин out.
И там, где sum2.out добавить 0, чтобы было sum2.0.out. Т.е. компонент sum2 . сущность №0 . пин out.
