Ahoj lidi.Potřebuji poradit.Umí mach3 volat program do programu?
V heidenhain je to pgm call.
Volání programu
Výtah z manuálu:
10.8.7. Volání podprogramů - M98
Volání podprogramů má dva formáty
(a) K volání podprogramů v rámci nahraného programu zadejte M98 P~ L~ nebo M98 P~ Q~.
Program musí obsahovat návěstí specifikované slovem O se stejným číslem, jaký má parametr P
při volání podprogramu. Řádka s návěstím O označuje začátek podprogramu a nesmí obsahovat
číslo řádku (slovo N). Návěstí a další řádky podprogramů jsou většinou umístěny za M2, M30
nebo M99 a nevykonávají se přímo během zpracování hlavního programu.
(b) K volání podprogramu, který je uložen na disku jako samostatný soubor, zadejte M98
(filename)L~ např. M98 (test.tap)
Pro oba formáty platí:
Slovo L~ (případně slovo Q~) reprezentuje počet, kolikrát se bude podprogram volat, než se bude
pokračovat ve vykonávání následujícího řádku. Pokud slovo L (Q) není uvedeno, je jeho hodnota
implicitně 1.
S použitím parametrů nebo inkrementálního režimu odměřování lze opakováním podprogramů
provádět několik hrubovacích řezů kolem obráběného tvaru nebo obrábět několik identických tvarů z
jednoho kusu.
Podprogramy mohou být skládány, tedy jeden podprogram může volat jiný podprogram. Vzhledem k
tomu, že není umožněno podmíněné větvení programu, není myslitelné, aby podprogramy volaly
rekurzivně samy sebe.
10.8.8. Návrat z podprogramu - M99
Pro ukončení podprogramu a návrat k místu volání použijte příkaz M99. Provádění kódu bude
pokračovat na řádce hned za řádkou M98, kde byl podprogram volán.
Pokud je příkaz M99 zadán v hlavním programu (tedy ne v podprogramu), pak dojde k vykonávání
programu od první řádky. Podívejte se rovněž na M47, jehož použití má stejný efekt.
10.8.7. Volání podprogramů - M98
Volání podprogramů má dva formáty
(a) K volání podprogramů v rámci nahraného programu zadejte M98 P~ L~ nebo M98 P~ Q~.
Program musí obsahovat návěstí specifikované slovem O se stejným číslem, jaký má parametr P
při volání podprogramu. Řádka s návěstím O označuje začátek podprogramu a nesmí obsahovat
číslo řádku (slovo N). Návěstí a další řádky podprogramů jsou většinou umístěny za M2, M30
nebo M99 a nevykonávají se přímo během zpracování hlavního programu.
(b) K volání podprogramu, který je uložen na disku jako samostatný soubor, zadejte M98
(filename)L~ např. M98 (test.tap)
Pro oba formáty platí:
Slovo L~ (případně slovo Q~) reprezentuje počet, kolikrát se bude podprogram volat, než se bude
pokračovat ve vykonávání následujícího řádku. Pokud slovo L (Q) není uvedeno, je jeho hodnota
implicitně 1.
S použitím parametrů nebo inkrementálního režimu odměřování lze opakováním podprogramů
provádět několik hrubovacích řezů kolem obráběného tvaru nebo obrábět několik identických tvarů z
jednoho kusu.
Podprogramy mohou být skládány, tedy jeden podprogram může volat jiný podprogram. Vzhledem k
tomu, že není umožněno podmíněné větvení programu, není myslitelné, aby podprogramy volaly
rekurzivně samy sebe.
10.8.8. Návrat z podprogramu - M99
Pro ukončení podprogramu a návrat k místu volání použijte příkaz M99. Provádění kódu bude
pokračovat na řádce hned za řádkou M98, kde byl podprogram volán.
Pokud je příkaz M99 zadán v hlavním programu (tedy ne v podprogramu), pak dojde k vykonávání
programu od první řádky. Podívejte se rovněž na M47, jehož použití má stejný efekt.
Pokud jde o cestu k souboru, tak to netuším, nikdy jsem to nezkoušel, ale když se zadá celá cesta "c:\Data\........\sample.txt", tak se nic nezkazí.
Volání odjinud ? To myslíš jak, třeba z MDI ? Nebo se dá udělat makro ve VB Scriptu a to přiřadit buď nějakému tlačítku nebo M-kódu (v makru se mpak použije třeba Sub LoadRun (pathname as String)).
Volání odjinud ? To myslíš jak, třeba z MDI ? Nebo se dá udělat makro ve VB Scriptu a to přiřadit buď nějakému tlačítku nebo M-kódu (v makru se mpak použije třeba Sub LoadRun (pathname as String)).
Nesnaž se to obe...t, ale normálně kup plnou verzi. Vyhneš se spoustě problémů, podpoříš vývoj a v neposlední řadě je cena (ve srovnání s náklady na HW) zanedbatelná.ferguson píše:ak tomu rozumiem spravne, tak tych 1000 riadkov, co zobere MACH, mmoze byt vlastne 1000 "odkazov" na ine subory, pricom kazdy z nich bude mat 1000 riadkov?
teoreticky teda mozem mat az 1 000 000 riadkov?
Radek
P.S.: Anebo přejdi k EMC

soustruh Bernardo 500, frézka Proxxon
(CNC Tron, CNC Proxxon MF70)
(CNC Tron, CNC Proxxon MF70)