Linuxcnc i thc Proma 150. Problem z konfiguracją hala

Dyskusje dotyczące działania obsługi programu LinuxCNC

Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 6
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

Linuxcnc i thc Proma 150. Problem z konfiguracją hala

#1

Post napisał: dragon44 » 22 kwie 2017, 17:43

Cześć wszystkim ;)
Pozwolę sobie zdublować problem z halem z jakim się borykam. Zdaję sobie sprawę, że nie wszyscy linuxiarze wchodzą do działu o plazmach ;) Właściwy temat tutaj .
Rdzeń hala mam ogarnięty, poradziłem sobie ze szpilkami na krańcówkach (debounce), w haloscopie widzę jak zmieniają mi się torch up i torch down, ale torch on nie drgnie ;/ Aha, warto wspomnieć, że mam THC od Prokopcia, 150, i używam opcji test. Linuxcnc widzi sygnały, ale oś Z nie drgnie ;/ Jeżeli któryś z Kolegów mógłby rzucić okiem na kod, to będę wdzięczny za pomoc ;)

Kod: Zaznacz cały

# Generated by stepconf 1.1 at Tue Mar 28 18:04:28 2017
# Jeśli zmodyfikujesz ten plik zmainy zostaną
# nadpisane gdy uruchomisz ponownie Stepconf
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 4000
loadrt stepgen step_type=0,0,0
loadrt lut5

# Torch Height Control
loadrt thcud
addf thcud servo-thread
#addf thcud base-thread

#### debounce
loadrt debounce cfg=1
addf debounce.0 base-thread
setp debounce.0.delay 100
#unlinkp motion.probe-input
#net probe-in debounce.0.0.in
#net probe-filt debounce.0.0.out => motion.probe-input

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf lut5.0 servo-thread
net spindle-cmd-rpm     <= motion.spindle-speed-out
net spindle-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-cmd-rps     <= motion.spindle-speed-out-rps
net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-at-speed    => motion.spindle-at-speed
#net spindle-on <= motion.spindle-on
#net dout-00 <= motion.digital-out-00
#net din-00 => motion.digital-in-00
#net din-01 => motion.digital-in-01
#net din-02 => motion.digital-in-02

#net spindle-on      => parport.0.pin-01-out
net xstep           => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
net xdir            => parport.0.pin-03-out
net ystep           => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
net ydir            => parport.0.pin-05-out
net zstep           => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net zdir            => parport.0.pin-07-out
net astep           => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
net adir            => parport.0.pin-09-out
#net dout-00         => parport.0.pin-16-out
setp parport.0.pin-17-out-invert 1
net xenable         => parport.0.pin-17-out
net estop-ext       <= parport.0.pin-15-in-not
#net all-limit-home  <= parport.0.pin-11-in
#net din-00          <= parport.0.pin-12-in
#net din-01          <= parport.0.pin-13-in
#net din-02          <= parport.0.pin-15-in
setp lut5.0.function 0x10000
#net all-limit-home => lut5.0.in-4
#net all-limit <= lut5.0.out
#net homing-x <= axis.0.homing => lut5.0.in-0
#net homing-y <= axis.1.homing => lut5.0.in-1
#net homing-z <= axis.2.homing => lut5.0.in-2

net debounce-all-limit-home debounce.0.0.in <= parport.0.pin-11-in
net all-limit-home debounce.0.0.out => lut5.0.in-4
net all-limit <= lut5.0.out
net homing-x <= axis.0.homing => lut5.0.in-0
net homing-y <= axis.1.homing => lut5.0.in-1
net homing-z <= axis.2.homing => lut5.0.in-2

#####wejthc

net torch-up thcud.torch-up <= parport.0.pin-12-in-not
net torch-down thcud.torch-down <= parport.0.pin-13-in-not
net torch-on motion.spindle-on => parport.0.pin-16-out
net arc-ok thcud.arc-ok <= motion.digital-in-00 <= parport.0.pin-10-in
net requested-vel thcud.requested-vel <= motion.requested-vel
net current-vel thcud.current-vel <= motion.current-vel

#net CurVel thcud.current-vel <= motion.current-vel

# spindle on starts the arc
#net spindle-on motion.spindle-on => parport.0.pin-16-out
#net spindle-on thcud.torch-on
#net ArcOK motion.digital-in-00

#setp thcud.requested-vel 5
#setp thcud.velocity-tol 2
#setp thcud.correction-vel 0.002   # bylo 0.005


#############################3

setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 24000
setp stepgen.0.dirsetup 24000
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable axis.0.amp-enable-out => stepgen.0.enable
net all-limit-home => axis.0.home-sw-in
net all-limit => axis.0.neg-lim-sw-in
net all-limit => axis.0.pos-lim-sw-in

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 24000
setp stepgen.1.dirsetup 24000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable
net all-limit-home => axis.1.home-sw-in
net all-limit => axis.1.neg-lim-sw-in
net all-limit => axis.1.pos-lim-sw-in

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 24000
setp stepgen.2.dirsetup 24000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
#net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
#net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb

net zpos-cmd thcud.z-pos-in <= axis.2.motor-pos-cmd
net thc-pos-cmd thcud.z-pos-out => stepgen.2.position-cmd
net thc-pos-fb axis.2.motor-pos-fb <= thcud.z-fb-out

net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable
net all-limit-home => axis.2.home-sw-in
net all-limit => axis.2.neg-lim-sw-in
net all-limit => axis.2.pos-lim-sw-in

net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared

#################
#net CurVel thcud.current-vel <= motion.current-vel

#setp thcud.requested-vel 20
#setp thcud.velocity-tol 5
#setp thcud.correction-vel 0.005 



Tagi:


Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 6
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

#2

Post napisał: dragon44 » 24 kwie 2017, 15:04

może to głuie pytanie, ale czy do poprawnej pracy thc trzeba zainstaloać jakiś pakiet? Albo dołązyć plik thcud.comp??? Mam linuxcnc w wersji 2.7.8.


GumiRobot
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 1
Posty: 685
Rejestracja: 21 mar 2005, 18:51
Lokalizacja: Trójmiasto

#3

Post napisał: GumiRobot » 24 kwie 2017, 18:35

Męcz kolego bezpośrednio kol KAMARa on to pod LinxCNC już wymęczył.


kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 16221
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

#4

Post napisał: kamar » 25 kwie 2017, 18:09

GumiRobot pisze: już wymęczył.
Dokładniej to : mu wymęczyli :) Mam, działa, wystawić gdzieś mogę taki jaki mam, ale co tam jest to już pojęcie mam mgliste.


Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 6
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

#5

Post napisał: dragon44 » 25 kwie 2017, 19:46

kamar, widziałem hala, którego wrzucałeś, ale u mnie nie działa. Nie wiem, jeszcze (dzisiaj pracuje czysto teoretycznie) czy nie będę musiał dopisać w postgui.hal takiej linii net thc-enable thcud.enable <= pyvcp.thc-enable , według tego co tutaj piszą, bo może mój pstryczek załączający thc nie działa. Próbowałem już kilkunastu gotowców i żadnej nie odpala od ręki ;p zmieniam, kombinuje i się męczę. Aktualnie widzę przebiegi w haloscopie, ale sygnalizatory w przerobionym gui milczą. Mam wrażenie, że brakuje mi jednej komendy łączącej wszystko w całość ;D


szary11
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 377
Rejestracja: 16 lut 2011, 22:44
Lokalizacja: Tarnogród

#6

Post napisał: szary11 » 27 kwie 2017, 06:19

dragon44 pomyśl nad zmianą na THC MyPlasm od prokopcia, podłączenie proste, a działanie jeszcze lepsze i możesz w kodzie blokować regulacje kiedy chcesz.
Ja po przejściu na MyPlasm mam dużo mniejsze zużycie dysz.


Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 6
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

#7

Post napisał: dragon44 » 27 kwie 2017, 12:44

szary11, no bez jaj. Jeszcze 150 nie uruchomiłem :p Z tego co czytałem, to MyPlasm opiera się właśnie o 150tke. Podłączenie to nie problem, gorzej z konfiguracją. Możesz mi podesłać swoje pliki konfiguracyjne? Na jakiej wersji linuxcnc pracujesz?


szary11
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 377
Rejestracja: 16 lut 2011, 22:44
Lokalizacja: Tarnogród

#8

Post napisał: szary11 » 27 kwie 2017, 17:03

dragon44 pisze:szary11, no bez jaj. Jeszcze 150 nie uruchomiłem :p Z tego co czytałem, to MyPlasm opiera się właśnie o 150tke. Podłączenie to nie problem, gorzej z konfiguracją. Możesz mi podesłać swoje pliki konfiguracyjne? Na jakiej wersji linuxcnc pracujesz?
150-tka chyba była pierwsza, potem SD i teraz MyPlasm.
SD i MyPlasm żyją własnym życiem i o to mi chodziło przy podłączeni (nie ma konfiguracji i dodatków do hala) jedynie do MyPlasm można dorzucić komponent który będzie blokował w określonych sytuacjach sygnał DISABLE. Jest to bardzo dobre, bo można w Camie dodać sygnał na np: 2mm przed końcem każdej ścieżki i palnik nie nurkuje, a otwór jest wykończony ładnie.
dopisane mam w custom.hal komponent patrz tu https://www.cnc.info.pl/topics57/nowa-g ... 90,280.htm
poza tym nic
2.6.13 i ubuntu 10.4- zabieram się do debiana, ale skoro działa dobrze to po co.


Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 6
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

#9

Post napisał: dragon44 » 27 kwie 2017, 18:03

Nie wiem czemu, ale uparłem się na wersje z wizualizacją pozycji osi Z. Może to i błąd.

Kilka dni próbowałem posklejać dostępne w internecie configi. Dopisywałem, kombinowałem, męczyłem się... Generalnie odpalałem maszynę ze swojego configu. A wystarczyło jedynie włączyć linuxcnc i załadować konfigurację od Prokopcia :D Trochę zabawy i zetka pływa. Jadę zaraz jeszcze ogarnąć INI, żeby mi się wymiary zgadzały, bo na razie to coś poszło nie tak i się nieźle rozjeżdża ;)

Jak już zacznę palić, to powrócę do tematu tego disable, bo softwerowo też pewnikiem da się to ogarnąć.

Może się uda zrobić pierwsze Cięcia przed majówką xD

Miłego wieczoru, jadę się bawić :twisted:


Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 6
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

#10

Post napisał: dragon44 » 05 maja 2017, 15:30

dragon44 pisze: Może się uda zrobić pierwsze Cięcia przed majówką xD
Nie udało się ;p ALE: thc już działa, tylko mam "mały" problem z GUI. Nie działa mi przycisk do ustawiania offsetu. Załączam F2, mogę zrobić bazowanie, ale "ustaw offset" pozostaje nieaktywne. Po zabazowaniu dalej to samo. Bazowanie odbywa się tylko osiami X i Y. Ma ktoś jakiś pomysł gdzie szukać przyczyny? Albo jak można to obejść, bo nie wyobrażam sobie robić programów względem G53...

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”