Страница 13 из 47

Re: MyGUI

Добавлено: 04 окт 2012, 12:06
Nick
nkp писал(а):что то еще надо прописать???
Есть такая штука :):
halcmd setp halui.jog-speed 1000

ЗЫ сам мудохался около 20 минут, причем вроде выставлял этот параметр, но видать как-то не так :)

Re: MyGUI

Добавлено: 04 окт 2012, 12:51
nkp
Ник , спасибо!
пока нет собраной панели отлаживаю хал кусками(для каждого из режимов)
вот наброски:
режим jog :

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

loadrt encoder names=encoder.a
loadrt mult2 count=1
addf mult2.0 servo-thread
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread
setp encoder.a.position-scale 1

loadrt mux2 count=1
addf mux2.0  servo-thread

setp mux2.0.in0 10
setp mux2.0.in1 50
net out   mux2.0.out halui.jog-speed 
net sel  mux2.0.sel   parport.0.pin-13-in-not 
setp mult2.0.in0  100
setp halui.feed-override.scale 0.01
net enc.a-a => encoder.a.phase-A =>  parport.0.pin-11-in
net enc.b-b => encoder.a.phase-B =>  parport.0.pin-12-in
net mult halui.feed-override.value  mult2.0.in1 
net counts encoder.a.counts   halui.feed-override.counts
net jog_0_plus halui.jog.0.plus parport.0.pin-15-in-not 
режим mpgjog :

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

loadrt encoder names=encoder.a
loadrt mux4 count=1
addf mux4.0 servo-thread
addf   encoder.update-counters base-thread
addf   encoder.capture-position servo-thread
setp   encoder.a.position-scale 1
net enc.a-a =>  parport.0.pin-11-in =>  encoder.a.phase-A 
net enc.b-b =>  parport.0.pin-12-in =>  encoder.a.phase-B
setp axis.0.jog-vel-mode 0
setp axis.2.jog-vel-mode 0


net pend-counts  encoder.a.counts axis.0.jog-counts axis.2.jog-counts
net mpg-x   parport.0.pin-15-in  axis.0.jog-enable
net mpg-z   parport.0.pin-13-in  axis.2.jog-enable


setp mux4.0.in0 1
setp mux4.0.in1 0.1
setp mux4.0.in2 0.01
setp mux4.0.in3 0.5

net scale1  parport.0.pin-09-in  => mux4.0.sel0
net scale2  parport.0.pin-08-in  => mux4.0.sel1
net pend-scale  mux4.0.out => axis.0.jog-scale   axis.2.jog-scale
режим incjog :

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

loadrt encoder names=encoder.a
loadrt mult2 count=1
addf mult2.0 servo-thread
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread
setp encoder.a.position-scale 1

loadrt mux4 count=1
addf mux4.0  servo-thread

setp mux4.0.in0 1
setp mux4.0.in1 0.1
setp mux4.0.in2 0.01
setp halui.jog-speed 10
setp axis.0.jog-enable 1

net out  mux4.0.out     halui.jog.0.increment  
net sel0  mux4.0.sel0   parport.0.pin-13-in-not 
net sel1  mux4.0.sel1   parport.0.pin-05-in-not 
setp mult2.0.in0  100
setp halui.feed-override.scale 0.01
net enc.a-a => encoder.a.phase-A =>  parport.0.pin-11-in
net enc.b-b => encoder.a.phase-B =>  parport.0.pin-12-in
net mult halui.feed-override.value  mult2.0.in1 
net counts encoder.a.counts   halui.feed-override.counts
net inc_jog_0_plus  halui.jog.0.increment-minus   parport.0.pin-15-in-not 
-----------------------

Re: MyGUI

Добавлено: 04 окт 2012, 13:38
Lexxa
работает, я проверял.

Re: MyGUI

Добавлено: 04 окт 2012, 13:58
nkp
в режиме mpg_jog крутил механическим энкодером (их вроде называют "шаттл")
возник вопрос - недавно говорилось о том ,что их пользовать вместо оптики нельзя
я вот думаю - на пульте скорость вращения его совсем небольшая , будет ли он пропускать "шаги" ?
или надежность небольшая?
или еще что???

Re: MyGUI

Добавлено: 04 окт 2012, 14:03
Lexxa
на пульте бсолютно пофиг, если он пропустит шаги. ну повернешь ты его чуть побольше, разницы нет. пропускать шаги он может только в случае быстрого вращения. У меня кстати разок с таким энкодером был косяк. вылечился установкой конденсаторов 0.1 мкФ по выходам А и В - дребезг ушел.

Re: MyGUI

Добавлено: 04 окт 2012, 16:21
Nick
nkp писал(а):в режиме mpg_jog крутил механическим энкодером (их вроде называют "шаттл") возник вопрос - недавно говорилось о том ,что их пользовать вместо оптики нельзя
А в чем разница между оптическим и механическим?

Re: MyGUI

Добавлено: 04 окт 2012, 16:27
Nick
И зачем у тебя там mult2 который вроде не используется.

Re: MyGUI

Добавлено: 04 окт 2012, 17:11
nkp
Nick писал(а):А в чем разница между оптическим и механическим?
ну хотя бы в цене:
~80$ и 2$ ;)

Re: MyGUI

Добавлено: 04 окт 2012, 17:14
nkp
Nick писал(а):И зачем у тебя там mult2 который вроде не используется.
выход mult в postgui :

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

net bar mult2.0.out   => gladevcp.hal_hbar1 

Re: MyGUI

Добавлено: 04 окт 2012, 17:29
Nick
nkp писал(а):net bar mult2.0.out   => gladevcp.hal_hbar1
Может лучше это в самом gladevcp сделать? Зачем забивать realtime лишними компонентами? Или может попробовать mult через loadusr загрузить...

Re: MyGUI

Добавлено: 04 окт 2012, 18:29
nkp
Nick писал(а):Может лучше это в самом gladevcp сделать? Зачем забивать realtime лишними компонентами? Или может попробовать mult через loadusr загрузить...
в glade вроде нет маштабирования:
(для просмотра содержимого нажмите на ссылку)
Выделение(016).jpg (1346 просмотров) <a class='original' href='./download/file.php?id=8336&mode=view' target=_blank>Загрузить оригинал (60.61 КБ)</a>
про "забивание" реалтайма - этот вопрос очень интересный (в смысле - хотелоь бы больше разобраться)
просто поменять "loadrt" на "loadusr" приводит к ошибке .
теперь по потокам:
такие компоненты как mult и подобные работают в servo-thread который медленней основного base-thread
и может base-thread имеет приоритет на работу - иначе реалтайм проблематичен на мой взгляд
ну а если у нас будет 8 осей с кучей компонентов и халом длинной в км - что тогда????????

Re: MyGUI

Добавлено: 04 окт 2012, 19:30
Nick
nkp писал(а):ну а если у нас будет 8 осей с кучей компонентов и халом длинной в км - что тогда????????
Не знаю :)
Вообще, все эти компоненты очень маленькие и простенькие, но что будет, если загрузить их несколько сотен штук...

Приоритет то есть, но если не успеем сделать все нужное за servothread, то тоже будет плохо - компоненты не получат команд на исполнение.

Хмм... может в Glade дописать scale... :).

Re: MyGUI

Добавлено: 04 окт 2012, 19:38
nkp
Nick писал(а):но что будет, если загрузить их несколько сотен штук...
ну про сотни речь не идет :)
в реальных хал файлах максимум 20-30 (больше не встречал)
работают - а значит это количество не критично...

Re: MyGUI

Добавлено: 05 окт 2012, 11:13
nkp
в halui не предусмотрен хоуминг по отдельным осям
выход- делать через скрипт ??

Re: MyGUI

Добавлено: 05 окт 2012, 11:24
Nick
Разве?
halui.joint.N.home bit in
pin for homing joint N

Кстати, вот перевод, о котором я говорил: :) EMC2 Integrators Manual Перевод на русский язык #64

Re: MyGUI

Добавлено: 05 окт 2012, 11:31
nkp
:oops:
Пойду приобретать очки ++5 :)

Re: MyGUI

Добавлено: 05 окт 2012, 12:30
Lexxa
nkp писал(а):просто поменять "loadrt" на "loadusr" приводит к ошибке .
+1
этот вопрос надо б разобрать
тоже и с ладдером.
как например сделать classicladder.1....

Re: MyGUI

Добавлено: 05 окт 2012, 13:11
Nick
Lexxa писал(а):как например сделать classicladder.1....
Вроде как просто делаешь еще один
loadusr classicladder user.clp
Попробуй добавь это в hal, посмотри, что будет...

Re: MyGUI

Добавлено: 05 окт 2012, 13:23
Nick
Хотя нет... оказывается я не знал как работает classicladder :freak:
у него есть два компонента, один RT, он обрабатывает все пины. Второй работает в userscape и это просто gui к компоненту rt.
Поэтому он у меня и не запускался на linuxcnc-sim, надо было сначала запустить:
halcmd loadrt classicladder_rt
а потом уже:
halcmd loadusr classicladder
Сейчас буду разбираться как запустить несколько копий classic ladder.

Re: MyGUI

Добавлено: 05 окт 2012, 14:03
Lexxa
sim работает как будто ядро rt