Régi álmom, de jelenleg még nem. Illetve igen, ha trükközöl: egy kimenetet fel lehet használni arra, hogy átkapcsolja a bemérő bemenetét mondjuk egy fénykapu és a tényleges bemérő között. Így gyors méréssel elmehetsz a kapuig, majd utána indítod a rendes mérést. Egyébként, ha jófajta a bemérőd (hosszan le lehet nyomni azután, hogy bejelzett) és nem milliméter alatti a szerszám, akkor az első mérés lehet gyors és csak a második a pontos. De nem tudom, hogy milyen géped és milyen bemérőd van.
Lehetseges betenni egy limitert a szerszam bemero fole, ahol lelassit a meres elott? Hogy ne a teljes tavot kelljen neki lassan megtennie? Ez egy lezer kapu lenne.
dezsoe | 2934
2021-11-05 08:57:57
[8629]
De, úgy is lehet, sőt, még további legalább ötféleképpen. Miután a két kérdésből összesen annyi derült ki, hogy relatív mozgás kell, én ennyit írtam.
Persze. A feladat elsőre rém egyszerű: legyen M70 a bekapcsolás, M90 a kikapcsolás. Legyen a kimeneted a port 2, pin 17.
M70:
exec.Setoutpin(2, 17);
M90:
exec.Clroutpin(2, 17);
Eddig oké, de most megbonyolítom egy kicsit. Biztos szeretnél a képernyőre egy nyomógombot, amivel egyrészt be és ki tudod kapcsolni, másrészt visszajelzi a kimenet állapotát. Mivel a képernyő gombjai közvetlenül csak a 20000-21999-es makrókat tudják hívni, kell még egy makró. Legyen pl. M20000:
Ekkor már három makród van, ahol be kell állítani a kimenet adatait, amit már simán el lehet téveszteni. Érdemes tehát mindháromban fix érték helyett a profilból felolvasni a port/pin értéket. Ezt rögtön meg is kavarhatjuk azzal, ha a kimenet "active low" típusú, mert akkor a Setoutpin és Clroutpin hívásokat fel kell cserélni. Ehhez jön még további pár apróság:
- Program indulásakor alaphelyzetbe kéne állni. Ez különösen akkor érdekes, ha alacsony aktív jelről van szó. Így már az M99998 makróban is ott lesz a port/pin (és active low) beállítás. A nyomógomb sorszáma nem kell, mert úgyis kikapcsolt állapotból indulunk.
- Stop vagy reset esetén a kimenetet illene kikapcsolni. Ehhez kell még egy makró, ami hurokban fut. Ide is kellenek a kimenet adatai és a nyomógomb sorszáma.
- Ha esetleg az M7/M8/M9 mintájára szeretnél két kimenetet (tehát az M9 mindkettőt kikapcsolja), akkor mindkét kimenet állapotát követni kell, ráadásul két nyomógombra lesz szükséged.
- Ha a kimenetek kapcsolásakor várakozásra is szükség van, akkor azt is bele kell írni a makrókba.
És még lehet, hogy nem is jutott eszembe minden szempont. Viszont ennyi minden már bőven elég ahhoz, hogy ne makrókban gondolkozzunk, hanem öntsük egybe az egészet egy plugin-ba.
Segítséget kérek tőletek. Egy makro parancsra volna szükségem, amivel X és Y-ban lehessen elmozdítani a maró motrot, szeretném egy gombbal ezt megoldani, hogy ne legyen szükség minden alkalommal MDI-ben megírni.
dezsoe | 2934
2021-11-04 15:29:51
[8618]
A FreeCAD-et és az OpenSCAD-et tanulgatom, amikor épp van időm foglalkozni vele. Leginkább 3D nyomtatáshoz kell. UCCNC-vel leginkább NyÁK-ot marok, ahhoz Eagle-lel tervezek és pcb-gcode-dal generálok.
Hogy az F360-ban mit lehet beállítani, azt nem tudom, nagyon nem is izgat. Nálam elásta magát a beetetős, majd minden fontosat kivevős üzletpolitikájával. Szerencsére nem öltem bele sok időt, azt a pár napot sem kellett volna.
UCCNC-ben viszont megfelelő makrókkal meg lehet csinálni, hogy legyenek további kimeneteid. Vagy ha túl sok a makró, akkor össze lehet hozni egy plugin-ba az egészet. Meg kell néznem, mert ugyan írtam már ilyen plugin-t, csak abban volt valami spéci dolog, mert egy bizonyos géphez készült. (És, persze, nem is nagyon emlékszem a részletekre így kb. 2 év után.)
Koszonom a valaszt. Az M7, M8 a mist es a flood. A misthez kell levego is es kulon-kulon szeretnem kapcsolni, hogy a levego opcio kulon is elerheto legyen es meghivhato a CAM-bol. Az elszivas meg mehet M8-ra, az nem gond, de jo lenne ha sajat neven futna. Szoval nem is tudom boviteni a CAM-bol elerheto makrokat?
Így sehogy. Az exec osztály nem tartalmazza ezeket a függvényeket.
Tudsz kimenetet kapcsolgatni exec.Setoutpin(<port>, <pin>) és exec.Clroutpin(<port>, <pin>) hívásokkal, de ez még így kevés, mert tudnod kell a kimenet aktuális állapotát is, resetre vagy stopre ki is kéne kapcsolnod stb. Az M7-M8 miért nem jó? Már elhasználtad másra?
Sikerült módosítanom a postot, működik is. Eljutottam oda, hogy hozzáadtam egy levegő és elszívás makrót, M70 és M71 néven. Az M70 exec.Airon() és az M71 exec.Suctionon() lett. A következő akadály, hogy ezeket a futtatható állományokat vagy hivatkozásokat hogy rendelem hozzá portokhoz? Gombokhoz is szeretném, de az menni fog.
Segitseget szeretnek kerni a fusion post modositasahoz. Arra van szuksegem, hogy coolantnak beallithassak levegot es elszivast is. Ezekre nincs kesz makro ahogy latom, ezekben is kernek segitseget.
Bocs | 281
2021-11-03 09:43:24
[8611]
Nagyon köszönöm! Sokadszorra segítettél. Így már azt hiszem menni fog.
Köszönöm a válaszod! Még nem írtam, szerkesztettem makrot. Ezt hol kezdjem? Hol férek hozzá az UCCNC-ben? Nem ijedek meg a tanulástól és a kihívásoktól.
Telepítettem az UCCNC 1.2049-et mert az 1.2047 elkezdte magát felfalni. Hol a kézikerék plugint törölte, hol a képernyő egy-egy gombját. Lehet, hogy windows hiba, lehet más, nem fontos, mert annyira egyszerű a telepítés, hogy nem vacakoltam a hibakereséssel.
A régi verzió is tetszett, de az újért teljesen oda-vissza vagyok. Ezer köszönet érte!
Néhány dolgot nem találok a leírásában. Örömmel használnám a 2 ingyenes parkolóhelyet (GOTO PARK 1, GOTO PARK 2), de nem találom, hogy hol kell beállítani a helyét és ha van, a mozgásokat, stb. Itt a fórumon se találok róla semmit. Pedig szívesen készítenék külső gombot is hozzá.
CNCdrive | 442
2021-11-02 14:40:22
[8606]
Semmi baj az abszolút encoderrel, de ha etherCAT-en kommunikál, akkor egyszerű illeszteni egy EtherCAT rendszerbe.
Itt egy példa a dedikált vezérlő néküli megoldásra: https://www.datron.de/en_gb/datron-cnc-machines/datron-next.html Modern alapokon, normális GUI és nincs tervük a kidásra, mert a saját gépeiket etetik vele. Na ide kellene pozicionálni az UCCNC-t.
Tulajdonképpen minden megvan már hozzá "csak" a adaptálni kell egy fieldbust az LPT helyett (úgy látom EtherCAT-ra esett a választás) és kezdetnek elég is, mert a logika már stabilan működik a szoftverben. Van itt bőven vállalkozó kedvü ember, aki örömmel tesztelne, ha közben megtanulhatja az fieldbus modulok kezelését.
Pedig, ezzel lépnétek igazán szintet! Mert ha csak marad a ún vezérlés... az nem jelent akkora előrelépést. Persze értem hogy madzagolás, szervók használata...stb És inkább ha vezérlős vagy valami is kellene, akkor arra hogy a sztenderd inkrementális, netán abszolút jeladókat lehessen használni pozícionálásra ethercat-el Biztos nem kicsi fejlesztés, de az ipar profi területére törnétek be vele....
A dedikált vezérlőt teljes egészében ki lehet hagyni. Elég a PC és az EtherCAT IO a kifejtőn. Így teljesen ipari alkatrészekre támaszkodva szoftveres lenne kizárólag az UCCNC és jelentősen megnőne a diverzitása. Elmúlik a step/dir korszak és tetszőleges fieldbuszokat lehet majd használni. Végtelen IO, API-k, és computer vision feedback, munkaközi minőségellenőrzés és még sorolhatnám Ja és a hobbistáknak is egy nagy lépés lenne tudásban. Szerintem...
Éppen olyan Beckhoff I/O modult használtunk az EtherCAT protocol fejlesztésnél. Működött. Szóval igen, lehetne I/O modult is felfűzni az EtherCAT-re, de első körben már azzal is meg leszünk elégedve ha motorvezérlőkkel működni fog.
Az EtherCAT csak egy kommunikációs protocol és ebbe van beleágyazva egy másik protocol, COE vagy Profibus szokott lenni. De ez még mindig csak a protocol, a szintaktika. Az, hogy a vezérlő ezekben az EtherCAT COE vagy Profibus packetokban milyen adatokat vár, hány adatra van szüksége az már vezérlő kérdése. Ezért nehéz általánosítva megcsinálni, hogy több féle vezérlővel is tudjon működni. Persze meg lehet csinálni többfélére, de akkor minden vezérlőhöz hozzá kell fejlszteni, hogy tudja konfigurálni és vezérelni az UCCNC. Szóval sajnos nem olyan ez mint a step/dir, hogy egy egyszerű kommunikációs szábvány és könnyű általánosan leprogramozni a kommunikációt.
A változók elnevezése (és úgy általában a g-kód szerkezete) az RS274NGC szabványban van rögzítve. Tehát lehet, csak azt már nem g-kódnak hívják.
Előzmény: hegedűs györgy, 2021-10-31 17:54:42 [8593]
hegedűs györgy | 68
2021-10-31 17:54:42
[8593]
Sziasztok! Kérdezős kedvemben vagyok. A "változós" programozást nem lehetne megkönnyíteni betű alakú változó elnevezésekkel a szám alakú helyett? Átláthatóbbak lehetnének a g-kódok. Vagy az már egy másik programozási nyelvet igényelne? Többek között. Előre is köszönöm a válaszokat. Üdv, Gyuri
Köszönöm a részletes választ. Mikor lehet tesztelni az alfa hardvereket? Szuper lenne, ha EtherCAT-os PLC lenne az IO, az LPT helyett, ezen a szinten az LPT már okafogyottá válik és lassú is. Itt egy alkalmas minta hw I/O-nak: beckhoff ek1100 Szuper lenne, ha a mozgásvezérlő "csak" bridge lenne a PC és a PLC között. A Leadshine EtherCAT különbözik valamiben a többi gyártó által használt protokolltól, vagy ez csak egy mondás a kooperáció mentén?
Az EtherCAT vezérlő egy teljesen különálló mozgásvezérlő lesz, nem kell hozzá UC300ETH. Úgy terveztük, hogy egy kis panel lesz 2db ethernet porttal, az egyik a PC-vel kommunikál (UCCNC-vel), a másik portra lehet majd felfűzni az etherCAT-es motorvezérlő kártyákat. A mozgásvezérlőn lesz még I/O, amit valószínűleg egy normál és egy bemeneti kiosztású LPT port (IDC26) lesz, hogy lehessen rá csatlakoztatni UCSB vagy UCBB elosztópanelt. Később lehet majd fejlesztünk EtherCAT-es I/O kártyával való kompatibilitást is.
A project még nagyon az elején jár, viszont egyezkedtünk a Leadshine céggel és első körben az ő motorvezérlőikkel tesszük majd kompatibilissé a mozgásvezérlőt. Vannak nekik léptető és szervó EtherCAT-es motorvezérlőik is.
Attól, hogy betöltesz egy programot, még nem fut le, tehát nem is fogja átírni a változó(k) értékét, ezért látod az előző futás eredményét. (Vagy nullát, ha még semmi nem futott.) A változók értékadása után betehetsz a g-kódba egy M0-t, amire megáll a program futása, így tudod ellenőrizni, majd újabb ciklus starttal továbbengeded. Vagy írhatsz egy makrót, ami kiírja és megkérdezi, hogy futhat-e tovább. A demó módnak ehhez semmi köze.
Előzmény: hegedűs györgy, 2021-10-31 15:06:30 [8588]
hegedűs györgy | 68
2021-10-31 15:06:30
[8588]
Sziasztok! Egy változókkal megtűzdelt programocskát szeretnék befejezni,de elakadtam egy kellemetlenségben. A program betöltése után, szeretném lekérdezni, egy konkrét változó értékét. Tudom, hogy ezt a " ?#(változó száma) " parancs MDI-be való beütésével érném el... A bibi az, hogy egy előzőleg futtatott program ugyanolyan számu változójának az értékét írja ki. Teszi ezt úgy, hogy magát a programot ennek ellenére jól lefuttatja. Miután a programfutás sikeresen megtörtént, az MDI-ben lekérdezve már az aktuális program változójának az értékét írja ki, ha megkérdem "TŐLE". Viszont program futtatása előtt lenne szükségem arra az adatra. Van erre vmi megoldás? Azon kívül, hogy "EDIT FILE" és számológéppel összeadom azt az 5~6 adatot amit az ominózus változó automatikusan és főleg hiba nélkül megtenne... Előre is köszönöm a válaszokat. Üdv, Gyuri p.s.: Gondolom az nem lehet a fennakadás oka, hogy demóban erőlködöm. . .
István83 | 326
2021-10-30 21:31:43
[8587]
Köszönöm a gyors választ. A negált jelek forditott kiosztására gondoltam igen.
Az első kép nem jelöli az index csatornát. A második kép a helyes, szerintem, ha az RJ-45 különbségeire gondolsz. (Egyébként mindegy, mert legfeljebb mindkét jel negálva lesz.)
Sziasztok! A Cnc drive oldaláról van mind a két kép.Csak nem tudom melyik a helyes bekötés,vagy mindegy?
Autotec1 | 582
2021-10-29 21:43:16
[8584]
Használ valaki ilyen kézivezérlőt, lenne néhány kérdésem
eduard | 254
2021-10-29 13:24:17
[8583]
Érdeklőnék, hogy az EtherCat vezérlő fejlesztésével hogy haladtok? Van, lesz a közeljövőben tesztelhető verzió? Esetleg BOB az UC300ETH-LPT5-höz? Vagy valamilyen bridge addig? Köszönet.
CNCdrive | 442
2021-10-28 20:40:11
[8582]
Persze, elvileg megoldható, de a gyakorlatban nem egyszerű.