Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 29 июн 2014, 20:43
а у меня каждый раз танцы с бубном вокруг USB'шных WI-FImichael-yurov писал(а):но ничего не нашел про свою проблему
Статьи, обзоры, цены на станки и комплектующие.
https://cnc-club.ru/forum/
а у меня каждый раз танцы с бубном вокруг USB'шных WI-FImichael-yurov писал(а):но ничего не нашел про свою проблему
Вы сами то верите в то,что написали?UAVpilot писал(а): Ну без cups никак не получится распечатать ubuntu-docs - не все могут с экрана читать.
Ну так почему бы в процессе добавления после apt-get install linuxcnc не напечатать дополнительно mc htop bc smbfs xrdp inkscape file-roller unrar ?UAVpilot писал(а): Про simple-scan и pidgin не знаю, но если так интересно, то можно спросить у создателей Ubuntu. Не забываем, что LiveCD с LinuxСNC - это стандартный LiveCD с Ubuntu, в который просто добавили LinuxCNC.
Начну с того чтоь я могу его собрать с ощибками и закончу вопросом "И где я буду его рпаспространять?"UAVpilot писал(а): Я думаю если кто-то сделает вариант LinuxCNC в виде LiveDVD или LiveFlash и будет его поддерживать в актуальном состоянии, то все ему большое спасибо скажут...
такое ощущение что Вы иногда как-бутто специально игнорируете что Вам говорят.... Вы мой предыдущий пост читали? "заполнить поля" говорит....torvn77 писал(а):И вообще мой опыт показывает,что всё что реально надо пользователю,это короткии рассказ где находится контролируящая сеть иконка.
А дальше пользователь не вдаваяь в вопросы просто заполняет нужные поля и всё.
UAVpilot писал(а): Про simple-scan и pidgin не знаю, но если так интересно, то можно спросить у создателей Ubuntu.
Не забываем, что LiveCD с LinuxСNC - это стандартный LiveCD с Ubuntu, в который просто добавили LinuxCNC.
К стати я у себя это через синаптик снёс,ничего нужного это с собой не забрало.torvn77 писал(а): apt-get autoremove cups simple-scan pidgin ubuntu-docs
Можно и попробовать,но главная проблема это как делать initrd,если чё то я могу попробовать расковырять текущий,пусть и через пень колоду,но как то получить его содержимое для мандривы мне удавалось.UAVpilot писал(а):Я думаю если кто-то сделает вариант LinuxCNC в виде LiveDVD или LiveFlash и будет его поддерживать в актуальном состоянии, то все ему большое спасибо скажут...
боже упаси! не отрицаю, просто куда мне до разработчиков LinuxCNC и LiveCD в частности....torvn77 писал(а):огульно отрицаете всё мной предложенное
Про распечатать или про читать с экрана?torvn77 писал(а):Вы сами то верите в то,что написали?
А надо? Генту я в глаза не видел, с Убунтой знаком разве что благодара тому-же LiveCD с LinuxCNC, ну для всяких мелких ARMов народ любит делать дистры на её основе. Но я например могу утверждать, что в течении часа разберусь как поднять сеть в любом дистрибутиве Linux или в любой Unix-подобной ОС. Всё ещё надо их различать?torvn77 писал(а):Или вы не можите Убунту от Генты отличить?
Предлагаете из всех старых релизов выкидывать "неактульные" пакеты и вставлять другие? Я думаю такому дистрибутиву уж точно не будет светить промэксплуатация в какой-либо серьёзной конторе. И что прикажете делать с последним релизом завтра, когда он станет старым...torvn77 писал(а):Да и не лучше сканировать и печатать доки на более мощьном восмиядернике с той жеУбунтой,но последнего релиза ?
Тут я только могу посочувствовать пользователям Убунты, что у них такая убогая документация и порекомендовать попробовать другие дистрибутивы с хорошим сопровождением.torvn77 писал(а):И не нужена документация к Убунте среднему пользователю,потому что сеть цепляется по dhcp,а если воткнут модем то он опять таки либо цепляется автоматически,
либо надо лезть в /etc и конфигурировать всё руками,естественно в этом случае от убунтодок нет никакого проку.
И вообще мой опыт показывает,что всё что реально надо пользователю,это короткии рассказ где находится контролируящая сеть иконка.
А дальше пользователь не вдаваяь в вопросы просто заполняет нужные поля и всё.
И опять таки,если ничего не получилось,то лезть надо не убунтодок,а в ман.
Хорошую вещь можно распостранять и с linuxcnc.org.torvn77 писал(а):Начну с того чтоь я могу его собрать с ощибками и закончу вопросом "И где я буду его рпаспространять?"
Личный ftp в кладовке не предлагайте,он не нужен даже своему хозяину,
Я предлагаю удалить одни пакеты,и поставить другие не для перехода на более свежие версии софта,UAVpilot писал(а): Предлагаете из всех старых релизов выкидывать "неактульные" пакеты и вставлять другие? Я думаю такому дистрибутиву уж точно не будет светить промэксплуатация в какой-либо серьёзной конторе. И что прикажете делать с последним релизом завтра, когда он станет старым...
Документация у Убунты не убогая,просто интерфейс настолько хорошо проработан,причём не только в одной убунте,что читать её просто нет необходимости.UAVpilot писал(а): Тут я только могу посочувствовать пользователям Убунты, что у них такая убогая документация и порекомендовать попробовать другие дистрибутивы с хорошим сопровождением.
Сталкивался я с этой проблемой,явно какая то недоработка в скриптах...UAVpilot писал(а): В качестве зарядки для ума предлагаю найти в манах решение такой простенькой проблемы:
Вы поменяли в компе сетевую карту (ну сдохла старая) и обнаружили, что при загрузке сетевой интерфейс eth0 не поднимается, т.к. его нет в системе, но зато появился eth1. Однако при попытке перенастроить сеть на eth1 в системе уже пропадает eth1, но появляется eth0 и опять сеть не работает. А если попытаться перехитрить систему, и настроить eth0 и eth1 одинаково, то окажется что система опять вас перехитрила - в системе нет ни eth0 ни eth1, зато появился eth2.
Собственно у меня лично потребность в апгрейде диска не большая,вроде как в последних ядрах появилась поддержка btrfs,ну и я хотел бы ставить систему на неё.UAVpilot писал(а): Хорошую вещь можно распостранять и с linuxcnc.org.
Можно ещё попробовать задуматься над тем, почему те, кто могут сделать хорошо новый вариант LiveCD не делают его...
Надеюсь что и Россияне тоже в разработке LinuxCNC участвуют.UAVpilot писал(а):А пока что это выглядит как попытка замотивировать кого-то, чтобы он замотивировал кого-то третьего, чтобы тот сделал вам хорошо. Мне почему-то кажется, что это очень неоптимальный путь к цели.
насколько помню и не одинtorvn77 писал(а):Надеюсь что и Россияне тоже в разработке LinuxCNC участвуют
Ну да и кто-то проапдейтившись в очередной раз обнаружит, что комп, управляющий производственным процессом оказался неработоспособен...torvn77 писал(а):Я предлагаю удалить одни пакеты,и поставить другие не для перехода на более свежие версии софта,
а для того чтобы удалить не нужную функциональность и добавить недостающею.
Понятно,значит не сталкивались, а то знали бы, что это не недоработка, а происходит от нечтения документации перед апгрейдом железа.torvn77 писал(а):Сталкивался я с этой проблемой,явно какая то недоработка в скриптах...
В прочем,лазить по интернету она мне не мешала,если даже что и происходило,то понажимаешь мышкой там или тут,глядишь и заработало.![]()
Но воевать я с ней воевал,но не по нужде,а от желания навести порядок.
Есть ещё более лёгкий способ, его даже мои инженеры самостоятельно осилили.torvn77 писал(а):Самый лёгкии случай состоит в том,что надо тенуть сколько-то метров кабеля,
Как я догадываюсь,такой возможности в RS274 не предусмотрено.#40 = #<_ini[axis_0]max_velocity>
Код: Выделить всё
halcmd: newsig ggg bit
halcmd: newsig ggg bit
HAL: ERROR: duplicate signal 'ggg'
<stdin>:2: newsig failed
Код: Выделить всё
halcmd: loadrt or2
halcmd: net fff => or2.0.in0
halcmd:
Не совсем понимаю как ты хочешь это на Gкоде реализовать?torvn77 писал(а):Думаю сделать версию коррекции кривизны поверхности материала на g-code.
А как это задействовать,а то если я ещё займусь и питонм то выйдет распыление усилий.
Ну а так я уже понял,что на больших УП LCNC при таком способе будет уходить в ступор.
(Пытался подменить G01 суброутинусой и микрошагами отмодулировать синусойдой по Z,то есть получить "змейку")
torvn77 писал(а):Ещё у меня есть предложения:
1)Если команда newsig повторно используется для создания одного и того же сигнала с теми же свойствами то это не должно считаться ощибкой.
Где-то проскакивало, что команда newsig - устаревшая и ее не стоит использовать. Вместо нее нужно использовать net. newsig будет просто захламлять код дополнительными строчками.torvn77 писал(а):2)Команда net в случае присоединения к пину не существующего сигнала должна создавать не сигнал,а ошибку.
torvn77 писал(а):3)Добавить в гуевые средства просмотра кофигурации hal'a опцию скрытия соединений с сигналами имя которых начинается с jump_ ,
а то если для каждой логической цепочки плодить не скрываемые сигналы,то сколько мусора может получится...
Может сделать сокрытие по шаблону начала и/или конца имени.
Где-то проскакивала тема, с програмками чтобы рисовать дерево hal в виде графа - но получается очень громоздко и ничего в итоге не понятно... текстовый вид один из самых удобных.torvn77 писал(а):4)Добавить в гуевые средства просмотра кофигурации hal'a опцию скрытия неподключённых пинов,
а то списки порой бываю уж очень разхряженными,а то смотря начало или конец забываешь что делается в середине.
а если никакого компонента нет , а сигнал нужен??Nick писал(а):Вместо нее нужно использовать net. newsig будет просто захламлять код дополнительными строчками.
Код: Выделить всё
newsig emcmot.00.enable bit
sets emcmot.00.enable FALSE
net emcmot.00.enable => pid.0.enable
net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogenaКод: Выделить всё
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt pid num_chan=2
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
loadrt [HOSTMOT2](DRIVER) config=[HOSTMOT2](CONFIG)
setp hm2_[HOSTMOT2](BOARD).0.watchdog.timeout_ns 10000000
addf hm2_[HOSTMOT2](BOARD).0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf hm2_[HOSTMOT2](BOARD).0.write servo-thread
addf hm2_[HOSTMOT2](BOARD).0.pet_watchdog servo-thread
# ----------------------------------------------------------------------------------------X [0] Axis
newsig emcmot.00.enable bit
sets emcmot.00.enable FALSE
net emcmot.00.enable => pid.0.enable
net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogena
net emcmot.00.enable <= axis.0.amp-enable-out
# encoder feedback
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.counter-mode 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.filter 1
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.index-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.index-mask 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.index-mask-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.scale [AXIS_0]INPUT_SCALE
net motor.00.pos-fb hm2_[HOSTMOT2](BOARD).0.encoder.00.position => pid.0.feedback
net motor.00.pos-fb => axis.0.motor-pos-fb #push copy back to Axis GUI
# set PID loop gains from inifile
setp pid.0.Pgain [AXIS_0]P
setp pid.0.Igain [AXIS_0]I
setp pid.0.Dgain [AXIS_0]D
setp pid.0.bias [AXIS_0]BIAS
setp pid.0.FF0 [AXIS_0]FF0
setp pid.0.FF1 [AXIS_0]FF1
setp pid.0.FF2 [AXIS_0]FF2
setp pid.0.deadband [AXIS_0]DEADBAND
setp pid.0.maxoutput [AXIS_0]MAX_OUTPUT
# setp hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout0-scalemax [AXIS_0]OUTPUT_SCALE
net emcmot.00.pos-cmd axis.0.motor-pos-cmd => pid.0.command
net motor.00.command pid.0.output => hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout0
#-------------------------------------------------------------------------------------- Z [2] Axis
newsig emcmot.02.enable bit
sets emcmot.02.enable FALSE
net emcmot.02.enable => pid.1.enable
net emcmot.02.enable <= axis.2.amp-enable-out
# encoder feedback
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.counter-mode 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.filter 1
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-mask 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-mask-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.scale [AXIS_2]INPUT_SCALE
net motor.02.pos-fb hm2_[HOSTMOT2](BOARD).0.encoder.01.position => pid.1.feedback
net motor.02.pos-fb => axis.2.motor-pos-fb #push copy back to Axis GUI
# set PID loop gains from inifile
setp pid.1.Pgain [AXIS_2]P
setp pid.1.Igain [AXIS_2]I
setp pid.1.Dgain [AXIS_2]D
setp pid.1.bias [AXIS_2]BIAS
setp pid.1.FF0 [AXIS_2]FF0
setp pid.1.FF1 [AXIS_2]FF1
setp pid.1.FF2 [AXIS_2]FF2
setp pid.1.deadband [AXIS_2]DEADBAND
setp pid.1.maxoutput [AXIS_2]MAX_OUTPUT
# setp hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout2-scalemax [AXIS_3]OUTPUT_SCALE
net motor.02.command pid.1.output => hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout2
net emcmot.02.pos-cmd axis.2.motor-pos-cmd => pid.1.command
#---------------------------------------------------------------------------------------- Standard I/O Block - EStop, Etc
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change => iocontrol.0.tool-changed
net home-switch <= hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-00
net home-switch => axis.0.home-sw-in
net home-switch => axis.1.home-sw-in
net home-switch => axis.2.home-sw-in
net y-index-enable hm2_[HOSTMOT2](BOARD).0.encoder.01.index-enable <=> axis.1.index-enablehttp://cnc-club.ru/forum/viewtopic.php? ... 740#p88679torvn77 писал(а):3)Добавить в гуевые средства просмотра кофигурации
Не совсем понятно зачем это?nkp писал(а):а если никакого компонента нет , а сигнал нужен??
net здесь не применишь , потому как:
нет компонента-нет пина-нет сигнала
а так всё просто:
проскакивало здесьNick писал(а):Где-то проскакивало, что команда newsig - устаревшая и ее не стоит использовать
конечно можно было в приведенном примере все сделать через какой либо компонент...Nick писал(а):Не совсем понятно зачем это?
из man halcmdnkp писал(а):а насчет start я даже тебя не понял...
при старте емс подается эта команда ,и всё начинает работать в hal
Код: Выделить всё
newsig emcmot.00.enable bit
sets emcmot.00.enable FALSE
net emcmot.00.enable => pid.0.enable
net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogenaКод: Выделить всё
setp pid.0.enable FALSE
net emcmot.00.enable => pid.0.enable
net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogenaтут скорей не только дело в начальном состоянии , но удобство управления несколькими пинами сразу:Nick писал(а):Если так уж нужно, чтобы был изначально выставлен пин в 0?
Код: Выделить всё
newsig emcmot.00.enable bit
sets emcmot.00.enable FALSE
net emcmot.00.enable => pid.0.enable
net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogena
net emcmot.00.enable <= axis.0.amp-enable-out