Wywoływanie zewnętrznego programu jako podprogram w Linux CN

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

Autor tematu
Segitarius
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 390
Rejestracja: 15 lut 2011, 19:07
Lokalizacja: Zielona Góra

Wywoływanie zewnętrznego programu jako podprogram w Linux CN

#1

Post napisał: Segitarius » 03 gru 2014, 18:14

Czołem

Znalazłem w instrukcji wzmiankę na temat tego, że można utworzyć sobie program, zapisać go w jakimś folderze i później z poziomu innego programu wywołać. NA przykład holecircle.ngc który frezuje mi okrągłą kieszeń.

Opis w instrukcji jest lakoniczny. Pomoże mi ktoś to rozgryźć z jakimś przykładem jak by dało radę. Fajna funkcja a jakoś tego nie kleję ...



Tagi:

Awatar użytkownika

sokon
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 248
Rejestracja: 01 gru 2011, 22:35
Lokalizacja: Warszawa

#2

Post napisał: sokon » 07 gru 2014, 03:03

Linka podaj do tej instrukcji :-)
Solidworks, SprutCam, HSMWorks,
Avia FNK40N, Heidenhain 310
Cincinnati Sabre 750, Acramatic 2100,
Elektrodrążarka wgłębna BP-95,
LinuxCNC, CamBam
Instagram @ndbjmachineworks
Formy wtryskowe - projektowanie i produkcja

Awatar użytkownika

Autor tematu
Segitarius
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 390
Rejestracja: 15 lut 2011, 19:07
Lokalizacja: Zielona Góra

#3

Post napisał: Segitarius » 07 gru 2014, 08:56

proszę:)

http://www.linuxcnc.org/docs/2.5/pdf/Li ... Manual.pdf

Żeby nie naciągać cię na "roboczogodziny" od razu podaję stronę i akapit którego nie rozumiem. Rozdział 16/6 Calling Files Strona 161/195

To call a separate file with a subroutine name the file the same as your call and include a sub and endsub in the file. The file
must be in the directory pointed to by
PROGRAM_PREFIX
or
SUBROUTINE_PATH
in the ini file. The file name can include
lowercase
letters, numbers, dash, and underscore only. A named subroutine file can contain only a single subroutine definition.
Named File Example
o
<
myfile
>
call
Numbered File Example
o123
call
In the called file you must include the oxxx sub and endsub and the file must be a valid file.
Called File Example
(
filename
myfile
.
ngc
)
o
<
myfile
>
sub
(
code
here
)
o
<
myfile
>
endsub
M2


Jakoś ładniej się te literki w instrukcji poukładały :p


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

#4

Post napisał: kamar » 07 gru 2014, 15:03

Tu masz wywołanie innego programu z przeniesieniem parametrów
#<poczatek> = #7 (=0 pocz&#9472;ůtek)
#<koniec> = #8 (=-10 koniec)
#<posuw> = #9 (=80 posuw)
#<fazka> = #10 (=0 fazka)
#<w_z> = #11 (=1 Z do zmiany)
#<w_x> = #12 (=60 X do zmiany)
#<woda> = #13 (=1 <> ch&#9532;éodzenie)
#<korekta> = #14 (=0 <> korekta)

o20 if [#<w_z> lt #<poczatek> or #<w_x> lt #<sr_pocz>]
(msg, KOLIZJA ! z&#9532;éy wyjazd)
M30
o20 endif


o<zmiana> call [#<tool>] [#<nr>]



g61 g80

m3 s#<obr>
o1 if [#<woda> eq 1]
M8
o1 endif




g0 x[#<sr_pocz> + 1]
g0 z[#<poczatek> + 1]

o1000 if [#<korekta> eq 0]
o10 while [#<sr_pocz> gt #<sr_koncowa>]
#<sr_pocz>=[#<sr_pocz> - #<dobieranie>]
o402 if [#<sr_pocz> lt #<sr_koncowa>]
#<sr_pocz> = #<sr_koncowa>
o402 endif
g0 x#<sr_pocz>
g1 z#<koniec> f#<posuw>
g1 x[#<sr_pocz> + #<dobieranie>]
g0 z[#<poczatek> + 1]
o10 endwhile
o1000 else
g0 x#<sr_koncowa> z[#<poczatek>+1]
g1 z#<koniec> f#<posuw>
g1 x[#<sr_koncowa> + #<dobieranie>]
g0 z[#<poczatek> + 1]
o1000 endif




o100 if [#<fazka> gt 0]
g0 z[#<poczatek> + 1]


g0 x[#<sr_koncowa> - [#<fazka> * 2]]
g1 z#<poczatek> F#<posuw>
g1 z[#<poczatek> - #<fazka>] x#<sr_koncowa> f#<posuw>
g1 z[#<poczatek> - #<fazka> -0.5]
g0 x[#<sr_koncowa>+1 ]
/g0 z[#<poczatek> + 1]

o100 endif

m5 m9

g0 x#<w_x>
g0 z#<w_z>

o<zew> endsub

Awatar użytkownika

Autor tematu
Segitarius
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 390
Rejestracja: 15 lut 2011, 19:07
Lokalizacja: Zielona Góra

#5

Post napisał: Segitarius » 07 gru 2014, 15:07

Dziękuję

POMÓGŁ mi Pan :)

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”