Feltételvizsgálatok

Go down

Feltételvizsgálatok

Témanyitás by Béni on 2018-02-01, 12:15

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. Smile

Í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
M669.zip You don't have permission to download attachments.(2 Kb) Downloaded 2 times
avatar
Béni
Admin

Posts : 147
Join date : 2015. Apr. 02.
Location : Szeged

http://dotg.weebly.com/

Vissza az elejére Go down

Vissza az elejére


 
Permissions in this forum:
Nem válaszolhatsz egy témára ebben a fórumban.