O-codes

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

O-codes

Сообщение dinkata »

После много безуспешньйх проби ,решил спрашиват знатоки ,хочу вьйзоват подпрограм ,например так :
в custom.hal
net subprg classicladder.0.out-30 => halui.mdi-command-00
в ini указан пут к папка subprg и:

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

[HALUI]

MDI_COMMAND=O100 CALL
а в папка subprg файл O100.ngc :

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

O100 sub
 S10 M03
 O100 endsub
M02
Дает ошибка "Unexpected character after O-word "
Как сделат правильно ?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
verser
Мастер
Сообщения: 1904
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: O-codes

Сообщение verser »

dinkata писал(а): Как сделат правильно ?
Если файл обозвали O100.ngc , то вызовы так надо писать

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

[HALUI]

MDI_COMMAND=O<O100> CALL
а сам файл O100.ngc :

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

O<O100> sub
 S10 M03
O<O100> endsub
M02
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: O-codes

Сообщение dinkata »

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

Опят таже ошибка :wik:
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
verser
Мастер
Сообщения: 1904
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: O-codes

Сообщение verser »

dinkata писал(а): решил попробоват MDI_COMMAND=O<mysub>
Попробуйте руками ввести в MDI режиме
o<mysub> call
Будет так включаться?
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: O-codes

Сообщение dinkata »

verser писал(а):Будет так включаться?
да ,включилос ,где ошибаюс тогда ?
Можно по другому вьйзов делат ,не смотря на режим ?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: O-codes

Сообщение dinkata »

dinkata писал(а):да ,включилос ,где ошибаюс тогда ?

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

MDI_COMMAND=O<mysub>

после ето бьйл коментар ,убрал коментар и уже запускается .
Ето хорошо ,но при вьйполнение переходит в MDI ,а мне так не годится ,
подскажите можно ли вьйзов сделат не с MDI_COMMAND=O<mysub>
а например с вьйход Classicladder ?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: O-codes

Сообщение nkp »

verser писал(а): Если файл обозвали O100.ngc , то вызовы так надо писать
мне кажется ,что первоначально было правильно
http://www.linuxcnc.org/docs/2.5/html/g ... ling_files
файл подпрограммы в папке
PROGRAM_PREFIX = ...
вызов:
o100call
(букву "o" лучше писать прописную(маленькую) - так с нулем не перепутаешь - при чтении сразу видна разница ;)
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: O-codes

Сообщение dinkata »

nkp писал(а):вызов:
o100call
какие возможности на вызов ,с ладер например ?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
verser
Мастер
Сообщения: 1904
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: O-codes

Сообщение verser »

nkp писал(а): мне кажется ,что первоначально было правильно
http://www.linuxcnc.org/docs/2.5/html/g ... ling_files
В доках не совсем понятно, что значит "Numbered File".
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: O-codes

Сообщение 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
Аватара пользователя
verser
Мастер
Сообщения: 1904
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: O-codes

Сообщение verser »

nkp писал(а):в принципе всё должно работать
Дык работает уже, просто dinkata не нравится, что происходит переход в режим MDI после вызова.
dinkata писал(а):Ето хорошо ,но при вьйполнение переходит в MDI ,а мне так не годится ,
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: O-codes

Сообщение dinkata »

nkp писал(а): принципе всё должно работать(net subprg classicladder.0.out-30 => halui.mdi-command-00)
спасибо nkp ,работает ,мой проблем в том что не хочу вьйполнятся от mdi-command
если бьй возможно что то такое :
net subprg classicladder.0.out-30 => o<spstart>call
бьйло бьй клас :D
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: O-codes

Сообщение nkp »

dinkata писал(а):net subprg classicladder.0.out-30 => o<spstart>call
а-ааа!
вон оно что :)
======================
пока мыслЕй нет :wik:
поясни ,почему MDI команда не подходит?
что в идеале ты хотел бы получить?
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: O-codes

Сообщение dinkata »

Лучше обяснит зачем мне ето нужно ,установил Linuxcnc на место ЗИТ500 на етот станок :
http://www.cnc-club.ru/forum/viewtopic.php?f=3&t=5697
там шпиндель под упрвление Кемтор +/- 10 вольт ,фиксирование шпинделя(при смена инструмента ) механическое ,на вал ест канал
в которой зацепляется шток гидроцилиндр ,когда данна команда на фиксация на Кемтор дается команда уменшение момента
иначинается медленое вращене (направление М03) ,гидроцилиндр нажал шток и дойдя до канал фиксирует вал шпинделя и датчик прекращает
операция .Так вот ,сейчас у меня при команда на фиксация и команда уменшение момента шпиндел крутится в противоположное направление ,медлено , а нельзя .
В Кемтор не нашел способ исправит ,надо что то с пинам шпинделя делат ,но цельй день ничего не нашел ..
Последний раз редактировалось dinkata 19 сен 2015, 19:10, всего редактировалось 1 раз.
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: O-codes

Сообщение dinkata »

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

Re: O-codes

Сообщение 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
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: O-codes

Сообщение 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 и ето где должно стоят , в вьйполняемой ж-код или ето подпрограма
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: O-codes

Сообщение 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
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: O-codes

Сообщение 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 = нужньйе оборотьй
Но так сердится ,ошибка
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: O-codes

Сообщение 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 к ноль или чут в минусе
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Ответить

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