Znaleziono 4 wyniki

autor: kamar
02 sty 2015, 17:04
Forum: LinuxCNC (dawniej EMC2)
Temat: Plazma na LinuxCNC - konfiguracja THC, 2 silniki 1 oś itd.
Odpowiedzi: 23
Odsłony: 11862

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>
autor: kamar
02 sty 2015, 13:42
Forum: LinuxCNC (dawniej EMC2)
Temat: Plazma na LinuxCNC - konfiguracja THC, 2 silniki 1 oś itd.
Odpowiedzi: 23
Odsłony: 11862

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
autor: kamar
02 sty 2015, 11:55
Forum: LinuxCNC (dawniej EMC2)
Temat: Plazma na LinuxCNC - konfiguracja THC, 2 silniki 1 oś itd.
Odpowiedzi: 23
Odsłony: 11862

Może i dobre :) ale czy lepsze ? i czy lepsze o tyle coby było warto pchać się w kłopoty ?
autor: kamar
02 sty 2015, 08:24
Forum: LinuxCNC (dawniej EMC2)
Temat: Plazma na LinuxCNC - konfiguracja THC, 2 silniki 1 oś itd.
Odpowiedzi: 23
Odsłony: 11862

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.

Wróć do „Plazma na LinuxCNC - konfiguracja THC, 2 silniki 1 oś itd.”