Feltételvizsgálatok
1 / 1 oldal
Feltételvizsgálatok
A Mach3 G kódjában alapesetben nincs lehetőség valódi feltételvizsgálatra. Egy kis csalafintasággal megoldható. Szépnek nem mondható, de legalább működik.
Írtam egy makrót, amivel megoldható két bemenő adat összehasonlító és logikai vizsgálata. Ezen felül egy operandussal hibrid előjelfüggvényt is tartalmaz.
A funkciók a hívó kódjukkal az alábbiak:
0 - egyenlő
1 - nem egyenlő
2 - kisebb
3 -nagyobb
4- kisebb-egyenlő (<=)
5- nagyobb-egyenlő (>=)
6 - logikai vagy (OR) : logikai kiértékelésnél a bemenő paraméterek lehetnek nulla értékűek és bármi más. Bármi más az 1-es lesz. A művelet bitművelet!
7 - logikai és (AND)
8 - logikai kizáró vagy (XOR)
9- hibrid előjel (HSGN)
Minden funkció esetén a kiértékelés eredményét a #33-as váltózón keresztül adja át a makró.
0- False, 1- True értékkel.
A HSGN értelmezése: 0- a P címen megadott operandus negatív vagy nulla, 1 - operandus pozitív
A makró 3 paraméterrel hívható.
P - 1. operandus
Q - 2. operandus
R - mód kódja (0-9)
pl.: M98 P12.4 Q4.3 R3
Érthetőbben: ha 12.4 nagyobb, mint 4.3, akkor #33 egy (true) lesz, különben nulla (false).
Ezt az eredmény fel lehet használni pl. program elágaztatásra is:
M98 P100 L#33 - itt csak akkor hívja meg az O100-as szubrutint (alprogramot, ha úgy tetszik), ha #33 értéke nem nulla. (például esetünkben 1.)
Tesztelésre az alábbi kis programot használtam:
Végezetül itt a makró is. Jelezzétek, ha valami gond lenne a működésével, csak futólag teszteltem!
Írtam egy makrót, amivel megoldható két bemenő adat összehasonlító és logikai vizsgálata. Ezen felül egy operandussal hibrid előjelfüggvényt is tartalmaz.
A funkciók a hívó kódjukkal az alábbiak:
0 - egyenlő
1 - nem egyenlő
2 - kisebb
3 -nagyobb
4- kisebb-egyenlő (<=)
5- nagyobb-egyenlő (>=)
6 - logikai vagy (OR) : logikai kiértékelésnél a bemenő paraméterek lehetnek nulla értékűek és bármi más. Bármi más az 1-es lesz. A művelet bitművelet!
7 - logikai és (AND)
8 - logikai kizáró vagy (XOR)
9- hibrid előjel (HSGN)
Minden funkció esetén a kiértékelés eredményét a #33-as váltózón keresztül adja át a makró.
0- False, 1- True értékkel.
A HSGN értelmezése: 0- a P címen megadott operandus negatív vagy nulla, 1 - operandus pozitív
A makró 3 paraméterrel hívható.
P - 1. operandus
Q - 2. operandus
R - mód kódja (0-9)
pl.: M98 P12.4 Q4.3 R3
Érthetőbben: ha 12.4 nagyobb, mint 4.3, akkor #33 egy (true) lesz, különben nulla (false).
Ezt az eredmény fel lehet használni pl. program elágaztatásra is:
M98 P100 L#33 - itt csak akkor hívja meg az O100-as szubrutint (alprogramot, ha úgy tetszik), ha #33 értéke nem nulla. (például esetünkben 1.)
Tesztelésre az alábbi kis programot használtam:
- Kód:
M669 P0.1 Q12.45 R9
M98 P100 L#33
G0 Z0
M30
O100
G0 Z-5
M99
%
Végezetül itt a makró is. Jelezzétek, ha valami gond lenne a működésével, csak futólag teszteltem!
- Csatolmányok
1 / 1 oldal
Engedélyek ebben a fórumban:
Nem válaszolhatsz egy témára ebben a fórumban.
|
|