HobbyCNC fórum
  v0.9.3.5

Fórum betekintő Fórum címe: http://forum.hobbycnc.hu



UCCNC vezérlő program

xxxxxxxx


Időrend:
Oldal 1 / 106 Ugrás ide:
1  2   3   4   5     Következő ►  Utolsó ►|

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

CNCdrive | 178    Tegnap 23:31:43 [5274]

Szia Svejk, Most már tudod csinálni amit szerettél volna a #5145 beírásodban, mert megfejlesztettük a # változók szinkronban tartását a mozgás pufferrel.

Előzmény: svejk, 2018-02-07 22:30:03 [5145]


exup | 375    Tegnap 23:11:04 [5273]

Jujj, de hosszú köszönet.

Előzmény: dezsoe, Tegnap 21:48:16 [5271]


Tibcsi | 163    Tegnap 22:07:52 [5272]

Köszönjük!!

Előzmény: dezsoe, Tegnap 21:48:16 [5271]


dezsoe | 903    Tegnap 21:48:16 [5271]

Sziasztok! Megjelent az UCCNC 1.2103-as tesztverziója. Innen tölthető le. Javítások és változások: - A rendszer AnyCPU opcióval lett lefordítva, hogy 64 bites rendszeren 64 bites módban tudjon futni, kihasználva a több memóriát és egyéb előnyöket. 64 bites rendszeren 500MB-os g-kód file-lal is tesztelve lett. A 32 bitesre fordított pluginok nem fognak működni 64 bites Windows alatt. A pluginok készítőinek újra kell fordítani a pluginokat AnyCPU platformra. A telepítéskor települő pluginok már újra lettek fordítva, így helyesen működnek. A plugin minták is ennek megfelelően módosultak - Question függvény mostmár elfogad negatív számokat is - G41/G42 algoritmusok optimalizálása - Új: Toolpathclick_event a pluginokhoz. A pályamegjelenítőn kattintva elküldi a munkakoordinátákat a pluginoknak - Részletes szerszámtábla ablakban az átmérő és hossz adatok a koordináták kijelzésének megfelelően lettek formázva (Configuration/General settings/Position DRO digits) - M98 nem futott helyesen soronkénti végrehajtáskor. A G41/G42 implementálásakor romlott el, javítva - Az M98 L0 paraméterrel hibás volt, ha az L paramétert # változóból kapta (pl. M98 L#1 Pxx). Ilyenkor, ha a változó értéke 0 volt betöltéskor, akkor az M98 nem fordult le, így később, ha a változónak már volt értéke, akkor sem futott le. Most mindenképpen lefordul, de ha a változó értéke 0, akkor nem történik szubrutin hívás - Demó módban a jog nem állt le, ha a reset akkor kapcsolt be, amikor még egy jog gomb le volt nyomva. Ez nem okozott problémát géppel, mert csak demó módban volt így. Javítva - A modal sorban a G64 és G68 rossz sorrendben volt. Ez csak egy szépséghiba volt, javítva - Új: Informplugin és Informplugins függvény bekerült a plugininterface-be, eddig csak makróból lehetett hívni - OSK (On-Screen Keyboard) érintőképernyős beviteli plugin frissült. Érzékeli, ha nagyfelbontású képernyőn fut és automatikusan átméretezi magát. Az aktuális profilban az [UCCNC_OSK] szekcióba IgnoreFields=<fieldnumber>[,<fieldnumber>] kulccsal és értékkel felvihetünk mezősorszámokat, amikre kattintva nem jelenik meg a beviteli képernyő. Alapértelmezés szerint ilyen az 1000-es és a 216-os (MDI és új profil neve), de ha más szöveges mezőnk van, akkor ide felsorolhatjuk. Az OSK is támogatja az x86 és x64 platformokat - Új: ESC billentyűvel egy mező bevitele megszakítható - Új: telepítéskor megadható, hogy a CV paraméterek alapértelmezése metrikus vagy colos legyen - Szubrutinokban az M1 hibásan működött. A G41/G42 implementálásakor romlott el, javítva - G10 L1 Rxx kód hatása nem jelent meg a pályamegjelenítőben, javítva - A # változók kezelése korlátozott volt az előre olvasás miatt, így a változók lekérdezése nem a pillanatnyi értéket adta, hanem az előre kiszámított kód végén várható értéket. Emiatt ha például egy analóg kimenethez rendeltünk egy változót, akkor a kód futása közben nem követte megfelelően a kódban beállított értéket. Például: [code]G0 X0 #1 = 1 G0 X1 #1 = 2[/code] Ebben a példában a teljes mozgás alatt a #1 értékét 2-nek olvashattuk. Ennek a működése megváltozott és az értékek bekerültek a mozgáspufferbe, hogy szinkronban legyenek a kód futásával - App.config file feltelepül, hogy a korábbi, .Net 2.0-ás, más appdomain alá fordított pluginok is fussanak - A pályamegjelenítés módja változott, hogy nagyobb mennyiségű vertex megjelenítésére legyen alkalmas a 64 bites rendszeren betölthető nagyobb file-ok miatt. Emiatt az OpenGL 1.3 + az ARB_vertex_buffer_object bővítmény, vagy OpenGL 1.5 támogatás szükséges. A szoftver automatikusan választja ki, hogy melyiket használja, és ha valamelyik rendelkezésre áll, akkor futni fog, de ha a vertex puffer objektum egyáltalán nem áll rendelkezésre, akkor hibaüzenettel leáll. - Az M215 Px nem a g-kóddal szinkronban frissítette az áttételt, javítva - Az 5441-es alaplapi firmware nem konfigurálta a belső felhúzó ellenállásokat, javítva - Egy a teljes körök végrehajtását érintő probléma javítva lett: ha a programnak szinkronizálnia kellett a mozgásvezérlővel egy olyan mozgás után, ahol a mozgás adta az ív kezdőpontját és egy teljes (360°) kör következett a szinkronizálást előidéző kód után, továbbá az 1 / egységenkénti lépés nem volt egész osztója a végpontnak, akkor a kört nem mindig értelmezte egész körnek a program, mert a szinkronizálás miatt a kezdő és végpont már nem esett egybe, mert az egységenkénti lépés miatti felbontás nem engedte meg a programozott koordinátát. A probléma megoldása érdekében a vezérlő nem szinkronizálja a koordinátákat csak akkor, ha az feltétlenül szükséges. - Menetfúrás vagy -vágás néha kihagyta a szinkron mozgást. Ez a hiba az előző verzióban javításra került az ethernetes mozgásvezérlőknél, most az USB-seknél is


exup | 375    2018-02-22 22:32:53 [5270]

Kiváncsi lennék mi kell lézerhez?

Előzmény: nyiszi, 2018-02-22 22:30:27 [5269]

nyiszi | 1307    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 | 375    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 | 1307    2018-02-22 22:18:44 [5267]

Az UCCNC-hez nincs valakinek Lézer screen?


exup | 375    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 | 903    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: [code] // ================================================================================================ // 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"; } } [/code] Tengely csere makró UCCNC 1.2100 utáni verziókhoz: [code] // ================================================================================================ // 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"; } } [/code] Leírás itt: 'UCCNC vezérlő program' topik, 4728. hozzászólás

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


exup | 375    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 | 375    2018-02-22 13:54:22 [5263]

Köszi...Isten vagy

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


svejk | 25491    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 | 903    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 | 903    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: [code] exec.Code("M20000 E0 H3"; [/code] 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 | 25491    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) [code] exec.Callbutton(130); exec.Wait(2000); exec.Callbutton(144); [/code] 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 | 375    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 | 903    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 | 2    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 | 903    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 | 48    2018-02-21 16:49:54 [5254]

üdv urak! egy láma kérdés... csak mert nagyon kezdő vagyok... 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 | 2    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 | 444    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 | 25491    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 | 331    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 | 444    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 | 25491    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 | 1307    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 | 178    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 | 178    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 | 1307    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 | 903    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 | 1307    2018-02-18 23:05:01 [5242]

Intel Atom D2500CC helyesen

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


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

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


svejk | 25491    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 | 375    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 | 25491    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 | 25491    2018-02-18 18:03:47 [5237]

igen mindkét programban.

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


Miki2 | 1800    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 | 25491    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: [code] M98 P1 L100 M30 O1 M3 M5 M99 [/code] 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: [code] M98 P1 L100 M30 O1 M3 M8 M5 M9 M99 [/code] 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 | 25491    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: Robsy, 2018-02-16 08:58:57 [5223]


exup | 375    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 | 178    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 | 3400    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 | 2161    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]

Robsy | 631    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 | 178    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 | 903    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: Robsy, 2018-02-16 08:58:57 [5223]


CNCdrive | 178    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]


Robsy | 631    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]


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

Időrend:
Oldal 1 / 106 Ugrás ide:
1  2   3   4   5     Következő ►  Utolsó ►|