Страница 2 из 3
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 26 апр 2019, 20:43
Tulumbas
jalyn11 писал(а):loadrt timedelay
addf timedelay.0 servo-thread
setp timedelay.0.on-delay 30
net spindle-on motion.spindle-on
net spindle-on timedelay.0.in
net spindle-delay timedelay.0.out
net spindle-delay motion.spindle-at-speed
И удалил запись sets spindle-at-speed в custom_postgui.hal
Почему то не работает, вернее сказать может и работает, но UI не запускается..
Если не сложно, разжуйте поподробнее как это сделать.
LCNC установил неделю назад настроил через step-conf, вникаю в .ini и .hal, пытаюсь прикрутить всякие полезности...
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 28 апр 2019, 11:31
sima8520
о полезная темка, такое же ждет и меня. так что пробуй добавить паузу на разгон, и я буду пытаться повторить.
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 28 апр 2019, 12:14
evgenymcp
При управлении частотником по modbus шпиндель не движется пока не достигнута заданная скорость.
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 28 апр 2019, 12:28
sima8520
У меня нет ModBus
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 28 апр 2019, 13:08
Tulumbas
До modbus доберусь позже, сейчас частотником рулит ШИМ.
Возможно есть разница в версиях LCNC (тема то старая), но в моем случае заработало так : добавил в .hal
loadrt timedelay
addf timedelay.0 servo-thread
setp timedelay.0.on-delay 10
net spindle-on motion.spindle-on
net spindle-on timedelay.0.in
net spindle-delay timedelay.0.out
net spindle-delay motion.spindle-at-speed
И закомментил/удалил строку :
net spindle-at-speed => motion.spindle-at-speed
Но работает как-то криво :
timedelay выполняется просле 12 строки кода, а не после 10 что было-бы логично (как в Mach3).
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 28 апр 2019, 14:02
nkp
Tulumbas писал(а):что было-бы логично
в чем логика?
вроде как мы остерегаемся начать обработку ,если шпиндель "не_раскрутился"...
или есть потребность на ж0 уже обрабатывать?
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 28 апр 2019, 14:21
nkp
motion.spindle−at−speed IN BIT
Motion will pause until this pin is TRUE, under the following conditions: before the first
feed move after each spindle start or speed change; before the start of every chain of spindle-synchronized moves; and if in CSS mode, at every rapid->feed transition.
http://linuxcnc.org/docs/2.7/html/man/m ... .html#PINS
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 28 апр 2019, 14:30
Tulumbas
nkp писал(а):в чем логика?
Не верно описал происходящее : timedelay включяется после S 15000 M3, за это время (10сек) шпиндель/фреза успевают добраться через G0 X124.5 Y408... до G0 Z5, и в этом месте станок замирает до окончания timedelay.
На мой взгляд было-бы логичнее если шпиндель разгоняется в G0 X124.5 Y408..
Z home... (так это работает в mach).
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 28 апр 2019, 14:33
nkp
Tulumbas писал(а):Не верно описал происходящее
понял)
тут нужно отслеживать виды перемещений...
написать небольшой компонент для этого(можно и без него)
сейчас рыбу набросаю...
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 28 апр 2019, 15:03
nkp
Код: Выделить всё
loadrt and2
addf and2.0 servo-thread
loadrt timedelay
addf timedelay.0 servo-thread
loadrt conv_s32_float count=1
addf conv_s32_float.0 servo-thread
loadrt near count=1
addf near.0 servo-thread
setp timedelay.0.on-delay 10
net spindle-delay motion.spindle-on and2.0.in0
net conv-in conv-s32-float.0.in motion.motion-type
net near.0.in1 conv-s32-float.0.out
setp near.0.in2 1.0
net near-out near.0.out and2.0.in1
setp near.0.difference 1.0
net and-out and2.0.out timedelay.0.in
net spindle-delay timedelay.0.out motion.spindle-at-speed
что то примерно такое:
motion.motion-type - это у нас
Код: Выделить всё
motion.motion−type OUT S32
These values are from src/emc/nml_intf/motion_types.h
0: Idle (no motion)
1: Traverse
2: Linear feed
3: Arc feed
4: Tool change
5: Probing
6: Rotary axis indexing
то есть - когда G0 - на этом пине 1
компонентом near "ждем",когда на этом пине появится значение больше 1, и только тогда разрешаем
включиться таймеру (разумеется после вкл шпинделя(and2)
===========
ps
"рыба" - потому как не запускал,не проверял)
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 28 апр 2019, 15:35
MX_Master
G4 P10
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 28 апр 2019, 19:42
Tulumbas
Ругается :
HAL: ERROR: function 'conv_s32_float.0' not found
./pegatron.hal:37: addf failed
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 29 апр 2019, 07:04
nkp
addf conv-s32-float.0 servo-thread
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 03 май 2019, 23:21
sima8520
Сейчас сидел пару часов, разбирался с постпроцессором для SolidCAM, и нашел как добавить задержку на разгон шпинделя
Открываем постпроцессор, ищем процедуру @start_tool
после строки call @usr_spindle_mcode_output
пишем {nb, 'G04 P10'}
Общий вид получается такой
@start_tool
; Handle setting and output for spindle start
if tool_direction eq CW then
iSpindleDir = 3
else
iSpindleDir = 4
endif
call @usr_spindle_output
if !bSpinOnlyUseS
if bSimpleformat
{nb}
endif
call @usr_spindle_mcode_output
{nb, 'G04 P10'}
endif
endp
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 24 июн 2019, 15:31
Амплеич
nkp писал(а):Код: Выделить всё
loadrt and2
addf and2.0 servo-thread
loadrt timedelay
addf timedelay.0 servo-thread
loadrt conv_s32_float count=1
addf conv_s32_float.0 servo-thread
loadrt near count=1
addf near.0 servo-thread
setp timedelay.0.on-delay 10
net spindle-delay motion.spindle-on and2.0.in0
net conv-in conv-s32-float.0.in motion.motion-type
net near.0.in1 conv-s32-float.0.out
setp near.0.in2 1.0
net near-out near.0.out and2.0.in1
setp near.0.difference 1.0
net and-out and2.0.out timedelay.0.in
net spindle-delay timedelay.0.out motion.spindle-at-speed
что то примерно такое:
motion.motion-type - это у нас
Код: Выделить всё
motion.motion−type OUT S32
These values are from src/emc/nml_intf/motion_types.h
0: Idle (no motion)
1: Traverse
2: Linear feed
3: Arc feed
4: Tool change
5: Probing
6: Rotary axis indexing
то есть - когда G0 - на этом пине 1
компонентом near "ждем",когда на этом пине появится значение больше 1, и только тогда разрешаем
включиться таймеру (разумеется после вкл шпинделя(and2)
===========
ps
"рыба" - потому как не запускал,не проверял)
J;bdk.
Оживлю тему. Такой способ не работает из-зи near. Motion-type может быть "1" при G0 и "2" при G1. Т к стоит near.difference 1.0, т е разница между сравниваемым значением и нужным может отличаться на единицу, то и при простое (значение motion-type 0) результат сравнения true. Т. о. с G1 этот код отработает, но если в управляющей программе встретится G0, то это перемещение выполняется, и код тормозится на первом встреченном G1.
Понятное дело, что G0 пользоваться при резке кощунство, но может кто знает как сравнить значения пинов с целым числом еще как-то?
Пока что я варварски решил этот вопрос паузой всей программы на время 10 сек, как только встречается M3, но это не совсем правильно, костыль
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 24 июн 2019, 15:50
nkp
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 24 июн 2019, 16:02
Амплеич
Подгружать свой компонент можно в custom.hal?
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 24 июн 2019, 16:10
nkp
Амплеич писал(а):Подгружать свой компонент можно в custom.hal?
да ,конечно...
как любой другой компонент...
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 25 июн 2023, 12:45
tarabarka
Мне помогло использование halui.program.pause/resume
Re: Как в EMC настраивается задержка на разгон шпинделя
Добавлено: 27 янв 2024, 22:13
rstm
Здравствуйте! А как получить в LinuxCNC значение выхода GPIO_PWM на плате
SMD-Taxi, а затем заставить его влиять на spindle.at-speed? (интерфейс qtdragon) Чтоб задержка на разгон шпинделя длилась пока на сблизятся заданное и актуальное значения PWM. Modbus на HL3000-4040-T отсутствует. Есть только FO который
