Talán kicsit kapcsolódik ide... Más rendszerekbe (nem cnc) láttam olyat, (meg írtam is hozzá számtalan modult) hogy a rendszer kezelte a "hook"-okat (hülye fordítással, kampó, horog) ami abból állt, hogy ha van egy X modulom (makro, vagy nevezd aminek akarod) akkor ha van egy PRE_X nevű modul, akkor az mindig az X indítása előtt lefut. Ugyanígy, ha van egy AFTER_X nevű modul, az meg az X modul után fut le automatikusan. mivel itt a makrók számozással kapják a keresztségüket, lehetne például M3_PRE, M3_AFTER, stb... Esetleg még lehet bővíteni a sorrend kezelésére is -00, -01, stb filenév formátummal Mi lenne ennek az előnye? A gyári modulokat nem kell macerálni, előtte/utána le tudod futtani ami neked kell, nem kell újabb és újabb felesleges buttont generálni, és ha új verzió jön, csak pakolod át a saját makróidat. Csak egy fejlesztési ötlet...
Egy szűz PC-re, offline, DVD-ről telepített WIN7 64 bit esetén kell-e valami a 1.2112-es UCCNC működéséhez?
dezsoe | 2934
2019-10-25 00:05:56
[7210]
Azt nem írtad, hogy egéren, billentyűzeten lakat van. Akkor lényegében nincs mit megoldani, a makródba meg beteszed a tényleg egysoros ellenőrzést és kész.
Nálam egy fizikai nyomógomb az I/O triggeren keresztül meghív egy 20000-es makrot és az ha minden feltétel adott akkor az meghívja a 128-as cycle start gombot. Különben meg kiírja mi hiányzik.
Ez két külön dolog, ezért írtam zárójelbe. Amit leírtál, az az ellenőrzés, az kell a start makrójába.
Amit zárójelesen írtam, az csak annyit csinál, hogy a start gomb zöldre váltását kezeli. Lényegében a ciklus start LED állapotát áttölti a nyomógomb állapotába, hogy ugyanúgy látszódjon, mintha az igazi start gomb lenne. Azért kell a LED állapotváltozását figyelni, hogy feleslegesen ne hívjon képernyő kezelő függvényeket, csak akkor, ha változás van. Mindez persze akkor érvényes, ha az eredeti kétállapotú start gombot hagytad fent, csak átírtad a számát.
"(Már csak egy macroloop kell, ami a gomb állapotába másolja a cycle start led állapotát, ha az változott.)"
A sima "if" nem elég? Ha indítom a cylus start makrókt akkor megnézi, hogy pilácsol-e a LED. ha pilácsol akkor nem indít és kiírja hogy : 2menj vissza a munkatérbe"
Persze, hogy kérhetnél. Csak nem tudom megcsinálni, mert a start gomb nem tiltható le. Ha a start gombot egy makróval helyettesíted, akkor meg lehet csinálni, hogy úgy nézzen ki, mintha startot nyomnál, aztán a makró eldönti, hogy mehet-e a start. Ha ez így jó, akkor meg lehet oldani.
Ezt nem egészen értem. A probe képernyőn semmihez nem tudsz makrót rendelni, hanem van egy probing nevű plugin, ami mindent elvégez. Ha ez a plugin nincs engedélyezve, akkor a képernyő nem fog semmi értelmeset csinálni, mert nincs mögötte program. A General lapon a Config plugins gombbal feljövő ablakban a probing plugin sorában kapcsold be az enabled pipát, aztán újraindítás.
A probe képernyőn "Warning! Probing plugin is not enabled!" felirat van, ha nem fut a plugin.
Ha már jó, akkor jöhetnek az alapbeállítások. Ami biztos, hogy kell: Fine distance (0,5-1), Fast feed (100-200), Fine feed (50-25), a setup képen a Safe Z és pipa a "Greater Z is safer in G17" sorba.
Ismerkedéshez esetleg a Limit traverse speed (gyors mozgások lassítása) is lehet pipa, írj mellé egy barátságosabb sebességet.
A "probe" oldal beállításaival kapcsolatosan található leírás? Az új tesztverzióban tudom, hogy van egy angol nyelvű, de egy magyar oldallal jobban boldogulnék.
Köszönöm előre is...
svejk | 33040
2019-10-23 08:58:05
[7193]
Haláli, ez nekem nagyon tetszik...
Nem is értem miért nincs alapban ilyen funkció. A több órán át dolgozó reliefmarásoknál is bizony sokszor félbe kell hagyni a műveleteket, olyankor jegyzetelni kell hol is járt az ember. Én legalábbis mindig felírtam a gépi koordinátákat, az volt a hót' biztos.
static int MoveLED = -1; // Állapot jelző LED száma, -1 ha nincs
Nem muszáj kétállapotú gombot rajzolnod, csak praktikus. Ha nem kétállapotú, akkor is működik a makró, de akkor is be kell állítani a saját sorszámát, hogy ne mást kapcsolgasson. A MoveLED megadása is opcionális. Ha nem kell, akkor maradjon -1, egyébként a kívánt LED sorszáma. A LED-nek nem kell feltétlenül kint lenni a képernyőn, de használhatod output triggerhez, hogy egy esetleges távirányítón pilácsoljon a gomb, amivel indítod.
List<string> codelist = new List<string>();
double zStart = 0.0; double zMove = 0.0;
switch (MoveState) { case 0: if (!exec.GetLED(56) || !exec.GetLED(57) || !exec.GetLED(58)) // XYZ legyen home-olva { // MessageBox.Show("X/Y/Z was not yet homed!"); exec.AddStatusmessage("X/Y/Z was not yet homed!"); return; } MoveState = 2; // Mozgásban if (MoveLED > 0) exec.SetLED(true, MoveLED); AS3.Switchbutton(true, MacroNumber); OrigX = exec.GetXmachpos(); OrigY = exec.GetYmachpos(); OrigZ = exec.GetZmachpos(); DistanceMode = exec.actualdistmode; ModalMode = exec.actualmodal; codelist.Clear(); codelist.Add("G90"); zStart = OrigZ; zMove = zStart; if (zMove < DestZ) zMove = DestZ; if (zMove < MachSafeZ) zMove = MachSafeZ; // A legmagasabb Z-n mozgunk if (zMove != zStart) codelist.Add("G00 G53 Z" + zMove.ToString("F6")); // Először a Z, ha kell codelist.Add("G00 G53 X" + DestX.ToString("F6") + "Y" + DestY.ToString("F6")); // Majd az X és Y if (zMove != DestZ) codelist.Add("G00 G53 Z" + DestZ.ToString("F6")); // Végül a Z, ha kell exec.Codelist(codelist); while (exec.IsMoving()); MoveState = 1; // Odaért break; case 1: MoveState = 2; // Mozgásban codelist.Clear(); zStart = exec.GetZmachpos(); zMove = zStart; if (zMove < OrigZ) zMove = OrigZ; if (zMove < MachSafeZ) zMove = MachSafeZ; // A legmagasabb Z-n mozgunk if (zMove != zStart) codelist.Add("G00 G53 Z" + zMove.ToString("F6")); // Először a Z, ha kell codelist.Add("G00 G53 X" + OrigX.ToString("F6") + "Y" + OrigY.ToString("F6")); // Majd az X és Y if (zMove != OrigZ) codelist.Add("G00 G53 Z" + OrigZ.ToString("F6")); // Végül a Z, ha kell codelist.Add("G" + DistanceMode); // Kezdő állapot visszaállítása codelist.Add("G" + ModalMode); exec.Codelist(codelist); while (exec.IsMoving()); if (MoveLED > 0) exec.SetLED(false, MoveLED); AS3.Switchbutton(false, MacroNumber); MoveState = 0; // Visszaért break; case 2: return; break; }
Leírom azt is miért kellene ez nekem, hátha kapok jobb ötletet. A cél egy sok-sok ezer furatból álló raszteres fúrás. Maga a G-kód nem túl bonyi, három alprogram, G81-ek, inkrementális mozgások no és persze mindez paraméteresen, mert sokféle raszterméret kell A helyzetet bonyolítja, hogy menet közben többször kell szerszámot élezni, vagy törés esetén cserélni.
A programot megtűzdelve pár M0-val bármikor meg tudok állni a program közben és tudom onnan folytatni ahol abbahagytam. (szerencsére az M0 után tudok a DRO-ba is írni és abszolut módban mozogni is) Tehát ha feljegyzem, hogy hol álltam meg akkor MDI-ban vissza is tudok menni az adott koordinátára majd onnan folytatni.
Csak ezt a kiállást és visszaállást jó lenne egy külső gombra rakni a tévesztés elkerülése végett.
Még eddig sosem volt szükségem a "Park" gombokra, de most jól jönne. Azt látom, hogy az M200-203 makrókban vannak leírva a funkcióik és gépi koordinátában van értelmezve, de a Park pozícióból hogy tudok visszamenni a tengelyekkel abba a pozícióba ahol a parkolás megkezdése előtt álltam?
dezsoe | 2934
2019-10-10 18:11:22
[7186]
Hümm, tényleg. Valószínűleg az AXBB támogatása miatt, mert az nem megy a régiekkel, annál újabb fejlesztés.
Az aktuális letöltéseket az 'UCCNC vezérlő program új verziói' téma topicban találod, most az 1.2112 a legfrissebb teszt verzió. A legutolsó stabil továbbra is az 1.2049. Frissítened csak akkor kell, ha valami olyan funkciót szeretnél használni, amit a régi még nem tud. Ezek listáját is megtalálod a fentebb említett helyen.
sziasztok a cncdrive-ről a 1.2111 verziót lehet letölteni, akkor ez most az aktuális stabil változat? 1.2049 nél tartok a gépemen, van értelme frissíteni?
istvan58 | 1913
2019-10-07 23:22:22
[7182]
és nem a kepékkel van bajom, hanem gombok, ledek áthelyezésével. Ha UC400 al helyezem át akkor a többinél marad. Na mindegy úgy is csak egy vezérlőm van De gondoltam ha valaki kérné a fájlt csak UC400 ra lenne jó. Próbáltam az .sff fájlt módosítani de először meg kéne jelölni mi a közös es mi a különbség a vezérlők között. És csak a közös részt átmásolni mindegyikbe.
A szerkesztés vezérlőnként történik. Az ilyen problémákat úgy lehet elkerülni, hogy nem az eredeti képeket módosítod, hanem készítesz először egy másolatot, azt módosítod és az ssf-ben átírod, hogy a másik képet töltse be, de csak az adott vezérlőnél. Így a többi vezérlő, ahol még nem módosítottál, be tudja tölteni az eredeti képeket.
Lehet úgy szerkeszteni a képernyőt hogy az minden vezérlővel jó legyen vagy szerkezteni kell az sff fajlt? PL. Uc400eth ra végeztem el a szerkesztést, és pl. UC100 át választva szét esik minden mert ugye máshol vannak a mezők.
Ma kipróbáltam a 782-es gombos okézást egy AXBB-E hardverrel is, ugyan az történik mint amit leírtam a #7163-ban. (hátha segít a hibafeltárásban: a léptékválasztó átkapcsolásával is feléled nem csak a tengelyválasztó átkapcsolásával, és az MPG mindhárom üzemmódjában adja a hibát)
Vasárnapi kikapcsolódásként kicsit átszabtam ami zavart. Nekem max 5 tengelyem lehet, igy minek a 6. A DRO mezőt átszabtam a régihez hasonló tartalommal. Igy a számok kissé nagyobbak, és kevesebbet kell belőlük figyelni.
Ha valakit érdekel a screen-set szívesen megosztom.
Mpg vel is ugyanaz a hiba "step" módban. Én akkor használom pl. 0.01 steppel amikor rá akarok állni egy darabra úgy hogy éppen érintem. Igaz ilyenkor nem érem el a softlimitet. De be szoktam állítani a soft limitet mindég Z tengelyen úgy hogy ne menjek bele az asztalba, és ellenőrzéskor szokott beakadni. .