HobbyCNC fórum
FTP tárhely: http://cnctar.hobbycnc.hu v0.9.6 Régi HobbyCNC oldal: http://archiv.hobbycnc.hu

Új regisztráció / Átregisztráció a régi fórumról
    
   


UCCNC vezérlő program

A frissítések közzététele az 'UCCNC vezérlő program új verziói' témában található

 

Időrend:
Oldal 105 / 189 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   101  102  103  104  105  106  107  108  109   Következő ►  Utolsó ►|

  Fórum főoldal  |  A lap aljára

svejk | 33035    2017-08-19 17:03:31 [4248]

Okszi a T0 része működik kafán, sőt át is írtam 12 szerszámhelyesre.

(a "double[] ToolX = new double[13];
double[] ToolY = new double[13];" sorok mit is csinálnak?
mert vol ár riadalom meg vagy hat sornyi hibaüzenett amíg nem írtam át 13-ra )

Előzmény: dezsoe, 2017-08-18 09:56:10 [4239]


frob | 2276    2017-08-19 13:15:05 [4247]

Nekem van 3 helyen már mint biztonsági mentés, de az ismerősök közül egynek sincs ... tehát általános az hogy nincs... persze a jelen lévők mindig kivételek :D

Mach 3 hoz ragaszkodás kacifántossá teszi a dolgot, így már értem hogy miért lett így elkövetve a dolog...

Előzmény: dezsoe, 2017-08-19 12:55:01 [4245]


Tibcsi | 249    2017-08-19 13:10:59 [4246]

Ok, köszönöm a válaszokat.

Előzmény: dezsoe, 2017-08-19 12:49:38 [4244]


dezsoe | 2934    2017-08-19 12:55:01 [4245]

Nem így van. A hardvert önmagában tudod használni akár a Mach-hal is. Ha azzal használod, akkor csak az eszközt kell megvenned, a Mach plugin ingyen letölthető. Ha UCCNC-vel is akarod használni, akkor az bizony nincs ingyen.

Mivel a licenszt a gyáriszám alapján kapod, ha elszáll a vinyód, akkor kérsz másikat, biztos fogsz kapni. Na, de miért nincs az összes többi fontos file-lal együtt biztonsági mentésed?

Előzmény: frob, 2017-08-19 12:48:53 [4243]


dezsoe | 2934    2017-08-19 12:49:38 [4244]

Nem tudod. A kulcs az eszközhöz kapcsolódik, azt a kulcs birtokában akárhány gépen tudod használni, de minden eszköznek saját licensz kell.

Előzmény: Tibcsi, 2017-08-19 12:10:16 [4241]

frob | 2276    2017-08-19 12:48:53 [4243]

Egyébként mi értelme van a kulcsnak?
Az én szememben csak kitolás a vevővel...
Hogy miért? Mert ügye a program csak saját hardvereivel megy, tehát ha érzékelné hogy valós a hardver, akkor onnantól minden kerek...

De ha pl megrogyik a winyóm akkor vehetek még egy kulcsot, vagy ez hogy van?
Meg ez sztem többlet vacakolás gyártónak is..

Tulajdonképen az hardver egyben a hardver kulcs is lehetne simán..

Előzmény: exup, 2017-08-19 12:33:47 [4242]


exup | 639    2017-08-19 12:33:47 [4242]

Nem hiszem, hogy tudod.

Előzmény: Tibcsi, 2017-08-19 12:10:16 [4241]


Tibcsi | 249    2017-08-19 12:10:16 [4241]

Szeretnék vásárolni, egy UC400ETH mozgásvezérlőt, és az lenne a kérdésem, hogy tudom-e használni a meglévő kulccsal, vagy kell egy teljesen új. Jelenleg UC100-om van.


svejk | 33035    2017-08-19 10:37:48 [4240]

Köszi!
No még ezt is át kell olvasnom párszor, hogy felfogjam, illetve a gyakorlatban is át kell majd ültetni akkor tudok még majd kérdezni.

Előzmény: dezsoe, 2017-08-18 09:56:10 [4239]


dezsoe | 2934    2017-08-18 09:56:10 [4239]

Visszafelé válaszolva: a T0 az a nagykönyv szerint az, amit írsz, tehát üres befogó. A minta M6 nem kezeli az üres befogót:

if(Newtool <1 || Newtool >10) // Tool number is out of range, so we need to stop here...
return;

Aszongya, hogy ha T<1, akkor nem foglalkozik az egésszel. Tehát úgy kell módosítanod, hogy az előzőekben másolt sorban (Newtool <0 || Newtool >10) -re módosítod a feltételt, majd a

// Move to new tool position on XY plane

sor elé berakod, hogy

if (Newtool != 0)
{

és a file végére pedig

}
else
{
exec.Setcurrenttool(Newtool); //Set the current tool -> the new tool
MessageBox.Show("Tool change done.");
}

Ezzel azt éred el, hogy ha 0-ra vált, akkor nem megy el az új pozícióba és nem vesz fel semmit, csak beállítja a 0-s szerszámot és kiírja, hogy kész.

A másik problémára pedig annyi, hogy a példa csak felolvassa a mentett adatot, de nem csinál vele semmit. A mező átírása szép, de nem jó. A képernyőn ugyan azt fogod látni, amit beleírtál, de a szerszámcserélő mást fog gondolni, mert a rendszer belül tudja, hogy nem ez az aktuális szerszám. Hogy ne legyen olyan egyszerű, az M99998-ból nem hajtja végre a Setcurrenttool-t, mivel a reset még aktív. Ezt úgy tudod megoldani, hogy vagy használsz egy változót (#nnn) vagy kiraksz egy mezőt a képre és azon keresztül viszed át a felolvasott értéket. Az utóbbi nem fog ütközni semmilyen változókat használó programmal. Akkor a felolvasás (M99998-ban):

double LastSelectedTool = Convert.ToDouble(exec.Readkey("SvejkAdatai", "LastSelectedTool", "0.0"));
AS3.Additemtolistbeginning("Legutobbi szerszam: " + LastSelectedTool, 2);
AS3.Addfield("", "Arial", "left", 12, 0, 0, 1000, 120, "showfieldnb", 0, 96, 21000, 1); // egy eldugott mezo
AS3.Setfield(LastSelectedTool, 21000);

A felolvasást int-ről double-re változtattam, mert itt mindegy, a mező pedig úgyis double, majd elhelyeztem egy 21000 azonosítójú mezőt (nem szerkeszthetőt) a képernyőn kívül a (0,1000) pozícióba, tehát nem lesz útban, mert nem látszik. Beleírtam a felolvasott szerszámot, így az első M6-nál tudunk vele dolgozni.

Az M6 elején a

int Currenttool = exec.Getcurrenttool();

sor helyett ez kell:

int Currenttool = 0;
int Savedtool = AS3.Getfieldint(21000);
if (Savedtool == -1)
Currenttool = exec.Getcurrenttool();
else
{
Currenttool = Savedtool;
AS3.Setfield(-1.0, 21000);
}

Így az első M6 futtatáskor az elmentett szerszámot tekinti aktuálisnak, nem azt, amit a képernyőn jelez. Miután felhasználta, jelzi, hogy már volt egy csere, így innentől már a ténylegessel foglalkozik.

Előzmény: svejk, 2017-08-18 08:26:38 [4238]


svejk | 33035    2017-08-18 08:26:38 [4238]

Egy kicsit visszakanyarodhatnánk a szerszámcseréhez?

Az eredeti default M6-os makroval kísérletezek.

Ahogy ajánlottad az M6 makro végére beírtam a:

exec.Writekey("SvejkAdatai", "LastSelectedTool", exec.Getcurrenttool().ToString());

sort, így akár "áramszünetes" kikapcsoláskor is emlékezni fog az utolsó szerszámra.

Az M99998 makroba pedig a a másik ajánlott:

int LastSelectedTool = Convert.ToInt32(exec.Readkey("SvejkAdatai", "LastSelectedTool", "0"));
AS3.Additemtolistbeginning("Legutobbi szerszam: " + LastSelectedTool, 2);

sorokat.

Működik kafán egy szépséghibával, hogy ugyan az üzenet ablakba kiírja, hogy melyik volt az utolsó szerszám, de a Tool:x értékét nem írja át helyből.

Tehát kellene még egy sor az M99998 makroba ami beírja az előzőleg elmentett és kiolvasott szerszám számát induláskor a 897-es mezőbe.
Az M6-os makróból puskázva talán: exec.Setcurrenttool....de hogy tovább?



Egy másik szerszámváltós kérdés, a T0 szerszám pontosan mit is jelent?
Ha kiadom az M6T0-át akkor nem kellene kiraknia az épp aktuális szerszámot a tárba és üresen hagyni az orsót?


Sajnos nekem nincs ipari tapasztalatom sem ilyen ügyekben.

Előzmény: dezsoe, 2017-07-20 07:50:55 [4108]


dezsoe | 2934    2017-08-16 07:11:26 [4237]

Szerencsére az UCCNC nem épül Mach alapokra, csak - mivel ugyanaz a feladata - igen sok párhuzamot lehet felfedezni. A Mach-ban Visual Basic a makró nyelvezete, UCCNC-ben pedig C#, tehát már a nyelv miatt sem lehet átvinni. A mezők, a LEDek, a gombok, a belső funkciók mind máshogy vannak, úgyhogy még az is kevés, ha csak simán átfordítod a makrót egyik nyelvről a másikra. Az egyetlen megoldás, ha alaposan átnézed, felfogod, hogy mit csinál egy adott makró, majd a másik rendszerben megírod. Mondjuk, ehhez nem árt mindkét rendszert kellően ismerni.

Előzmény: Törölt felhasználó, 2017-08-16 00:49:44 [4235]


citis | 6    2017-08-16 06:23:01 [4236]

Nem tudom meg kell próbálni. Én nem vagyok programozó, talán dezsoe többet tud róla mondani.

Előzmény: Törölt felhasználó, 2017-08-16 00:49:44 [4235]


Törölt felhasználó    2017-08-16 00:49:44 [4235]

Mivel az UCNC Mach alapokra épül ez a szerszámváltó skript működhet mach alatt is ?

Előzmény: citis, 2017-08-15 23:04:09 [4233]


dezsoe | 2934    2017-08-16 00:07:33 [4234]

Szia! Látod, megy ez, csak kísérletezni kell vele!

Előzmény: citis, 2017-08-15 23:04:09 [4233]

citis | 6    2017-08-15 23:04:09 [4233]

Szia dezsoe. Működik a program ahogy leírtad, csak lejjebb kellett beilleszteni, közvetlen a cserélendő szerszám felvétele elé. A helyzet az, hogy próbáltam már így meghatározni, csak nem a port és a pin számát írtam be hanem valamire átneveztem őket úgy mint például a szerszámcsere levegőszelepe: int Chuckopenport = 1;
int Chuckopenpin = 16;
csak valamiért az a szöveg nem volt jó. Viszont most átírtam a tisztítószelepet erre: int Cleanport = 1;
int Cleanpin = 17; és így tökéletesen működik,legalább is szimulációban. Egyébként még változtattam a makrón két dolgot, egyik amit svejk kollégának írtál, hogy folyamatosan fusson a program szerszámcsere után, a másik hogy amikor felvette az új szerszámot akkor visszaállt oda, ahol az előző szerszám befejezte a munkát, majd utána állt rá a saját kezdőpontjára. Ezzel nincs is gond kis munkaterületű gépnél, de egy nagynál szerintem sok felesleges utat megy a gép. Ezért megjegyzésbe tettem azt a sort is amivel visszamenne az előző szerszám végpontjához, így csere után közvetlen megy a saját kezdőpontjához. Ehhez a megoldáshoz viszont nálam átkellet szerkeszteni a G kódban a szerszámcserék utáni első sor Z koordinátáit a makróban beállított biztonsági Z koordinátára, nehogy beleütközzön a szerszámtárba. Egyébként ez az új kód:

//Example linear toolchanger code

//Tool positions definition
int Chuckopenport = 1;
int Chuckopenpin = 16;
int Cleanport = 1;
int Cleanpin = 17;

double[] ToolX = new double[11];
double[] ToolY = new double[11];
ToolX[0] = 0; // Tool0 X position
ToolY[0] = 0; // Tool0 Y position
ToolX[1] = 40; // Tool1 X position
ToolY[1] = -10; // Tool1 Y position
ToolX[2] = 100; // Tool2 X position
ToolY[2] = -10; // Tool2 Y position
ToolX[3] = 150; // Tool3 X position
ToolY[3] = -10; // Tool3 Y position
ToolX[4] = 200; // Tool4 X position
ToolY[4] = -10; // Tool4 Y position
ToolX[5] = 250; // Tool5 X position
ToolY[5] = -10; // Tool5 Y position
ToolX[6] = 300; // Tool6 X position
ToolY[6] = -10; // Tool6 Y position
ToolX[7] = 350; // Tool7 X position
ToolY[7] = -10; // Tool7 Y position
ToolX[8] = 400; // Tool8 X position
ToolY[8] = -10; // Tool8 Y position
ToolX[9] = 450; // Tool9 X position
ToolY[9] = -10; // Tool9 Y position
ToolX[10] = 0; // Tool10 X position
ToolY[10] = -10; // Tool10 Y position

double SafeZ = 100;
double Ztoolrelease = 40;
double Ztoolpickup = 39;

int Newtool = exec.Getnewtool();
int Currenttool = exec.Getcurrenttool();

if(Newtool == -1) // If new tool number is -1 means a missing T code, so we need to stop here...
return;

if(Newtool <1 || Newtool >10) // Tool number is out of range, so we need to stop here...
return;

if(Newtool == Currenttool) // Same tool was selected, so do nothing, stop here...
return;

if(!exec.GetLED(56)||!exec.GetLED(57)||!exec.GetLED(58)) // If machine was not homed then it is unsafe to move in machine coordinates, stop here...
{
// MessageBox.Show("The machine was not yet homed, do homeing before executing a tool change!");
exec.Stop();
return;
}

while(exec.IsMoving()){}

// Get current XY machine coordinates to return to this position at the end of the macro

double Xoriginalpos = exec.GetXmachpos();
double Yoriginalpos = exec.GetYmachpos();

// Stop spindle if running and Move Z up

exec.Stopspin();
exec.Code("G00 G53 Z"+ SafeZ); // Move Z up
while(exec.IsMoving()){}

if(Currenttool!=0) // No need to drop down tool if current tool number is zero
{
// Move to old tool position on XY plane

exec.Code("G00 G53 X" + ToolX[Currenttool] + " Y" + ToolY[Currenttool]);
while(exec.IsMoving()){}

// Drop current tool

exec.Code("G00 G53 Z"+ Ztoolrelease); // Move Z axis down to tool holder position
while(exec.IsMoving()){}
exec.Setoutpin(Chuckopenport, Chuckopenpin); // Open the chuck with pneumatic valve
exec.Wait(1000); // Wait one 1000msec
exec.Code("G00 G53 Z"+ SafeZ); // Move Z up
while(exec.IsMoving()){}

}

// Move to new tool position on XY plane
exec.Code("G00 G53 X" + ToolX[Newtool] + " Y" + ToolY[Newtool]);
while(exec.IsMoving()){}
// Pick new tool

exec.Code("G00 G53 Z"+ Ztoolpickup); // Move Z axis down to tool holder position
while(exec.IsMoving()){}
exec.Setoutpin(Cleanport, Cleanpin);
exec.Wait(4000);
exec.Clroutpin(Cleanport, Cleanpin);
exec.Clroutpin(Chuckopenport, Chuckopenpin); // Close the chuck with pneumatic valve
exec.Wait(1000); // Wait one 1000msec
exec.Code("G00 G53 Z"+ SafeZ); // Move Z up
while(exec.IsMoving()){}


// Move back to start point

//exec.Code("G00 G53 X" + Xoriginalpos + " Y" + Yoriginalpos);
while(exec.IsMoving()){}

// Measure new tool will go here....
exec.Code("G43 H"+Newtool); // Load new tool offset

exec.Wait(200);
while(exec.IsMoving()){}
if(!exec.Ismacrostopped()) // If tool change was not interrupted with a stop only then validate new tool number
{
exec.Setcurrenttool(Newtool); //Set the current tool -> the new tool
//MessageBox.Show("Tool change done.");
}
else
{
exec.StopWithDeccel();
MessageBox.Show("Tool change was interrupted by user!");
}

Előzmény: dezsoe, 2017-08-15 16:49:26 [4231]


exup | 639    2017-08-15 21:45:46 [4232]

Látod? Csak úgy köpi a megoldást

Előzmény: citis, 2017-08-15 16:07:59 [4230]


dezsoe | 2934    2017-08-15 16:49:26 [4231]

Semmi extra nem kell hozzá, csak ennyi:

exec.Setoutpin(portszám, lábszám);
exec.Wait(várakozás_ms_ban);
exec.Clroutpin(portszám, lábszám);

Az első bekapcsolja az adott kimenetet, a második vár, amennyit kell, a harmadik kikapcsolja. Ha a szeleped 0-ra aktív, akkor az első és harmadik sort megcseréled. Ha jól értettem, hogy akkor kell fújni, amikor a régi szerszám már nincs bent, az új pedig még nincs, akkor szerintem ide kell a három sor:

if(Currenttool!=0) // No need to drop down tool if current tool number is zero
{
// Move to old tool position on XY plane

exec.Code("G00 G53 X" + ToolX[Currenttool] + " Y" + ToolY[Currenttool]);
while(exec.IsMoving()){}

// Drop current tool

exec.Code("G00 G53 Z"+ Ztoolrelease); // Move Z axis down to tool holder position
while(exec.IsMoving()){}
exec.Setoutpin(Chuckopenport, Chuckopenpin); // Open the chuck with pneumatic valve
exec.Wait(1000); // Wait one 1000msec
exec.Code("G00 G53 Z"+ SafeZ); // Move Z up
while(exec.IsMoving()){}
// --- ide kell, szerintem ---
}

Előzmény: citis, 2017-08-15 16:07:59 [4230]


citis | 6    2017-08-15 16:07:59 [4230]

Az M6 makróval kapcsolatban volna egy kérdésem. Megoldható-e hogy szerszámcserénél mielőtt felveszi a következő szerszámot egy tisztító fúvatást csináljon? Azért volna lényeges, mert szeretnék egy szerszámcserélős adaptert amit a kínai 65mm-es marókra rá lehet szerelni. Ezen az adapteren kettő pneumatikus csatlakozó van, egyik a tisztításhoz, másik a cseréhez. Ahogy látom a makróban a szerszámcseréhez megvan a pneumatikai programrész, de hogy lehetne egy ilyen pneumatikus
tisztítási parancsot beiktatni mielőtt felveszi a az új szerszámot? Gondolom kellene még egy kimeneti pint beállítani valamelyik porton ami vezérelné a tisztítószelepet de sajnos nem vagyok programozó így nem tudom mit kellene beírni a makróba. Előre is köszi.


dezsoe | 2934    2017-08-14 21:09:15 [4229]

Az SP3-ból ítélve XP van a gépen. (Anyám borogass... Nem akarok vitát indítani, csak megjegyzem, mint privát véleményt, hogy a múzeumban van a helye, nem produktív gépen.) Majd próbáld ki azzal a .Net Framework-kel, amit le lehet hozzá tölteni, mert azzal működnie kéne. (Az SP3 egyébként nem tartalmaz .Net Framework-ot, azt egy másik lépésben raktad fel.)

Kétségtelen tény, hogy mindent elkövettem az UCCNC-vel, hogy előcsaljam a hibajelenséget, de XP-t azért nem telepítettem. Lehet, hogy kéne egy XP-s teszt gépet is csinálnom?

Előzmény: Zozi, 2017-08-14 20:59:14 [4228]


Zozi | 366    2017-08-14 20:59:14 [4228]

Sajnos a géptől most messze vagyok, ha odajutok lemásolom.
Újratelepítésen is gondolkoztam, de majd csak akkor ha elkészült a mostani munkadarab (egy kis cnc maró alapja)

Lehetséges, hogy a dotnet miatt jön elő ilyen hiba? Az sp3 ban alapól magasabb verzióval volt, és telepítésnél is simán felment, nem az van mellette amit a telepítő mellett lehetne letölteni.

Előzmény: dezsoe, 2017-08-14 11:38:15 [4226]


exup | 639    2017-08-14 11:59:30 [4227]

A bit vadász beindul

Előzmény: dezsoe, 2017-08-14 11:38:15 [4226]


dezsoe | 2934    2017-08-14 11:38:15 [4226]

Képtelen vagyok előidézni a hibát. (Egyiket sem.) Nem szokásom, de Windows hibára kell gyanakodjak. Még azt lehet megpróbálni, hogy a komplett profiles mappát küldd el, hogy megnézzem, hátha valamit nem veszek észre, vagy nem úgy állítom be.

Előzmény: Zozi, 2017-08-14 10:40:26 [4225]


Zozi | 366    2017-08-14 10:40:26 [4225]

Felugrik egy error ablak, utána már csak az asztal.

Előzmény: dezsoe, 2017-08-14 00:04:41 [4224]


dezsoe | 2934    2017-08-14 00:04:41 [4224]

Hümm. Minden hibajelzés nélkül simán kilép Goto Zero-ra, vagy valami legalább történik előtte?

Előzmény: Zozi, 2017-08-13 23:57:13 [4223]

Zozi | 366    2017-08-13 23:57:13 [4223]

Friss telepítés, UCNC-n kívül csak egy adobe reader van fent a gépen más semmi. Tegnap reggel lett telepítve, azóta kb 7 órát ment hiba nélkül. Csak akkor volt probléma ha kimentem az endstoppra vagy mikor nullára akartam mozgatni.

Előzmény: dezsoe, 2017-08-13 23:46:10 [4222]


dezsoe | 2934    2017-08-13 23:46:10 [4222]

Akkor ott valami brutális nagy gáz van. Olyan nincs, hogy egy makrótól kilépjen a program. (A Goto Zero az M204.txt makrót hívja meg.) No, persze, hacsak nem módosítottad így a makrót. Van bármi, amit a frissen telepítetthez képest megváltoztattál? (A gép beállításokon kívül.)

Előzmény: Zozi, 2017-08-13 23:36:59 [4221]


Zozi | 366    2017-08-13 23:36:59 [4221]

Az usb verzió. Illetve még egy eltérést vettem észre a korábbiakhoz, a go to zero gombra bezáródik a program.
Lehet nem találja mit kellene meghívni.

Előzmény: dezsoe, 2017-08-13 23:30:34 [4220]


dezsoe | 2934    2017-08-13 23:30:34 [4220]

OK, mostmár tiszta, hogy hány szenzorod van és hol. Ma már nem, de reggel megnézem ilyen felállásban is. Melyik UC300-asod van? (USB/ETH)

Előzmény: Zozi, 2017-08-13 23:15:20 [4219]


Zozi | 366    2017-08-13 23:15:20 [4219]

Tehát felveszem a referenciát, eddig jó, tökéletesen visszatalál az előző napi félbehagyott munkához. Mindhárom tengelyen csinálja, a munkadarabom most épp csak befér a mozgástartományba és ha a kurzorral mozgok a shiftet lenyomva túlfut a szoftveres határon. A határom -1 mm lenne és a referenciaszenzortól kb -7 mm re található a végállás szenzor.-7,26 mm en áll meg és mivel aktív lesz a végállás bajosabb lemozogni róla.

  

Előzmény: dezsoe, 2017-08-13 00:23:45 [4217]


svejk | 33035    2017-08-13 21:19:08 [4218]

Csak egy kósza ötlet:

Amíg tanul az ember, sokszor kell olvasgatni a manualt.

Látom telepítéskor szisztematikusan felkerülnek a dokumentációk is.

A Help fünél esetleg egy alfül jól jönne, hogy rögtön nyissa meg a PDF-et.
Nem kellene keresgélni...

Gondolom azt is lehetne automatizálni, hogy az angol vagy a magyar jöjjön elő, mert a telepítéskor rákérdez a nyelvre.


dezsoe | 2934    2017-08-13 00:23:45 [4217]

Próbáltam a 2037-es verzióval előidézni, amit írsz, de nem ment. Lehet, hogy valamit nem úgy állítottam be. Ezt egy kicsit részletezd: "Pld referencia felvesz "0" -> soft limit -1mm -> maj a -7mm -es végállás kapcsolóig simán kifut", vagy még jobb, ha elküldöd a profil file-t, vagy nyomsz egy képernyőképet a hibás tengely beállításairól.

Előzmény: Zozi, 2017-08-12 22:37:22 [4216]


Zozi | 366    2017-08-12 22:37:22 [4216]

Ma gépcsere miatt újra lett telepítve az UCCNC. Eddig 1.2029 volt, amivel egész jól éreztem magam. Most az 1.2037 nél valamit nem sikerült beállítani, mert simán túlfut kézi mozgatásnál a szoftveres végállásokon, és a végállás kapcsolókon ragad. Nem profilt másoltam, hanem végiglépkedve a képernyőkön átmásoltam a korábbi beállításokat. Ezt leszámítva minden úgy megy mint korábban. Mit rontok el?

Pld referencia felvesz "0" -> soft limit -1mm -> maj a -7mm -es végállás kapcsolóig simán kifut a kurzor gombokra ami eddig nem így volt.


exup | 639    2017-08-12 13:20:44 [4215]

Már látom...nem mindegy mibe exportálom :D

Előzmény: exup, 2017-08-12 12:36:53 [4214]


exup | 639    2017-08-12 12:36:53 [4214]

Mindenkinek köszönöm. De eddig is ezt használtam. Lehet, hogy rosszul, mert a gkódban nem A-nak hoz létre paramétert, hanem X vagy Y amit utólag módosítok A-ra. Ráadásul a körhöz megfelelően mm-ben teszi ezt, tehát nagyobb átmérőnél többet forgat. Pont ezekre szerettem volna megoldást. Jelenleg az uccnc-ben a tárgy átmérőjéhez kell kalibrálnom a tengelyt. Nem fokban.

citis | 6    2017-08-12 11:22:24 [4213]

Az Aspire 4-es tudja. Elindítod, Gadgets, Wrapped Job Setup ott meg tudod adni az átmérőt,hosszúságot melyik síkon áll az A tengely stb.A program az átmérőből már tudni fogja a fokhoz tartozó lépést.


D.Laci | 5455    2017-08-12 09:41:05 [4212]

Bármelyik CAM program ami tud 4. tengelyre szerszámpályát generálni.

Előzmény: exup, 2017-08-11 20:12:05 [4209]


svejk | 33035    2017-08-12 09:31:57 [4211]

Találomra megnyitottam az Aspere régi 2-es verzióját, ott Gadgets/Wrapping/Rounding toolpath menüben nézelődj.
De sajnos én nem értek hozzá.

Előzmény: exup, 2017-08-11 20:12:05 [4209]


svejk | 33035    2017-08-12 09:00:30 [4210]

Öőőő... szerintem mindegyik, mivel ezeknek így kell működniök.

Én nem értek a szoftverekhez és nagyon ritkán használom a gépemet is.
Az A tengelyemet meg talán egyszer fogaskerék készítésére, de akkor kézzel írtam a kódot.

A CAM-es topicban biztos kapsz választ a kérdésedre.

Előzmény: exup, 2017-08-11 20:12:05 [4209]


exup | 639    2017-08-11 20:12:05 [4209]

Akkor mondj egy jó cam programot, ami bármekkora tágy átmérőjénél a teljes kört 360-nak adja meg A tengelyen gcode-ba.

Előzmény: svejk, 2017-08-11 20:01:24 [4208]


svejk | 33035    2017-08-11 20:01:24 [4208]

A forgató tengelyeknél az egység a fok.

A setupban azt kell beállítani, hogy hány step impulzus kell 1 fok elmozduláshoz..

A CAM progik meg majd tudják amit kell.

Előzmény: exup, 2017-08-11 19:17:21 [4207]


exup | 639    2017-08-11 19:17:21 [4207]

Valaki használ negyedik tengelyt esetleg forgatásra? el vagyok veszve kalibrálásában. Hisz mekkora átmérőjű tárgynál állítsam be? Vagy minden egyes tárgynál az átmérő függvényébe kéne beállítanom?


svejk | 33035    2017-08-11 09:11:23 [4206]

Előzmény: dezsoe, 2017-08-11 09:02:52 [4204]


Törölt felhasználó    2017-08-11 09:09:00 [4205]

Dos alatt is megy minden, ha te írod meg a programot. Nekem pl. 25 éve van már ilyen "teach in-play back" rendszerű vezérlőprogramom.

Előzmény: Motoros, 2017-08-11 07:54:14 [4199]


dezsoe | 2934    2017-08-11 09:02:52 [4204]

Na jó, legyen megjegyzés.

Kell a képernyőre egy mező, amibe beírható a megjegyzés, legyen 21000 az azonosítója. Kell plusz egy gomb/trigger/hotkey, ami a 20103-as makrót hívja. Ekkor nem csak a koordináta, hanem a megjegyzés is beíródik. Ha nem volt eltérés a koordinátákban, akkor csak a megjegyzést tárolja. Az új makró tartalma:

--- M20103.txt ---
exec.Code("M20100 Q3");
while(exec.IsMoving()){}

Az eredeti program pedig így fog kinézni (szmájlikat kéretik cserélni...):

--- M20100.txt ---
int Qint = 0;

double ax = exec.GetXpos();
double ay = exec.GetYpos();
double az = exec.GetZpos();
double aa = exec.GetApos();
double ab = exec.GetBpos();
double ac = exec.GetCpos();

string ujsor = "";
string megj = AS3.Getfield(21000).Trim(); // Megjegyzes mezo szama a kepernyon

if (Qvar != null) Qint = Convert.ToInt32(Qvar);

switch (Qint)
{
case 0:
case 3:
if (mode == 1)
{
if (ax != px) ujsor = ujsor + " X" + ax.ToString();
if (ay != py) ujsor = ujsor + " Y" + ay.ToString();
if (az != pz) ujsor = ujsor + " Z" + az.ToString();
if (aa != pa) ujsor = ujsor + " A" + aa.ToString();
if (ab != pb) ujsor = ujsor + " B" + ab.ToString();
if (ac != pc) ujsor = ujsor + " C" + ac.ToString();
if (ujsor != "") ujsor = "G01" + ujsor;
if ((Qint == 3) && (megj != ""))
{
megj = megj.Replace("(", "["); // Nem lehet zarojel a megjegyzesben!
megj = megj.Replace(")", "]");
if (ujsor == "")
ujsor = "(" + megj + ")";
else
ujsor = ujsor + " (" + megj + ")";
}
if (ujsor != "") System.IO.File.AppendAllText(SaveTo, ujsor + "\r\n");
px = ax;
py = ay;
pz = az;
pa = aa;
pb = ab;
pc = ac;
}
break;
case 1:
SaveTo = AS3.Getfield(2017);
System.IO.File.WriteAllText(SaveTo,
"G00 X" + ax.ToString() + " Y" + ay.ToString() + " Z" + az.ToString() +
" A" + aa.ToString() + " B" + ab.ToString() + " C" + ac.ToString() + "\r\n");
px = ax;
py = ay;
pz = az;
pa = aa;
pb = ab;
pc = ac;
mode = 1;
break;
case 2:
mode = 0;
break;
}

#Events

static int mode = 0;

static double px = 0.0;
static double py = 0.0;
static double pz = 0.0;
static double pa = 0.0;
static double pb = 0.0;
static double pc = 0.0;

static string SaveTo = "";

Előzmény: Motoros, 2017-08-11 08:25:36 [4201]

svejk | 33035    2017-08-11 08:39:50 [4203]

Mivel a forgástengely mindig ugyan az, ezért max tengelyirányban lehet/kell a koordinátarendszert eltolni.
Meggondolandó....
De a tapasztalat az, hogy nehezen értik meg az emberek a gépi és munka koordinátarendszer lényegét.
Nálam is eltelt pár év mire rájöttem az előnyeire.

Előzmény: dezsoe, 2017-08-10 23:20:54 [4198]


svejk | 33035    2017-08-11 08:34:22 [4202]

Én sem látom, mert "vakon" működik.
Csak myomogatom a mentés gombokat, aztán a végén kész a file.

De ez ugye csak ugródeszka, bizonyítása annak, hogy értő kezekben elég univerzális ez a mozgásvezérlő is.

Előzmény: Motoros, 2017-08-11 07:54:14 [4199]


Motoros | 5070    2017-08-11 08:25:36 [4201]

Némi programozás úgy látom neked nem gond
Sok egyszerű esetben, egyszerű alkatrészeknél ez jól jönne.

Előzmény: dezsoe, 2017-08-11 08:17:55 [4200]


dezsoe | 2934    2017-08-11 08:17:55 [4200]

Technikailag semmi akadálya, megoldható némi programozgatással.

Előzmény: Motoros, 2017-08-11 07:54:14 [4199]


Motoros | 5070    2017-08-11 07:54:14 [4199]

Hát ez tényleg szuper!
Kár hogy nem látom, ....de benned megbízok.
Viszont visszaemlékezve a TCNC-re ott nekem az volt a gondom, hogy a koordináták ugyan megvoltak, de utólag belenézve a fájlba fingom nem volt hogy mi micsoda. (anno SMD beültető tanítása)
Az lett volna az igazi, hogy egy másik ablakban a gomb megnyomása után rögtön oda tudok írni egy kommentet, vagy esetleg bármi mást (G, M kód stb)
De ugye ez DOS alatt nem ment. Itt viszont megy??

Előzmény: svejk, 2017-08-10 21:32:50 [4193]


  Fórum főoldal  |  A lap tetejére

Időrend:
Oldal 105 / 189 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   101  102  103  104  105  106  107  108  109   Következő ►  Utolsó ►|


 ◊