Настройка LinuxCNC на PLC330

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Saver
Новичок
Сообщения: 16
Зарегистрирован: 05 мар 2017, 00:52
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Настройка LinuxCNC на PLC330

Сообщение Saver »

Всем привет. Это мое первое знакомство с LinuxCNC и с Linux вообще. Контроллер Purelogic PLC330. Создал простую конфигурацию в Stepconf . В настройках порта нет концевиков, Estop, шпинделя и тд. Только включение на 1 пине, дальше step/dir. В режиме тестирования осей все оси крутятся. При запуске программы с данной конфигурацией, при ручном управлении, координаты меняются, а двигатели молчат. Подскажите куда копать.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение solo »

может сигнал энаблле надо инвертировать , в степ конфиге сигнал энабле называется "включение усилителя" , который назначается на соответствующий пин лпт
Saver
Новичок
Сообщения: 16
Зарегистрирован: 05 мар 2017, 00:52
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение Saver »

Не помогает. При инвертировании тест тоже не работает. Замерил напряжение на 1-м пине: при включении теста - щелчок реле, напряжение 5В, движки крутятся. В самой проге - напряжение 0, нет включения реле.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение solo »

да просто создай конфиг , настрой там все пины ЛПТ и попробуй запусти эту конфигурацию с ярлыка на рабочем столе , если двигатели не работают , то заходишь в редактирование степконфига и там просто инвертируем пин энабле , сохраняем новую конфигурацию и пробуешь по новой запускать с ярлычка на рабочем столе.
Saver
Новичок
Сообщения: 16
Зарегистрирован: 05 мар 2017, 00:52
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение Saver »

Так и делаю. Не работает - двигатели не крутятся. Двигатели крутятся только в тесте без инвертации.
Saver
Новичок
Сообщения: 16
Зарегистрирован: 05 мар 2017, 00:52
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение Saver »

Ничего не меняется. Подскажите, что не так. Вот конфигурация:
Вложения
IMG_20170305_210400.jpg (3201 просмотр) <a class='original' href='./download/file.php?id=105122&mode=view' target=_blank>Загрузить оригинал (672.38 КБ)</a>
IMG_20170305_210415.jpg (3201 просмотр) <a class='original' href='./download/file.php?id=105123&mode=view' target=_blank>Загрузить оригинал (599.42 КБ)</a>
IMG_20170305_210436.jpg (3201 просмотр) <a class='original' href='./download/file.php?id=105124&mode=view' target=_blank>Загрузить оригинал (699.77 КБ)</a>
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение nkp »

для ясности .hal и .ini файлы нужны
Saver
Новичок
Сообщения: 16
Зарегистрирован: 05 мар 2017, 00:52
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение Saver »

Вот
Вложения
cnc1.hal
(3.46 КБ) 1081 скачивание
cnc1.ini
(2.3 КБ) 1004 скачивания
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение nkp »

пробуй так:

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

# Generated by stepconf 1.1 at Sun Mar  5 20:57:56 2017
# Все изменения в этом файле будут перезаписаны
# при следующем запуске stepconf
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hal_parport cfg="0x0378"
#loadrt sim_parport names=parport.0
loadrt stepgen step_type=0,0,0,0

addf parport.0.read base-thread
#source sim_hardware.hal
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread

addf stepgen.capture-position servo-thread
addf sim-hardware.update servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd-rpm     <= motion.spindle-speed-out
net spindle-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-cmd-rps     <= motion.spindle-speed-out-rps
net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-at-speed    => motion.spindle-at-speed

net xenable         => parport.0.pin-01-out
net xstep           => parport.0.pin-02-out
net astep           => parport.0.pin-03-out
net ystep           => parport.0.pin-04-out
net zstep           => parport.0.pin-05-out
net xdir            => parport.0.pin-06-out
net adir            => parport.0.pin-07-out
net ydir            => parport.0.pin-08-out
net zdir            => parport.0.pin-09-out

setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 1
setp stepgen.0.dirhold 30000
setp stepgen.0.dirsetup 30000
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

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 1
setp stepgen.1.dirhold 30000
setp stepgen.1.dirsetup 30000
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

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 1
setp stepgen.2.dirhold 30000
setp stepgen.2.dirsetup 30000
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

setp stepgen.3.position-scale [AXIS_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 1
setp stepgen.3.dirhold 30000
setp stepgen.3.dirsetup 30000
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 estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in

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
Saver
Новичок
Сообщения: 16
Зарегистрирован: 05 мар 2017, 00:52
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение Saver »

Если просто заменить, то выдает ошибку(на фото).
Если зайди в Stepconfig и ничего не меняя пролистать, то запускается, но шд молчат (в тесте тоже кстати).
Вложения
IMG_20170305_223515[1].jpg (3186 просмотров) <a class='original' href='./download/file.php?id=105132&mode=view' target=_blank>Загрузить оригинал (670.84 КБ)</a>
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение nkp »

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

# Generated by stepconf 1.1 at Sun Mar  5 20:57:56 2017
# Все изменения в этом файле будут перезаписаны
# при следующем запуске stepconf
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hal_parport cfg="0x0378"
#loadrt sim_parport names=parport.0
loadrt stepgen step_type=0,0,0,0

addf parport.0.read base-thread
#source sim_hardware.hal
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread

addf stepgen.capture-position servo-thread
#addf sim-hardware.update servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd-rpm     <= motion.spindle-speed-out
net spindle-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-cmd-rps     <= motion.spindle-speed-out-rps
net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-at-speed    => motion.spindle-at-speed

net xenable         => parport.0.pin-01-out
net xstep           => parport.0.pin-02-out
net astep           => parport.0.pin-03-out
net ystep           => parport.0.pin-04-out
net zstep           => parport.0.pin-05-out
net xdir            => parport.0.pin-06-out
net adir            => parport.0.pin-07-out
net ydir            => parport.0.pin-08-out
net zdir            => parport.0.pin-09-out

setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 1
setp stepgen.0.dirhold 30000
setp stepgen.0.dirsetup 30000
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

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 1
setp stepgen.1.dirhold 30000
setp stepgen.1.dirsetup 30000
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

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 1
setp stepgen.2.dirhold 30000
setp stepgen.2.dirsetup 30000
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

setp stepgen.3.position-scale [AXIS_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 1
setp stepgen.3.dirhold 30000
setp stepgen.3.dirsetup 30000
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 estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in

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
Saver
Новичок
Сообщения: 16
Зарегистрирован: 05 мар 2017, 00:52
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение Saver »

Не работает, в тесте тоже тишина.
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение solo »

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

Re: Настройка LinuxCNC на PLC330

Сообщение nkp »

Saver писал(а):Не работает, в тесте тоже тишина.
давай больше информации
тишина бывает разной))
===========
я так понял - емс с последним конфигом запускается ,не ругается... просто моторы не крутятся? так?
============
у тебя пока был enable только на ось X
--------
Saver
Новичок
Сообщения: 16
Зарегистрирован: 05 мар 2017, 00:52
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение Saver »

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

Re: Настройка LinuxCNC на PLC330

Сообщение nkp »

вот здесь открывается Halshow
это просмотр всех твоих пинов
Рабочее место 1_079.png (3141 просмотр) <a class='original' href='./download/file.php?id=105172&mode=view' target=_blank>Загрузить оригинал (212.75 КБ)</a>
Выделение_080.png (3141 просмотр) <a class='original' href='./download/file.php?id=105171&mode=view' target=_blank>Загрузить оригинал (85.99 КБ)</a>
открой вкладку "Pins" (как на скрине) и посмотри - есть там компонент(слово) parport
если есть (но не наботает ):
проверь как обзывается параллельный порт в твоей системе(сейчас прописан 0x378)
у тебя может быть другой
============
если с портом всё нормально - смотреть распиновку
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение solo »

Saver писал(а): Замерил напряжение на 1-м пине: при включении теста - щелчок реле, напряжение 5В, движки крутятся. В самой проге - напряжение 0, нет включения реле
может собака здесь порылась , а степ конфиг просто не может инвертировать сигнал энабле
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1646
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение N1X »

Чтобы с enable не было непоняток его вообще аппаранто нужно завесить в нужный уровень. А потом вернуться к нему, когда все остальрое будет нормально.
Saver
Новичок
Сообщения: 16
Зарегистрирован: 05 мар 2017, 00:52
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение Saver »

Адрес порта 0378-037a : parport0
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Настройка LinuxCNC на PLC330

Сообщение solo »

может на первый пин завести сигнал включение шпинделя и проверить при включенном или выключенном шпинделе будут работать ШД
Вложения
лпт.png (3128 просмотров) <a class='original' href='./download/file.php?id=105181&mode=view' target=_blank>Загрузить оригинал (203.72 КБ)</a>
Ответить

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