emc2 и со2 лазер

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: emc2 и со2 лазер

Сообщение nkp »

gendos писал(а):И вот это не пойму чтобы можно было отключать - надо еще один or2 и на него вывести выход toggle и motion.digital-out-XX
(для просмотра содержимого нажмите на ссылку)

Код: Выделить всё

# Создан stepconf в Wed Oct  9 22:06:44 2013
# Все изменения в этом файле будут перезаписаны
# при следующем запуске stepconf
loadrt core_xy_kins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hal_parport cfg="0x378 out  "
setp parport.0.reset-time 3500
loadrt stepgen step_type=0,0,0
loadrt abs count=1
loadrt pwmgen output_type=1
loadrt scale names=scale.spindle

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf pwmgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf scale.spindle servo-thread
addf pwmgen.update servo-thread
addf abs.0 servo-thread

#==================================================
        loadrt wcomp
    loadrt integ
    loadrt toggle
    loadrt edge
    
    loadrt or2 
    addf or2.0 servo-thread 
     
    addf wcomp.0 servo-thread
    addf integ.0 servo-thread
    addf toggle.0 servo-thread
    addf edge.0 servo-thread

    net current-vel integ.0.in
    net res integ.0.reset wcomp.0.over  edge.0.in 
    net ss  integ.0.out wcomp.0.in
    setp wcomp.0.max 1
    net e_out edge.0.out  toggle.0.in
    setp edge.0.out-width-ns 50
    
loadrt and2
addf and2.0 servo-thread

net spindle-cmd <= motion.spindle-speed-out 
    net spindle-cmd => scale.spindle.in

    net current-vel <= motion.current-vel
    net current-vel => scale.spindle.gain

    net spindle-cmd-out <= scale.spindle.out
    net spindle-cmd-out => pwmgen.0.value




net spindle-on <= motion.spindle-on => and2.0.in0
net enbl   and2.0.out  pwmgen.0.enable
net s_out toggle.0.out or2.0.in1 
net or_out or2.0.out  and2.0.in1
net digital_out motion.digital-out-00 or2.0.in0
#-----------------------------------------------------------
net spindle-pwm <= pwmgen.0.pwm

setp pwmgen.0.pwm-freq 1000
setp pwmgen.0.scale 10000000
setp pwmgen.0.offset 0.01

#setp pwmgen.0.pwm-freq 100.0
#setp pwmgen.0.scale 701666.6666667
#setp pwmgen.0.offset 0.01
setp pwmgen.0.dither-pwm true
net spindle-cw <= motion.spindle-forward
#net probe-in => motion.probe-input

net estop-out => parport.0.pin-01-out
setp parport.0.pin-02-out-invert 1
net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
setp parport.0.pin-03-out-invert 1
net xdir => parport.0.pin-03-out
setp parport.0.pin-04-out-invert 1
net ystep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1
net ydir => parport.0.pin-05-out
setp parport.0.pin-06-out-invert 1
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
setp parport.0.pin-07-out-invert 1
net zdir => parport.0.pin-07-out
setp parport.0.pin-14-out-invert 1
net spindle-cw => parport.0.pin-14-out
setp parport.0.pin-16-out-invert 1
net spindle-pwm => parport.0.pin-16-out


setp parport.0.pin-17-out-invert 1
#net xenable => parport.0.pin-17-out



#net probe-in <= parport.0.pin-10-in











net probe parport.0.pin-10-in-not => motion.probe-input
net probe-in <= parport.0.pin-10-in


net all-limit <= parport.0.pin-11-in-not
net home-z <= parport.0.pin-12-in-not






setp stepgen.1.position-scale [AXIS_0]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 10200
setp stepgen.1.dirsetup 10200
setp stepgen.1.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.1.position-cmd
net xpos-fb stepgen.1.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.1.step
net xdir <= stepgen.1.dir
net xenable axis.0.amp-enable-out => stepgen.1.enable
net all-limit => axis.1.neg-lim-sw-in
net all-limit => axis.1.pos-lim-sw-in



setp stepgen.0.position-scale [AXIS_1]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 10200
setp stepgen.0.dirsetup 10200
setp stepgen.0.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.0.position-cmd
net ypos-fb stepgen.0.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.0.step
net ydir <= stepgen.0.dir
net yenable axis.1.amp-enable-out => stepgen.0.enable

net all-limit => axis.0.neg-lim-sw-in
net all-limit => axis.0.pos-lim-sw-in



setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 10200
setp stepgen.2.dirsetup 10200
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable
net home-z => axis.2.home-sw-in
net all-limit => axis.2.neg-lim-sw-in
net all-limit => axis.2.pos-lim-sw-in


net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in
















net tool-number <= iocontrol.0.tool-prep-number
net tool-change-loopback iocontrol.0.tool-change => iocontrol.0.tool-changed
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
пробовать вкл M64 P0
выкл M65 P0
Последний раз редактировалось nkp 28 янв 2014, 23:37, всего редактировалось 1 раз.
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: emc2 и со2 лазер

Сообщение gendos »

nkp писал(а):пробовать вкл G64 P0
выкл G65 P0
Пишет использован неизвестный G код
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: emc2 и со2 лазер

Сообщение nkp »

позновато уже :oops:
M64P0
M65 P0
========
подправлю вверху...
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: emc2 и со2 лазер

Сообщение gendos »

В Ростове завалило все снегом , не смог сегодня добраться на работу, так как проверить на лазере не могу
хотел заняться настройкой EMC2.
Хочу добавить на панель индикаторов на которые вывести данные например с spindle-cmd-out ,
current-vel ,мощность лазера и другие какие могут понадобиться при работе и настройке
Индикаторы типа таких как на фото, или другие.
Как это можно сделать ?
Вложения
1.png (2423 просмотра) <a class='original' href='./download/file.php?id=24038&mode=view' target=_blank>Загрузить оригинал (135.47 КБ)</a>
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: emc2 и со2 лазер

Сообщение Nick »

0. Устанавливаешь Glade (sudo apt-get install glade)
1. создаешь панель в GladeVCP
2. привязываешь пины в custom_postgui.hal
(http://linuxcnc.org/docs/html/gui/gladevcp.html)
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: emc2 и со2 лазер

Сообщение gendos »

Nick писал(а):0. Устанавливаешь Glade (sudo apt-get install glade)
1. создаешь панель в GladeVCP
2. привязываешь пины в custom_postgui.hal
(http://linuxcnc.org/docs/html/gui/gladevcp.html)
Просмотрел.Понял что это для меня сложновато.
Я думал что можно взять за образец какую нибудь конфигурацию , выдернуть от туда индикатор и прописать
параметр который он может отображать и все.
Так что я думаю мне можно без этого обойтись.
А то меня уже время поджимает скоро лето людям нужна обувь с гравировкой и перфорацией.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: emc2 и со2 лазер

Сообщение Nick »

Да там просто все - рисуешь индикаторы, ставишь им всякие параметры и приписываешь пины и все.
Можно еще на pyvcp сделать - там проще
http://www.linuxcnc.org/docs/2.4/html/h ... tml#r1_6_4
Смотри пункт 1.6.4.5
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: emc2 и со2 лазер

Сообщение gendos »

Вставил в custompanel.xml
<meter>
<halpin>"mymeter"</halpin>
<text>"cmd-out"</text>
<subtext>" "</subtext>
<size>250</size>
<min_>0</min_>
<max_>15.5</max_>
<majorscale>1</majorscale>
<minorscale>0.2</minorscale>
<region1>(14.5,15.5,"yellow")</region1>
<region2>(12,14.5,"green")</region2>
<region3>(0,12,"red")</region3>
</meter>
получил индикатор типа спидометра, как прописать в хал ,чтоб там отображалось например spindle-cmd-out
или ссылку как это сделать ,а то в английском трудно найти нужное место.
Вложения
2.png (2401 просмотр) <a class='original' href='./download/file.php?id=24056&mode=view' target=_blank>Загрузить оригинал (109.7 КБ)</a>
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: emc2 и со2 лазер

Сообщение Serg »

Примерно так:
net spindle-cmd-out pyvcp.mymeter
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: emc2 и со2 лазер

Сообщение gendos »

Удалил индикатор спидометр ,чтоб не усложнять для себя задачу.
Оставил один индикатор.
Понял что показания на него задаются такой строкой
net spindle-cmd => abs.0.in
net absolute-spindle-vel <= abs.0.out => pyvcp.spindle-speed
Могу ее изменять и он будет показывать разные сигналы.
Посоветуйте какие мне сигналы могут понадобиться при настройке лазера и как они
пишутся. Потом создам нужное количество индикаторов.
Вложения
3.png (2391 просмотр) <a class='original' href='./download/file.php?id=24059&mode=view' target=_blank>Загрузить оригинал (104.95 КБ)</a>
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: emc2 и со2 лазер

Сообщение gendos »

nkp писал(а):пробовать вкл M64 P0
выкл M65 P0
Добрался сегодня до лазера , проверил все работает.
Получилось подобрать параметры
setp pwmgen.0.pwm-freq 10000
setp pwmgen.0.scale 100000
setp pwmgen.0.offset 0.034
Вот рабочий ХАЛ
Все устраивает ,так что теперь не нужно добавлять ни каких индикаторов.
Вся информация о мощности и типа линии будет в G коде.
Есть один небольшой недостаток, визуально на коже пунктир смотрится красивее если прожиг длиннее чем
пауза . Может есть возможность сделать паузу раза в два короче ?
Но и без этого я думаю на обуви будет неплохо смотреться пунктир. Спасибо .
Вложения
graver22.hal
(5.46 КБ) 985 скачиваний
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: emc2 и со2 лазер

Сообщение nkp »

gendos писал(а):Может есть возможность сделать паузу раза в два короче ?
почему бы не попробовать :thinking:
подправим...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: emc2 и со2 лазер

Сообщение nkp »

попробуй :
(для просмотра содержимого нажмите на ссылку)

Код: Выделить всё

    # Создан stepconf в Wed Oct  9 22:06:44 2013
    # Все изменения в этом файле будут перезаписаны
    # при следующем запуске stepconf
    loadrt core_xy_kins
    loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
    loadrt probe_parport
    loadrt hal_parport cfg="0x378 out  "
    setp parport.0.reset-time 3500
    loadrt stepgen step_type=0,0,0
    loadrt abs count=1
    loadrt pwmgen output_type=1
    loadrt scale names=scale.spindle

    addf parport.0.read base-thread
    addf stepgen.make-pulses base-thread
    addf pwmgen.make-pulses base-thread
    addf parport.0.write base-thread
    addf parport.0.reset base-thread

    addf stepgen.capture-position servo-thread
    addf motion-command-handler servo-thread
    addf motion-controller servo-thread
    addf stepgen.update-freq servo-thread
    addf scale.spindle servo-thread
    addf pwmgen.update servo-thread
    addf abs.0 servo-thread

    #==================================================
            loadrt wcomp
        loadrt integ
        loadrt toggle
        loadrt edge
        
        loadrt or2 
         
        loadrt mux2
        addf   mux2.0 servo-thread 
        setp mux2.0.in0 1.5  #длина стежка 
        setp mux2.0.in1 .75  #расстояние между стежками
        
        addf or2.0 servo-thread 
         
        addf wcomp.0 servo-thread
        addf integ.0 servo-thread
        addf toggle.0 servo-thread
        addf edge.0 servo-thread

        net current-vel integ.0.in
        net res integ.0.reset wcomp.0.over  edge.0.in 
        net ss  integ.0.out wcomp.0.in
        setp wcomp.0.max 1.5
        net e_out edge.0.out  toggle.0.in
        setp edge.0.out-width-ns 50
        
    loadrt and2
    addf and2.0 servo-thread

    net spindle-cmd <= motion.spindle-speed-out 
        net spindle-cmd => scale.spindle.in

        net current-vel <= motion.current-vel
        net current-vel => scale.spindle.gain

        net spindle-cmd-out <= scale.spindle.out
        net spindle-cmd-out => pwmgen.0.value

    net spindle-on <= motion.spindle-on => and2.0.in0
    net enbl   and2.0.out  pwmgen.0.enable
    net s_out toggle.0.out or2.0.in1 
    net or_out or2.0.out  and2.0.in1
    net digital_out motion.digital-out-00 or2.0.in0
    
    net s_out mux2.0.sel
    net l_step  wcomp.0.max  mux2.0.out
    #-----------------------------------------------------------
    net spindle-pwm <= pwmgen.0.pwm

    setp pwmgen.0.pwm-freq 10000
    setp pwmgen.0.scale 100000
    setp pwmgen.0.offset 0.034

    setp pwmgen.0.dither-pwm true
    net spindle-cw <= motion.spindle-forward
    #net probe-in => motion.probe-input

    net estop-out => parport.0.pin-01-out
    setp parport.0.pin-02-out-invert 1
    net xstep => parport.0.pin-02-out
    setp parport.0.pin-02-out-reset 1
    setp parport.0.pin-03-out-invert 1
    net xdir => parport.0.pin-03-out
    setp parport.0.pin-04-out-invert 1
    net ystep => parport.0.pin-04-out
    setp parport.0.pin-04-out-reset 1
    setp parport.0.pin-05-out-invert 1
    net ydir => parport.0.pin-05-out
    setp parport.0.pin-06-out-invert 1
    net zstep => parport.0.pin-06-out
    setp parport.0.pin-06-out-reset 1
    setp parport.0.pin-07-out-invert 1
    net zdir => parport.0.pin-07-out
    setp parport.0.pin-14-out-invert 1
    net spindle-cw => parport.0.pin-14-out
    setp parport.0.pin-16-out-invert 1
    net spindle-pwm => parport.0.pin-16-out


    setp parport.0.pin-17-out-invert 1
    #net xenable => parport.0.pin-17-out

    net probe parport.0.pin-10-in-not => motion.probe-input
    net probe-in <= parport.0.pin-10-in
    net all-limit <= parport.0.pin-11-in-not
    net home-z <= parport.0.pin-12-in-not

    setp stepgen.1.position-scale [AXIS_0]SCALE
    setp stepgen.1.steplen 1
    setp stepgen.1.stepspace 0
    setp stepgen.1.dirhold 10200
    setp stepgen.1.dirsetup 10200
    setp stepgen.1.maxaccel [AXIS_0]STEPGEN_MAXACCEL
    net xpos-cmd axis.0.motor-pos-cmd => stepgen.1.position-cmd
    net xpos-fb stepgen.1.position-fb => axis.0.motor-pos-fb
    net xstep <= stepgen.1.step
    net xdir <= stepgen.1.dir
    net xenable axis.0.amp-enable-out => stepgen.1.enable
    net all-limit => axis.1.neg-lim-sw-in
    net all-limit => axis.1.pos-lim-sw-in

    setp stepgen.0.position-scale [AXIS_1]SCALE
    setp stepgen.0.steplen 1
    setp stepgen.0.stepspace 0
    setp stepgen.0.dirhold 10200
    setp stepgen.0.dirsetup 10200
    setp stepgen.0.maxaccel [AXIS_1]STEPGEN_MAXACCEL
    net ypos-cmd axis.1.motor-pos-cmd => stepgen.0.position-cmd
    net ypos-fb stepgen.0.position-fb => axis.1.motor-pos-fb
    net ystep <= stepgen.0.step
    net ydir <= stepgen.0.dir
    net yenable axis.1.amp-enable-out => stepgen.0.enable

    net all-limit => axis.0.neg-lim-sw-in
    net all-limit => axis.0.pos-lim-sw-in

    setp stepgen.2.position-scale [AXIS_2]SCALE
    setp stepgen.2.steplen 1
    setp stepgen.2.stepspace 0
    setp stepgen.2.dirhold 10200
    setp stepgen.2.dirsetup 10200
    setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
    net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
    net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
    net zstep <= stepgen.2.step
    net zdir <= stepgen.2.dir
    net zenable axis.2.amp-enable-out => stepgen.2.enable
    net home-z => axis.2.home-sw-in
    net all-limit => axis.2.neg-lim-sw-in
    net all-limit => axis.2.pos-lim-sw-in


    net estop-out <= iocontrol.0.user-enable-out
    net estop-out => iocontrol.0.emc-enable-in

    net tool-number <= iocontrol.0.tool-prep-number
    net tool-change-loopback iocontrol.0.tool-change => iocontrol.0.tool-changed
    net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: emc2 и со2 лазер

Сообщение gendos »

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

Re: emc2 и со2 лазер

Сообщение Nick »

О, через mux, интересненько, я до этого не сразу дошел! :good:
nkp писал(а):setp wcomp.0.max 1.5
Наверное вместо этого надо было написать:

Код: Выделить всё

net wcomp-max <= mux2.0.out => wcomp.0.max


--------
нашел, это уже есть :good:

Код: Выделить всё

    net s_out mux2.0.sel
    net l_step  wcomp.0.max  mux2.0.out
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: emc2 и со2 лазер

Сообщение gendos »

Проверил , все работает , только длина стежка это расстояние между стежками, а расстояние между стежками это
длина стежка
setp mux2.0.in0 1.5 #длина стежка
setp mux2.0.in1 .75 #расстояние между стежками
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: emc2 и со2 лазер

Сообщение gendos »

nkp писал(а):
gendos писал(а):что бы станок не запускался пока не найдены ноли.
как вариант в конец ж-кода поиска нулей дописывать строку:
M64 P00
а запускать станок через кнопку halui.machine.on , которая проверяет motion.digital-out-00
(пин motion.digital-out-00 делает активным команда M64 P00)
то есть , пока не выполнен наш ж-код до конца - halui.machine.on не может запуститьпрограмму
зы
но ручные режимы и mdi будут работать (что не есть хорошо)
наверно можно придумать более полное решение...
В другой теме я спрашивал как сделать чтоб G код файла гравировки не запускался пока не будет
выполнен G код поиска ноля.Реализовать не пробовал.Сейчас хочу вернуться к этому вопросу здесь.
Вот мой G код поиска ноля
G38.4 Y1000 F5000
G38.2 Y-1000 F150
G92 Y5
G0 Y0
g92 y60
G38.4 X-1000 F5000
G38.2 X1000 F150
G92 X-64.5
g0 x0y0
M30
Я могу туда добавить в конец M64 P00 , а что делать с "а запускать станок через кнопку halui.machine.on , которая проверяет motion.digital-out-00 "
И подходит ли этот метод в связи с последними изменениями в HAL ?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: emc2 и со2 лазер

Сообщение nkp »

наверно я думал тогда про запуск G-кода через пин halui.program.run :thinking:
у этого решения есть минусы (уже не раз с этим сталкивались)
после активации пина motion.digital-out-01 командой M64 P01 он остается True пока его не "выключить" M65P01 ...
получается , возможны различные ситуации,где наша система ограничения работать не будет(например после авост)
================
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: emc2 и со2 лазер

Сообщение gendos »

Я хочу хоть как то застраховаться от того случая, когда оператор забудет запустить
G код поиска ноля и включит файл гравировки. Я не сделал конечных выключателей.
Лазер может с разгону удариться и собьется настройка зеркал.
Поэтому другими ситуациями когда ограничение не будет работать можно принебречь
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: emc2 и со2 лазер

Сообщение nkp »

пока ничего лучшего не находится... ;) кнопкой "HOME" запускаем MDI-команду o<home1> call
для этого:
в ini добавляем

Код: Выделить всё

[HALUI]

MDI_COMMAND = o<home1>  call 
а в файл home1.ngc пишем наш код нахождения нулей:

Код: Выделить всё

o<home1> sub
G38.4 Y1000 F5000
G38.2 Y-1000 F150
G92 Y5
G0 Y0
g92 y60
G38.4 X-1000 F5000
G38.2 X1000 F150
G92 X-64.5
g0 x0y0
M64 P01
o<home1> endsub 
сам файл положить в папку с G-кодами
--------------
в ini в секции [HAL] должны быть строки:

Код: Выделить всё

[HAL]

HALUI = halui
POSTGUI_HALFILE  = postgui.hal
в postgui.hal:

Код: Выделить всё

net home1 halui.mdi-command-00 pyvcp.home1
#net p-start  halui.program.run pyvcp.p-start
net block-run axisui.block-run  motion.digital-out-01
postgui.hal конечно в папке конфига...
----------------
файл панельки:
5.xml
(353 байт) 783 скачивания
в ini (секция [DISPLAY]) добавляем :
PYVCP = 5.xml
+++++++++++
axis.rar
(27.16 КБ) 341 скачивание
в архиве файл axis
заменяем код в /usr/bin/axis
Ответить

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