Sziasztok! Nem tudom miért, de én mindig írok fúráshoz szubrutint, abban biztos vagyok. "Magamban bíztam eleitől fogva" A minap is volt olyan megrendelésem, hogy több mint 6600 likat kellett fúrnom, ráadásul műanyagba, ahol igencsak el kellett apróznom a forgács megszakítás miatt, és pár próba után szuper gyors és használható kód lett az eredmény. Attól még gondolom működni kellene a G81- 82-nek is rendesen.
Nem tudom volt-e már jelezve, hogy a fúró ciklusok szerintem nem teljesen úgy működnek az UCCNC-ben ahogy kellene.
Múlthéten készítettem fúróciklussal süllyesztett fejű csavaroknak süllyesztékeket. A CAM részét Fusion 360-ban csináltam a posztot a Fusion-hoz letölthető UCCNC posztprocesszorral.
Próbáltam a G81-el és a G82-es fúróciklussal is. A problémám, hogy a teljes visszahúzási magasságról mindenáron előtolási sebességgel (plunge) akart lefelé haladni és nem vette figyelembe a megadott R paramétert (síkot) ameddig gyorsjáratban kellene lemenni, majd onnan előtolási sebességgel.
Fusion-ban a szimuláció jó, a posztolt kód szerintem jó.
Itt elég jól le van írva, de nem így működik. Az UCCNC-ben a második szakasz nem gyors járat, hanem a szintén plunge: G82 leírása
Visszahúzásnál működik, ha több fúrási koordináta is van egy ciklusban, akkor csak az R síkig húzza vissza a szerszámot.
Mivel elég sok süllyeszték kellett és az átemelési magasság is elég magas volt közbenső lefogatások miatt, ezért jelentős idő többletet jelentett, hogy 25 mm-ről ment lefelé előtolással és nem 2 mm-ről. Kézzel átírva megoldottam, csak szerintem jó lenne, ha a generált kódot úgy futtatná ahogy az alábbi linken.
dezsoe | 2934
2017-05-29 13:03:49
[3944]
Adatok tárolása egy makró többszöri futtatása között, avagy static változók UCCNC makrókban
Ahogy fejlődött az UCCNC, először bevezetésre került az #Events tag. Ezzel a makrónk végére olyan kódokat írhatunk, ami a makró kódblokkján kívülre való. Ilyenek például a függvények, eljárások, amit többször is fel akarunk használni, vagy - amiért eredetileg készült - a formok kezeléséhez szükséges esemény kezelők. Aztán egy másik fejlesztés során az is elkészült, hogy a makrók ne forduljanak le minden futáskor. Jelenleg úgy néz ki, hogy ha a Precompile kapcsoló be van kapcsolva, akkor már a program indulásakor, ha nincs, akkor az első futtatáskor fordulnak le. Természetesen, mindkét esetben újra fordul az a makró, amelyiknek a forrása (a .txt file) megváltozik.
Ennek a két fejlesztésnek van egy nem várt, de igen hasznos mellékhatása: az #Events tag után megadhatunk static változókat. Ezek a változók mindaddig újra használhatók és tárolják a korábbi értéküket, amíg a programból ki nem lépünk vagy a makró újra nem fordul. Például ezt a makrót egymás után többször elindítjuk, akkor a státusz ablakban szépen láthatjuk a futások között megőrzött értéket:
Innentől a lehetőségek korlátlanok. Például csinálhatunk 3 állású gombot, ami minden megnyomásra a következő funkciót végzi:
switch (state) { case 1: AS3.Additemtolistbeginning("Egyes állapot", 2); ++state; break; case 2: AS3.Additemtolistbeginning("Kettes állapot", 2); ++state; break; case 3: AS3.Additemtolistbeginning("Hármas állapot", 2); state = 1; break; }
#Events
static int state = 1;
Eddig ezt #változókon keresztül, vagy még rosszabb megoldással, a profilba tárolással és kiolvasással tudtuk megoldani. Az elsővel az a baj, hogy egy g-kód használhatja másra pont azt a változót, a második lassú és teleszemeteli a profilt. A #változókkal az az apró probléma is fennáll, hogy numerikusak. Mi van, ha string-et kell tárolni?
Igen, ismertem Az a jó, ha minél többen, minél több alkalmazásra használjuk a teszt verziókat, mert hamar kiderülnek a bug-ok. Csak meglepődtem egy korábban remekül működő dolog változásán.
A számítástechnika ( programozás ) olyan mint a kabaréban az orvos és a beteg . A beteg elmegy hogy viszket a háta mire kap egy gyógyszert amitől megy a hasa amire megint egyet amitől meleggé válik, aztán izzad stb stb. A végén újra viszket a háta de abba már beletörődik Gondolom láttad már ....
Az 1.2038-as teszt verzióban valóban nem működik a probe koordináta regisztrációja, mindig 0 értéket ad vissza. Ezt javítani fogjuk.
A teszt verziók csak annak szólnak, akik tesztelni szeretnék, ill. segíteni szeretnék a fejlesztést azzal, hogy visszajelzést adnak nekünk. A teszt verziókat kizárólag a saját fórumunkon, illetve ezen a fórumon tesszük közzé, a weboldalunkon nem! Aki üzemszerűen kívánja használni a szoftvert annak nem javasoljuk a teszt verziók használatát, mivel ezek gyakran még nem kiforrottak és tartalmazhatnak hibákat.
Az új verzióban valamiért nem működik rendesen az M31 digitalizálás. Cahit autoleveler pluginje a 37-es verziótokkal rendben megy, de a 38-ba a digitalizált file minden x y z adata 0-át vesz fel. Cahit is jelezte, hogy nálatok lehet a gond.
Köszi.
kaqkk007 | 1563
2017-05-19 22:00:39
[3930]
Köszi a precíz pontos leírást már én is frissítettem és nem szálltak el a beállítások , a hozzászólásodnak köszönhetően .
Attól függ, hogy hogyan használod a programot, és mennyit módosítottál benne. Alapvetően a telepítő úgy van megírva, hogy ha a meglévő helyre telepíted, akkor a rendszer részeit lecseréli. Azt is, ami nem változott! Lehetőség van az "Alapértelmezett profilok és makrók felülírása (javasolt)" opció mellől kivenni a pipát, de nem az igazi megoldás. Innentől két szempont szerint kell a frissítést elvégezni, külön részletezem. (Ha nem módosítottál képernyőt, akkor 2. pontot kihagyhatod úgy, hogy van.)
1. Profil és parancsikon
Vannak a profilok, amikben a saját gépedhez adod meg a beállításokat. Mindenképpen érdemes saját profilt használni, nem az alapértelmezett (Default) profilt. A frissítés folyamán a telepítő csak és kizárólag az alapértelmezett profilt fogja felülírni, ha engeded. Tehát, ha saját profilod van, akkor annak a beállításaihoz nem fog a rendszer hozzányúlni. Ha eddig az alapértelmezett profilt használtad, akkor itt az ideje, hogy áttérj a saját profil használatára. Legyen a példa kedvéért az új profil neve "kisgep". File-névben lehet ékezetet használni, de nem érdemes, mert csak a baj van vele utána. Az átállást a legegyszerűbben úgy tudod megtenni, hogy az UCCNC Profiles mappájában a Default.pro file-t átmásolod kisgep.pro névre. Ezután létrehozol egy Macro_kisgep nevű mappát (ugyanaz legyen a "Macro_" után, mint a profil neve), amibe átmásolod a Macro_Default mappa tartalmát. Innentől a profilod készen van és biztonságban van a makróiddal együtt. Egy dolog maradt hátra: parancsikont kell hozzá csinálni. Fogod az asztalon az UCCNC ikont és csinálsz belőle egy másolatot (pl. jobbgombbal odébbhúzod, majd amikor elengeded az egeret, akkor a megjelenő helyi menüben a másolást választod. Ezután átnevezed, ahogy tetszik, pl.: "UCCNC kisgép". Az új ikonon jobb gomb, tulajdonságok, majd a "C:\UCCNC\UCCNC.exe" után teszel egy szóközt és beírod, hogy "/p kisgep", leokézod. Ez a fele kész. (Természetesen, ha nem a C:\UCCNC mappába van telepítve, akkor mást látsz, de a lényeg, hogy mögé írj. Ha a telepítési mappa neve szóközt is tartalmaz, akkor idézőjelben lesz az egész, annak úgy írd mögé a kapcsolót, hogy az idézőjel maradjon, ahol van, utána jön a szóköz, /p stb.)
A profilok használata azért is praktikus, mert egy PC-ről több gépet is tudsz hajtani, amiknek teljesen más beállításai lehetnek. Nekem pl. két gépem van (illetve másfél, mert a második csak épül) és összesen hat profilom. (Régi gép, új gép, ilyen teszt, olyan teszt, default stb.)
2. Képernyő
Ha a képernyőn is módosítottál, az nem jó hír. Ebben az új teszt verzióban elég sok dolog változott a képernyőn és a jövőben is bármikor várható hasonló.
Két lehetőséged van: vagy újra elvégzed a módosításokat a telepítés után, vagy másolatot készítesz a módosított képernyő leíróról (Screens\Defaultscreenset.ssf).
Ha áthelyeztél képelemeket, vagy újakat készítettél, akkor másold le az eredeti leírót (Defaultscreenset.ssf) pl. kisgep.ssf néven. A képernyő leíró file egy sima szöveges file, így megfelelő programmal (Total commander vagy "okos" szövegszerkesztő) össze tudod hasonlítani majd a frissítés után az alapértelmezettet (ami felülíródik frissítéskor) a tiéddel, és a módosításokat át tudod vezetni, ha nem akarod újra megcsinálni.
Ha most készítettél új képernyő leírót (pl. másolással), akkor szintén szövegszerkesztővel nyisd meg a profil file-t (pl. kisgep.pro) és a "mainscreenfilename=Defaultscreenset" sort módosítsd az új leírónak megfelelően. A név végére ne írd oda a .ssf kiterjesztést!
Még macerásabb, ha az alapértelmezett képekben módosítottál (Flashscreen\BMP\Defaultscreenset\*.png). A képek módosítását nem javaslom: érdemes lemásolni és úgy módosítani. Az eredeti képeket ugyanis a frissítés fejbe fogja vágni, míg a telepítőkészletben nem szereplő képeket békén hagyja. (Nekem az vált be, hogy a saját képeimet _ (aláhúzás) karakterrel kezdem, így nem kell keresgetni, ábécé szerint egy kupacban vannak.)
Nagy vonalakban ennyit kell tudni a frissítésről. Kicsit sok a macera, de ha egyszer előkészítetted a fentiek alapján, akkor a jövőben már egyszerűbb a dolgod, hiszen a másolgatást és parancsikon készítést már nem kell újra elvégezned, csak a változásokat kell követned.
- Új: G50/G51 skálázás - Új: G68/G69 koordináta rendszer forgatás - Új: hátra lévő távolság, distance to go (DTG) DRO-k - Új indulóképernyő - Indítás 10-40%-kal gyorsabb (PC sebességtől függően) - Képernyő szerkesztő módban a PageUp/PageDown (objektum előtérbe/háttérbe mozgatása) fordítva volt, javítva - FRO/SRO csúszka kiértékelési hiba miatt 0-ra állt, ha a DRO érték megváltozott, javítva - Új: Feedrate és Spindle speed overriden DRO-k, azaz FRO és SRO által módosított értékek kijelzése - Új: g-kód újratöltés gomb - Új: parancssori /d kapcsoló: program indítása demó módban (akkor is, ha van elérhető vezérlő) - Új: szerszámpálya határának kijelzése kikapcsolható - Új: g-kód szerkesztőben egér jobb gomb Cut, Copy, Paste stb. helyi menü - Az OUTPUT TRIGGER beállításoknál a Set megnyomásakor a listában a 4-es port kétszer szerepelt, javítva - Szerszámpálya megjelenítőben nagyon kicsi teljes körök néha nem jelentek meg egyáltalán, javítva - Fúróciklusoknál ha az R visszaemelés meg van adva, akkor odáig nem gyorsjáratban mozgott, javítva - Windows 10 márciusi kumulatív update és Creators Update OpenGL kezelési hibája miatt a program egyes PC-ken használhatatlanul lassú volt, javítva - Új: TCP (szerszám középpont) követési mód a szerszámpálya megjelenítőben - Az FRO néha megakadt a Stop gomb nyomása után. A hiba új mozgás kiadása után automatikusan megszűnt, csak álló helyzetben fordult elő, ezért nem jelentett komoly problémát. Javítva - Ha az FRO 100% felett volt, akkor körív mozgás (G2/G3) deformálódhatott, ha túl magas volt az egyik tengely sebessége és eltérő volt az X és Y sebesség beállítása, javítva - Az UCCNC üzenet ablakok fejlécében "Message" javítva "UCCNC message"-re, hogy a felhasználó minden esetben tudja, hogy ez az UCCNC rendszer üzenet ablaka - UC300USB 2. probe bemeneten nem működött az alacsony szint, javítva - Az Ismoving mozgás megszűnésre várakozás hiányzott a makró fordító kód végéről, ez okozhatott olyan problémát, hogy a mozgás végkoordinátája hibásan lett regisztrálva exec.Code utasításoknál, és emiatt a következő exec.Code utasítás előfordulhatott, hogy visszamozgatta az előzőleg mozgatott, de az új exec.Code utasításban nem mozgatott tengelyeket az előzőleg kiadott mozgás előtti koordinátákra. Javítva - Softlimit kezelés szétválasztva g-kód elő-ellenőrzésre és mozgás közbeni ellenőrzésre - Új: Apply és Save Settings védelem, hogy ne lehessen gombokat megnyomni vagy DRO-kat átírni, amíg a művelet tart - Visual Basic plugin mintaprogram és sablon frissítése
dezsoe | 2934
2017-05-19 11:00:38
[3922]
A helyzet az, hogy nincs olyan, hogy kell. Olyan van csak, hogy érdemes. Amiket felsoroltam, azok közül választhatod azokat, amire szerinted szükség van ahhoz, hogy nehogy véletlenül kárt tegyél magadban, a gépben vagy a munkadarabban. (Illetve ha valamelyik nem úgy jó, akkor megadhatsz a megfelelő, ugyanarra vonatkozó, de másik beállítást, pl. G64 helyett G61.1-et stb.) Amit abból a listából kihagytam, az az F és S alapbeállítás.
Azt, hogy melyiket érdemes megadni, azt a géphasználatod és az esetleg CAM vagy akármilyen más programmal generált kódok alapján tudod kitalálni. Mondok példát, úgy egyszerűbb. Én sem kézzel, sem generált kóddal soha nem hagyom el a G17 síkot, ezért nem tartom fontosnak, hogy minden kód elején ott legyen a G17. Másik példa: mivel a főorsóm szabályozása kimerül a ki- és bekapcsolással, nem érzem szükségét, hogy mondjuk egy S1000 alapértéket megadjak.
Egy szó, mint száz: azokat az alapbeállításokat érdemes megadnod, amiket váltogatni szoktál és gondot okozhat, ha egy előző munkából ott marad egy másik beállítás.
Azért érdekesek ezek a korlátok. Gondolom valakinek kevés volt az 1000 makró lehetőség, ezért kellett az új verzióban még ezerrel kibővíteni. Én az 1000-be biztosan beleférek :D
Nincs mit. Itt van egy angol nyelvű doksi, ez még segíthet. (Csak kíváncsiságból megnéztem, hogy miért is emlékeztem 20000-20999-re: az 1.2021 verzióval bezárólag így volt, csak az 1.2022-től bővült 21999-ig.)
Jogos! Ott a pont! Ez teljesen elkerülte a figyelmemet... a külső PDF-es leírásokat böngésztem nagy bőszen, persze az is lehet, hogy ott is ott van valahol. Még egyszer köszi!
Na. Majdnem megfogtál, de tudtam, hogy valahol láttam leírva. A programon belül, a HELP/SUPPORTED M-CODES ablakban, a legvégén. Innen rögtön az is kiderül, hogy rosszul írtam, mert nem 20999-ig, hanem 21999-ig tart a gombokhoz rendelhető makrók számozása.
Tud valaki abban segíteni, hogy az UCCNC-ben ha készítek egy új gombot, akkor ahhoz hogyan lehet makrót kapcsolni, ami a gomb megnyomásakor fut le?
Pabló | 1615
2017-05-15 21:12:39
[3912]
Nem akarok belekotyogni,mert mi a heidenhain vezérlőt nem g kódban, hanem iso code-ban programozozzuk. Szerintem ez az alap 2 sor ugyanaz, mint nálunk a block forma. De a heidenhain azért nem uccnc. Szerintem egy NCT, vagy fanucra jobban hasonlít.
UCCNC-ben nincs G30, a G17-et írtam G31 ott nem tudom, mit csinál, itt probe egyszerre egy tengelyen T0 ne legyen szerszám, G17 már volt, S500 fordulatszám, F100 mozgási sebesség G90 abszolút koordináta, G00 XYZ menjen oda, M3 főorsó bekapcs
G17, T0, S500, F100, G90, M3 rendben, igény szerint, a többi ide nem jó. Szerintem olvasd át a Documentation mappában az UCCNC_hasznalati_utasitas.pdf-et, ott le van írva az összes kód, amit a program kezel és az is, hogy ezt hogy csinálja.
Vigyázz a máshonnan áthozott kóddal, mert pl. az a G31 veszélyes is lehetne, de szerencsére jelenleg egyszerre csak egy tengely mentén van probe, így nem tett volna kárt a gépedben.
Csatolok egy példát a iTNC530 vezérlőn így kezdem a programokat,vagyis ez a négy sor állandó csak a paraméterek változnak! Vagyis van ilyen kötelező e ha UCCNC-re vagy Mach3-ra írok Gkódos programot?!
Nagyon szépen köszönöm türelmedet és válaszodat! Igyekszem ezeket betartani,nyilván tesztnek egy egyszerű kis kontúrt írok majd ami az asztal felett fogg cirkálni(rajzolni,a Z-t jól kiemelve a síktól),és akkor látni fogom ha hibádzik még valami!
Kötelező igazából nincs. Ennek ellenére vannak kódok, amit illik (érdemes) megadni, leginkább a saját érdekedben, hogy ne lepődj meg, ha valami máshogy indul, mint kéne.
Természetesen, ha valamelyik paramétert nem akarod alaphelyzetbe állítani, vagy más alaphelyzetet szeretnél, akkor annak megfelelőt választasz vagy kihagyod. Érdemes mindet elolvasni a kézikönyvben, hogy mit csinál, mert akkor azt is fogod tudni, hogy melyikre van szükséged, illetve melyiket állítanád máshogy.
A kód végét illik M02-vel lezárni. Ha alprogram(ok) van(nak) a kódban, akkor a főprogram végére M30 vagy M47 kell és csak a file végére M02.
Ha volt M03/M04, akkor a főprogram végére illendő M05-öt tenni, hogy ki is kapcsoljon a főorsó. Ugyanez érvényes az M07-M08-M09-re is.
Lényeges, hogy UCCNC-ben egyik sem kötelező, de érdemes megszokni.
Sziasztok! Az lenne a kérdésem,hogy most tanulom a G-kódos programozást egy ipari vezérlő szimulátorán iTNC530-as ,és ott amikor megírok egy programot akkor az első négy sor képletesen értve szentírás(vagyis minden program esetében ugyan az csak más paraméterekkel),a kérdésem az az ,hogy pl:UCCNC re ha irok egy programot akkor vannak olyan kötelező sorok amik minden esetben szerepelniük kell?
Előre is köszönöm a válaszokat!
CNCdrive | 442
2017-05-10 14:42:36
[3904]
Üdv,
Ma reggel 7:05 -kor írtál nekünk egy emailt és most kaptál is rá választ, az előbb írtam neked egy válasz emailt. Én úgy érzem, hogy 8 órás válaszidő eléggé jó, persze aki türelmetlen annak lehet az azonnal is lassú.
hátha valaki tudja mert az illetékes vagy nyaral, vagy nem tom mi, de választ nem kaptam eddig
szóval cncdrive.hu -n kapható golyós orsóknál lehet kérni végmegmunkálást, vagy alapból megcsinálják, vagy csak ledarabolják és mindenki ahogy tudja megoldja?
Előre is köszi!
R.
guliver83 | 3234
2017-05-05 21:34:41
[3900]
Azt hittem van valami rajz hozzá. Nem értek az elektronikához, de két vezetéket össze tudok kötni