Что я еще не знал о LinuxCNC, что нам еще предстоит сделать

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение NightV »

michael-yurov писал(а):но ничего не нашел про свою проблему
а у меня каждый раз танцы с бубном вокруг USB'шных WI-FI :evil: последний раз правда ушло всего часа 2-3, может потому что старенький был, но все равно дрова из дистрибутива не подошли
Всё просто! если знаешь КАК!
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение torvn77 »

UAVpilot писал(а): Ну без cups никак не получится распечатать ubuntu-docs - не все могут с экрана читать.
Вы сами то верите в то,что написали?
Или вы не можите Убунту от Генты отличить?
Но и там необходимость мануальника происходит из принципиального саботажа создателей системы.
Да и не лучше сканировать и печатать доки на более мощьном восмиядернике с той жеУбунтой,но последнего релиза ?
UAVpilot писал(а): Про simple-scan и pidgin не знаю, но если так интересно, то можно спросить у создателей Ubuntu. Не забываем, что LiveCD с LinuxСNC - это стандартный LiveCD с Ubuntu, в который просто добавили LinuxCNC.
Ну так почему бы в процессе добавления после apt-get install linuxcnc не напечатать дополнительно mc htop bc smbfs xrdp inkscape file-roller unrar ?
А потом вытерев проступивщии от усилий со лба пот ввести в консоль
apt-get autoremove cups simple-scan pidgin ubuntu-docs
Ну ещё если от приложенных усилий не умрёте,то добавить в fstab
tmpfs_001 /tmp tmpfs defaults,noatime,nosuid,mode=1777,size=256M 0 0
tmpfs_002 /media tmpfs defaults,noatime,noexec,mode=0755,size=1M 0 0
tmpfs_003 /storage/Memory tmpfs defaults,noatime,noexec,mode=0777,size=1G 0 0
На этом суперхакерскии тюнинг системы можно считать оконченным.

И не нужена документация к Убунте среднему пользователю,потому что сеть цепляется по dhcp,а если воткнут модем то он опять таки либо цепляется автоматически,
либо надо лезть в /etc и конфигурировать всё руками,естественно в этом случае от убунтодок нет никакого проку.
И вообще мой опыт показывает,что всё что реально надо пользователю,это короткии рассказ где находится контролируящая сеть иконка.
А дальше пользователь не вдаваяь в вопросы просто заполняет нужные поля и всё.
И опять таки,если ничего не получилось,то лезть надо не убунтодок,а в ман.
И собственно делать пользователю с дистром больше нечего.
И опять таки,мой стандартный тюниг с размещением папки /tmp в ОЗУ убунтодоком скорее всего не не описывается.
Так что балласт этот убунтодок,неоправданно увеличивающии счета за сетевой трафик.
UAVpilot писал(а): Я думаю если кто-то сделает вариант LinuxCNC в виде LiveDVD или LiveFlash и будет его поддерживать в актуальном состоянии, то все ему большое спасибо скажут...
Начну с того чтоь я могу его собрать с ощибками и закончу вопросом "И где я буду его рпаспространять?"
Личный ftp в кладовке не предлагайте,он не нужен даже своему хозяину,
Вот я в mir-cnc сделал замечательный мануальник к stepconf'y,последние три месяца его никто не читает,так же будет и с ftp с замечательным LiveCD.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение NightV »

torvn77 писал(а):И вообще мой опыт показывает,что всё что реально надо пользователю,это короткии рассказ где находится контролируящая сеть иконка.
А дальше пользователь не вдаваяь в вопросы просто заполняет нужные поля и всё.
такое ощущение что Вы иногда как-бутто специально игнорируете что Вам говорят.... Вы мой предыдущий пост читали? "заполнить поля" говорит....
UAVpilot правильно говорит, да и вообще там работает команда разработчиков и уже не один год...
а тут... нарисовывается человек.. и говорит "чет вы совсем лишний софт суете! ВОТ Я работаю с таким и таким а значит и все с ним работают! если нет то начнут! вобщем это и это нафиг а вот это и это поставить!" :idiot:
(ну и как себя теперь чувствуешь? когда и тебе такой смайл поставили?)
Всё просто! если знаешь КАК!
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение torvn77 »

NightV, Я пост читаю внимательно и обдумываю,но с содержанием его не согласен,
а вот вы судя по тому?как огульно отрицаете всё мной предложенное,если и читали пост,то либо по диагонали либо не достаточно подумав что там и зачем предложено.
Вы можите сказать,что делает каждая из предложенных мной для установки программ?
И если про какието программы вы слышали,то сколько реально видели в работе?
UAVpilot писал(а): Про simple-scan и pidgin не знаю, но если так интересно, то можно спросить у создателей Ubuntu.
Не забываем, что LiveCD с LinuxСNC - это стандартный LiveCD с Ubuntu, в который просто добавили LinuxCNC.
torvn77 писал(а): apt-get autoremove cups simple-scan pidgin ubuntu-docs
К стати я у себя это через синаптик снёс,ничего нужного это с собой не забрало.
Помоему я ещё и vnc удалил,в отличии от xrdp он у меня вообще не заработал,заработал через пень колоду с непонятно как делаемыми настройками.
UAVpilot писал(а):Я думаю если кто-то сделает вариант LinuxCNC в виде LiveDVD или LiveFlash и будет его поддерживать в актуальном состоянии, то все ему большое спасибо скажут...
Можно и попробовать,но главная проблема это как делать initrd,если чё то я могу попробовать расковырять текущий,пусть и через пень колоду,но как то получить его содержимое для мандривы мне удавалось.
И в любом случае делать его в одиночестве я не желаю.
Если смайлик будет за дело,то мне будет стыдно.
А если смайлик потому,что сообщение не внимательно прочитали или что то не допоняли,то это просто жизненная трудность.
Но в любом случае,коли вы его увидели,я извиняюсь,так как давно поменял его на более нейтральный,
ну нету тут подходящего смайлика типа "что за ерунду вы говорите?!")
Последний раз редактировалось torvn77 29 июн 2014, 23:03, всего редактировалось 2 раза.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение NightV »

torvn77 писал(а):огульно отрицаете всё мной предложенное
боже упаси! не отрицаю, просто куда мне до разработчиков LinuxCNC и LiveCD в частности....
как я уже сказал, эти предложения Вы публикуете не в том месте....
подите к ним сами, опишите суть, обоснуйте, помогите в разработке.... вот это будет реальная помощь разработчикам, и реальная помощь в продвижении LinuxCNC... чем здесь или mir-cnc лясы точить и сотрясать воздух в данном случае абсолютно бесполезным спором...
Всё просто! если знаешь КАК!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Serg »

torvn77 писал(а):Вы сами то верите в то,что написали?
Про распечатать или про читать с экрана?
torvn77 писал(а):Или вы не можите Убунту от Генты отличить?
А надо? Генту я в глаза не видел, с Убунтой знаком разве что благодара тому-же LiveCD с LinuxCNC, ну для всяких мелких ARMов народ любит делать дистры на её основе. Но я например могу утверждать, что в течении часа разберусь как поднять сеть в любом дистрибутиве Linux или в любой Unix-подобной ОС. Всё ещё надо их различать? :)
torvn77 писал(а):Да и не лучше сканировать и печатать доки на более мощьном восмиядернике с той жеУбунтой,но последнего релиза ?
Предлагаете из всех старых релизов выкидывать "неактульные" пакеты и вставлять другие? Я думаю такому дистрибутиву уж точно не будет светить промэксплуатация в какой-либо серьёзной конторе. И что прикажете делать с последним релизом завтра, когда он станет старым...
torvn77 писал(а):И не нужена документация к Убунте среднему пользователю,потому что сеть цепляется по dhcp,а если воткнут модем то он опять таки либо цепляется автоматически,
либо надо лезть в /etc и конфигурировать всё руками,естественно в этом случае от убунтодок нет никакого проку.
И вообще мой опыт показывает,что всё что реально надо пользователю,это короткии рассказ где находится контролируящая сеть иконка.
А дальше пользователь не вдаваяь в вопросы просто заполняет нужные поля и всё.
И опять таки,если ничего не получилось,то лезть надо не убунтодок,а в ман.
Тут я только могу посочувствовать пользователям Убунты, что у них такая убогая документация и порекомендовать попробовать другие дистрибутивы с хорошим сопровождением.
В качестве зарядки для ума предлагаю найти в манах решение такой простенькой проблемы:
Вы поменяли в компе сетевую карту (ну сдохла старая) и обнаружили, что при загрузке сетевой интерфейс eth0 не поднимается, т.к. его нет в системе, но зато появился eth1. Однако при попытке перенастроить сеть на eth1 в системе уже пропадает eth1, но появляется eth0 и опять сеть не работает. А если попытаться перехитрить систему, и настроить eth0 и eth1 одинаково, то окажется что система опять вас перехитрила - в системе нет ни eth0 ни eth1, зато появился eth2.
torvn77 писал(а):Начну с того чтоь я могу его собрать с ощибками и закончу вопросом "И где я буду его рпаспространять?"
Личный ftp в кладовке не предлагайте,он не нужен даже своему хозяину,
Хорошую вещь можно распостранять и с linuxcnc.org.
Можно ещё попробовать задуматься над тем, почему те, кто могут сделать хорошо новый вариант LiveCD не делают его...

А пока что это выглядит как попытка замотивировать кого-то, чтобы он замотивировал кого-то третьего, чтобы тот сделал вам хорошо. Мне почему-то кажется, что это очень неоптимальный путь к цели. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение torvn77 »

UAVpilot писал(а): Предлагаете из всех старых релизов выкидывать "неактульные" пакеты и вставлять другие? Я думаю такому дистрибутиву уж точно не будет светить промэксплуатация в какой-либо серьёзной конторе. И что прикажете делать с последним релизом завтра, когда он станет старым...
Я предлагаю удалить одни пакеты,и поставить другие не для перехода на более свежие версии софта,
а для того чтобы удалить не нужную функциональность и добавить недостающею.
Если вы не знакомы с программами из предложенного мной списка,то я могу объяснить какая программа что делает и для чего нужна.
UAVpilot писал(а): Тут я только могу посочувствовать пользователям Убунты, что у них такая убогая документация и порекомендовать попробовать другие дистрибутивы с хорошим сопровождением.
Документация у Убунты не убогая,просто интерфейс настолько хорошо проработан,причём не только в одной убунте,что читать её просто нет необходимости.
Может конечноь играет свою роль то,что я пользуюсь Linux'ом много лет,но я не вижу особой разницы между настройкой Убунты или виндавоза.
UAVpilot писал(а): В качестве зарядки для ума предлагаю найти в манах решение такой простенькой проблемы:
Вы поменяли в компе сетевую карту (ну сдохла старая) и обнаружили, что при загрузке сетевой интерфейс eth0 не поднимается, т.к. его нет в системе, но зато появился eth1. Однако при попытке перенастроить сеть на eth1 в системе уже пропадает eth1, но появляется eth0 и опять сеть не работает. А если попытаться перехитрить систему, и настроить eth0 и eth1 одинаково, то окажется что система опять вас перехитрила - в системе нет ни eth0 ни eth1, зато появился eth2.
Сталкивался я с этой проблемой,явно какая то недоработка в скриптах...
В прочем,лазить по интернету она мне не мешала,если даже что и происходило,то понажимаешь мышкой там или тут,глядишь и заработало. :oops: :lol1:
Но воевать я с ней воевал,но не по нужде,а от желания навести порядок.
UAVpilot писал(а): Хорошую вещь можно распостранять и с linuxcnc.org.
Можно ещё попробовать задуматься над тем, почему те, кто могут сделать хорошо новый вариант LiveCD не делают его...
Собственно у меня лично потребность в апгрейде диска не большая,вроде как в последних ядрах появилась поддержка btrfs,ну и я хотел бы ставить систему на неё.
А в старом диске этой поддержки нету,ну да для компьютера обслуживающего станок это и не важно,хотя если я куплю ssd то лучше ставить всё таки именно на неё.
А так объновления можно получать по интернету,для чего я специально купил LTE модем и Zixel'ловскии роутер,
и сижу вот в своей микросети и пишу сообщение на форум.
Но вот те,кто у меня просил помощи в освоении LinuxCNC как правило имеют проблемы с доступом в интернет с компьютера,
который используют для управления станком.
Самый лёгкии случай состоит в том,что надо тенуть сколько-то метров кабеля,
а у одного человека станок стоял в гараже и приршлось ему таскать апдейты на винчестере.
Вот им очень нужен актуальный LiveCD,позволяющии поставить относительно свежую систему без доступа в интернет.


Плюс не обновлённый LivCD даёт ещё и имедживые потери,так как не разбирающиеся в софте люди в лучшем случае заметят то,
что на сайте распростроняется очень старая версия программы(И ведь обругают,но включить обновление не сообразят).
А то и просто напишут негативный отзыв опираясь на софт двулетней давности.
Ну естественно такое не умение не мешает им пользоваться свеже спираченным мачем и зарабатывать те или иные деньги.
И ладно если я окажусь рядом и раскажу про то,что софт с диска надо обновить,а если меня рядом нету??

UAVpilot писал(а):А пока что это выглядит как попытка замотивировать кого-то, чтобы он замотивировал кого-то третьего, чтобы тот сделал вам хорошо. Мне почему-то кажется, что это очень неоптимальный путь к цели. :)
Надеюсь что и Россияне тоже в разработке LinuxCNC участвуют.
Последний раз редактировалось torvn77 30 июн 2014, 01:57, всего редактировалось 1 раз.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение NightV »

torvn77 писал(а):Надеюсь что и Россияне тоже в разработке LinuxCNC участвуют
насколько помню и не один ;)
Всё просто! если знаешь КАК!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Serg »

torvn77 писал(а):Я предлагаю удалить одни пакеты,и поставить другие не для перехода на более свежие версии софта,
а для того чтобы удалить не нужную функциональность и добавить недостающею.
Ну да и кто-то проапдейтившись в очередной раз обнаружит, что комп, управляющий производственным процессом оказался неработоспособен...
torvn77 писал(а):Сталкивался я с этой проблемой,явно какая то недоработка в скриптах...
В прочем,лазить по интернету она мне не мешала,если даже что и происходило,то понажимаешь мышкой там или тут,глядишь и заработало. :oops: :lol1:
Но воевать я с ней воевал,но не по нужде,а от желания навести порядок.
Понятно,значит не сталкивались, а то знали бы, что это не недоработка, а происходит от нечтения документации перед апгрейдом железа. :)
И мышкой оно не лечится.
torvn77 писал(а):Самый лёгкии случай состоит в том,что надо тенуть сколько-то метров кабеля,
Есть ещё более лёгкий способ, его даже мои инженеры самостоятельно осилили. :)

P.S. В личке дискутировать не буду. :roll:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение torvn77 »

#40 = #<_ini[axis_0]max_velocity>
Как я догадываюсь,такой возможности в RS274 не предусмотрено.
А раз всё равно вводятся надстандартные расширения,то может стоит пойти до конца и сделать поддержку массивов? :thinking:
Если не произвольной размерности,то хотя бы двумерных?

Про способ #[#<start> + #<j>*n + #<i>] я помню,но не хотелось бы самому следить за размерами и границей массива.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

Как вариант, можешь воспользоваться встроенным питоном...
А что хочешь делать с массивами?
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение torvn77 »

Думаю сделать версию коррекции кривизны поверхности материала на g-code.
А как это задействовать,а то если я ещё займусь и питонм то выйдет распыление усилий.
Ну а так я уже понял,что на больших УП LCNC при таком способе будет уходить в ступор.
(Пытался подменить G01 суброутинусой и микрошагами отмодулировать синусойдой по Z,то есть получить "змейку")

Ещё у меня есть предложения:
1)Если команда newsig повторно используется для создания одного и того же сигнала с теми же свойствами то это не должно считаться ощибкой.

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

halcmd: newsig ggg bit
halcmd: newsig ggg bit
HAL: ERROR: duplicate signal 'ggg'
<stdin>:2: newsig failed
2)Команда net в случае присоединения к пину не существующего сигнала должна создавать не сигнал,а ошибку.
Помня о других людях,пусть не всегда,а только если это прямо указано в файле hal,
может тогда сделать и способ отмены этого режима.

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

halcmd: loadrt or2
halcmd: net fff => or2.0.in0
halcmd: 
3)Добавить в гуевые средства просмотра кофигурации hal'a опцию скрытия соединений с сигналами имя которых начинается с jump_ ,
а то если для каждой логической цепочки плодить не скрываемые сигналы,то сколько мусора может получится...
Может сделать сокрытие по шаблону начала и/или конца имени.
4)Добавить в гуевые средства просмотра кофигурации hal'a опцию скрытия неподключённых пинов,
а то списки порой бываю уж очень разхряженными,а то смотря начало или конец забываешь что делается в середине.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

torvn77 писал(а):Думаю сделать версию коррекции кривизны поверхности материала на g-code.
А как это задействовать,а то если я ещё займусь и питонм то выйдет распыление усилий.
Ну а так я уже понял,что на больших УП LCNC при таком способе будет уходить в ступор.
(Пытался подменить G01 суброутинусой и микрошагами отмодулировать синусойдой по Z,то есть получить "змейку")
Не совсем понимаю как ты хочешь это на Gкоде реализовать?
Как мне кажется это гораздо реальнее сделать сторонней утилитой, собственно как мы и делали вот тут:
Или через кинематику, как это сделано тут: Re: Коррекция кривизны станка в программе EMC2 #26
torvn77 писал(а):Ещё у меня есть предложения:
1)Если команда newsig повторно используется для создания одного и того же сигнала с теми же свойствами то это не должно считаться ощибкой.
torvn77 писал(а):2)Команда net в случае присоединения к пину не существующего сигнала должна создавать не сигнал,а ошибку.
Где-то проскакивало, что команда newsig - устаревшая и ее не стоит использовать. Вместо нее нужно использовать net. newsig будет просто захламлять код дополнительными строчками.
torvn77 писал(а):3)Добавить в гуевые средства просмотра кофигурации hal'a опцию скрытия соединений с сигналами имя которых начинается с jump_ ,
а то если для каждой логической цепочки плодить не скрываемые сигналы,то сколько мусора может получится...
Может сделать сокрытие по шаблону начала и/или конца имени.
torvn77 писал(а):4)Добавить в гуевые средства просмотра кофигурации hal'a опцию скрытия неподключённых пинов,
а то списки порой бываю уж очень разхряженными,а то смотря начало или конец забываешь что делается в середине.
Где-то проскакивала тема, с програмками чтобы рисовать дерево hal в виде графа - но получается очень громоздко и ничего в итоге не понятно... текстовый вид один из самых удобных.
Но в принципе можешь написать свой визуализатор... :)
Было бы прикольно, сделать такую штуку:
видим 1 компонент, и все его пины/параметры + все их связи. Тыркаем на связь, и переходим на связанный компонент. Так можно будет отслеживать все сигналы.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение nkp »

Nick писал(а):Вместо нее нужно использовать net. newsig будет просто захламлять код дополнительными строчками.
а если никакого компонента нет , а сигнал нужен??
net здесь не применишь , потому как:
нет компонента-нет пина-нет сигнала
а так всё просто:

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

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-enable
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение nkp »

torvn77 писал(а):3)Добавить в гуевые средства просмотра кофигурации
http://cnc-club.ru/forum/viewtopic.php? ... 740#p88679
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

nkp писал(а):а если никакого компонента нет , а сигнал нужен??
net здесь не применишь , потому как:
нет компонента-нет пина-нет сигнала
а так всё просто:
Не совсем понятно зачем это?
Всерано до команды start компоненты не должны работать... вроде :freak:
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Сергей Саныч »

я пробовал это средство просмотра - вначале воодушевило, а потом как-то не пошлО. Запутанно выходит для более-менее сложных конфигураций.
Чудес не бывает. Бывают фокусы.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение nkp »

Nick писал(а):Где-то проскакивало, что команда newsig - устаревшая и ее не стоит использовать
проскакивало здесь
но я так понимаю - не то чтоб не советуют использовать,а
скорей советуют "не привыкать использовать"))
так как в новых версиях могут это убрать...
Nick писал(а):Не совсем понятно зачем это?
конечно можно было в приведенном примере все сделать через какой либо компонент...
но запись не стала бы короче:
загружаем компонент,активируем функции,потом net...
а так доже логичней (имхо)
--------
а насчет start я даже тебя не понял...
при старте емс подается эта команда ,и всё начинает работать в hal
========================
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

nkp писал(а):а насчет start я даже тебя не понял...
при старте емс подается эта команда ,и всё начинает работать в hal
из man halcmd
start
Starts execution of realtime threads. Each thread periodically calls all of the functions that were added to it with the addf command, in the order in which they were added.
stop
Stops execution of realtime threads. The threads will no longer call their functions.

PS а почему бы не сделать вместо:

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

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
Если так уж нужно, чтобы был изначально выставлен пин в 0?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение nkp »

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 
повторюсь - конечно можно (и так в дальнейшем и будет, коль уберут newsig) это решить
иным способом ( способов может быть несколько - и это радует)
но имхо - это один из самых компактных способов в данном применении...
-----------
про start всё равно не понял - каким боком он к этому всему )
когда запускаем емс скриптом -
мы и даем эту команду (start)
все потоки начинают работать...
Ответить

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