Страница 1 из 2

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

Добавлено: 05 мар 2017, 01:01
Saver
Всем привет. Это мое первое знакомство с LinuxCNC и с Linux вообще. Контроллер Purelogic PLC330. Создал простую конфигурацию в Stepconf . В настройках порта нет концевиков, Estop, шпинделя и тд. Только включение на 1 пине, дальше step/dir. В режиме тестирования осей все оси крутятся. При запуске программы с данной конфигурацией, при ручном управлении, координаты меняются, а двигатели молчат. Подскажите куда копать.

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

Добавлено: 05 мар 2017, 13:17
solo
может сигнал энаблле надо инвертировать , в степ конфиге сигнал энабле называется "включение усилителя" , который назначается на соответствующий пин лпт

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

Добавлено: 05 мар 2017, 13:49
Saver
Не помогает. При инвертировании тест тоже не работает. Замерил напряжение на 1-м пине: при включении теста - щелчок реле, напряжение 5В, движки крутятся. В самой проге - напряжение 0, нет включения реле.

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

Добавлено: 05 мар 2017, 14:22
solo
да просто создай конфиг , настрой там все пины ЛПТ и попробуй запусти эту конфигурацию с ярлыка на рабочем столе , если двигатели не работают , то заходишь в редактирование степконфига и там просто инвертируем пин энабле , сохраняем новую конфигурацию и пробуешь по новой запускать с ярлычка на рабочем столе.

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

Добавлено: 05 мар 2017, 14:42
Saver
Так и делаю. Не работает - двигатели не крутятся. Двигатели крутятся только в тесте без инвертации.

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

Добавлено: 05 мар 2017, 19:13
Saver
Ничего не меняется. Подскажите, что не так. Вот конфигурация:

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

Добавлено: 05 мар 2017, 19:22
nkp
для ясности .hal и .ini файлы нужны

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

Добавлено: 05 мар 2017, 19:54
Saver
Вот

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

Добавлено: 05 мар 2017, 20:03
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

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

Добавлено: 05 мар 2017, 20:40
Saver
Если просто заменить, то выдает ошибку(на фото).
Если зайди в Stepconfig и ничего не меняя пролистать, то запускается, но шд молчат (в тесте тоже кстати).

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

Добавлено: 05 мар 2017, 20:48
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

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

Добавлено: 06 мар 2017, 09:53
Saver
Не работает, в тесте тоже тишина.

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

Добавлено: 06 мар 2017, 10:10
solo
Saver писал(а):Не работает, в тесте тоже тишина.
если ты берешь готовый хел фай и проводишь тест в степ конфиге то содержимое хел меняется.
то есть если берешь хел с форума то этот хел файл надо скопировать в папку с твоей конфигурацией станка с заменой !!!!!! , или отредактировать свой хел фай в текстовом редакторе , тогда запускать с ярлыка на рабочем столе и проверять на работоспособность

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

Добавлено: 06 мар 2017, 10:17
nkp
Saver писал(а):Не работает, в тесте тоже тишина.
давай больше информации
тишина бывает разной))
===========
я так понял - емс с последним конфигом запускается ,не ругается... просто моторы не крутятся? так?
============
у тебя пока был enable только на ось X
--------

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

Добавлено: 06 мар 2017, 10:20
Saver
Все правильно, не ругается, сразу запустил с ярлыка на рабочем столе. Координаты меняются - моторы не крутятся. Проверял и по X и по остальным.

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

Добавлено: 06 мар 2017, 10:34
nkp
вот здесь открывается Halshow
это просмотр всех твоих пинов
Рабочее место 1_079.png (3173 просмотра) <a class='original' href='./download/file.php?id=105172&mode=view' target=_blank>Загрузить оригинал (212.75 КБ)</a>
Выделение_080.png (3173 просмотра) <a class='original' href='./download/file.php?id=105171&mode=view' target=_blank>Загрузить оригинал (85.99 КБ)</a>
открой вкладку "Pins" (как на скрине) и посмотри - есть там компонент(слово) parport
если есть (но не наботает ):
проверь как обзывается параллельный порт в твоей системе(сейчас прописан 0x378)
у тебя может быть другой
============
если с портом всё нормально - смотреть распиновку

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

Добавлено: 06 мар 2017, 10:43
solo
Saver писал(а): Замерил напряжение на 1-м пине: при включении теста - щелчок реле, напряжение 5В, движки крутятся. В самой проге - напряжение 0, нет включения реле
может собака здесь порылась , а степ конфиг просто не может инвертировать сигнал энабле

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

Добавлено: 06 мар 2017, 10:55
N1X
Чтобы с enable не было непоняток его вообще аппаранто нужно завесить в нужный уровень. А потом вернуться к нему, когда все остальрое будет нормально.

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

Добавлено: 06 мар 2017, 11:14
Saver
Адрес порта 0378-037a : parport0

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

Добавлено: 06 мар 2017, 11:15
solo
может на первый пин завести сигнал включение шпинделя и проверить при включенном или выключенном шпинделе будут работать ШД