Hírek:

Fontos tudnivalók a migrációval kapcsolatban, kérlek olvasd el:

A régi fórumról áthozott hozzászólásoknál a felhasználó neve adatvédelmi megfontolásokból véletlenszerűen generált értékekre lett  lecserélve. Ez akkor tud a valódi értékre visszaállni, ha az adott felhasználó a régi fórumon nyilatkozik, hogy beleegyezik az adatainak az új fórumra továbbításához, majd ezután itt a régi felhasználónevével és email címével regisztrál.
8~20 óra között, 1~30 percen belül megtörténik a jóváhagyás, 30 percenként ellenőrizd email fiókodat (SPAM-ot is) mindenképp kapsz mail-t, a sikeres regisztrácioról, vagy a hibáról és, hogy mi a teendőd.
Nézd meg  "A régi fórumról, az új fórumra költözés útmutatót."
A régi fórumon használt email címmel de más felhasználói azonosítóval érkező regisztrációs kérelmek törlésre kerűlnek.

Main Menu

UCCNC vezérlő program

Indította gaben, 2024 április 09, 16:54

Előző téma - Következő téma

hyuekyh7a

Sziasztok!
Valaki készített nekem az UCCNC -hez egy scrent amin lehet állítani a gyújtási magasságot és a várakozási időt a lángvágáshoz,kérem küldje el újra mert véletlenül kitöröltem a bejövő levelezésem és frissítéskor felülírta a defaultscrent.

000000000

Sziasztok!  
Végig olvastam a topikot. Mind a kétezer akárhány bejegyzést. Először is mélyen meghajlok a Balázsok előtt. Nem semmi munkát végeznek. Gyorsan és jól. A hozzáállás kiváló. Le a kalappal fiúk!  
De azért írok, mert rengeteg kérdésem lett.
Az első mindjárt ez az RS274 new generation controller cucc. Ha jól értem ez egyfajta hibrid keveréke az NC és a C nyelvnek? Nagyon nem értem. Ha így van, az sokmindent megmagyaráz, de mi az értelme?

000000000

Sziasztok,
 
Köszi, hogy összegyűjtötted az infókat.
Egyetlen dolog amiben még nem vagyok biztos, hogy a G82-nek a P paramétere az sticky-e vagy sem, de utána fogok nézni, ha más nem, tesztelem, hogy más programok hogyan kezelik.
 
A G4-et közben már megcsináltam választhatóra sec/msec, a következő kiadásban már választható lesz.

000000000

Ez mind szép és jó amit leírtál, csak egy részlet ami hiányzik nekem, hogy hogyan konfigurálja a felhasználó a soros kommunikációt?
Kicsit kitérhetnél rá, hogy hogyan képzelted el ezt a dolgot, mert nekem még ez egy homályos folt egyelőre.

000000000

Köszönjük. :)
 
Az RS274 egy szebvány, amit az amerikai szabványügyi hivatal (NIST) definiált még valamikor a 80-as években. A 3. és legfrissebb kiadás 2000 Augusztusi és itt eltudod olvasni: http://www.nist.gov/manuscript-publication-search.cfm?pub_id=823374
 
A dokumentum tulajdonképpen egy programozási nyelv definíció, vagy szabvány, a nyelv szintaktikáját, szemantikáját írja le.
A nyelvnek nincsen köze a C nyelvhez.
Mondhatni, hogy ez az a CNC programozási nyelv, amit a legtöbb CNC gép gyártó, illetve program fejlesztő követ. Lásd. Mach3, LinuxCNC és sok ipari vezérlő...
Az UCCNC is ezt a programozási nyelvet támogatja.

000000000

A G82 modális fúróciklus vagyis minden argumentuma öröklődő. Legalábbis az általam ismert vezérlőkön.  
A G04-et kétféleképp szokták alkalmazni :
G04 P10 - ezesetben 10 millisec, vagy 10 fordulat az előtolás függvényében  
G04 x10 - ez esetben mindig 10 másodperc a várakozás.
Legalábbis az általam ismert vezérlőkön.

dezsoe

Szia!
 
Mach3-ban biztos, hogy öröklődik, az UCCNC előtt azt használtam, ugyanezzel a generátorral (pcb-gcode). Gyorsan letöltöttem a linuxcnc-t és kipróbáltam mdi-ből, az is örökli a P-t és szintén másodperc alapon vár.

000000000

Igen. átfutottam a dokumentumot. Amit nem értek:
Sok (szetintem lényeges) G kód hiányzik a nyelvbõl. Gondolok például a koordinátarendszer transzformácoókra. Vagy az sem világos, hogy makrót hogyan hívhat az egyszerû halandó. G65-tel gondolnám, de az is hiányzik. Varázslókat használtok, meg plugin kell. Írok egy példát a jobb megértéshez. Szeretnék egyszerû csavarfej süllyesztést csinálni négy furathoz. Teljesen általános feladat, gyakran kell ilyet célszerû lemakrózni, CAM-et izzítani ezért fölösleges. Tehát G65-tel hivatkozok egy alprogramra a megfelelõ argumentumokkal, ami aztán ezek elepján lefut. De a makró is G, M kódokat tartalmaz, meg elágazást, ciklust. IF, meg WHILE. De valahogy ez sem stimmel a UCCNC-ben. Tök káosz, nem értem. Ilyen öreg vagyok már? :-(

000000000

Macro hívást az 'M' kóddal tudod megtenni.
Például M3 bekapcsolja a főorsót CW irányba.
Saját makrót is lehet írni, itt jön a képbe a C nyelv, mivel az UCCNC nyelvezete C# ami C alapú nyelv. Makróból meghívhatsz UCCNC funkciókat, lekérdezheted a szövegmezőket, változókat stb. stb.
 
Egyébként szerintem (bár nem vagyok benne 100%-ig biztos) amiről te beszélsz az nem makró, hanem szubrutin vagy alprogram hívás.
Azt is lehet az M98 Pxxxx-al. A szubrutint M99-el fejezed be és az Oxxxx defíniálod a fejlécet, ja és az xxxx természetesen számokat jelöl.
 
G-kódban nincsen If, While, mivel nem C nyelv. Makróban viszont használhatsz if/while-t mivel azt a C# interpreter fordítja.
 
Egy egyszerű 4 furatot leprogramozod G-kóddal, kézzel leírod G0 és G1-ekkel, nem értem miért kellene ahhoz makrót írni?

000000000

Ó jajj! Már el is beszéltünk egymás mellett. Alapvető fogalmakat kellene tisztázni, mert nem értjük egymást.  
Nos hobbi, de mégiscsak cnc ez fórum, ezért nem értelek és te engem. Számjegy vezérlésű gépeken három féle alprogram ismeretes.  
Lokális, ami nem külön program, hanem M30 után írodik. Jó példa a Heidenhain vezérlő.
Globális alprogram ami önálló program, fejléccel programszámmal. M98-cal hívható. Bármelyik Fanuc klón ismeri.  
És a makró, amely olyan globális alprogram, aminek hívásakor az alprogramban szereplő változóknak értéket tudunk adni a főprogramból. Vagyis az előző példánál maradva ugyanazzal az alrogrammal tudok 10mm átmérőjű 10mm mély fenekes furatot is, és 15mm átmérőjű 13mm mély furatot is, attól függően, hogy a híváskor milyen értékeket adok át.  
Te másra gondolsz, ha én makrót mondok.  
Ezért nem értem, hogy ha én rendszerváltozóra szeretnék hivatkozni, pl. kiolvasni az aktuális pozíciót a tapintási jel után, miért csak C nyelven tehetem meg, amikor NC programot írok. Érted? Nekem az a fura, hogy két féle nyelvet kell használni, egy teljes értékű szerszámpálya megalkotására.  
Remélem nem veszed kioktatásnak!

000000000

 
Valóban ez egy hobby fórum és itt ami programokat használnak az emberek Mach3, LinuxCNC, UCCNC, USBCNC stb. ezek mind az RS274 szabványt követik, illetve még a Fanuc ami elég jól követi ezt a nyelvet.
A Heidenhain teljesen eltér ettől, saját nyelvezete van.
 
RS274 nyelvben a macro kizárólag M utasítással hívható. Szubrutin pedig M98-al.
 
Amit írsz, hogy a makró nyelve azonos kell legyen a programozás nyelvével, ennek van előnye is, de ugyanakkor van egy nagy hátránya is.
Az előnye, ahogy írtad is, hogy ebben az esetben nem kell más programozási nyelvet elsajátítanod.  
A hátránya, hogy kötve vagy ahhoz a nyelvhez ahhoz a csökkentett utasításkészlethez amit a G-kód interpreter ismer. Ez addig nem probléma, amíg egy adott célgépen dolgozol, amit megalkottak valahogy és azt amire megtanították azt tudja, de többet nem.
Itt a hobby fórumon az emberek gépeket építenek saját magunk és a gépeiket általában vagy munka vagy szórakozás céljából folyamatosan fejlesztgetik, aminek során sokszor olyan egyedi igények merülnek fel, amit nem lehetne megvalósítani, ha a G-kód nyelvezethez lenne kötve a program.
Olyat, hogy csak a G-kódot ismeri a gép, de képes legyen bármilyen célgépet vezérelni elképzelhetetlennek tartom.
Ezért van a makró írás C nyelven és ezért lehet a programban olyan dolgokhoz is hozzáférni, mint például a képernyő szett, vagyis a képernyőt ha akarod átrendezheted, levehetsz róla gombokat, felrakhatsz másikakat. Vagy például ezért van hozzáférés több irányból is az UCCNC belső funkcióihoz, szövegmezőkhöz stb., hogy a programot a felhasználó személyre tudja szabni.
Egy kész gyári gépen ezekre nincsen szükség, hiszen a gyár megtette a szoftver géphez szabását, azt tudja amit kell, viszont egy hobbycnc gép egyedi, minden gép más és más, mindenkinek más az igénye.
 
A tapintáshoz egyszerű makrót tudsz írni, igaz, C nyelven, ami végrehajt egy G31-et, majd beleteheted az értéket egy változóba, amire aztán ha akarsz hivatkozhatsz G kódban a #xxxx jellel, ahol xxxx ismét számokat jelöl.
A makrókat amúgy a egyszer megírod, utána használod, ha esetleg módosul a géped és szükséges akkor átírod a makrót.
A makróknak nem az a rendeltetése, hogy folyamatosan abban programozz, arra ott van a G-kód.

000000000

Felhasználói igények. Tiszta sor. Nem is vitatkozom tovább. Csak ez fura egy kicsit. Majd megszokom.

dezsoe

Jelentem: a Windows 10 megérkezett és szeretik egymást az UCCNC-vel. [#love11]
 
http://www.szentkereszty.net/misc/ucw10r.png" border=0>

000000000

Elképzelhető, hogy a nem túl távoli jövőben lesz egy programozói leírás az ehhez a vezérlőhöz? Egy olyan teljes, átfogó. Tetszik ez a vezérlő. Gondolkodtam is ezen. A Fanucot pont azért szeretem, mert gyakorlatilag korlátlan programozói szabadságot ad, már ami a szerszámpályát illeti. És most nem a manual guide-ra gondolok, hanem az alap kódkészletre. Nincsenek megkötések, mint a mazakban, vagy a heidenhain-ban. Szóval? 😊

000000000

Sziasztok,
 
Dezsoe:
Jó hallani, hogy megy Win10-en is, én nem frissítettem, szerintem te vagy az első aki Win10-en futtatja az UCCNC-t. :)
 
WolfyPontHu:
A G-kódnak a leírása benne van a users guide-ban. Az elérhető UCCNC függvények amik makrókban használhatók le vannak dokumentálva az UCCNc telepítés /Documentation könyvtárban. Az elérhető UCCNC funkció, gomb stb. kódok is le vannak dokumentálva ugyanott. Amúgy a programozási nyelv C#, ami manapság talán a 4.-5. legnépszerűbb programozási nyelv a világon, sok könyvet lehet kapni ami megtanít C#-ban programozni, illetve interneten is sok anyag, példaprogram, oktató videók stb. is fellelhető.