Страница 1 из 2
O-codes
Добавлено: 19 сен 2015, 12:18
dinkata
После много безуспешньйх проби ,решил спрашиват знатоки ,хочу вьйзоват подпрограм ,например так :
в custom.hal
net subprg classicladder.0.out-30 => halui.mdi-command-00
в ini указан пут к папка subprg и:
а в папка subprg файл O100.ngc :
Дает ошибка "Unexpected character after O-word "
Как сделат правильно ?
Re: O-codes
Добавлено: 19 сен 2015, 12:43
verser
dinkata писал(а):
Как сделат правильно ?
Если файл обозвали O100.ngc , то вызовы так надо писать
а сам файл O100.ngc :
Re: O-codes
Добавлено: 19 сен 2015, 13:28
dinkata

не хочет итак и так
verser писал(а):MDI_COMMAND=O<O100> CALL
решил попробоват MDI_COMMAND=O<mysub>
пeреименовал фаил на mysub.ngc
O<mysub> sub
S10 M03
O<mysub> endsub
M02
Опят таже ошибка

Re: O-codes
Добавлено: 19 сен 2015, 13:42
verser
dinkata писал(а):
решил попробоват MDI_COMMAND=O<mysub>
Попробуйте руками ввести в MDI режиме
o<mysub> call
Будет так включаться?
Re: O-codes
Добавлено: 19 сен 2015, 13:47
dinkata
verser писал(а):Будет так включаться?
да ,включилос ,где ошибаюс тогда ?
Можно по другому вьйзов делат ,не смотря на режим ?
Re: O-codes
Добавлено: 19 сен 2015, 14:31
dinkata
dinkata писал(а):да ,включилос ,где ошибаюс тогда ?
после ето бьйл коментар ,убрал коментар и уже запускается .
Ето хорошо ,но при вьйполнение переходит в MDI ,а мне так не годится ,
подскажите можно ли вьйзов сделат не с MDI_COMMAND=O<mysub>
а например с вьйход Classicladder ?
Re: O-codes
Добавлено: 19 сен 2015, 17:54
nkp
verser писал(а):
Если файл обозвали O100.ngc , то вызовы так надо писать
мне кажется ,что первоначально было правильно
http://www.linuxcnc.org/docs/2.5/html/g ... ling_files
файл подпрограммы в папке
PROGRAM_PREFIX = ...
вызов:
o100call
(букву "o" лучше писать прописную(маленькую) - так с нулем не перепутаешь - при чтении сразу видна разница

Re: O-codes
Добавлено: 19 сен 2015, 17:58
dinkata
nkp писал(а):вызов:
o100call
какие возможности на вызов ,с ладер например ?
Re: O-codes
Добавлено: 19 сен 2015, 18:02
verser
В доках не совсем понятно, что значит "Numbered File".
Re: O-codes
Добавлено: 19 сен 2015, 18:07
nkp
в принципе всё должно работать(net subprg classicladder.0.out-30 => halui.mdi-command-00)
там в прежних версиях емс небольшие проблемы с этим были - сейчас вроде бы нормализовали
пробовать:
заменить имя файла и подпрограммы с o100 на (например) o<spstart>
в папке
PROGRAM_PREFIX = ...
должен лежать файл spstart.ngc
с подпрограммой вида:
o<spstart>sub
...
...
o<spstart>endsub
ну и вызов :
o<spstart>call
Re: O-codes
Добавлено: 19 сен 2015, 18:10
verser
nkp писал(а):в принципе всё должно работать
Дык работает уже, просто dinkata не нравится, что происходит переход в режим MDI после вызова.
dinkata писал(а):Ето хорошо ,но при вьйполнение переходит в MDI ,а мне так не годится ,
Re: O-codes
Добавлено: 19 сен 2015, 18:12
dinkata
nkp писал(а): принципе всё должно работать(net subprg classicladder.0.out-30 => halui.mdi-command-00)
спасибо nkp ,работает ,мой проблем в том что не хочу вьйполнятся от mdi-command
если бьй возможно что то такое :
net subprg classicladder.0.out-30 => o<spstart>call
бьйло бьй клас

Re: O-codes
Добавлено: 19 сен 2015, 18:24
nkp
dinkata писал(а):net subprg classicladder.0.out-30 => o<spstart>call
а-ааа!
вон оно что
======================
пока мыслЕй нет
поясни ,почему MDI команда не подходит?
что в идеале ты хотел бы получить?
Re: O-codes
Добавлено: 19 сен 2015, 18:29
dinkata
Лучше обяснит зачем мне ето нужно ,установил Linuxcnc на место ЗИТ500 на етот станок :
http://www.cnc-club.ru/forum/viewtopic.php?f=3&t=5697
там шпиндель под упрвление Кемтор +/- 10 вольт ,фиксирование шпинделя(при смена инструмента ) механическое ,на вал ест канал
в которой зацепляется шток гидроцилиндр ,когда данна команда на фиксация на Кемтор дается команда уменшение момента
иначинается медленое вращене (направление М03) ,гидроцилиндр нажал шток и дойдя до канал фиксирует вал шпинделя и датчик прекращает
операция .Так вот ,сейчас у меня при команда на фиксация и команда уменшение момента шпиндел крутится в
противоположное направление ,медлено , а нельзя .
В Кемтор не нашел способ исправит ,надо что то с пинам шпинделя делат ,но цельй день ничего не нашел ..
Re: O-codes
Добавлено: 19 сен 2015, 18:34
dinkata
nkp писал(а):поясни ,почему MDI команда не подходит?
ето будет вьйполнятся как в ручном (здесь проблем нет )так и в автоматичной режим когда идет вьйполнение програм
не знаю как будет там такой переход .
Re: O-codes
Добавлено: 19 сен 2015, 19:54
nkp
dinkata писал(а): в автоматичной режим когда идет вьйполнение програм не знаю как будет там такой переход .
я не разобрался до конца в алгоритме,но...
может в авто режиме(при выполнении ж-кода) просто ждать срабатывания пина по M66:
M66 P0 L1 Q10
o105 if [#5399 LT 0]
...
o105 else
o<spstart>call
o105 endif
============
net subprg classicladder.0.out-30 motion.digital-in-00
Re: O-codes
Добавлено: 19 сен 2015, 20:11
dinkata
посмотрите правильно ли я понял ,ето включает motion.digital-in-00
nkp писал(а):net subprg classicladder.0.out-30 motion.digital-in-00
до 10 секунд :
o105 if [#5399 LT 0]
...
o105 else
o<spstart>call
o105 endif
извините меня nkp ,поясните что делает о105 ,параметр 5399 и ето где должно стоят , в вьйполняемой ж-код или ето подпрограма
Re: O-codes
Добавлено: 19 сен 2015, 20:22
nkp
dinkata писал(а):ето включает motion.digital-in-00
нет - motion.digital-in-00 это вход,его активирует выход с ладдера classicladder.0.out-30
по команде
M66 P0 L1 Q10
ждем 10 секунд
если не дождались срабатывания
o105 if [#5399 LT 0]
то в параметр #5399 записывается значение -1 , и мы как то реагируем (допустим встаем на паузу или авост,или что то еще)
я поставил троеточие пока
=============
если срабатывает
o105 else
то вызываем подпрограмму o<spstart>call
Re: O-codes
Добавлено: 19 сен 2015, 20:36
dinkata
nkp писал(а):его активирует выход с ладдера classicladder.0.out-30
да ,понял
nkp писал(а):M66 P0 L1 Q10
ето надо записат в прога с ж-код ?
Ой ,извините моя неграмотност
не будет ли легче просто так :
Код: Выделить всё
# SPINDLE S
#*******************
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout5-scalemax [SPINDLE_9]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout5-minlim [SPINDLE_9]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout5-maxlim [SPINDLE_9]OUTPUT_MAX_LIMIT
net spindle-vel-cmd => hm2_5i25.0.7i77.0.1.analogout5 <= classicladder.0.floatout-00
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-vel-cmd <= motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-vel-cmd => hm2_5i25.0.7i77.0.1.analogout5
<= classicladder.0.floatout-00
floatout-00 = нужньйе оборотьй
Но так сердится ,ошибка
Re: O-codes
Добавлено: 20 сен 2015, 10:14
dinkata
Вся беда идет из вращение шпинделя при разрешение,без заданьйе оборотьй ели ели ,но не в ту сторону которая мне надо .
Для совпадение М03 по ч.с. и М04 обр.ч.с. в ини
Код: Выделить всё
[SPINDLE_9]
OUTPUT_SCALE = -3000.0
OUTPUT_MIN_LIMIT = -3000.0
OUTPUT_MAX_LIMIT = 3000.0
когда дадим spindle-on оборотьй=0 на hm2_5i25.0.7i77.0.1.analogout5 имеем 08,6 mV
M03 оборотьй=100 на hm2_5i25.0.7i77.0.1.analogout5 имеем -0.33 V
M04 оборотьй=100 на hm2_5i25.0.7i77.0.1.analogout5 имеем 0.342 V
на глаза видно что при М04 оборотьй вьйше чем при М03 .
Как подстроит hm2_5i25.0.7i77.0.1.analogout5 к ноль или чут в минусе