Plazma na LinuxCNC - konfiguracja THC, 2 silniki 1 oś itd.

Dyskusje dotyczące działania obsługi programu LinuxCNC
Awatar użytkownika

Autor tematu
adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

Plazma na LinuxCNC - konfiguracja THC, 2 silniki 1 oś itd.

#1

Post napisał: adam Fx » 01 sty 2015, 22:38

Witam
Przerosła mnie konfiguracja pod plazmę w związku z czym proszę o pomoc.
Wiem, że kilka osób ma plazmy na LinuxCNC, więc może podzieliliby się swoimi plikami konfiguracyjnymi - było by łatwiej takie sprawdzone configi dopasować pod swoje potrzeby. Jeżeli jednak w ten sposób się nie uda to może ktoś chociaż pomoże rozwiązać poniższe problemy.

W założeniu wszystko było proste - wykorzystam sobie config. z frezarki i powinno być OK.
Zagłębiwszy się w temat wynikło kilka problemów:
1- Myślałem, że metodą na sterowanie np. osią Y z dwoma silnikami krokowymi jest podpięcie pod piny STEP/DIR osi Y dwóch sterowników. Natrafiłem jednak na opisy, iż prawidłowa synchronizacja będzie możliwa jedynie z wykorzystaniem czwartej osi (czyli podpięcie pod inne piny LPT).
2-THC - ma być coś takiego http://proma-elektronika.com/index.php/ ... c-linuxcnc jest tam nawet gotowiec, ale no do końca pasujący pod moje kryteria (do tego jeszcze wrócimy)
3- widać, że cięcie przebiega nieco inaczej niż na frezarce gdzie Z łapiemy na papierek tzn. palnik sam "szuka materiału" w związku z tym zwyczajnie wygenerowany program na frezarkę nie będzie działał, gdyż tu pod M3 musi się kryć więcej poleceń niż tylko załączenie przekaźnika wrzeciona.

Zjedź szybko na Z20 > jedź w dół, aż napotkasz sygnał z krańcówki > zapisz Z0 > podjedź na wysokość przebijania > zapłon >pauza na przebicie > tu już chyba ustalenie wysokości na podstawie THC i rozpoczęcie cięcia po konturze

Może nie robi się tego na poziomie samego linuxCNC tylko już generując kod, który zamiast M3 wstawia jakiś podprogram?

To chyba 3 główne problemy, których na chwile obecną nie potrafię przeskoczyć.

Próbowałem to ogarnąć na podstawie gotowca już wcześniej wspomnianego, lecz jest on chyba napisany ręcznie, gdyż swoją strukturą różni się od znanych mi do tej pory configów wygenerowanych przez kreator.

Pierwszym głównym problemem jest brak możliwości uruchomienia tak jakby był wciśnięty E-Stop, wiec proponuję zacząć od tego problemu.
W pliku kreatora potrafię (chyba:neutral: ) wyszukać linie odpowiedzialne za wył. awaryjny. tu niestety nie mimo że jest plik .hal nawet o nazwie estop.hal
################################ Other ##########################################
#Connect Estop and ChargePump

loadrt estop_latch
addf estop-latch.0 base-thread

# External Estop Signal handled by THC
# External estop is now wired into a central latch in thc.hal
#net ExtEStop parport.0.pin-10-in => estop-latch.0.fault-in
#net EstopLatchWatchDog estop-latch.0.watchdog => parport.0.pin-17-out parport.1.pin-17-out
net EstopRequestEnable iocontrol.0.user-request-enable => estop-latch.0.reset
net EstopEnableOut iocontrol.0.user-enable-out => estop-latch.0.ok-in
net EstopOKOut estop-latch.0.ok-out => iocontrol.0.emc-enable-in

Jako że jest # przy bloku z nr pinu to myślę, że E-stop powinien być nieaktywny.

Jak widać plazma niby działa na tym gotowcu https://www.cnc.info.pl/topics54/plazma ... a+gotowiec ale jak się bliżej przyjrzeć na monitorze to chyba jest to poprawiona wersja, gdyż np. osie są opisane XYZ a w gotowcu jakoś dziwnie 1 2 3 - swoją drogą to też nie wiem jak zmienić ich opis.


sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Tagi:


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

#2

Post napisał: kamar » 02 sty 2015, 08:24

Z dwoma silnikami na osi nie pomogę ( dla mnie to szukanie kłopotów już na etapie projektu :))
Zjazd palnika mam zrobiony bardzo prosto : programik np.

Kod: Zaznacz cały

o<touchoff> sub
(#1 pierce height, #2 pierce delay, #3 cut height)
F2000
G38.2 Z-5 (Probe to find the surface)
/G91
G1 Z5  (Raise up to Z0)
/G90
/G92 Z0 (Set Z0)
G1 Z5
M3 S1
/M66 P0 L1 Q1 (Wait for Arc OK from Torch)
G4 P3 (Pause for pierce delay)
/F1000
Z5 (goto cut height)
o<touchoff> endsub
M2
Wywoływany w miejscu gdzie ma ciąć
np. w subie

Kod: Zaznacz cały

( --------------------------------- )
(  W Y P A L A N I E   O T W O R U  )
(                                   )
( --------------------------------- )
( Kamar                             )
( Time-stamp: <2013-01-07 15:01>    )
( --------------------------------- )

(info: Wypalanie otworu)

o<pl_otwor> sub

#<wys_przepalania> = #1 (=3 Wysoko&#9532;Ť&#9472;ç przepalania)
#<czas_przepalania> = #2 (=3 Czas przepalania)
#<wys_palenia> = #3 (=3 Wysoko&#9532;Ť&#9472;ç palenia)
#<sr_otworu> = #4 (=20 &#9532;Ťr. otworu)
#<pr_wpalenia> =#5 (=4 promie&#9532;ä wpalenia)
#<rodzaj> = #6 (=0 [] 0 - otw&#9500;&#9474;r, 1 - ko&#9532;éo)
#<predkosc> = #7 (=200 Pr&#9472;Ödko&#9532;Ť&#9472;ç)

( ------------------------------ )

#<promien> = [#<sr_otworu> / 2] ( promien otworu )

g17 G21 G61

(g0 x0 y0)

o100 if[#<rodzaj> eq 0]
(otw&#9500;&#9474;r)
  g0 X[[-1 * #<promien>] + #<pr_wpalenia>] Y[#<pr_wpalenia>]

 o<touchoff> call [#<wys_przepalania>] [#<czas_przepalania>] 

 ( G3 X0 Y0 I0 J[-1 * [#<pr_wpalenia>]])
  G3 X[-1 * #<promien>] Y0 I0 J[-1 * #<pr_wpalenia>]
	G3 X[-1 * #<promien>] Y0 I#<promien> J0 F#<predkosc>
  G3 X[[-1 * #<promien>] + #<pr_wpalenia>] Y[-1 * #<pr_wpalenia>] I#<pr_wpalenia> J0
	
  (G2 X0 Y0 I#<promien> J0 F#<predkosc>)
o100 else
(ko&#9532;éo)
  g0 X[-1 * [#<promien> + #<pr_wpalenia>]] Y[#<pr_wpalenia>]
  o<touchoff> call [#<wys_przepalania>] [#<czas_przepalania>] [#<wys_przepalania>]
	G2 X[-1 * #<promien>] Y0 I0 J[-1 * #<pr_wpalenia>]
  G2 X[-1 * #<promien>] Y0 I#<promien> J0 F#<predkosc>
  G2 X[-1 * [#<promien> + #<pr_wpalenia>]] Y[-1 * #<pr_wpalenia>] I[-1 * #<pr_wpalenia>] J0

  (G2 X0 Y0 I0 J[-1 * [#<promien> / 4]])
  (G3 X0 Y0 I#<promien> J0 F#<predkosc>)
o100 endif

m5

o<pl_otwor> endsub
Pewnie ze powinno to być podpięte pod np. M6 coby łatwiej było generować z Cama, no ale nie jest :)
Zerowanie osi Z przy THC - niekonieczne.


251mz
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 4440
Rejestracja: 27 sie 2004, 21:59
Lokalizacja: Polska

#3

Post napisał: 251mz » 02 sty 2015, 11:27

kamar pisze:Z dwoma silnikami na osi nie pomogę ( dla mnie to szukanie kłopotów już na etapie projektu )
Kolejny raz będę musiał się produkować ,że to też dobre rozwiązanie;)


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

#4

Post napisał: kamar » 02 sty 2015, 11:55

Może i dobre :) ale czy lepsze ? i czy lepsze o tyle coby było warto pchać się w kłopoty ?


251mz
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 4440
Rejestracja: 27 sie 2004, 21:59
Lokalizacja: Polska

#5

Post napisał: 251mz » 02 sty 2015, 12:51

kamar pisze:Może i dobre ale czy lepsze ? i czy lepsze o tyle coby było warto pchać się w kłopoty ?
Na pewno łatwiej wykonać napęd oddzielnie z obu stron zwłaszcza gdy brama szeroka czyli >1,5m .
Jeśli dobrze będę dobrane napędy to nie ma wacka aby pogubiło kroki...

Napęd obustronnie sprzęgnięty wałem super rozwiązanie.
Tylko uwaga na rezonanse...
Wał może wchodzić w wibracje w pewnym zakresie prędkości krokowca.
I czasami żadne cuda nie chcą pomóc na tą przypadłość ;)

Dlatego uważam ,że dwa silniki po obu stronach bramy to dla początkującego mniejsze zło ;)


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

#6

Post napisał: kamar » 02 sty 2015, 13:42

251mz pisze: Tylko uwaga na rezonanse...
I czasami żadne cuda nie chcą pomóc na tą przypadłość ;)
Po co cuda :) Wystarczy odpowiednia ilość podpór równo zamocowanych :) i trzy metry nie straszne.

Obrazek

Awatar użytkownika

Autor tematu
adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

#7

Post napisał: adam Fx » 02 sty 2015, 16:11

Znalazłem taką modyfikację do DXF2Gcode https://www.cnc.info.pl/topics54/dxf2gc ... t38730.htm wydaję się być całkiem przydatna szczególnie gdy chcemy wypalić np. arkusz zapełniony formatkami.

kamar, Czy jest szansa na otrzymanie plików konfiguracyjnych tzn. .ini .hal itd. ? Na filmie widać że plazma już śmiga z THC a to ułatwiło by mi znacznie sprawę (pozostało by dodać ten czwarty silnik). Zawsze to lepszy punkt wyjścia niż to co mam (czyli config niby gotowiec a jednak nie da się nawet wyjść z trybu E-stop poza tym też na 3 silniki)

251mz, Czy jako obrońca wersji 2 silnikowej jesteś wstanie potwierdzić to co znalazłem w sieci ? Mianowicie czy podłączenie dwóch sterowników pod te same piny np :
Silnik1 Y1step pin2 Y1dir Pin3 Silnik2 Y2step pin2 Y2dir Pin3
jest błędem ? Wtedy odpadła by cała konfiguracja
czy może Jednak koniecznie jest by za silnik drugi dopowiadały inne piny tzn:
Silnik1 Y1step pin2 Y1dir Pin3 Silnik2 Y2step pin4 Y2dir Pin5
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos


251mz
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 4440
Rejestracja: 27 sie 2004, 21:59
Lokalizacja: Polska

#8

Post napisał: 251mz » 02 sty 2015, 16:58

adam Fx pisze: Mianowicie czy podłączenie dwóch sterowników pod te same piny np :
Musisz podłaczyć oddzielnie.
Ze względu na to ,że po każdym uruchomieniu musisz zbazować bramę tzn lewą i prawą stronę aby była równolegle ...
Zbudowałem taką plazmówkę jako piewszą i używałem jej przez 2 lata więc wiem co nieco ;)


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

#9

Post napisał: kamar » 02 sty 2015, 17:04

adam Fx pisze:
kamar, Czy jest szansa
To co mam to wystawiam ale ostrożnie bo dawno nie używane .

Kod: Zaznacz cały

# PLAZMA - Artur
# Time-stamp: <2013-02-08 10:33>

[EMC]
MACHINE = plazma
DEBUG = 0

[DISPLAY]
TKPKG             = Ngcgui    1.0
TKPKG             = Ngcguittt 1.0
# Ngcgui must precede Ngcguittt

NGCGUI_FONT       = Helvetica -16 normal

# for startup NGCGUI_PREAMBLE, NGCGUI_SUBFILE, NGCGUI_POSTAMBLE, TTT_PREAMBLE
# items, specifly:
#   a) absolute filename (start with /)
#   b) relative filename: search directories specified by
#      [DISPLAY]PROGRAM_PREFIX and [RS274NGC]SUBROUTINE_PATH

NGCGUI_PREAMBLE   = mm_std.ngc
NGCGUI_SUBFILE    = pl_przejazd.ngc
NGCGUI_SUBFILE    = pl_prostokat.ngc
NGCGUI_SUBFILE    = pl_otwor.ngc
NGCGUI_SUBFILE    = pl_trojkat.ngc
#NGCGUI_SUBFILE    = otwor.ngc
#NGCGUI_SUBFILE    = podzial.ngc
#NGCGUI_SUBFILE    = otwory_po_okregu.ngc
#NGCGUI_SUBFILE    = otwory_linia.ngc
#NGCGUI_SUBFILE    = kanalek_y.ngc
#NGCGUI_SUBFILE    = iquad.ngc
#NGCGUI_SUBFILE    = db25.ngc
#NGCGUI_SUBFILE    = ihex.ngc
#NGCGUI_SUBFILE    = gosper.ngc
# specify "" for a custom tab page
NGCGUI_SUBFILE    = ""

NGCGUI_OPTIONS    =
#NGCGUI_OPTIONS   = opt1 opt2 ...
# opt items:
#   nonew      -- disallow making   new tab page
#   noremove   -- disallow removing any tab page
#   noauto     -- no autosend (makeFile, then manually send)
#   noiframe   -- no internal image, image  on separate toplevel

TTT               = truetype-tracer
TTT_PREAMBLE      = in_std.ngc

DISPLAY = axis
EDITOR = gedit
PYVCP  = plasma.xml
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2
INTRO_TIME = 0
PROGRAM_PREFIX = /home/cnc/linuxcnc/kody
OPEN_FILE = /home/cnc/linuxcnc/kody/plazma/aktualny.ngc
INCREMENTS = 1mm 0.1mm
DEFAULT_LINEAR_VELOCITY = 250
MAX_LINEAR_VELOCITY = 250
MIN_VELOCITY = 20
GEOMETRY = XYZ

[FILTER]
PROGRAM_EXTENSION = .NC,.NGC NC Post Processor
PROGRAM_EXTENSION = .nc nc Post Processor
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script

png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[RS274NGC]
PARAMETER_FILE = emc.var
SUBROUTINE_PATH   = /home/cnc/linuxcnc/kody/suby:/home/cnc/linuxcnc/ngcgui_lib:/home/cnc/linuxcnc/ngcgui_lib/utilitysubs
USER_M_PATH       = /home/cnc/linuxcnc/ngcgui_lib/mfiles


[EMCMOT]
EMCMOT = motmod
SHMEM_KEY = 111
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 25000
SERVO_PERIOD = 1000000

[HAL]
HALFILE = plazma.hal
HALFILE = custom.hal
 POSTGUI_HALFILE = postgui.hal
HALUI = halui

[TRAJ]
AXES = 4
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 6.00
MAX_LINEAR_VELOCITY = 250
POSITION_FILE = zapis_pozycji.txt

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
			
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 250
MAX_ACCELERATION = 800
STEPGEN_MAXACCEL = 1000
SCALE = 42.55
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = 0.0
MAX_LIMIT = 2300
HOME_OFFSET = 0.0
BLACKLASH = 0.00

[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 180
MAX_ACCELERATION = 800
STEPGEN_MAXACCEL = 1000
SCALE = 42.55
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -1330
MAX_LIMIT = 0
HOME_OFFSET = 0.0
BLACKLASH = 0.0

[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 70
MAX_ACCELERATION = 400
STEPGEN_MAXACCEL = 600
SCALE = 400
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -120
MAX_LIMIT = 0.0
HOME_OFFSET = 0.0

Kod: Zaznacz cały

# Generated by stepconf at Thu Feb 12 12:58:15 2009
# If you make changes to this file, they will be
# overwritten when you run stepconf again
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]SERVO_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hal_parport cfg=0x378
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0

# Torch Height Control
loadrt thcud
addf thcud servo-thread

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
net coolant-flood <= iocontrol.0.coolant-flood

net estop-out => parport.0.pin-01-out
net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
setp parport.0.pin-03-out-invert 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
setp parport.0.pin-05-out-invert 1
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net zdir => parport.0.pin-07-out
setp parport.0.pin-07-out-invert 1

setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 32000
setp stepgen.0.dirsetup 32000
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 => 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 32000
setp stepgen.1.dirsetup 32000
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 => 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 32000
setp stepgen.2.dirsetup 32000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL

#net zpos-cmd axis.2.motor-pos-cmd => thcud.z-pos-in
#net zpos-cmd-thc thcud.z-pos-out => stepgen.2.position-cmd
#net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
###net zpos-fb thcud.z-fb-out => 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 => 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-out => 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 TorchProbe motion.probe-input <= parport.0.pin-11-in
net TorchUp thcud.torch-up <= parport.0.pin-12-in
net TorchDown thcud.torch-down <= parport.0.pin-13-in
net ArcOK motion.digital-in-00 thcud.arc-ok <= parport.0.pin-15-in


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 

#setp thcud.vel_scale 1
#setp thcud.scale_offset 0
#setp thcud.voltage_tol 1
#0.0001

Kod: Zaznacz cały

<pyvcp>
<hbox>
<checkbutton>
    <text>"THC Aktywne"</text>
    <halpin>"thc-enable"</halpin>
</checkbutton>
</hbox>

<labelframe text="Palnik">
    <hbox>
        <vbox>
            <label>
                <text>"Za nisko"</text>
                <font>("Helvetica",10)</font>
            </label>
            <rectled>
                <halpin>"thc-up"</halpin>
                <height>"20"</height>
                <width>"40"</width>
                <on_color>"red"</on_color>
                <off_color>"green"</off_color>
            </rectled>
        </vbox>
        <vbox>
            <label>
                <text>"Za wysoko"</text>
                <font>("Helvetica",10)</font>
            </label>
            <rectled>
                <halpin>"thc-down"</halpin>
                <height>"20"</height>
                <width>"40"</width>
                <on_color>"red"</on_color>
                <off_color>"green"</off_color>
            </rectled>
        </vbox>
    </hbox>
</labelframe>
<labelframe text="Stan">
    <hbox>
        <vbox>
            <label>
                <text>"Łuk OK"</text>
                <font>("Helvetica",10)</font>
            </label>
            <rectled>
                <halpin>"arc-ok"</halpin>
                <height>"20"</height>
                <width>"40"</width>
                <on_color>"blue"</on_color>
                <off_color>"red"</off_color>
            </rectled>
        </vbox>
    </hbox>
</labelframe>
</pyvcp>

Awatar użytkownika

Autor tematu
adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

#10

Post napisał: adam Fx » 03 sty 2015, 14:46

OK po nierównej walce (aż do wysypania całego linuxcnc :???: )
Opisze trochę przeprawę może komuś się przyda.

Miałem wersje linuxCNC 2.4 podciągnięta do 2.5 i za nic nie chciała działać config wysypywał się na thcud.comp gdzieś znalazłem, że to z braku linuxcnc-dev ale przy pomocy sudo apt-get install linuxcnc-dev nie chciało pobierać (teraz domyślam się, że zwyczajnie w " źródła oprogramowania" nie było odpowiedniej ścieżki.
Namieszałem tak, że linuxcnc wrócił mi do emc2 :???:

Lekiem miała być ponowna install Linuxcnc od nowa. Jako że CD miałem z v2.4 postanowiłem wgrać coś nowszego - wypaliłem 2.5
Płyta do napędu, reset PC, mieli, mieli, myśli, nawet pokazuje się logo Ubuntu po czym błąd
(process:285): GLib-WARNING getpwuid_r() failed due to unknown user id (0)

W sumie wypaliłem 3 płyty i dopiero instalka na innym kompie (pod win7) ruszyła.

Potem jakoś poszło linuxcnc-dev zainstalowałem przez " Menadżer pakietów Synaptic".
W konsoli przeszedłem przy pomocy polecenia "cd" do folderu, gdzie miałem plik thcud.comp i wpisałem komendę sudo comp --install thcud.comp

Próbując odpalić pliki od Kamara natrafiłem właśnie na błąd thcud a szukając w sieci pomocy znalazłem gotową paczkę https://www.cnc.info.pl/topics54/thc-w- ... 495,20.htm config się jednak mi nie odpalał było coś namieszane ze sterowaniem przez jojstick (wszystkie powiązania z tym zakratkowałem #) config odpalił :mrgreen:

W paczce brakuje plików NGCGUI do ustawiania się do blachy która leży pod skosem
rozwiązanie jest tu https://www.cnc.info.pl/topics54/ustawi ... t38386.htm pliki trzeba wypakować w miejsce, które podano w .INI


Wracając do tematu mam już config na 3 osie, który się odpala i reaguje na zwarcie pinów do GND w LPT (reakcja polega na zapalaniu kontrolek na razie do PC nic nie jest podłączone, wiec testuje wirtualnie).
Teraz pytanie czemu oś Z się nie porusza (nie wyświetla zmian na DRO) po zmianie sygnałów z THC?
Czyżby powodem było to co usunąłem(myślałem ze to odp. za jojstick)
#joy

loadusr -W hal_input -KRAL Dual

loadrt or2 count=2
loadrt mux4 count=1

addf or2.0 servo-thread
addf or2.1 servo-thread
addf mux4.0 servo-thread

# set the jog speed for the joypad again use numbers that make sense for your machine
setp mux4.0.in0 500 # this one must be 0 to prevent motion unless a button is pressed
setp mux4.0.in1 100
setp mux4.0.in2 5000
setp mux4.0.in3 9185

# the following does the magic of setting the jog speeds
net remote-speed-slow or2.0.in0 input.0.btn-joystick
net remote-speed-medium or2.1.in0 input.0.btn-thumb
net remote-speed-fast or2.0.in1 or2.1.in1 input.0.btn-thumb2

net joy-speed-1 mux4.0.sel0 <= or2.0.out
net joy-speed-2 mux4.0.sel1 <= or2.1.out
net joy-speed-final halui.jog-speed <= mux4.0.out

net joy-x-jog halui.jog.0.analog <= input.0.abs-x-position
net joy-y-jog halui.jog.1.analog <= input.0.abs-y-position
net joy-z-jog halui.jog.2.analog <= input.0.abs-rz-position

setp input.0.abs-y-scale -127.5
setp input.0.abs-rz-scale -127.5


net przycisk9 input.0.btn-base3 => halui.joint.0.home
net przycisk9 input.0.btn-base3 => halui.joint.1.home
net przycisk10 input.0.btn-base4 => halui.joint.2.home

Kolejna sprawa to ta 4 oś
251mz pisze:Musisz podłaczyć oddzielnie.
Ze względu na to ,że po każdym uruchomieniu musisz zbazować bramę tzn lewą i prawą stronę aby była równolegle ...
Zbudowałem taką plazmówkę jako piewszą i używałem jej przez 2 lata więc wiem co nieco
Teraz z tym bazowaniem to się zrobiło jeszcze bardziej skomplikowane :???:

Czy posiadasz może Config z tamtej plazmy? Może udałoby się skleić coś z tym co już mam.
Właściwie jak to w ogóle działało? Linux wyświetlał dwie osie Y w DRO?
Bazowanie - 2 silniki Y jechały naraz na bazę jako jedność a jak jeden natrafił na krańcówkę to już nie były jednością i drugi sobie jechał nadal w poszukiwaniu swojej bazy? Trochę to skomplikowane.
No, bo przecież układ nie może się nazywać XYZA, bo jakbym chciał wyciąć linie prostą to musiałbym napisać G01 Y100 A100 (od biedy przy ręcznym programowaniu to mogłoby przejść, ale przy generowaniu przez CAM już nie bardzo).
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”