Mit értesz UCCNC összefoglaló alatt? A program leírása ott van a program mappájában. Igazából csak a beépített plugin-ok leírása hiányzik. Talán még a makró/plugin fejlesztéshez lehetne írni doksit. Angol nyelven már megtette egy szorgos felhasználó, ha közelít a teljességhez, akkor majd lefordítjuk, ha megengedi.
- Az UC300ETH és UC400ETH hibásan számolta a gyorsulást a B tengelyen, ami furcsa mozgást eredményezett, javítva - Az UC300ETH és UC400ETH lépést vesztett az enkóder megszakítás prioritási hibája miatt, ha a főorsó enkóder engedélyezve volt, javítva
dezsoe | 2934
2017-09-15 12:15:21
[4293]
Szia!
Letöltöttem, de igazából nem láttam benne hasznos információt. Majd megkérdezem a Balázsokat, hogy egyáltalán létezik-e leírás hozzá, és ha nem, akkor gyűjtök információt és megírom, legyen meg ez is. (Csak egy kis türelmet kérek, mert az osztódás még nem megy, de igyekszem... )
Sziasztok! Tudna valaki segíteni, hogy az uccnc program lézer pluginjének leírása hol lelhető fel magyarul?
dezsoe | 2934
2017-09-13 13:35:36
[4286]
Készítettem egy makrót "smart homing" néven. A beépített home-olástól annyiban különbözik, hogy miután egy tengely felvette a home pozíciót, egy megadott koordinátára elmegy. A másik lényeges különbség a SoftLimit kezelésében van. Ha a home kapcsoló a SoftLimit határain kívül esik és a SoftLimit be van kapcsolva, akkor az UCCNC a home pozíció felvétele után megakad a SoftLimit koordinátánál (nem engedi bemenni a tengelyt a határok közé). Ezért a megadott koordináta felvételekor a SoftLimitet ideiglenesen kikapcsolom.
A profil file-ba fel kell venni egy [SmartHome] szekciót, ahol a paraméterek lesznek. G28Move<tengely>=true/false értékkel lehet egy adott tengelyre engedélyezni vagy tiltani a home utáni elmozdulást, G28Goto<tengely>=<gépi koord.> sorral pedig beállíthatjuk, hogy hova menjen. Például (nálam az X és Y home -5mm-en, a Z 50mm-en van):
A makrót meg lehet hívni paraméter nélkül vagy Q paraméterrel. Ha a Q meg van adva, akkor 0-5-ig az X, Y, Z, A, B, C tengelyt fogja home-olni. Ha nincs paramétere, akkor egy képernyő mezőből veszi, hogy mit csináljon.
A képernyőn kívüli területre tettem egy mezőt (hogy ne látszódjon) és látható helyre egy csúszkát, ami ennek a mezőnek az értékét állítja 0 és 6 között. 0-5-ig egyesével home-olja a tengelyeket, ahogy már fentebb leírtam, ha 6 az értéke, akkor a Configuration/General settings/Homing sequence beállításban megadott tengelyeket az ott megadott sorrendben home-olja. A makróban a SmartHomeAxisFld konstans értéke a beviteli mező sorszáma. Az első képen a nyomógomb (ez hívja a makrót) és mellette a csúszka látható, a másodikon az eredmény a státusz ablakban.
1. Igen, mm, ha mm-t használsz. Pontosabban fogalmazva: az UCCNC nem kezeli a mértékegységeket (nincs G20/G21), tehát ha mm-ben van a g-kódod, a tengelybeállításaid, meg minden, akkor a munkaterület is mm lesz.
2. A munkaterület mérete értelem szerűen gépi koordinátában van, így ha odébb teszed a G54..G59 nulla pontját, már ugrik is odébb a munkadarab.
- AltGr-es karaktereket (pl. #) nem lehetett beírni MDI-be, javítva - Színválasztó ablak kezdőpozíciója kívül eshetett a képernyőn, javítva - Új: a CNCRoom UB1-es paneljének támogatása - Új: csúszka új paramétert kapott (acceptclick), mellyel engedélyezhető vagy tiltható, hogy a csúszán bárhova kattintva oda ugorjon. Ha ez tiltva van, akkor csak a csúszka megfogásával lehet állítani - Új: a szerszámpálya-megjelenítőben egy hálós sík jeleníthető meg, ami a gép munkaterületét mutatja - Néhány THC beállítást nem mentett a program kilépéskor egy korábbi, a mentéssel kapcsolatos módosítás miatt, javítva - THC anti-dive a mozgás végén késett egy szinkronizálási időnyit a THC anti-dive funkció kapcsolással itt van róla szó, javítva
Amatőr | 2184
2017-08-31 12:25:36
[4278]
"és mindjárt elküldenek a fejlesztők a... csába" Csak nem! Azért kíváncsi volnék mit szólnak, lehet egyszerűbb mint gondolnánk.
Hát vanni van, de még az asztalon hever úgy hogy igazad van nem tudom hogy müxik, de ha tényleg így van, akkor inkább valami egyszerű szerkesztő nézet kellene ahol kör és négyzet huzigálós módival köré rakható a képnek
csak gondolom akkor jönnek az újabb igények, hogy a keret mentén halványabb legyen a kép így nagyobb képből is lehetne kivágni... ami szintén állíthatóan mekkora távolságról induljon ,stb..
már hogy ne lenne, a g kódhoz hozzáfűzheted a kivágandó terület g kódját, talán leginkább azzal a hasonlattal tudnék élni, hogy az aspire ben ha olyan megmunkálásokat végzel amelyek ugyan azon szerszámmal vannak akkor megmondhatod neki hogy egy fájlba tegye..
nem tudom mivel generálod a kódot, de gondolom a kép is végül egy G-kódként végzi, akkor a programból külön rajzolsz egy keretet és max a teljesítményt átírod benne..
Csak egy kérdés az UCCNC Laser-pluginnel kapcsolatban: én szinte csak ezt használom, kép gravírozáshoz vettem meg. Mennyire volna bonyolult dolog megoldani hogy amikor kész a kép akkor vágja körbe a lézer? Mondjuk mikor végzett megállna megkérdezni az előtolást aztán full teljesítménnyel a már kiszámolt méretek alapján rajzolna egy téglalapot. Azt már csak nagyon óvatosan említem meg hogy az ovális vágás igazi csemege lenne.
dezsoe | 2934
2017-08-21 22:08:25
[4267]
Csak egy gondolat, világmegváltás nélkül. Ha nekem fix bemérőm lenne (akár szerszám cserélő nélkül is), akkor biztos, hogy a méréseket gépi koordinátában végezném, mert onnantól mindegy, hogy melyik munka koordináta rendszert használod éppen. Pláne, hogy egy szerszámcserélős gép elég komolynak tűnik ahhoz, hogy több munkadarab is be legyen rögzítve: innen már csak G54 és társai kellenek, hogy ráállj a következőre. Ha elég pontos a homing és a befogás, akkor akár meg is jegyezheti a mérések eredményét, hogy csak a szerszámtár feltöltésekor kelljen mérni.
Olvasgattam, kérdezősködtem, de nekem valahogy nem tetszenek az iparban elterjedt szerszámbemérési metódusok. (volt amelyiket meg sem értettem )
Egy hobby gépnél nem gond a ciklusidő, ezért én inkább azt az utat választanám, hogy minden egyes szerszámcsere után menjen el és mérje be a szerszámot, egy célszerűen a szerszámtár mellett levő fix bemérőponton, írja be a szerszámkorrekciós tárba az értéket, majd ezzel a korrekcióval dolgozzon. (vagy akár nem is kell táblázatba írni, hiszen mindig mérnék) Így ki lenne küszöbölve a szerszám visszafogási pontatlansága is. (nem kúpos befogók vannak, hanem csak a szerszám hengeres szárát fogja meg a patron)
No de mihez legyen a viszonyítás? Az iparban sokszor a főorsó homloka és az asztal közti távolság az "etalon".
Én eddig talán még mindig csak olyan munkadarabot martam, ahol a Z0 a munkadarab felső síkja, így nekem az lenne a célszerű és érthető, hogy felvenném mondjuk a T1-es szerszámmal a munkadarab síkját, majd a többi szerszámot ehhez a T1-hez korrekciózná a többi szerszám Z mozgását
Ha valakinek van pár perce, próbálja már szemellenzős gondolkodásomat helyes útra terelni!
Készített-e már valaki fix helyzetű szerszámbemérőhöz olyan makrót, ami ténylegesen ki is tölti a TOOLS fülön a Z hosszkorrekciós táblázatot?
A szerszámcserélő M6 minta makro már tartalmazza a G43 H(aktuális szerszám) parancsot, tehát már valaki foglakozott ezzel a résszel is.
svejk | 33042
2017-08-20 21:22:23
[4264]
Okszi, kafa minden, végül is elég volt a megfelelő zárójelezés, nem kellett a .ToString().
Megcsináltam mindent, a kis Z mozgástartomány miatt a szerszámokat is kerülgetni kellett és a bekapcsoláskor is tudja melyik szerszám van bent. Így most nem is kellett beleírni semmit az M99998 és M99999-be. Egy kis ártatlannak tűnő makrot kellett csak pluszba írni. Egyelőre G01-el mozgok, majd ha a gyakorlatban is megy akkor felgyorsítom.
Köszönöm a segítségeket !
Jöhet a szerszámbemérés! (no az még szép falat lesz, mert azt sem tudom, hogy mi a helyes metódus, hogy is van az ipari gépeken)
A HomeAll gombhoz rendeltem a M20060-as makrót majd a makróban hívom meg a 113-es HomeAll buttonnumbert. Így indulás után amint rákattintok rögtön be is írja az utoljára elmentett szerszámot, és felveszik a tengelyek a referenciát, mely egyébként is kell a szerszámváltás engedélyezéséhez.
Hogy a pi..a kell szintaktikailag helyesen megírni az alábbi sort, hogy a Z szán "Ztoolrelease", plusz 10 értékre menjen?
exec.Code("G00 G53 Z"+ Ztoolrelease);
svejk | 33042
2017-08-20 15:24:32
[4259]
Oké, a kiolvasási és átírási művelet maga ennyi:
int LastSelectedTool = Convert.ToInt32(exec.Readkey("SvejkAdatai", "LastSelectedTool", "0")); exec.Setcurrenttool(LastSelectedTool);
Ezt a két sort most egy hotkeyre és egy M20060-a makroba írva az UCCNC indulása után a billentyűt lenyomva szépen beírja az utoljára beváltott szerszám számát és innentől jól is számolja a dolgokat.
De most meg azt kell kitalálni hogy mikor és hogyan fusson le egyszer ez a makro. A HomeAll gomb mégse jó, mert lehet valaki egyesével veszi fel a referenciákat.
No még egyszer elindultam az elejéről és odáig jutottam, hogy ha az: int Currenttool = exec.Getcurrenttool();
sort kicserélem az általad ajánlott sorokra akkor sajnos engedi a szerszámráváltást...
No de ez most nem is érdekes, mert én továbbra is kötöm az ebet a karóhoz, miszerint csak a TOOL mező értékét figyeli szerszámcserekor. Ha lefuttatom pl. az exec.Setcurrenttool(5); parancsot, akkor be is írja az 5-ös szerszámot és ezentúl úgy is számol, hogy az van bent.
Tehát ha a szerszámcsere végén a *.pro fájlba elmentett szerszám számát az UCCNC első elindításakor visszaírnánk az exec.Setcurrentool paranccsal -pl a Home gomb megnyomásakor- akkor nem tévedne el sosem. (a Home gombot úgy is meg kell nyomni)
Csak ugye azt nem tudom, hogy kell ezt a műveletet végrehajtani.
Egyébként megcsináltam amit ajánlottál a #4239-ben és működik de valamit elronthattam, mert ha kétszer egymás után kiadom mondjuk az M6T6-ot akkor bizony rávált még egyszer a 6-osra.
Az eredeti M5 makronál nem engedte ezt. Gondolom ez a sor felelős érte:
if(Newtool == Currenttool) // Same tool was selected, so do nothing, stop here... return;
Benne van minkét makroban de mégis...
svejk | 33042
2017-08-19 19:58:42
[4255]
No nézzük ezt a másik, szerszámbeolvasási problémát az induláskor. Lehet elbeszélünk egymás mellett.
Akkor minden szerszámcsere alkalmával kiírja a file-ba, tehát az UCCN induláskor biztosan az a szerszám van a főorsóban.
"..az M99998-ból nem hajtja végre a Setcurrenttool-t, mivel a reset még aktív.." No ez tényleg probléma.... Talán kellene egy másik makro ami a reset inaktiválásakor lefutna és az előzőleg fájlba elmentett szerszámértékét ekkor már be tudná írni a szerszám eredeti mezőjébe?
Engem valahogy zavar, hogy bekapcsoláskor nem az épp a főorsóban levő szerszám számát mutatja az a mező.
Ja, hogy ez egy konkrét célgép lenne, aminek átszabod a képernyőjét. Értem.
A mezők g-kódba átvitelét két módszerrel is elvégezheted. (Illetve a módszer ugyanaz, csak két indulási módszer jutott eszembe. Az egyik: a g-kód elején hívsz egy makrót. A másik: a start gombot bütykölöd meg, hogy előbb az említett makró fusson és csak utána nyomódjon meg a start gomb.)
Naszóvalakkor: ha az adatokat a képernyő mezőkből változókba akarod pakolni, akkor ennyi a dolgod (az emlegetett makróban, minden mezővel):
Dehogynem, segítenek a tudatlan felhasználóknak.:)
Új alap képernyő majdnem biztos hogy kell, az talán menni fog. újabb verziókra nem kell cserélgetni a mostani felállás azon részei amiket használok stabilnak tűnnek.
Úgy 10-15 változó lesz a munkadarab kódjában.
Csak egy példa kellene hogy is nézne ki, ha a képernyő adott mező értéke lenne egy váltózó a G-kódban.
Az UCCNC fejlesztőinek semmi dolga azzal, amit írtál. Vagy nekiállsz képernyőt szerkeszteni (én biztos nem tenném), vagy egy okosan megírt makróval beolvasod a szükséges adatokat. Kb. mennyi paraméterről van szó?
(A Mach varázslói speciális állatfajták, de működésüket tekintve inkább a makrókhoz hasonlítanám őket, hiszen a lényeget makró kódok végzik, csak kicsit keresztezték a makrókat a képernyőkkel is.)
A ToolX[]-ToolY[] tömbök a szerszámok tárolási koordinátáit rögzítik. Ennek a tömbnek akkorának kell lenni, hogy az összes - jelen esetben 13 - szerszám beleférjen.
Közben ugrálnak a gondolataim, újabb ötletem támadt.
Ez a bizonyos gép mint írtam tanításos módszerrel lesz használva, de egyre valószínűbb hogy elég lenne a parametrikus programozás is.
Mivel az UCCNC progi és a fejlesztői nagyon ügyesek és rugalmasak, -dicséret bezárva - a következőt találtam ki:
Az megoldható lenne, hogy készítenék egy új fület ahol táblázatszerűen kitölthetőek lennének a parametrikus programozás változói, majd a parametrikus kód futtatásakor ebben a táblázatba levő adatokat olvasná be a program.
Nagy előnye, hogy átlátható lenne, illetve a felhasználó csak a változókhoz férne hozzá, maga a teljes G kódba nem tudna véletlenül sem belepiszkálni. (gondolom a Mach3 varázslói is így működnek valahogy)