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ę ...
Wywoływanie zewnętrznego programu jako podprogram w Linux CN
-
Autor tematu - Specjalista poziom 2 (min. 300)
- Posty w temacie: 3
- Posty: 390
- Rejestracja: 15 lut 2011, 19:07
- Lokalizacja: Zielona Góra
-
Autor tematu - Specjalista poziom 2 (min. 300)
- Posty w temacie: 3
- Posty: 390
- Rejestracja: 15 lut 2011, 19:07
- Lokalizacja: Zielona Góra
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
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
-
- Lider FORUM (min. 2000)
- Posty w temacie: 1
- Posty: 16281
- Rejestracja: 18 wrz 2010, 06:17
- Lokalizacja: Kozienice
- Kontakt:
Tu masz wywołanie innego programu z przeniesieniem parametrów
#<poczatek> = #7 (=0 pocz─ů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łodzenie)
#<korekta> = #14 (=0 <> korekta)
o20 if [#<w_z> lt #<poczatek> or #<w_x> lt #<sr_pocz>]
(msg, KOLIZJA ! zł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
#<poczatek> = #7 (=0 pocz─ů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łodzenie)
#<korekta> = #14 (=0 <> korekta)
o20 if [#<w_z> lt #<poczatek> or #<w_x> lt #<sr_pocz>]
(msg, KOLIZJA ! zł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
-
Autor tematu - Specjalista poziom 2 (min. 300)
- Posty w temacie: 3
- Posty: 390
- Rejestracja: 15 lut 2011, 19:07
- Lokalizacja: Zielona Góra