Необходимо настроить ЕМС под плазморез.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение 1240 »

Выполнил
nkp писал(а):emc -d
Появилось предложение выбрать конфигурацию.

первый раз выполнил не редактируя Plasma_xyz.hal Plasma_XYZ.ini

ЕМС запустилась нормально.


После замены содержимого, программа начала запускаться, но не запустилась

Содержимое окна в прикрепленном файле.
Вложения
сообщение об ошибке.tar.gz
(2.37 КБ) 1010 скачиваний
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение nkp »

скорей всего ошибки при копировании-переносе с виндовс
с таким мазохизмом можно вам только посочувствовать :)
------------------
можно пойти двумя путями:
1. я выложу файлы как есть (с изменениями)
и не надо будет редактировать - замените
2. в рабочих файлах поудалять строки и внести изменения ,пробегаясь построчно
не забывая про резервирование
вот файлы (еще раз запустил убедиться)
Plasma_xyz.hal
(2.87 КБ) 1035 скачиваний
Plasma_xyz.ini
(1.47 КБ) 1085 скачиваний
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение 1240 »

Начальная загрузка произошла. (прекрасно)

Вижу две оси ХУ (прекрасно)

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

Re: Необходимо настроить ЕМС под плазморез.

Сообщение nkp »

1240 писал(а):Можно сделать чтобы и с помощю Визарда можно было конфигурацию поднастраивать?
забудьте о нем навсегда
он затрет вашу работу
все это делается вручную очень даже просто
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение 1240 »

Nick писал(а):Наверное можно из этого конфига еще pwm убрать...
Что Вы скажите по этому поводу?
Или это лишнее?
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение 1240 »

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

Re: Необходимо настроить ЕМС под плазморез.

Сообщение nkp »

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

Re: Необходимо настроить ЕМС под плазморез.

Сообщение nkp »

ещё вот сегодня комментировать пытался готовый хал
может внесет чуть-чуть ясности в халстроение:

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

# loadrt - (от "loads a real time") - загружаем компонент реального времени.
# loadrt trivkins - загружаем компонент кинематики ,в нашем случае - "triv" - тривиальную (есть ряд других) 
# http://www.linuxcnc.org/docs/2.5/html/man/man9/trivkins.9.html
loadrt trivkins
# загружаем Motion Controller - контроллер движения.Он выполняет расчет таектории.Тут применена ссылка ([EMCMOT]EMCMOT) на строку EMCMOT 
# в разделе [EMCMOT] ini-файла.Там у нас строка EMCMOT = motmod.То есть мы в hal-файле могли бы прописать  loadrt motmod 
# base_period_nsec - период программного генератора шагов.Один из основополагающих параметров ЕМС.
# Его значение - ссылка на ini-файл(BASE_PERIOD = 100000) ,то есть указан период в наносекундах
# servo_period_nsec -  более медленные поток для других задач (SERVO_PERIOD = 1000000)
# num_joints=[TRAJ]AXES - ссылка на количество осей (AXES = 4)
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
# загружаем компоненты паралельного порта.cfg="0x1020 out  " - адрес порта в системе
loadrt probe_parport
loadrt hal_parport cfg="0x1020 out  "
setp parport.0.reset-time 5000
# заружаем программные генераторы  шагов.Определяем тип каждого генератора(http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=150&start=40#p2354)
loadrt stepgen step_type=0,0,0,0
# addf (add function) добавить функцию .Далее: имя_компонента.N-номер _компонента.имя_функции и в какой поток добавить
# например: parport.0.read base-thread компонент "parport" ,номер "0" , функция "read", поток "base-thread"(то есть обнвляться раз в 100000нс)
# компоненты и их функции :http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=150&start=40#p2263
#  http://www.linuxcnc.org/docs/devel/html/man/man9/
addf parport.0.read base-thread
addf stepgen.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
# У компонентов есть пины , то есть входы и выходы. Команда "net" соеденяет сигнал (а если его нет - то создает его)
# с пином (или несколькими пинами).<=,=>, < = > - используют для удобства,система их игнорирует.
# соеденять можно только входные пины с выходными (иначе - ошибка!) где - какой пин - смотеть в документации
# пример: "net estop-out <= iocontrol.0.user-enable-out" - "net" - создаем(потому что его еще не было) сигнал и 
# даем ему имя "estop-out",и соеденяем его с пином "iocontrol.0.user-enable-out" 
# теперь мы можем этот сигнал соеденять с другим пином (входом) или даже со многими пинами:"net estop-out => iocontrol.0.emc-enable-in"
net spindle-cmd <= motion.spindle-speed-out
net dout-00 <= motion.digital-out-00
net dout-01 <= motion.digital-out-01
net dout-02 <= motion.digital-out-02

net estop-out => parport.0.pin-01-out
net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
net zstep => parport.0.pin-03-out
setp parport.0.pin-03-out-reset 1
net ystep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
net astep => parport.0.pin-05-out
setp parport.0.pin-05-out-reset 1
net dout-00 => parport.0.pin-06-out
setp parport.0.pin-07-out-invert 1
net xdir => parport.0.pin-07-out
net zdir => parport.0.pin-08-out
net ydir => parport.0.pin-09-out
net adir => parport.0.pin-14-out
net dout-01 => parport.0.pin-16-out
net dout-02 => parport.0.pin-17-out


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


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

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 55000
setp stepgen.1.dirsetup 55000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable
net home-y => axis.1.home-sw-in
net all-limit => axis.1.neg-lim-sw-in
net all-limit => axis.1.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 55000
setp stepgen.2.dirsetup 55000
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

setp stepgen.3.position-scale [AXIS_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 0
setp stepgen.3.dirhold 55000
setp stepgen.3.dirsetup 55000
setp stepgen.3.maxaccel [AXIS_3]STEPGEN_MAXACCEL
net apos-cmd axis.3.motor-pos-cmd => stepgen.3.position-cmd
net apos-fb stepgen.3.position-fb => axis.3.motor-pos-fb
net astep <= stepgen.3.step
net adir <= stepgen.3.dir
net aenable axis.3.amp-enable-out => stepgen.3.enable
net all-limit => axis.3.neg-lim-sw-in
net all-limit => axis.3.pos-lim-sw-in

net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in
# loadusr - загрузить компоненты пользовательского пространства (работают не в режиме реального времени) 
# http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=150&p=1916#p2003
loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение nkp »

пробуйте удалить вот эти строки:

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

loadrt pwmgen output_type=0
addf pwmgen.make-pulses base-thread
addf pwmgen.update servo-thread
net spindle-cmd <= motion.spindle-speed-out => pwmgen.0.value
net spindle-enable <= motion.spindle-on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 100.0
setp pwmgen.0.scale 1166.66666667
setp pwmgen.0.offset 0.114285714286
setp pwmgen.0.dither-pwm true
net spindle-pwm => parport.0.pin-16-out
запускаем емс -
должно все работать без ошибок
если да - то далее будем добавлять пины и понимать какой зачем и как его правильно применять в железе
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение 1240 »

Запускается и по ЕМС -d
и по ярлыку Plasma_xy
(не пойму, когда на рабочем столе появился этот ярлык (пингвин принес, что ли?)).

В УП добавил строки
M64 P0 после M03
и M65 P0 перед M05.
Файл во вложении.

Станок траекторию отработал.
Вложения
594_РЕДАКТИРОВАННЫЙ_M3_M5_M64_M65.ngc
(10.48 КБ) 1031 скачивание
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение nkp »

теперь очень полезно заюзать halshow
(открывается из емс-станок-показать настройки HAL (примерно так))
в нем просматриваются все пины (входы и выходы хал компонентов)
можно проследить их в динамике
при отработке программы откройте его и понаблюдайте за пином
Выделение.jpg (2306 просмотров) <a class='original' href='./download/file.php?id=11323&mode=view' target=_blank>Загрузить оригинал (150.83 КБ)</a>
он по команде м64 р0 будет включаться а м65 р0 - выключаться
(или это все пройденный материал ;) )
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение nkp »

1240 писал(а):Запускается и по ЕМС -d
запускать емс можно тремя способами:
1. с ярлыка
2. главное меню - CNC - EMC2
затем выбрать свой конфиг
3. из терминала (бывает такая необходимость)
а команда из терминала : а -d добавляем ,чтоб выводилось больше информации при отладке и вылавливании ошибок
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение nkp »

1240 писал(а):Станок траекторию отработал
то есть все строки которые предлагались к удалению удалены -
и емс стартует и отрабатывает без ошибок?
ps
под словами "станок траекторию отработал" - это реально станок перемещается или это комп с емс2 ??
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение 1240 »

Сам станок стоит в неотапливаемом помещении (сейчас зима)

В прошлую пятницу я проверил совместную работу станка и компьютера.
Он (станок) отработал заданные G00 X1000Y2000 со скоростью 15м/мин.

Компьютер и плату согласования забрал в более теплое помещение.
с понедельника эксперименты идут только на компьютере

Соглашусь - компьютер не станок, и дальше, если эксперимент проходит без станка буду писать компьютер.

компьютер отработал всю УП

сигнал motion.digital-in-00 ни разу не мигнул
сигнал spindle-cw включается и выключается согласно М03 М05
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение 1240 »

Нашел фото первого плазмореза
Вложения
Плазморез_1.JPG (2296 просмотров) <a class='original' href='./download/file.php?id=11341&mode=view' target=_blank>Загрузить оригинал (454.93 КБ)</a>
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение nkp »

1240 писал(а):игнал motion.digital-in-00 ни разу не мигнул
прошу прощения
motion.digital-out-00
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение 1240 »

nkp писал(а):motion.digital-out-00
включается и выключается
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение nkp »

теперь почитал первый пост
некоторые уточнения необходимы
мы можем абстрагироваться от деталей и вцелом считать плазму "черным ящиком" не вникая в суть вопросов наподобие:
"какой сигнал выдает плазма при удачном поджиге"
и т.д.
то есть на данном этапе выдать только цифровые сигналы с порта ...
то есть -мы наш motion.digital-out-00 сейчас коннектим в хал с ножкой порта и имеем по нашей команде м64-65
0 или +5V для вкл реле или чего другого
пропишите в хал внизу:

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

net name motion.digital-out-00    parport.0.pin-07-out
теперь можно тестером на 7 ноге проверить работу
ну или хотя бы в halshow
1240
Мастер
Сообщения: 972
Зарегистрирован: 25 янв 2013, 17:11
Репутация: 278
Откуда: Украина, Харьков.
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение 1240 »

nkp писал(а):теперь можно тестером на 7 ноге проверить работу
ну или хотя бы в halshow
На плате согласование этот выход назывался Zdir
Да-на нем появляется и пропадает напряжение согласно команд.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Необходимо настроить ЕМС под плазморез.

Сообщение nkp »

то есть к пунктам:
2.) Поджиг дежурной дуги (подачей сигнала на источник плазмы)
3.) Опускание на лист (пневмоцилиндром)
6.) Выключение дуги
7.) Подъем плазмотрона пневмоцилиндром
мы уже можем дописать пины:

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

net name1 motion.digital-out-01    parport.0.pin-06-out
net name2  motion.digital-out-02    parport.0.pin-08-out
net name3  motion.digital-out-03    parport.0.pin-09-out
соответственно в ж-коде они будут вкл-выкл командами
M64 P01 - M65 P01
M64 P02 - M65 P02
M64 P03 - M65 P03
Ответить

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