Volání programu

Diskuze o softvéru MACH od tvůrců Artsoft všech verzí: dotazy, programování, skripty, poznatky atd...
Odpovědět
vwq
Příspěvky: 52
Registrován: 5. 2. 2009, 3:52

9. 2. 2009, 7:42

Ahoj lidi.Potřebuji poradit.Umí mach3 volat program do programu?
V heidenhain je to pgm call.
PavelZ
Příspěvky: 356
Registrován: 10. 3. 2008, 11:48
Bydliště: Praha

9. 2. 2009, 7:50

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.
vwq
Příspěvky: 52
Registrován: 5. 2. 2009, 3:52

9. 2. 2009, 8:15

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.
PavelZ
Příspěvky: 356
Registrován: 10. 3. 2008, 11:48
Bydliště: Praha

9. 2. 2009, 9:08

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)).
Uživatelský avatar
ferguson
Příspěvky: 461
Registrován: 20. 8. 2008, 7:51
Bydliště: Žilina

9. 2. 2009, 9:09

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?
vwq
Příspěvky: 52
Registrován: 5. 2. 2009, 3:52

9. 2. 2009, 9:27

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í.
rawen
Sponzor fora
Příspěvky: 1585
Registrován: 15. 3. 2008, 12:22
Bydliště: Prostějov

9. 2. 2009, 9:49

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 :)
soustruh Bernardo 500, frézka Proxxon
(CNC Tron, CNC Proxxon MF70)
Uživatelský avatar
ferguson
Příspěvky: 461
Registrován: 20. 8. 2008, 7:51
Bydliště: Žilina

9. 2. 2009, 1:09

tak u mna by to vlastne aj vychadzalo, ze naklady na HW su rovnake ako na licenciu :D
ale chcel som to vediet len teoreticky, mne tych 1000 riadkov bude stacit. bola to len taka myslienka
vwq
Příspěvky: 52
Registrován: 5. 2. 2009, 3:52

13. 2. 2009, 10:37

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.
Uživatelský avatar
Radek-B
Příspěvky: 2137
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

13. 2. 2009, 12:07

Ne volat podprogramy z adresaru nelze.

RADEK
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
vwq
Příspěvky: 52
Registrován: 5. 2. 2009, 3:52

11. 11. 2010, 7:22

Už to jde :D
Odpovědět

Zpět na „MACH všech verzí“