NGCGUI részletesen

NGCGUI

Tartalomjegyzék
1. Áttekintés
2. Demó konfigurációk
3. Könyvtárak
4. NGCGUI integrálása az Axis felületbe
4.1. INI Fájl
4.2. Truetype Tracer
4.3. INI fájl példák
5. Szubrutin követelmények
6. DB25 példa

1. Áttekintés

  • Az NGCGUI a LinuxCNC-ben használható szubrutinokhoz készült segédprogram
  • Az NGCGUI futtatható mint önálló alkalmazás vagy az Axis felületbe építhető egy vagy több fül formájában
  • Ugyanannak a szubrutinak több másolata is létrehozható
  • A szubrutinokat össze lehet fűzni egy teljes G-kódú programba
  • Új szubrutinokat lehet hozzáadni menet közben

Az NGCGUI egy hatásos eszköz, amellyel menet közben lehet létrehozni G-kódú programokat szubrutinokból. Egyazon szubrutin többszöri előfordulásával ugyanazt a műveletsort lehet elvégezni a munkadarab különböző pontjain. Bármilyen érvényes G-kód felhasználható a szubrutinokban.

2. Demó konfiguráció

Három minta beállítás található a LinuxCNC program konfiguráció választó felületén a “sim” könyvtár alatt. A konfiguráció választó felület az Alkalmazaások > CNC > LinuxCNC menüpontban érhető el.

ngcgui – egy összetett példa amely az alábbi szubrutinokat tartalmazza:

  • simp – egyszerű szubrution példa, két kört készít
  • xyz – létrehoz egy négyszöget annak két átellenes sarka ismeretében
  • iquad – belső négyszög készítése
  • db25 – DB25 csatlakozó kontúrkivágása
  • ihex – belső hatszög létrehozása
  • gosper – rekurzív demó
  • Custom – betölt más ngcgui-kompatibilis szubrutinokat
  • ttt – True Type Tracer által generált szöveg készítése gravírozáshoz

ngcgui-lathe – eszterga mintaprogramok

  • id – belső furat készítése
  • od – külső átmérő esztergálása
  • taper-od – külső kúp esztergálás
  • Custom – további egyedi fülek létrehozása

ngcgui-simple – egyszerű példák

  • simp – egyszerű szubrution példa, két kört készít
  • xyz – létrehoz egy négyszöget annak két átellenes sarka ismeretében

A demó szubrutinok megtekintéséhez LinuxCNC elindítása után nyomd meg az E-stop gombot (F2), Gép bekapcsolása (F3), Referencia pontok felvétele (Home All / CTRL-Home), válassz egy NGCGUI fület, majd Create Feature (“tulajdonság” létrehozása) és végül Finalize (befejezés). Ezután nyomd meg a Futtatás (Run) gombot a létrehozott G-kód megtekintéséhez.

Megjegyzés:A demó szubrutonok működnek a disztribúcióban megtalálható szimulációs gépeken is. A szubrutinok valós gépen történő futtatása előtt felhasználónak tisztában kell lennie a létrehozott program céljával és működésével.

3. Könyvtárak

Az NGCGUI szimulációs konfiguráció állományok mutatókat használnka a felhasználó által nem írható LinuxCNC könytárakhoz:
NGCGUI kompatibilis szubrutinok – ngcgui_lib
segéd szubrutinok – ngcgui_lib/utilitysubs
felhaszálói M fájlok – ngcgui_lib/mfiles

Ezek a könytárak az .INI fájlban a következő paraméterekkel kerütek definiálásra:
[RS274NGC]
SUBROUTINE_PATH = ../../../nc_files/ngcgui_lib:../../../nc_files/ngcgui_lib/utilitysubs
USER_M_PATH = ../../../nc_files/ngcgui_lib/mfiles

Megjegyzés:Ezek a hosszú sorok (amelyek egy sorba írandók és nem lehet folytatni őket a következő sorban) definiálják a keresési könyvtárakat. A könyvtárnevek elválasztása kettőspont (:) karakterrel történik. A felhasználó létrehozhat saját könyvtárakat a saját szubrutinjainak és M fájljainak és hozzáadhatja azokat a keresési útvonalhoz.

Például egy felhasználó a terminál ablakban a következő könyvtárakat hozza létre:
mkdir /home/felhasznalonevem/sajat_szubrutinok
mkdir /home/felhasznalonevem/sajat_fajlok

Aztán vagy készít vagy átmásol fájlotat a fenti felhasználó által írható könytárakba.
Például a felhasználó létrehozhat NGCGUI kompatibilis szubrutint:
/home/felhasznalonevem/mysubs/pelda.ngc

Az .INI fájlt ezután módosítani kell:
[RS274NGC]

SUBROUTINE_PATH = /home/felhasznalonevem/sajat_szubrutinok:../../../nc_files/ngcgui_lib:../../../nc_files/ngcgui_lib/utilitysubs
USER_M_PATH = /home/felhasznalonevem/sajat_fajlok:../../../nc_files/ngcgui_lib/mfiles

[DISPLAY]
NGCGUI_SUBFILE = pelda.ngc

A LinuxCNC és az NGCGUI az elérési útvonalakat azok felsorolási sorrendjében nézi végig, és ha valamelyikben megtalálja a keresett fált akkor nem megy tovább. Ezzel a módszerrel elérhető, hogy a saját könytárakat előre téve az aznos nevű saját és “gyári” szubrutinok közül a sajátjaink kerülnek először a találati listára.

4. Az NGCGUI beillesztése az AXIS felületbe
Néhány NGCGUI példaprogram elérhető a LinuxCNC-ben a “sim/ngcgui” könyvtárban.

4.1. .INI fájl
A következő NGCGUI vonatkozású sorok a [DISPLAY] szekcióba kerülnek:
TKPKG = Ngcgui 1.0 – a fő NGCGUI csomag neve (Ngcguittt előtt kell szerepelnie)
TKPKG = Ngcguittt 1.0 – True Type Tracer csomag gravírozott szöveghez
NGCGUI_FONT = Helvetica -12 normal – fontkészlet megadása
NGCGUI_PREAMBLE = in_std.ngc – a szubrutinok elejére beszúrandó bevezető fálj. Több szubrutin összefűzése esetén csak egyszer kerül beépítésre
NGCGUI_SUBFILE = simp.ngc – az adott szubrutin névvel létrehoz egy fület
NGCGUI_SUBFILE = “” – egyedi fül létrehozása
NGCGUI_OPTIONS = opt1 opt2 … – NGCGUI opciók
nonew – új egyedi fülek létrehozásának tiltása
noremove – fülek eltávolításának tiltása
noauto – nincs automatikus G-kód küldás (fálj létrehozása majd kézi küldés)
noiframe – nincs belső képfájl, kép egy mások felső szinten
TTT = truetype-tracer – a True Type Tracer program neve
TTT_PREAMBLE = in_std.ngc – opcionális bevezető a ttt szubrutinok elé

Az alábbiakban egy minta konfiguráció található az NGCGUI program AXIS felületbe tröténő integrálására A szubrutinoknak a [RS274NGC]SUBROUTINE_PATH paraméter által meghatározott könytárban kell lenniük. Némelyik szubrutin további szubrutinokat is használ, ezért ellenőrizni kell a függőségeket a SUBROUTINE_PATH könytvárban. Előfordulhat, hogy egy szubrutin M fájlokat használ, ezeket a [RS274NGC]USER_M_PATH paraméter által megadott könyvtárban kell elhelyezni.

Megjegyzés:Ez nem egy teljes .INI fájl, csak az NGCGUI használatához szükséges sorok vannak itt. Sok további beállítás szükséges a LinuxCNC-nek a teljes .INI fájlhoz.

Minta .INI beállítások:
[RS274NGC]

SUBROUTINE_PATH = ../../../nc_files/ngcgui_lib:../../../ngcgui_lib/utilitysubs
USER_M_PATH = ../../../nc_files/ngcgui_lib/mfiles

[DISPLAY]
TKPKG = Ngcgui 1.0
TKPKG = Ngcguittt 1.0
# Ngcgui meg kell hogy eőzze az Ngcguittt-t

NGCGUI_FONT = Helvetica -12 normal
# csak fájlneveket kell megadni, a fájloknak a[RS274NGC]SUBROUTINE_PATH-ban leírt könytárban kell lenniük
NGCGUI_PREAMBLE = in_std.ngc
NGCGUI_SUBFILE = simp.ngc
NGCGUI_SUBFILE = xyz.ngc
NGCGUI_SUBFILE = iquad.ngc
NGCGUI_SUBFILE = db25.ngc
NGCGUI_SUBFILE = ihex.ngc
NGCGUI_SUBFILE = gosper.ngc

# egyedi fül készítéséhez üres szubrutinnevet (“”) kell megadni
NGCGUI_SUBFILE = “”
TTT = truetype-tracer
TTT_PREAMBLE = in_std.ngc
PROGRAM_PREFIX = ../../nc_files

4.2. Truetype Tracer

Ngcgui_ttt valósítja meg a True Type Tracer (v4) támogatást az NGCGUI alatt. Létrehoz egy AXIS fület, amelyben a gravírozandó szöveget, a fontkészletet és más paramétereket lehet megadni. A True Type Tracer-t külön kell telepíteni.

Az ngcgui_ttt AXIS felületbe való beillsztéséhez a következő paramétereket kell beállítani:
Paraméter: [DISPLAY]TKPKG = Ngcgui_ttt verziószám
Példa: [DISPLAY]TKPKG = Ngcgui_ttt 1.0
Megjegyzés: Kötelező megadn, hatására az AXI-ban egy “ttt” nevü fülön létrejön az ngcgui_ttt. A TKPKG = Ngcgui után kell hogy következzen.

Paraméter: [DISPLAY]TTT = true_type_tracer_elérési_útvonala
Példa: [DISPLAY]TTT = truetype-tracer
Megjegyzés: Opcionális, ha nincs megdava, akkor a /local/bin/truetype-tracer útvonalat próbálja használni.Vagy teljes elérési útvonalt kell megadni vagy csak a futtatható fálj nevét, de ebben az esetben a felhasználó PATH környezeti változójának értéke kerül felhasználásra.

Paraméter: [DISPLAY]TTT_PREAMBLE = bevezető_fájl_neve
Példa: [DISPLAY]TTT_PREAMBLE = in_std.ngc
Megjegyés: Opcionális, a ttt szubrutin által létrehozott fájlok bevezető fájlját definiálja

4.3. .INI példák
Az NGCGUI a LinuxCNC keresési útvonalát használja a fájlok kereséséshez. A keresési útvonal a [DISPLAY]PROGRAM_PREFIX által definiált standard könyvtárral kezdődik, majd a [RS274NGC]SUBROUTINE_PATH sorban egy vagy több, kettősponttal (:) elválasztott könyvtárelérést is meg lehet adni.

Könyvtárak
A könyvtárakat meg lehet adni abszolút vagy relatív elérési útvonalakkal
Példa: [DISPLAY]PROGRAM_PREFIX = /home/myname/emc2/nc_files
Példa: [DISPLAY]PROGRAM_PREFIX = ~/emc2/nc_files
Példa: [DISPLAY]PROGRAM_PREFIX = ../../../nc_files

Az abszolút elérési útvonal “/” jellel kezdődik és a teljes elérési útvonalt definiálja a fájlrendszeren belül. A “~/”-vel kezdődő elérési útvonal az adott felhasználó saját könytárától kezdőd relatív útvonalat definiálja. Így például a “~kovacsjanos/” útvonal a “kovacsjanos” felhasználó saját könyvtárától kezdődően definiálja az elérési útvonalat.

Relatív elérési útvonalak
A relatív elérési útvonalak az .INI fájlt tartalamazó indítási könytárhoz képest számított elérési útvonalak. A relatív könyvtármegadással a konfigurációk áthelyezhetőek, de az útvonal megértése feltételezi a linuxos elérési útvonalakban használható karakterek jelentésének mélyebb ismeretét.

./d0 gyakorlatilag az indítási könytárban szereplő “d0” könyvtár
../d1 a szülő könytárban szereplő “d1” könyvtárra hivatkozik
../../d2 a szülő könytár a feletti szülő könytárban szereplő “d2” könyvtárra hivatkozik
../../../d3 és így tovább.

Pontosvesszővel elválasztva több könyvtár elérést is meg lehet adni a [RS274NGC]SUBROUTINE_PATH paraméterrel Az alábbi példa demonstrálja a többször könytár megadást relatív és abszolút elérési útvonalakkal.

Példa: [RS274NGC]SUBROUTINE_PATH = ../../../nc_files/ngcgui_lib:../../../nc_files/ngcgui_lib/utilitysubs:/tmp/tmpngc

Ez egy hoszú sor, nem lehet a megkezdett sort a következőben folytatni. Amikor a LinuxCNC vagy az NGCGUI fájlokat keres, akkor az elsőként megtalált fájlt fogja használni.A LinuxCNC és az NGCGUI számára az adott NGCGUI szubrutinból meghívásra kerülő az összes szubrutinnak és egyéb segédrutinnak elérhetőnek kell lennie. Az a kényelmes megoldás erre, ha az összes segédprogram egy külön könyvtárban helyezkedik el, ahogy a fenti példa is mutatja.

Az NGCGUI telepítőkészlet tartalmazza az ngcgui_lib könyvtárat, demonstrációs szubrutinokat, bevezető, záró és segéd fájlokat. Ha módosítani szeretné valamely fájl működését, akkor az dott fájlt másolja át az előbb említett keresési útvonalak közül az előrébb állók egyikébe. Az első ami keresés alá esik a [DISPLAY]PROGRAM_PREFIX. Használhatja ezt a könyvtárat is, de az a jobb módszer ha készít egy vagy több külön könyvtárat, és azok az elérési útvonalát a [RS274NGC]SUBROUTINE_PATH lista elejére teszi.

Az alábbi példában in a /home/myname/emc2/mysubs könyvtárban levő fáljok a ../../../nc_files/ngcgui_lib könyvtárban levők előtt szereplenek, így az előbbiek kerülnek felhasználásra.
Példa: [RS274NGC]SUBROUTINE_PATH = /home/myname/emc2/mysubs:../../../nc_files/ngcgui_lib:../../../nc_files/ngcgui_lib/utilitysubs

Az új felhasználók gyakran esnek abba a hibába, hogy ez NGCGUI struktúrális elvárásainak nem megfelelő fájlokat próbálnak használni. Ilyen esetben az NGCGUI valószínűleg jelentős számú hibajelzést fog generálni. Az a jó gyakorlat, ha az NGCGUI kompatibilis szubrutinokat egy erre kijelölt könyvtárba kerülnek, míg a bevezető, zár és segédfájlok egy vagy több ettől eltérő könytár(ak)ba kerülnek, így megakadályozva hogy ezeket szubrutinként lehessen felhasználni. Azokat a fájlokat, amelyeket nem szándékozik szubrutinként felhasználni megjelölheti egy speciális megjegyzéssel:”(not_a_subfile)”, így az NGCGUI automatikusen elutasítja őket egy megfelelő üzenet kíséretében.

Az NGCGUI AXIS felületbe illesztéséhez a következőknek kell szerepelnie az .INI fájlban:
Paraméter: [DISPLAY]PROGRAM_PREFIX = dirname
Példa: [DISPLAY]PROGRAM_PREFIX = ../../../nc_files
Megjegyzés: Megadása kötelező mivel sok LinuxCNC funksióhoz szükséges. Ez az első könyvtár ahol fájlokat keres a LinuxCNC

Paraméter: [RS274NGC]SUBROUTINE_PATH = dirname1:dirname2:dirname3 …
Példa: [RS274NGC]SUBROUTINE_PATH = ../../../nc_files/ngcgui_lib:../../../nc_files/ngcgui_lib/utilitysubs
Megjegyzés: Opcionális, de nagyon hasznos a szubrutinok és más fájlok megfelelő könytárakba rendezéséhez

Paraméter: [DISPLAY]TKPKG=Ngcgui verziószám
Példa: [DISPLAY]TKPKG=Ngcgui 1.0
Megjegyzés: Kötelező, az NGCGUI fülek AXIS felületbe való betöltését definiálja

Paraméter: [DISPLAY]NGCGUI_FONT = fontleírás
Példa: [DISPLAY]NGCGUI_FONT = Helvetica -12 normal
Megjegyzés: Opcionális, a fontleírás egy tcl kompatibilis fontleírás a fonttípus, méret és súly megadására
Alapértelmezés: Helvetica -10 normal

Paraméter: [DISPLAY]NGCGUI_SUBFILE = szubrutinnév
Példa: [DISPLAY]NGCGUI_SUBFILE = simp.ngc
Példa: [DISPLAY]NGCGUI_SUBFILE = xyz.ngc
Példa: [DISPLAY]NGCGUI_SUBFILE = “”

Megjegyzés: Egy vagy több NGCGUI kompatibilis szubrutin nevét lehet megadni amelyek az AXIS indulásakor betöltődnek. Egy egyedi fül jön létre amennyiben a fájlnév üres (“”). Az egyedi fül megadásával a felhasználónak lehetősége van betallózni bevezető, szubrutin és záró fájlokat.

Paraméter: [DISPLAY]NGCGUI_PREAMBLE = bevezető fájl
Példa: [DISPLAY]NGCGUI_PREAMBLE = in_std.ngc

Megjegyzés: Opcionális, ha specifikálva van, akkor mindne szubrutin elé beemelésre kerül.
A “Custom” egyedi szubrutinok az adott fül által definiált bevezető fájlt használják.

Paraméter: [DISPLAY]NGCGUI_POSTAMBLE = lezáró fájl
Példa: [DISPLAY]NGCGUI_POSTAMBLE = bye.ngc

Megjegyzés: Opcionális, ha specifikálva van, akkor mindne szubrutin után beemelésre kerül. A “Custom” egyedi szubrutinok az adott fül által definiált bevezető fájlt használják.

Paraméter: [DISPLAY]NGCGUI_OPTIONS = opt1 opt2 …
Példa: [DISPLAY]NGCGUI_OPTIONS = nonew noremove
Megjegyzés: Több, szóközzel elválasztott opció is felsorolható.
Alapértelmezésben az NGCGUI úgy konfigurálja a füleket hogy:
1) a felhasználó létrehozhat új füleket
2) a felhasználó törölhet füleket (az utolsónak maradó kivételével)
3) befejezett fájlok automatikusan átkerülnek az AXIS felületbe
4) képkeret (iframe) kerül létrehozásra, amelyben megjeleníthető a szubrutinhoz tartozó kép.
A nonew, noremove, noauto, noiframe opciók letiltják a fenti alapértelmezett viselkedést.

Alapértelmezésben ha egy képfájl (png,gif,jpg,pgm) található ugyanabban a könyvtrárban ahol a szubrutin van, akkor a képfájl megjelenítésre kerül az képkeretben (iframe) A noiframe opció megadásával további gombok jeleníthetőek meg, amelyekkel az bevezető, szubrutin és lezáró fájlok és egyéb jelölőnégyzet kiválasztásához.

A jelölőnégyzetek kiválasztása mindig lehetséges az alábbi spciális karakter kombinációkkal:
Ctrl-R Toggle “A szubrutin beolvasása utáni értékek megőrzése”
Ctrl-E Toggle “Szubrutin kiterjesztése”
Ctrl-a Toggle “Automatikus küldés”
(Ctrl-k kilistázza az összes elérhető opciót.)

Ha a noiframe opció megadásra kerül, és képfájl található az adott könytárban, akkor a kép egy külön ablakban kerül megjelenítésre és az összes funkció elérhető az adott fülön. Az NGCGUI_OPTIONS érvényes minden NGCGUI fülre, azzal a kivétellel, hogy a nonew, noremove, és noiframe opciók nem alkalmazhatók az egyedi “Custom” fülekre. Ne használjon egyedi “custom” füleket, ha korlátozni akarja a felhasználót a szubrutin fájlok kiválasztásában vagy újabb fülek létrehozásában.

5. Elvárások a szubrutiokkal kapcsolatban

Az NGCGUI kompatibilis szubrutin egy egyszerű szubrutin definíciót tartalmaz. A szubrutin neve meg kell, hogy egyezzen a fájl nevével (leszámítva a fájlnévből a .ngc kiterjesztést). Habár a LinuxCNC megengedi a nevesített és számozott szubrutinok használatát is, csak a nevesített szubrutinok kompatibilisek az NGCGUI-val. További informáióért nézzem meg az O kódok fejezetet.

Az első megjegyzéstől eltérő sorban a “sub” utasítás kell szerepelnie. Az utolsó megjegyzéstől eltérő sorban az “endsub” utasításnak kell szerepelnie.

pelda.ngc:
o sub
a_szubrutin_törzse
o endsub

A szubrutin törzse a szubrutin által használni kívánt pozícióhelyes lokális nevesített paraméterek definiálásával kell hogy kezdődjön. A definícióknak #1-től kell kezdődni és egymást követő számozással kell felsorolni az utolsó paraméterig bezárólag, paraméter ne hagyható el.

Paraméter Számozás
# = #1
# = #2
# = #3

Mivel a LinuxCNC szubrutin hívások esetén megengedi a számozott paraméterek használatát #1 és #30 között, így az NGCGUI szintén beviteli mezőt biztosít ezen paraméterek számára. Az az jó gyakorlat, ha a szubrutinon belül sehol nem kerülnek felhasználásra az #1 és #30 közötti számozott paraméterek.

Belső változókra a lokális nevezett paraméterek használata javasolt. Minden definiciós utasítás tartalmazhat opcionálisan egy speciális megjegyzést és egy alapértelmezett paraméter értéket.

Utasítás Prototípus
# = #n (=alapértelmezett érték)

vagy

# = #n (szöveges megjegyzés)

vagy

# = #n (=alapértelmezett érték szöveges megjegyzés)

Paraméter Példák
# = #1 (=0.0)
# = #2 (Ystart)
# = #3 (=0.0 Z kezdő érték)

Ha az alapértelmezett érték megadásra kerül ,akkor induláskor az megjelenik a paraméter beviteli mezőjében. Ha a szöveges megjegyzés megadásra kerül, akkor az fogja azonosítani a beviteli mezőt és nem a paraméter neve.

Globális Nevezett Paraméterek
Az NGCGUI és a globális nezevett paraméterek (#<_globalname>):

Sok más programnyelvhez hasonlóan a globális változók használata növeli a hatékonyságot, de gyakran váratlan következményekhez vezethet. A LinuxCNC-ben a létező globális nevezett paraméterek érvényesek leszenk a szubrutinokban is, a szubrutinok módosíthatják azokat és létrehozhatnak újakat.

A globális nevezett változók használata szubrutin adatbevitelére nem ajánlott, mivel az ilyenféle felhasználáshoz szükséges lenne egy jól definiált globális kontextus is, amit nehéz karbantartani.A számozott paraméterek használata (#1-#30) széleskörű tervezési igényeket ki tud elégíteni.

Visszaszorulóban levő tulajdonság: NGCGUI tartalmaz valamiféle globális nevezett paraméter beviteli támogatást, de ennek használata nem javasolt és nem dokumentált. A globális nevezett beviteli paraméterek használata nem lesz támogatott egyáltalán a LinuxCNC 2.6-ban

Bár a globális nevezett beviteli paraméterek használata nem javasolt, a LinuxCNC szubrutinok az eredmények visszaadására muszáj globális nevezett paramétereket használni. Mivel az NGCGUI kompatibilis szubrutinok célja a grafikus felületen való használat, így a visszatérési értékek megléte nem általános elvárás. Azonban az NGCGUI hasznos olyan szubrutinok teszteléséhez amelyeknek vannak globális nevezett visszatérési paraméterei, és szintén általános az NGCGUI kompatibilis szubrutinok esetében az egyéb segédszubrutinok hívása, melyek szintén produkálnak visszatérési értéket globális nevezett paraéter formájában.

Az ilyen felhasználások támogatása érdekében az NGCGUI figyelmen kívül hagyja azon globális nevezett paramétereket, amelyek nevében a kettőspont (:) szerepel. A kettőspontot használat utasítja az NGCGUI-t hogy ne hozzon létre bevieteli mezőt ezen paraméterek részére.

Globális Nevezett Paraméterek
o sub

#<_pelda:eredmeny> = #5410 (visszadja az adott szerszám átmérőjét)

o call [#] [#] (szubrutin hívás)
# = #<_segéd:válasz> (lokálissát tesz azonnal a segéd eredményt)
#<_segéd:válasz> = 0.0 (nullázza a szubrutin által használt globális nevezett paramétert)

o endsub

A fenti példában a segéd szubrutin egy külön fájlban található (segéd.ngc). A segéd szubrutin visszaadja az eredményt a #<_segéd:válasz> nevű globális nevezett paraméterben.

Helyes gyakorlat, ha a meghívó szubrutin azonnal lokálissá teszi az eredményt hogy azt máshol is fel tudja használni máshol, és ha az eredmény visszaadására szolgáló globális nevezett paramétert kinulázza, hogy ezzel elkerülje annak véletlen használatát a globális kontextusban. (A 0.0 nullázási érték nem minden esetben helyes értékadás)

Az NGCGUI támogatja ugyanannak a szubrutinnak különböző paraméterekkel történő többszöri meghívását (egyszeri meghívás angolul “feature” /tulajdonság/) és összefűzését és több szubrutin egymáshoz való kapcsolását. Néha hasznos lehet a szubrutin futása közben lekérdezni a “tulajdonságok” sorrendjét, erre szolgál az NGCGUI beépített speciális globális paramétere: #<_feature:>. Ennek értéke nullával indul, és eggyel nő minden egyes “tulajdonság” hozzáadásával.

További lehetőségek:
Speciális információs megjegyzést lehet elhelyezni bárhol az NGCGUI szubrutinban.
Ennek a formátuma a következő: (info: info_text)
Az információs szöveg az NGCGUI fül felső részén fog megjelenni az AXIS felületen.

Azon fájlokat, amelyeket nem szeretne hogy NGCGUI szubrutinként kezeljen, meg tudja jelölni a következő speciális megjegyzéssel:
(not_a_subfile) /nem szubrutin fájl/
Ezen fájlokat az NGCGUI automaikusan elvet egy rendszerüzenet kíséretében.

Opcionálisan egy képfájl (.png,.gif,.jpg,.pgm) tartozhat minden szubrutinhoz. A képfájl a szubrutin paramétereinke jobb megértését szolgálja. A képfájlnak a subrutinnal megegyező könyvtárban kell lennie és ugyanazon néven kell szerepelnie a megfelelő képi kiterjesztéssel, például a minta.ngc fájlhoz a minta.png képfájl tartozna. Az NGCGUI átméretezi a képet ha szükslges a maximális 320 pixel szélességre és 240 pixel magasságra.

Az NGCGUI-fée szubrutin kompatibilitáshoz szükséges követelmények egyike sem zárja ki azonban annak használatát általános célú LinuxCNC szubrutinokban. Tehát mindaz ami megfelel az NGCGUI elvárásoknak, ugyanolyan jól működik általános LinuxCNC szubrutinként is.
A LinuxCNC szubrutinok lehetőségeit és az NGCGUI használatát bemutató könytár (ngcgui_lib könyvtár) taálható minden LinuxCNC terjesztésben, amelyek tartalmazzák az NGCGUI kompatibilis példafájlokat és segédfájlokat.

A felhasználók által készített további szubrutinok találhatók a LinuxCNC Fórumon a Szubrutinok szekcióban.

6. DB25 példa
Az alábbi példa a DB25 csatlakozó kivágást mutatja. Az első képen látható, hova kell beírni az üres helyekre a változók értékeit.

Ezen a képen látható a DB25 szubrutin által bejárt szerszámpálya.

Ezen a képen az új gomb használata látszik és egy “egyedi fül”, meleyek segítségével három DB25 csatlakozó kivágást lehet készíteni egy programon belül.

This entry was posted in Dokumentáció. Bookmark the permalink.

Minden vélemény számít!