Страница 3 из 31

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

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

Дальше нужно сделать пины положения. Скинь свой hal/

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

Добавлено: 27 янв 2012, 23:06
Романов Семен
cnc_3040t.hal
hal созданный степконфигом
(2.76 КБ) 1230 скачиваний
custom.hal
hal в который добавлял - что бы не сбились настроки при запуске степконфига
(170 байт) 1197 скачиваний
Вот

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

Добавлено: 27 янв 2012, 23:09
Nick
Вот так добавь:
net xpos-cmd => compensation.x-map
net ypos-cmd => compensation.y-map

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

Добавлено: 27 янв 2012, 23:11
Nick
Так, вот новая версия, там будет пин enable, он пока не очень нужен, но вскоре понадобится.

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

Добавлено: 27 янв 2012, 23:16
Романов Семен
обновил копенсатитон.ру
1. зависать не будет?
2. компенсатион.аут - пин - меняется при передвижении х и у
3. что дальше?

мне в кратце потом ход работ скажешь? как работать то потом =))

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

Добавлено: 27 янв 2012, 23:18
Романов Семен
после замены файла - компенсатион.аут ПЕРЕСТАЛ ИЗМЕНЯТЬСЯ от нуля =((

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

Добавлено: 27 янв 2012, 23:23
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

Должно заработать

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

Добавлено: 27 янв 2012, 23:26
Романов Семен
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:~#

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

Добавлено: 27 янв 2012, 23:30
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 по-больше.

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

Добавлено: 27 янв 2012, 23:31
Nick
И halcmd setp compensation.enable 1 нужно после запуска EMC2

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

Добавлено: 27 янв 2012, 23:34
Романов Семен
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


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

Добавлено: 27 янв 2012, 23:37
Nick
Первый пункт обязательно!

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

Добавлено: 27 янв 2012, 23:37
Nick
в смысле 1-й это который добавить loadrt и т.д.

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

Добавлено: 27 янв 2012, 23:39
Романов Семен
сделал.... сейчас перепроверю

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

Добавлено: 27 янв 2012, 23:42
Романов Семен
как я понял проблема в строке addf sum2.0 base-thread

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

Добавлено: 27 янв 2012, 23:44
Nick
попробуй ее тогда в servo-thread, ей нужен floating point поток, а base-thread - это быстрый поток, может он без floating-point.

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

Добавлено: 27 янв 2012, 23:49
Романов Семен
ругается в дебаге: pin 'sum2.out' does not exist

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

Добавлено: 27 янв 2012, 23:49
Nick
sum2.0.out

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

Добавлено: 27 янв 2012, 23:56
Романов Семен
1/ опять зависал
2.
Screenshot-1.png (3394 просмотра) <a class='original' href='./download/file.php?id=3952&mode=view' target=_blank>Загрузить оригинал (18.41 КБ)</a>

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

Добавлено: 27 янв 2012, 23:59
Nick
Не, в addf нужно просто sum2.0!
И там, где sum2.out добавить 0, чтобы было sum2.0.out. Т.е. компонент sum2 . сущность №0 . пин out.