EMC2 и неровная поверхность гравировки [РЕШЕНО]

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

Не надо удалять нули, они нужны :). При пробинге в файл записываются все координаты всех осей, на всякий случай, а осей всего 9. XYZABCUVW (это по умолчанию, можно больше, если сильно нужно :) )

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

Re: EMC2 и неровная поверхность гравировки

Сообщение Романов Семен »

cnc_3040t.hal
hal созданный степконфигом
(2.76 КБ) 1209 скачиваний
custom.hal
hal в который добавлял - что бы не сбились настроки при запуске степконфига
(170 байт) 1173 скачивания
Вот
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

Вот так добавь:
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 и неровная поверхность гравировки

Сообщение Nick »

Так, вот новая версия, там будет пин enable, он пока не очень нужен, но вскоре понадобится.
Вложения
compensation.py.tar.gz
(1.6 КБ) 1257 скачиваний
Романов Семен
Почётный участник
Почётный участник
Сообщения: 646
Зарегистрирован: 23 янв 2012, 23:25
Репутация: -80
Откуда: Самара

Re: EMC2 и неровная поверхность гравировки

Сообщение Романов Семен »

обновил копенсатитон.ру
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 и неровная поверхность гравировки

Сообщение 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

Должно заработать
Романов Семен
Почётный участник
Почётный участник
Сообщения: 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:~#
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

попробуй 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коде. Сейчас уже домой хочу, мне еще час ехать...
Давай бегом пробуй, заработает или нет, интересно же :hehehe:.

Если выскочит Joint following error, то тупо в ини поставь Ferror по оси Z по-больше.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

И 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 »

Первый пункт обязательно!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

в смысле 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 и неровная поверхность гравировки

Сообщение Nick »

попробуй ее тогда в 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 и неровная поверхность гравировки

Сообщение Nick »

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

Re: EMC2 и неровная поверхность гравировки

Сообщение Романов Семен »

1/ опять зависал
2.
Screenshot-1.png (3233 просмотра) <a class='original' href='./download/file.php?id=3952&sid=633ff675d418e22ee222c21a39b3a62f&mode=view' target=_blank>Загрузить оригинал (18.41 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки

Сообщение Nick »

Не, в addf нужно просто sum2.0!
И там, где sum2.out добавить 0, чтобы было sum2.0.out. Т.е. компонент sum2 . сущность №0 . пин out.
Ответить

Вернуться в «LinuxCNC»