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 83 / 188 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   79  80  81  82  83  84  85  86  87   Következő ►  Utolsó ►|

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

nyiszi | 2332    2018-02-22 22:30:27 [5269]

Hát van már plazma screen is. Lehet, hogy van lézerhez is.
Csak azok a gombok és egyéb dolgok vannak a képernyőn amik a lézerhez kellenek.Tudom, hogy lehet szerkeszteni de ha már valaki megcsinálta akkor nem kínlódnék vele.

Előzmény: exup, 2018-02-22 22:20:52 [5268]


exup | 636    2018-02-22 22:20:52 [5268]

Nem tudom ez mit jelent neked

Előzmény: nyiszi, 2018-02-22 22:18:44 [5267]


nyiszi | 2332    2018-02-22 22:18:44 [5267]

Az UCCNC-hez nincs valakinek Lézer screen?


exup | 636    2018-02-22 21:25:28 [5266]

Köszi....gyors teszt megvolt, jó így. A gomb is tutkón megy

Előzmény: dezsoe, 2018-02-22 20:49:21 [5265]


dezsoe | 2919    2018-02-22 20:49:21 [5265]

Mitagadás, volt benne egy hiba, ki is javítottam gyorsan.

Tengely csere makró UCCNC 1.2100 előtti verziókhoz:

// ================================================================================================
// Mxxxxx E<axis1> H<axis2>: Full swap axis1 with axis2
// ================================================================================================

AxisData Axis1 = new AxisData(AS3);
AxisData Axis2 = new AxisData(AS3);

if ((Evar == null) || (Hvar == null))
{
exec.AddStatusmessage("Parameters: E<axis_no> H<axis_no>");
return;
}

int Eint = Convert.ToInt32(Evar);
int Hint = Convert.ToInt32(Hvar);

if ((Eint < 0) || (Eint > 5) || (Hint < 0) || (Hint > 5))
{
exec.AddStatusmessage(" where axis_no is 0..5 as XYZABC");
exec.AddStatusmessage("Parameters: E<axis_no> H<axis_no>");
return;
}

Axis1.Read(Eint);
Axis2.Read(Hint);

if (Axis1.HasSlave() || Axis2.HasSlave())
{
exec.AddStatusmessage("Cannot swap axes with slave!");
return;
}

Axis1.Write(Hint);
Axis2.Write(Eint);

exec.Callbutton(btnApplySettings);

exec.AddStatusmessage("Axes " + "XYZABC".Substring(Eint, 1) + " and " + "XYZABC".Substring(Hint, 1) + " swapped");

// ================================================================================================

#Events

// ================================================================================================

const int btnApplySettings = 168;

// =============== class AxisData

public class AxisData
{
UCCNC.AS3interfaceClass myAS3;

int Base0 = 0;
int Base1 = 0;
int Base2 = 0;
int Base7 = 0;
int Base8 = 0;
int Base10 = 0;

// Base0
int Steppinnumber = 0;
int Dirpinnumber = 0;
int Limitminuspinnumber = 0;
int Limitpluspinnumber = 0;
int Homepinnumber = 0;
double Homingspeedup = 0.0;
double Homingvalue = 0.0;
double Stepsperunit = 0.0;
double Velocity = 0.0;
double Acceleration = 0.0;
double Softlimitnegative = 0.0;
double Softlimitpositive = 0.0;
double Compaccel = 0.0;
double Backlashdistance = 0.0;
double Homingspeeddown = 0.0;
// Base1
int Stepportnumber = 0;
int Dirportnumber = 0;
int Limitminusportnumber = 0;
int Limitplusportnumber = 0;
int Homeportnumber = 0;
// Base2
int Enapinnumber = 0;
int Enaportnumber = 0;
// Base7
bool Axisenabled = false;
bool Steppinnegate = false;
bool Dirpinnegate = false;
bool Limitminuspinnegate = false;
bool Limitpluspinnegate = false;
bool Homepinnegate = false;
bool Homedirectionpositive = false;
bool Homeautozero = false;
bool Backlashenable = false;
// Base8
bool Enapinnegate = false;
// Base10
string Slaveaxis = "";

public AxisData(UCCNC.AS3interfaceClass workAS3)
{
myAS3 = workAS3;
}

private void SetBases(int axis)
{
Base0 = axis * 15 + 1;
Base1 = axis * 5 + 241;
Base2 = axis * 2 + 463;
Base7 = axis * 9 + 1;
Base8 = axis + 141;
Base10 = axis + 1;
}

public void Read(int axis)
{
SetBases(axis);
// Base0
Steppinnumber = myAS3.Getfieldint(Base0);
Dirpinnumber = myAS3.Getfieldint(Base0 + 1);
Limitminuspinnumber = myAS3.Getfieldint(Base0 + 2);
Limitpluspinnumber = myAS3.Getfieldint(Base0 + 3);
Homepinnumber = myAS3.Getfieldint(Base0 + 4);
Homingspeedup = myAS3.Getfielddouble(Base0 + 5);
Homingvalue = myAS3.Getfielddouble(Base0 + 6);
Stepsperunit = myAS3.Getfielddouble(Base0 + 7);
Velocity = myAS3.Getfielddouble(Base0 + 8);
Acceleration = myAS3.Getfielddouble(Base0 + 9);
Softlimitnegative = myAS3.Getfielddouble(Base0 + 10);
Softlimitpositive = myAS3.Getfielddouble(Base0 + 11);
Compaccel = myAS3.Getfielddouble(Base0 + 12);
Backlashdistance = myAS3.Getfielddouble(Base0 + 13);
Homingspeeddown = myAS3.Getfielddouble(Base0 + 14);
// Base1
Stepportnumber = myAS3.Getfieldint(Base1);
Dirportnumber = myAS3.Getfieldint(Base1 + 1);
Limitminusportnumber = myAS3.Getfieldint(Base1 + 2);
Limitplusportnumber = myAS3.Getfieldint(Base1 + 3);
Homeportnumber = myAS3.Getfieldint(Base1 + 4);
// Base2
Enapinnumber = myAS3.Getfieldint(Base2);
Enaportnumber = myAS3.Getfieldint(Base2 + 1);
// Base7
Axisenabled = myAS3.Getcheckboxstate(Base7);
Steppinnegate = myAS3.Getcheckboxstate(Base7 + 1);
Dirpinnegate = myAS3.Getcheckboxstate(Base7 + 2);
Limitminuspinnegate = myAS3.Getcheckboxstate(Base7 + 3);
Limitpluspinnegate = myAS3.Getcheckboxstate(Base7 + 4);
Homepinnegate = myAS3.Getcheckboxstate(Base7 + 5);
Homedirectionpositive = myAS3.Getcheckboxstate(Base7 + 6);
Homeautozero = myAS3.Getcheckboxstate(Base7 + 7);
Backlashenable = myAS3.Getcheckboxstate(Base7 + 8);
// Base8
Enapinnegate = myAS3.Getcheckboxstate(Base8);
// Base10
Slaveaxis = axis < 3 ? myAS3.Getcomboboxselection(Base10) : "None";
}

public void Write(int axis)
{
SetBases(axis);
// Base0
myAS3.Setfield(Steppinnumber, Base0);
myAS3.Setfield(Dirpinnumber, Base0 + 1);
myAS3.Setfield(Limitminuspinnumber, Base0 + 2);
myAS3.Setfield(Limitpluspinnumber, Base0 + 3);
myAS3.Setfield(Homepinnumber, Base0 + 4);
myAS3.Setfield(Homingspeedup, Base0 + 5);
myAS3.Setfield(Homingvalue, Base0 + 6);
myAS3.Setfield(Stepsperunit, Base0 + 7);
myAS3.Setfield(Velocity, Base0 + 8);
myAS3.Setfield(Acceleration, Base0 + 9);
myAS3.Setfield(Softlimitnegative, Base0 + 10);
myAS3.Setfield(Softlimitpositive, Base0 + 11);
myAS3.Setfield(Compaccel, Base0 + 12);
myAS3.Setfield(Backlashdistance, Base0 + 13);
myAS3.Setfield(Homingspeeddown, Base0 + 14);
// Base1
myAS3.Setfield(Stepportnumber, Base1);
myAS3.Setfield(Dirportnumber, Base1 + 1);
myAS3.Setfield(Limitminusportnumber, Base1 + 2);
myAS3.Setfield(Limitplusportnumber, Base1 + 3);
myAS3.Setfield(Homeportnumber, Base1 + 4);
// Base2
myAS3.Setfield(Enapinnumber, Base2);
myAS3.Setfield(Enaportnumber, Base2 + 1);
// Base7
myAS3.Setcheckboxstate(Axisenabled, Base7);
myAS3.Setcheckboxstate(Steppinnegate, Base7 + 1);
myAS3.Setcheckboxstate(Dirpinnegate, Base7 + 2);
myAS3.Setcheckboxstate(Limitminuspinnegate, Base7 + 3);
myAS3.Setcheckboxstate(Limitpluspinnegate, Base7 + 4);
myAS3.Setcheckboxstate(Homepinnegate, Base7 + 5);
myAS3.Setcheckboxstate(Homedirectionpositive, Base7 + 6);
myAS3.Setcheckboxstate(Homeautozero, Base7 + 7);
myAS3.Setcheckboxstate(Backlashenable, Base7 + 8);
// Base8
myAS3.Setcheckboxstate(Enapinnegate, Base8);
// Base10
if (axis < 3)
myAS3.Updatecomboboxselection(0, Base10); // Slaveaxis = "";
}

public bool HasSlave()
{
return !(Slaveaxis == "None");
}
}



Tengely csere makró UCCNC 1.2100 utáni verziókhoz:

// ================================================================================================
// Mxxxxx E<axis1> H<axis2>: Full swap axis1 with axis2 (UCCNC 1.2100+)
// ================================================================================================

AxisData Axis1 = new AxisData(AS3);
AxisData Axis2 = new AxisData(AS3);

if ((Evar == null) || (Hvar == null))
{
exec.AddStatusmessage("Parameters: E<axis_no> H<axis_no>");
return;
}

int Eint = Convert.ToInt32(Evar);
int Hint = Convert.ToInt32(Hvar);

if ((Eint < 0) || (Eint > 5) || (Hint < 0) || (Hint > 5))
{
exec.AddStatusmessage(" where axis_no is 0..5 as XYZABC");
exec.AddStatusmessage("Parameters: E<axis_no> H<axis_no>");
return;
}

Axis1.Read(Eint);
Axis2.Read(Hint);

if (Axis1.HasSlave() || Axis2.HasSlave())
{
exec.AddStatusmessage("Cannot swap axes with slave!");
return;
}

Axis1.Write(Hint);
Axis2.Write(Eint);

exec.Callbutton(btnApplySettings);

exec.AddStatusmessage("Axes " + "XYZABC".Substring(Eint, 1) + " and " + "XYZABC".Substring(Hint, 1) + " swapped");

// ================================================================================================

#Events

// ================================================================================================

const int btnApplySettings = 168;

// =============== class AxisData

public class AxisData
{
UCCNC.AS3interfaceClass myAS3;

int Base0 = 0;
int Base1 = 0;
int Base2 = 0;
int Base3 = 0;
int Base4 = 0;
int Base5 = 0;
int Base6 = 0;
int Base7 = 0;
int Base8 = 0;
int Base9 = 0;
int Base10 = 0;

// Base0
int Steppinnumber = 0;
int Dirpinnumber = 0;
int Limitminuspinnumber = 0;
int Limitpluspinnumber = 0;
int Homepinnumber = 0;
double Homingspeedup = 0.0;
double Homingvalue = 0.0;
double Stepsperunit = 0.0;
double Velocity = 0.0;
double Acceleration = 0.0;
double Softlimitnegative = 0.0;
double Softlimitpositive = 0.0;
double Compaccel = 0.0;
double Backlashdistance = 0.0;
double Homingspeeddown = 0.0;
// Base1
int Stepportnumber = 0;
int Dirportnumber = 0;
int Limitminusportnumber = 0;
int Limitplusportnumber = 0;
int Homeportnumber = 0;
// Base2
int Enapinnumber = 0;
int Enaportnumber = 0;
// Base3..6
int Enabledelay = 0;
int Currhilowpinnumber = 0;
int Currhilowportnumber = 0;
double Homebackoff = 0.0;
// Base7
bool Axisenabled = false;
bool Steppinnegate = false;
bool Dirpinnegate = false;
bool Limitminuspinnegate = false;
bool Limitpluspinnegate = false;
bool Homepinnegate = false;
bool Homedirectionpositive = false;
bool Homeautozero = false;
bool Backlashenable = false;
// Base8
bool Enapinnegate = false;
// Base9
bool Currhilowpinnegate = false;
// Base10
string Slaveaxis = "";

public AxisData(UCCNC.AS3interfaceClass workAS3)
{
myAS3 = workAS3;
}

private void SetBases(int axis)
{
Base0 = axis * 15 + 1;
Base1 = axis * 5 + 241;
Base2 = axis * 2 + 463;
Base3 = axis + 2600;
Base4 = axis + 2606;
Base5 = axis + 2612;
Base6 = axis + 2621;
Base7 = axis * 9 + 1;
Base8 = axis + 141;
Base9 = axis + 347;
Base10 = axis + 1;
}

public void Read(int axis)
{
SetBases(axis);
// Base0
Steppinnumber = myAS3.Getfieldint(Base0);
Dirpinnumber = myAS3.Getfieldint(Base0 + 1);
Limitminuspinnumber = myAS3.Getfieldint(Base0 + 2);
Limitpluspinnumber = myAS3.Getfieldint(Base0 + 3);
Homepinnumber = myAS3.Getfieldint(Base0 + 4);
Homingspeedup = myAS3.Getfielddouble(Base0 + 5);
Homingvalue = myAS3.Getfielddouble(Base0 + 6);
Stepsperunit = myAS3.Getfielddouble(Base0 + 7);
Velocity = myAS3.Getfielddouble(Base0 + 8);
Acceleration = myAS3.Getfielddouble(Base0 + 9);
Softlimitnegative = myAS3.Getfielddouble(Base0 + 10);
Softlimitpositive = myAS3.Getfielddouble(Base0 + 11);
Compaccel = myAS3.Getfielddouble(Base0 + 12);
Backlashdistance = myAS3.Getfielddouble(Base0 + 13);
Homingspeeddown = myAS3.Getfielddouble(Base0 + 14);
// Base1
Stepportnumber = myAS3.Getfieldint(Base1);
Dirportnumber = myAS3.Getfieldint(Base1 + 1);
Limitminusportnumber = myAS3.Getfieldint(Base1 + 2);
Limitplusportnumber = myAS3.Getfieldint(Base1 + 3);
Homeportnumber = myAS3.Getfieldint(Base1 + 4);
// Base2
Enapinnumber = myAS3.Getfieldint(Base2);
Enaportnumber = myAS3.Getfieldint(Base2 + 1);
// Base3..6
Enabledelay = myAS3.Getfieldint(Base3);
Currhilowpinnumber = myAS3.Getfieldint(Base4);
Currhilowportnumber = myAS3.Getfieldint(Base5);
Homebackoff = myAS3.Getfielddouble(Base6);
// Base7
Axisenabled = myAS3.Getcheckboxstate(Base7);
Steppinnegate = myAS3.Getcheckboxstate(Base7 + 1);
Dirpinnegate = myAS3.Getcheckboxstate(Base7 + 2);
Limitminuspinnegate = myAS3.Getcheckboxstate(Base7 + 3);
Limitpluspinnegate = myAS3.Getcheckboxstate(Base7 + 4);
Homepinnegate = myAS3.Getcheckboxstate(Base7 + 5);
Homedirectionpositive = myAS3.Getcheckboxstate(Base7 + 6);
Homeautozero = myAS3.Getcheckboxstate(Base7 + 7);
Backlashenable = myAS3.Getcheckboxstate(Base7 + 8);
// Base8
Enapinnegate = myAS3.Getcheckboxstate(Base8);
// Base9
Currhilowpinnegate = myAS3.Getcheckboxstate(Base9);
// Base10
Slaveaxis = axis < 3 ? myAS3.Getcomboboxselection(Base10) : "None";
}

public void Write(int axis)
{
SetBases(axis);
// Base0
myAS3.Setfield(Steppinnumber, Base0);
myAS3.Setfield(Dirpinnumber, Base0 + 1);
myAS3.Setfield(Limitminuspinnumber, Base0 + 2);
myAS3.Setfield(Limitpluspinnumber, Base0 + 3);
myAS3.Setfield(Homepinnumber, Base0 + 4);
myAS3.Setfield(Homingspeedup, Base0 + 5);
myAS3.Setfield(Homingvalue, Base0 + 6);
myAS3.Setfield(Stepsperunit, Base0 + 7);
myAS3.Setfield(Velocity, Base0 + 8);
myAS3.Setfield(Acceleration, Base0 + 9);
myAS3.Setfield(Softlimitnegative, Base0 + 10);
myAS3.Setfield(Softlimitpositive, Base0 + 11);
myAS3.Setfield(Compaccel, Base0 + 12);
myAS3.Setfield(Backlashdistance, Base0 + 13);
myAS3.Setfield(Homingspeeddown, Base0 + 14);
// Base1
myAS3.Setfield(Stepportnumber, Base1);
myAS3.Setfield(Dirportnumber, Base1 + 1);
myAS3.Setfield(Limitminusportnumber, Base1 + 2);
myAS3.Setfield(Limitplusportnumber, Base1 + 3);
myAS3.Setfield(Homeportnumber, Base1 + 4);
// Base2
myAS3.Setfield(Enapinnumber, Base2);
myAS3.Setfield(Enaportnumber, Base2 + 1);
// Base3..6
myAS3.Setfield(Enabledelay, Base3);
myAS3.Setfield(Currhilowpinnumber, Base4);
myAS3.Setfield(Currhilowportnumber, Base5);
myAS3.Setfield(Homebackoff, Base6);
// Base7
myAS3.Setcheckboxstate(Axisenabled, Base7);
myAS3.Setcheckboxstate(Steppinnegate, Base7 + 1);
myAS3.Setcheckboxstate(Dirpinnegate, Base7 + 2);
myAS3.Setcheckboxstate(Limitminuspinnegate, Base7 + 3);
myAS3.Setcheckboxstate(Limitpluspinnegate, Base7 + 4);
myAS3.Setcheckboxstate(Homepinnegate, Base7 + 5);
myAS3.Setcheckboxstate(Homedirectionpositive, Base7 + 6);
myAS3.Setcheckboxstate(Homeautozero, Base7 + 7);
myAS3.Setcheckboxstate(Backlashenable, Base7 + 8);
// Base8
myAS3.Setcheckboxstate(Enapinnegate, Base8);
// Base9
myAS3.Setcheckboxstate(Currhilowpinnegate, Base9);
// Base10
if (axis < 3)
myAS3.Updatecomboboxselection(0, Base10); // Slaveaxis = "";
}

public bool HasSlave()
{
return !(Slaveaxis == "None");
}
}



Leírás itt: 'UCCNC vezérlő program' téma, 4728. hozzászólás

Előzmény: exup, 2018-02-22 20:18:07 [5264]

exup | 636    2018-02-22 20:18:07 [5264]

Most fedeztem fel egy érdekességet. Ha futtatom a Csaba által írt makrót és cserélem X tengelyt A-ra, akkor a home sequence résznél az 1-es axis kinullázódik(ott Z van nekem). Nem tudom ez miért van.


exup | 636    2018-02-22 13:54:22 [5263]

Köszi...Isten vagy :D

Előzmény: dezsoe, 2018-02-22 12:59:04 [5260]


svejk | 32800    2018-02-22 13:21:31 [5262]

Aha!
Hagyd a csudába majd megoldódik másként, úgy is kell a mechanikus megoldás.

Inkább a magánkérdésemet erőltesd!

Előzmény: dezsoe, 2018-02-22 13:01:26 [5261]


dezsoe | 2919    2018-02-22 13:01:26 [5261]

Szia!

Az exec végrehajtódik, csak a makró nem indul el ciklus futás közben. Macroloop-ból megoldható, csak törpölnöm kell rajta.

Előzmény: svejk, 2018-02-22 09:00:54 [5259]


dezsoe | 2919    2018-02-22 12:59:04 [5260]

Szia!

A nyomógombnak írj új makrót, ami meghívja a cserét, amit az MDI-be írnál. Ha tehát pl. az X és A tengelyt cserélnéd és a csere makró a 20000-es, akkor pl. a 20001-es makró (amit a nyomógomb hív) így néz ki:

exec.Code("M20000 E0 H3");



Mivel a visszaváltás ugyanezzel a sorral történik, nem kell két nyomógomb, csak egy, mert ugyanazt a két tengelyt cserélgeted oda-vissza.

Azért kell két lépésben csinálnod, mert a nyomógombnál nem lehet megadni, hogy milyen paraméterekkel hívja a makrót, csak simán meghívja, így egy plusz lépcsőt kell beiktatni, hogy a paramétereket is megkapja.

Előzmény: exup, 2018-02-21 23:20:43 [5258]


svejk | 32800    2018-02-22 09:00:54 [5259]

Adott egy túlsúlyos, léptetőmotoros Z egység amit a motor árammentes nyomatéka éppen megtart.
De ha mozgás közben jön egy vészstop -ami ugye elveszi a step jeleket rögtön és kiesik a szinkronból- akkor leszalad az egység.

Nagy mellénnyel kitaláltuk, - ideiglenesen amíg nem készül el a mechanikus fék,- hogy egy külső nyomógombbal/bemenettel meghívjuk az alábbi makrót. (persze a gomb lenyomása a főorsót leállítja hardveresen azonnal)

exec.Callbutton(130);

exec.Wait(2000);

exec.Callbutton(144);




Persze nem működik, egy éjszaka kellett mire rájöttem, hogy ezek az exec utasítások nem működnek ha fut a program, tehát nem csináltam semmit.

Miként kellene program futás közben makróból meghívni a "Stop" parancsot?


exup | 636    2018-02-21 23:20:43 [5258]

Csaba. Hiába nézegetem a multkori makród, ahol a tengelyeket forgatom E és H jelöléssel. Nem jövök rá mit kéne benne átírnom, hogy egy gombra működjön a dolog. A makróba szeretném beleírni a tengelyeket fixen. Két félét. Egyiken x-a másikon vissza a-x. A gombokat már létre hoztam. De a makródhoz (is) hülye vagyok. Nagyon jó amúgy, csak nem akarom beírni mdi-be. A gomb jobban tetszik. Help


dezsoe | 2919    2018-02-21 21:02:14 [5257]

A bemeneteken van egy hardveres szűrő, erre lehet még egy kis szabályozható szoftveres szűrést is rátenni. A nem túl precízen érintkező kapcsolók prell-mentesítésére szolgál.

Előzmény: nasda, 2018-02-21 20:20:29 [5256]


nasda | 4    2018-02-21 20:20:29 [5256]

Köszönöm, még kérdésem lenne, hogy a CONFIG. ablakban található "debounce" értékek mire szolgálnak?


dezsoe | 2919    2018-02-21 16:54:16 [5255]

Szia!

Az az oldal lesz aktív induláskor, amelyik látszik a screenset mentésekor. Nyomod a shift-et és átkattintasz a RUN képre, majd ott mentesz, akkor úgy indul.

Előzmény: nasda, 2018-02-21 16:44:27 [5253]

greycat | 153    2018-02-21 16:49:54 [5254]

üdv urak!
egy láma kérdés... csak mert nagyon kezdő vagyok... :D
a CAM része használható valamire a programnak??
csak mert beadtam neki egy dxf fájlt és csak a külső kontúrt látta. a belső részt nem... egy sima 3mm műanyaglemezbe kellene marni egy festősablont.
de nem igazán bírkózik meg vele. vagy tényleg ennyire szerencsétlen vagyok...


nasda | 4    2018-02-21 16:44:27 [5253]

UCCNC program:Edit screen-File-"Save screenset" gomra rányomtam és a program indításkor a CONFIGURATION ablakkal indul a program. Hogyan tudom beállítani, hogy a RUN ablak legyen a kezdőképernyő?


Polgárdi Balázs | 461    2018-02-19 14:14:25 [5252]

Igen a hosszútávú tervek közt van.

Előzmény: Messer, 2018-02-19 12:01:52 [5250]


svejk | 32800    2018-02-19 12:04:29 [5251]

Oké, köszi az infót!

Most nekem ez a "nem vár" épp kapóra jön.

Ebből is látszik, hogy nem lehet mindenki kedvére írni a szoftvert.

Előzmény: Polgárdi Balázs, 2018-02-19 11:54:32 [5249]


Messer | 527    2018-02-19 12:01:52 [5250]

Szervusz Balázs!
Tervben van az S görbés gyorsítás?
Van a környezetemben egy nagy Z tartományú gép.
Eléggé "lengedezik" a Z tengelye. Pu. habhoz használják.
A teljes átépítéssel szemben, jobb megoldásnak tűnne az UCCNC S görbével.


Polgárdi Balázs | 461    2018-02-19 11:54:32 [5249]

Nem lesz semmihez kötve. A programfutás M5 után nem várja meg a főorsó megállását, csak a beállított várakozási időt hajtja végre. Ettől függetlenül már gondolkoztam egy olyan funkción, ami M3-nál várakozna addig, amíg a beállított fordulatszám el nem éri egy előre beállított %-os értéket. Ez egyenlőre csak ötlet szintjén van a fejemben, de akkor ki lehetne az M5-re is terjeszteni. Szóval gondolkodom még rajta, és lehet egyszer csak megfejlesztem majd alkalomadtán.

Előzmény: svejk, 2018-02-19 11:09:59 [5248]


svejk | 32800    2018-02-19 11:09:59 [5248]

De ugye az második gyors kimenet nem lesz semmihez kötve?

Most próbálgatom de amit szeretnék nem tudom megvalósítani az m10/m11-el mert az m3/m5 felülbírálja.

Viszont leellenőriztem, ha a spindle delay értékek 0-án vannak az M5 után ugrik a következő sorra rögtön, nem várja meg míg a step/dir-es orsóvezérlés nullára csökkenti a fordulatot.

Így most kénytelen leszek valahogy a step/dir spindle gyorsulási értékeivel játszani és azzal megoldani ezt a fránya kritikus időmet.

Persze külső hardveres időzítő is lehetne, de akkor épp elvesztem a paraméterből való állítás lehetőségét.

Előzmény: Polgárdi Balázs, 2018-02-15 13:19:08 [5206]


nyiszi | 2332    2018-02-19 07:22:02 [5247]

Köszönöm szépen.

Előzmény: CNCdrive, 2018-02-19 00:25:32 [5245]


CNCdrive | 442    2018-02-19 00:29:46 [5246]

Igen, a Mach3-ban némileg lassabban hajtódnak végre a text macrokat, ezt annó én is kimértem, összehasonlítottam, hasonló eredményekre jutottam.
Az újabb UCCNC verziókban már eléggé optimalizáltuk ezt a dolgot, mert azt is nézi a program, hogy változott-e a fájl tartalma és ha nem változott akkor nem fordítja újra, a Mach3 meg szerintem igen, ebből eredhet az időbeli különbség.

Előzmény: svejk, 2018-02-18 17:49:53 [5235]


CNCdrive | 442    2018-02-19 00:25:32 [5245]

Általában ha a video memory image méret is benne van az üzenetben, akkor csak annyi, hogy nem telepítetted fel a video kártya drivert, ezért a driver hiányában a Windows nem tudja normálisan megkérdezni se a videokártyát, hogy egyáltalán mire képes a kártya.
Azért mondom, hogy ez nagyon valószínű, mert gyakorlatilag bármelyik PC tud 2048px memoria image-eket kezelni. Csak a nagyon "low-end" fajták tudnak ennél kevesebbet, mondhatni, hogy az a kategória már a terminál-számítógép, amiket mondjuk bank automatákban (ATM) használnak, amiknek aztán tényleg nem szükséges szinte semmi grafika, viszont minél olcsóbbak kellenek hogy legyenek.

Szóval azt javaslom, hogy telepítsd fel a videókártya drivert amit a gyártó adott CD-n vagy keresd ki a típusát és töltsd le a gyártó oldaláról és telepítsd fel a gépre.

Előzmény: nyiszi, 2018-02-18 23:33:29 [5244]

nyiszi | 2332    2018-02-18 23:33:29 [5244]

Csak az a fura, hogy Win 10 alatt jó csak lassú egy kicsit.
Ezért gondoltam, hogy felrakok egy Win 7-et.
Hát így jártam.

Előzmény: dezsoe, 2018-02-18 23:23:05 [5243]


dezsoe | 2919    2018-02-18 23:23:05 [5243]

Ezen a gépen ennyi. Röviden: a géped videó rendszere nem felelt meg a minimum követelményeknek. Lehet, hogy csak egy jó videó driver hiányzik, de az is lehet, hogy tényleg gyenge a program futtatásához. Nem mai darab, úgyhogy nem nagyon biztatlak.

Előzmény: nyiszi, 2018-02-18 23:01:10 [5241]


nyiszi | 2332    2018-02-18 23:05:01 [5242]

Intel Atom D2500CC helyesen

Előzmény: nyiszi, 2018-02-18 23:01:10 [5241]


nyiszi | 2332    2018-02-18 23:01:10 [5241]

Sziasztok,
Intel Atom D250CC
Lehet valamit csinálni ilyenkor?

  


svejk | 32800    2018-02-18 18:32:00 [5240]

Akkor nincs más hátra, gyűjtsünk aláírást, az úgy is divat!

Előzmény: exup, 2018-02-18 18:26:28 [5239]


exup | 636    2018-02-18 18:26:28 [5239]

Az M3 engem is zavart a lézerhez, hisz régeben úgy rémlik nem kellett. Ráadásul nekem a frekiváltó indítása van M3-on. Ilyenkor a tápot onnan lekell nyomnom, ha lézerezek. De már megszoktam, de nem zavarna, ha nem kéne M10 elé M3. Vagy érteném az értelmét

Előzmény: svejk, 2018-02-18 17:49:53 [5235]


svejk | 32800    2018-02-18 18:07:37 [5238]

De különösebb jelentősége nincs az értékeknek, hiszen a főorsót nem szoktuk ilyen gyors ütemben kapcsolni.

Nekem van egy specális esetem amihez meg kellett ezeket az időzítési értékeket tudnom.

Előzmény: svejk, 2018-02-18 18:03:47 [5237]


svejk | 32800    2018-02-18 18:03:47 [5237]

igen mindkét programban.

Előzmény: Miki2, 2018-02-18 18:00:15 [5236]


Miki2 | 2321    2018-02-18 18:00:15 [5236]

A MACH3-ban a főorsó kapcsolás várakoztatási idejét 0-ra állítottad?

Előzmény: svejk, 2018-02-18 17:49:53 [5235]


svejk | 32800    2018-02-18 17:49:53 [5235]

Tovább próbálgattam, most már megnéztem őket Mach3-mal is.
Az alábbi kód:

M98 P1 L100
M30

O1
M3
M5

M99




17 s az UCCNC-vel, 55 s Mach3-al.

Ha írok be S értéket -mindegy mekkorát- akkor kb. 10 másodperccel megnövekszik a feldolgozás mindkét programban.


Ha az előbbi kódba beszúrom még az M8/M9 beépített párost:

M98 P1 L100
M30

O1
M3
M8
M5
M9

M99



Akkor az UCCNC-ben 30 s , míg a mach3-ban 88 s lesz a lefutási idő.

Ha az M10/M11 párost szúrom be akkor mint várható is volt érezhetően nem növekedett meg a G-kód végrehajtási ideje.
UCCNC-nél maradt a 17 s , Mach3-nál 55 s.

Tudom ez sokakat biztos nem érdekel, de gondoltam leírom mert hátha valaki belefut hasonló faladatba mint az enyém, ahol fontosak az időzítések.
Most egyelőre úgy látom én a már meglevő M10/M11-el megoldom a kérdést, ha pedig lesz egy második gyors kimenet is az meg maga lesz a Kánaán.

Bár azt nem bánnám, hogy ha a mostani M10-hez nem kellene a kötelező M3 kód, ez inkább bosszúságoz okozott eddig mint előnyt.

Előzmény: svejk, 2018-02-15 20:40:23 [5213]

svejk | 32800    2018-02-18 17:30:42 [5234]

Megelégedéssel tölt el, hogy legalább jókedvre tudnak deríteni a "játékaim".

Előzmény: Törölt felhasználó, 2018-02-16 08:58:57 [5223]


exup | 636    2018-02-16 14:36:12 [5233]

Van, aki a kecskepornóra izgul...van, aki erre....

Előzmény: CNCdrive, 2018-02-16 14:26:45 [5232]


CNCdrive | 442    2018-02-16 14:26:45 [5232]

Eléggé szomorú, ha valakinek az okozza az örömöt, szórakozást, ha másoknak bosszúságot okozhat, illetve annak a keresése, hogy hol köthet bele valamibe vagy valakibe. Igazán szomorú...

Előzmény: ANTAL GÁBOR, 2018-02-16 14:23:33 [5231]


ANTAL GÁBOR | 4588    2018-02-16 14:23:33 [5231]

Csodálkozol ? Február közepe van esik a hó.
Sokan beszorulnak ilyenkor a meleg szobába a PC elé ( szabadúszók , munkanélküliek , nyugdíjasok( ?) ) El kell valamivel ütni az időt .....

Előzmény: designr, 2018-02-16 11:51:55 [5230]


designr | 3557    2018-02-16 11:51:55 [5230]

Rövid,tömör összefoglalás,sajnos igy van..megint csak a kötekedés,hibakeresés..lényegi segitség nélkül..

Előzmény: CNCdrive, 2018-02-16 10:32:51 [5228]


Törölt felhasználó    2018-02-16 10:55:42 [5229]

Sajnálom, hogy ennyi hazugságot (pl. "tudjuk, hogy alkotó hozzászólása még nem nagyon volt a fórum történetében"), ferdítést írtál velem kapcsolatban most is. A helyedben inkább azzal foglalkoznék, hogy egy valós, jogos kritika kapcsán gyorsan kijavítanám a programban azt a setup ablakot, ahol az M3, M5 kód 0 késleltetési idővel is végrehajtó, hiszen még te is elismered Svejk mérése alapján a 70 ms-ot.

Értem én azt is, hogy a virtualitás nem zavar, és mindent megmagyarázol, a műszaki életben viszont vannak valós tények, amikre ha valaki felhívja figyelmet, az attól nem egy kötekedő ember, ha az objektivitás is szempont.

További szép napot mindenkinek!

Előzmény: CNCdrive, 2018-02-16 10:32:51 [5228]


CNCdrive | 442    2018-02-16 10:32:51 [5228]

Hát igen, a mi Robsy Tiborunk már csak ilyen. Mindig azt az információt, adatot ragadja ki ami neki éppen szükséges egy adott dolog fikázásához. Azt az adatot kisarkítja és olyan kontextusba helyezi, hogy az az adott témában minél rosszabb színben tüntesse fel az adott dolgot vagy gépet vagy az alkotóját. Ha pedig más rávilágít a dolog másik oldalára ami esetleg pozitív, akkor azt vagy kényszeresen tagadja, vagy pedig úgy tesz mintha az észrevétel vagy kérdés meg sem történt volna, gyorsan elsiklik felette, nem foglalkozik vele, nem gondolja végig, a kérdésre nem válaszol.
Már megszoktuk, hogy ő ilyen, illetve tudjuk, hogy alkotó hozzászólása még nem nagyon volt a fórum történetében, ezért nem is várunk tőle mást.
Ezért is javasoltam neki már párszor, hogy inkább másfelé írogasson, ha már építő jellegű hozzászólást nem képes írni. A saját topikját régebben már töröltette, mert a stílusából adódóan nem volt képes megbirkózni az ügyfeleivel, illetve az igazsággal. Mostanában meg az a hobbija, hogy más dolgaiban keresi, kutatja a vélt vagy valós hibákat, hogy jól odadörgölhessen.

Előzmény: dezsoe, 2018-02-16 10:15:08 [5227]


dezsoe | 2919    2018-02-16 10:15:08 [5227]

Te egy precíz ember vagy, aki a mérések híve, és mindig fel is háborodsz, ha valaki csak úgy saccol vagy ránézésre mond valamit. Akkor most a Svejk sacimetrikus eredményeit miért is fogadod el pontos mérésnek? Mert beleillik az általad alkotott képbe?

A hosszas beszélgetésből úgy látszik, hogy csak azokat az adatokat használod fel, ami alapján lehet fikázni a csicsavilágot. Egyértelműen le van írva, hogy ez a szöveges makrókra vonatkozik, amiket be kell olvasni, alkalom adtán le kell fordítani, végre kell hajtani. Ez idő. Ráadásul a mozgásokhoz és a többi a kódhoz kapcsolódó vezérléshez képest a nem fontos kategóriában vannak, akkor kerülnek sorra, ha a fontosabbak már lefutottak. (Ez is le van írva ugyanitt, érthetően.) Pontosan ezért vannak olyan "nem szöveges" makrók, amik a rendszer részét képezik, és akkor hajtódnak végre, amikor kell, annyi idő alatt, amennyi alatt kell. Az, hogy a felhasználó a nem vezérelt lábakat is kihasználhatja olyan fontosságú feladatokra, mint pl. a géplámpa bekapcsolása, az egy plusz lehetőség a csicsavilágban. Bármennyire is zavar ez téged, mi így szeretjük és használjuk.

Előzmény: Törölt felhasználó, 2018-02-16 08:58:57 [5223]


CNCdrive | 442    2018-02-16 10:13:51 [5226]

Szia Svejk,

Igen, a 70msec az egy reális eredménynek mondható, mivel a proginak meg kell várnia a mozgásvezérlőt, hogy végezzen az előző utasításokkal, majd ellenőriznie kell a macro fájlt (hogy esetleg átírtad-e és hogy újra kell-e fordítani) majd le kell kérdeznie a friss adatokat, hiszen lehet a macro azokkal is szeretne dolgozni, például az aktuális koordinátákkal.
Egy főorsó kapcsolásnál ez nem számít soknak, de ezért mondtam, hogy a szinkron kimenet kapcsolgatásra például lézer gravírozáshoz nyilván a 70msec nagyon sok, ezért van ehhez spéci beépített macro az M10/11. Azt az UCCNC nem próbálja lefordítani, mert beépített kód, nem text file-ból fordul, illetve nem kell szinkronizálnia a proginak a mozgásvezérlővel, mert a spéci utasítás a mozgások közé fűzve kerül be a mozgáspufferbe és közvetlenül a mozgásvezérlőn kerül végrehajtásra.

Előzmény: svejk, 2018-02-15 21:08:47 [5215]


Törölt felhasználó    2018-02-16 09:32:33 [5225]

Egy mérési eredményről mondtam véleményt. Sajnálom, hogy csak azért mert ez nem valami szép eredmény, akkor az a válaszod neked is, hogy ez fikázás. Műszaki Fórumon vagyunk, én a helyedben az objektív TÉNY-eken gondolkoznék el!

Előzmény: exup, 2018-02-16 09:26:29 [5224]

exup | 636    2018-02-16 09:26:29 [5224]

Engem is kezd már zavarni, hogy az itteni megnyilvánulásaid jellege a "fikázásra" épülnek. Nem értem miért lógsz itt, ha ez egy ekkora "szar" rendszer? Látjuk már, hogy venni nem akarsz. Tehát nyilván kérdésed se lesz vele kapcsolatban. Nekem és sok másnak is megfelel az uc+uccnc páros. Én is tiltalak, mert meguntalal :P

Előzmény: Törölt felhasználó, 2018-02-16 08:58:57 [5223]


Törölt felhasználó    2018-02-16 08:58:57 [5223]

"Tehát egy ilyen portkapcsolós M kód végrehajtási ideje a G-kódban cirka 70 ms."

Ha ez tényleg így van, ez elkeserítő és tragikus annak függvényében, hogy ott dolgozik egy X giga Hz-es órajelű processzor, és közben ilyen nevetségesen lassan hajt végre egy 1 bites nyamvadt be-kikapcsolást. Az is igaz, cserébe átélheted a klikkelgetéses "tök jó játék" csicsavilág összes örömét.

Előzmény: svejk, 2018-02-15 21:08:47 [5215]


dezsoe | 2919    2018-02-15 21:28:25 [5222]

Az M30-ba írhatod, mert az lefut az M30 végrehajtásakor. (Program stop és visszatekerés után, ahogy az M30.txt-ben olvasható.)

Előzmény: svejk, 2018-02-15 21:20:29 [5220]


svejk | 32800    2018-02-15 21:24:52 [5221]

Ezen "mérés" szerint a G4 20 ms-os késleltetést megoldotta, a 10 ms-ost már nem láttam bizonyíthatónak.

Előzmény: svejk, 2018-02-15 21:17:26 [5218]


svejk | 32800    2018-02-15 21:20:29 [5220]

Egyébként az ilyen makrókat szabad még kigészíteni valamivel, vagy úgy is figyelmen kívül hagyják?

Pl. ha az M30-as makroba írnék egy exec.Setoutpin-t?

Előzmény: dezsoe, 2018-02-15 21:17:20 [5217]


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

Időrend:
Oldal 83 / 188 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   79  80  81  82  83  84  85  86  87   Következő ►  Utolsó ►|


 ◊