Programozási technikák egymásba ágyazása
Alkalmazás
Programozási technikákat is kombinálhat egymással, pl. egy programrész-ismétlésben meghívhat egy másik, külön NC programot vagy egy alprogramot.
Ha minden meghívás után visszatér a kiinduláshoz, csak egy beágyazási szintet használjon. Ha a kiinduláshoz való visszatérés előtt újabb meghívást programoz, akkor egy beágyazási szinttel lejjebb kerül.
Felhasznált témák
- Alprogramok
- Programrész-ismétlések
- Külön NC program behívása
Funkcióleírás
Vegye figyelembe a maximális beágyazási mélységeket:
- Maximális beágyazási mélység alprogramok meghívásához: 19
- Maximális beágyazási mélység külső NC programok meghívásához: 19, ahol a CYCL CALL külső program meghívására szolgál
- A programrész-ismétlések tetszőleges gyakorisággal egymásba ágyazhatók
Példa
Alprogram behívása egy alprogramon belül
0 BEGIN PGM UPGMS MM | |
* - ... | |
11 CALL LBL “UP1“ | ; LBL "UP1" alprogram behívása |
* - ... | |
21 L Z+100 R0 FMAX M30 | ; A főprogram utolsó programmondata M30-cal |
22 LBL “UP1“ | ; "UP1” alprogram kezdete |
* - ... | |
31 CALL LBL 2 | ; LBL 2 alprogram behívása |
* - ... | |
41 LBL 0 | ; "UP1” alprogram vége |
42 LBL 2 | ; LBL 2 alprogram kezdete |
* - ... | |
51 LBL 0 | ; LBL 2 alprogram vége |
52 END PGM UPGMS MM |
A vezérlő az NC programot az alábbiak szerint hajtja végre:
- Az UPGMS NC program végrehajtása a 11. NC mondatig.
- Az UP1 alprogram behívása és végrehajtása a 31. NC mondatig.
- A 2. alprogram meghívása és végrehajtása az 51. NC mondatig tart. A 2. alprogram vége, és visszaugrás ahhoz az alprogramhoz, ahonnan a meghívása történt.
- Az UP1 alprogram végrehajtása a 32. NC mondattól a 41. NC mondatig tart. Az UP1 alprogram vége, és visszaugrás az UPGMS NC programba.
- Az UPGMS NC program végrehajtása a 12. NC mondattól a 21. NC mondatig tart. Program vége, és visszaugrás a 0. NC mondatra.
Programrész-ismétlés egy programrész-ismétlésen belül
0 BEGIN PGM REPS MM | |
* - ... | |
11 LBL 1 | ; 1. programrész kezdete |
* - ... | |
21 LBL 2 | ; 2. programrész kezdete |
* - ... | |
31 CALL LBL 2 REP 2 | ; 2. programrész behívása és kétszeri ismétlése |
* - ... | |
41 CALL LBL 1 REP 1 | ; 1. programrész behívása a 2. programrésszel együtt és egyszeri ismétlése |
* - ... | |
51 END PGM REPS MM |
A vezérlő az NC programot az alábbiak szerint hajtja végre:
- A REPS NC program végrehajtása a 31. NC mondatig tart.
- A 31. NC mondat és 21. NC mondat közötti programrész kétszer ismétlődik, tehát összesen háromszor lesz végrehajtva.
- A REPS NC program végrehajtása a 32. NC mondattól a 41. NC mondatig tart.
- A 41. NC mondat és 11. NC mondat közötti programrész egyszer ismétlődik, tehát összesen kétszer lesz végrehajtva (tartalmazza a 21. NC mondat és 31. NC mondat közötti programrész-ismétlést).
- A REPS NC program végrehajtása a 42. NC mondattól az 51. NC mondatig tart. Program vége, és visszaugrás a 0. NC mondatra.
Alprogram behívása egy programrész-ismétlésen belül
0 BEGIN PGM UPGREP MM | |
* - ... | |
11 LBL 1 | ; 1. programrész kezdete |
12 CALL LBL 2 | ; 2. alprogram behívása |
13 CALL LBL 1 REP 2 | ; 1. programrész behívása és kétszeri ismétlése |
* - ... | |
21 L Z+100 R0 FMAX M30 | ; Főprogram utolsó NC mondata M30-cal |
22 LBL 2 | ; 2. alprogram kezdete |
* - ... | |
31 LBL 0 | ; 2. alprogram vége |
32 END PGM UPGREP MM |
A vezérlő az NC programot az alábbiak szerint hajtja végre:
- A UPGREP NC program végrehajtása a 12. NC mondatig tart.
- A 2. alprogram meghívása és végrehajtása a 31. NC mondatig tart.
- A 13. NC mondat és 11. NC mondat (a 2. alprogrammal együtt) közötti programrész kétszer ismétlődik, tehát összesen háromszor lesz végrehajtva.
- Az UPGREP NC program végrehajtása a 14. NC mondattól a 21. NC mondatig tart. Program vége, és visszaugrás a 0. NC mondatra.