Stránka 1 z 1
Volání programu
Napsal: 9. 2. 2009, 7:42
od vwq
Ahoj lidi.Potřebuji poradit.Umí mach3 volat program do programu?
V heidenhain je to pgm call.
Napsal: 9. 2. 2009, 7:50
od PavelZ
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.
Napsal: 9. 2. 2009, 8:15
od vwq
Děkuju.
Pokud je volaný program ve stejném adresáři jako volací program.Musí se ještě psát odkud má volaný program nasát?
Volání přímo v programu je mi jasné ale volání od jinud ne.
Napsal: 9. 2. 2009, 9:08
od PavelZ
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)).
Napsal: 9. 2. 2009, 9:09
od ferguson
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?
Napsal: 9. 2. 2009, 9:27
od vwq
Napsal jsem do programu
M98 (test.txt)
M30
a ve stejném adresáři mám podprogram s názvem test.txt
který je zakončen M99 a nějak to nechodí.
Napsal: 9. 2. 2009, 9:49
od rawen
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?
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á.
Radek
P.S.: Anebo přejdi k EMC

Napsal: 9. 2. 2009, 1:09
od ferguson
tak u mna by to vlastne aj vychadzalo, ze naklady na HW su rovnake ako na licenciu
ale chcel som to vediet len teoreticky, mne tych 1000 riadkov bude stacit. bola to len taka myslienka
Napsal: 13. 2. 2009, 10:37
od vwq
Chtěl bych používat své podprogramy které jsou univerzální a tak je chci mít mimo hlavní program a jen je volat.
Verzi machu mám zakoupenou,nechci tím nic obcházet.
re
Napsal: 13. 2. 2009, 12:07
od Radek-B
Ne volat podprogramy z adresaru nelze.
RADEK
Napsal: 11. 11. 2010, 7:22
od vwq
Už to jde
