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 95 / 189 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   91  92  93  94  95  96  97  98  99   Következő ►  Utolsó ►|

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

dezsoe | 2934    2017-12-01 14:36:17 [4751]

Ez azt csinálja, hogy amikor be van kapcsolva a digitalizálás (M40), akkor minden probe (G31) eredményét megjegyzi, majd M41-re kiírja a megadott file-ba. Viszont azt, hogy hol és hogy mintavételezzen, azt neked kell megírni g-kódban. Az Autoleveler egy betöltött g-kód alapján generál egy mintavételező kódot helyetted. Sík terület mintavételezéséhez használhatod az Autolevelert is (akár előtte-utána M40-M41-gyel és akkor tárolja is az eredményt külön is), de ha közben forgatni is akarsz, akkor már neked kell megoldani. Annyira nem bonyolult feladat, szerintem. Keress rá a doksiban a G31 kifejezésre, több helyen is találsz infót, hogy mit tudsz vele csinálni.

Előzmény: Törölt felhasználó, 2017-12-01 14:27:34 [4750]


Törölt felhasználó    2017-12-01 14:27:34 [4750]

Hasonlóra gondolok mint az autolevel működése egy adott terület automatikus scannelése a beállított paraméterekkel ilyen feladatra létezik valami alkalmazás vagy megoldás?

Előzmény: dezsoe, 2017-12-01 14:12:58 [4749]


dezsoe | 2934    2017-12-01 14:12:58 [4749]

A Tools/Probe fülön beállítod a file-nevet és egyebeket, M40-nel indul a digitalizálás, M41-gyel leáll. A g-kódot, ami a mozgásokat és a G31-eket tartalmazza, azt neked kell megírni/generálni. Gyakorlatilag ennyi. A kapott file-t aztán már fel tudod dolgozni.

Előzmény: Törölt felhasználó, 2017-12-01 14:01:44 [4748]


Törölt felhasználó    2017-12-01 14:01:44 [4748]

X-Y-Z tengely és esetenként fogatóval kombinálva pl. egy teke bábu másolása , hogy kivitelezhető?

Előzmény: dezsoe, 2017-12-01 13:02:31 [4747]


dezsoe | 2934    2017-12-01 13:02:31 [4747]

Szia!
Pontosítsd, hogy mit értesz 4 tengely alatt. Egyébként, a digitalizálás be van építve, tehát semmi akadálya.

Előzmény: Törölt felhasználó, 2017-12-01 12:41:29 [4746]

Törölt felhasználó    2017-12-01 12:41:29 [4746]

Sziasztok!
Segítségetek szeretném kérni digitalizálás témában.
Probe-val 4tengelyen mi lenne a legegyszerűbb módja az UCCNC-ben végrehajtásnak?
Esetleg van plugin probe-hoz?


Törölt felhasználó    2017-12-01 12:24:19 [4745]

Igen és nagyon jól működik, de csak Modbus beszelő VFD-vel együtt.

Előzmény: exup, 2017-11-28 12:38:53 [4738]


Törölt felhasználó    2017-12-01 12:15:49 [4744]

Szia. Ha nem késő akkor vegyél inkább egy olyan VFD-t ami a Modbus működését garantálja. Én egy Bosch Rexroth EFC5610 modellt használok, nem sokkal drágább min a Huanyang de sokkal jobban működik és Modbus-al kezelem egyenesen az UCCNC-n keresztül. A plugin ami be van építve az UCCNC-be nagyon jól működik, hiba és fejfájás nélkül. Én legalábbis nagyon meg vagyok vele elégedve, az UCCNC-vel is meg a VFD-vel is. Nézd meg Inverter Drive Supermarket oldalát, én tőlük vettem a VFD-t, gyorsan küldték nagyon jó áron.

Előzmény: szokes, 2017-11-28 12:26:52 [4736]


CNCdrive | 442    2017-11-28 17:14:41 [4743]

A Huanyang frekiváltó tulajdonképpen nem működik Modbus-al.
Bár elvileg Modbus kommunikácós csatorna van rajta, de a fejlesztőknek nem sikerült jól megvalósítaniuk. Szóval ezt a frekiváltó egy eredetileg modbus-nak szánt, de valami másra sikerült egyedi kommunikációs protokolt használ.
Ezért sem az UCCNC beépített Modbus pluginjával nem működik sem a Mach3 brain-en keresztüli modbus kommunikációjával nem működik.
Mach3-hoz írt valaki egy plugint ami beszéli ennek a frekiváltónak a nyelvét, illetve UCCNC-hez is írt valaki egy plugint amit szintén ezt csinálja.
Amit Dezsoe linkelt ott ezt az UCCNC plugint lehet letölteni. Hogy ki használja azt nem tudom megmondani sajnos, de a fórum beírások alapján többen is használják.
Illetve a plugin írója már tovább is fejlesztette a plugint, hogy más frekiváltókkal is, amik valóban modbus nyelven működnek, hogy azokkal is működjön a plugin.

Előzmény: szokes, 2017-11-28 12:26:52 [4736]


szokes | 1651    2017-11-28 15:11:03 [4742]

Köszi


dezsoe | 2934    2017-11-28 13:55:59 [4741]

Személyes ismeretségemben nincs, de a fórumok alapján sokan használják. Egyébként meg töltsd le, próbáld ki, ingyen van. A CNCdrive-os fórumon is találsz hozzászólásokat, tapasztalatokat. Ha gond van vele, elég gyorsan szokta javítani a készítő.

Előzmény: szokes, 2017-11-28 13:31:21 [4740]


szokes | 1651    2017-11-28 13:31:21 [4740]

igen ezeket olvasgattam már, de a tapasztalat érdekelne, hogy van-e aki használja és működik


dezsoe | 2934    2017-11-28 12:42:35 [4739]

Szia!
Itt olvass utána.

Előzmény: szokes, 2017-11-28 12:26:52 [4736]


exup | 639    2017-11-28 12:38:53 [4738]

Úgy tudom van uccnc-hez is pluginja.

Előzmény: szokes, 2017-11-28 12:26:52 [4736]


exup | 639    2017-11-28 12:38:08 [4737]

Hát elsőre lövésem se volt hova kell a 0 és 3. Hiába olvasgattam a makrót. Aztán megfejtettem. Nagyon jól vált. Majd szerintem gombod teszek fel. X-A és A-X felirattal. Ne kelljen beírni se. Köszönöm újfent

Előzmény: dezsoe, 2017-11-28 12:24:45 [4735]

szokes | 1651    2017-11-28 12:26:52 [4736]

Lenne egy kérdésem...
nem tudom használ-e valaki kínai Huanyang VFD-t marómotorhoz.
Ehhez ugye létezik 2-3 plugin Mach3 alá amivel szoftveresen vezérelhető mod-buson keresztül.
Ezt lehetne adaptálni valahogy uCNC-hez is?
Szükségem lenne egy ethernetes vezérlőre de ez még visszatart...


dezsoe | 2934    2017-11-28 12:24:45 [4735]

Muszáj neki működni, nem szoktam tesztelés nélküli cuccot felrakni. Pláne ilyet, amivel sokat lehet ártani... Azért, vígasztaljon a tudat, hogy nem elsőre működött, volt néhány vakvágány...

Előzmény: exup, 2017-11-28 12:17:54 [4733]


exup | 639    2017-11-28 12:19:02 [4734]

Pont ilyen makrót akartam én is írni...csak hát én hülye vagyok hozzá

Előzmény: exup, 2017-11-28 12:17:54 [4733]


exup | 639    2017-11-28 12:17:54 [4733]

Jajj, de babán működik elsőre.
Na mindjárt tolok élesbe egy égetést pl
Köszönöm a segítséget.

Előzmény: dezsoe, 2017-11-28 07:46:17 [4730]


svejk | 33038    2017-11-28 11:01:45 [4732]

No, oké túltettem magam a dolgon jó ez így ahogy van, majd megszokom/megoldom.
Csak néha úgy kétségbe tudok esni...

Egy a lényeg, ne vesszen el a szoftverfejlesztők lendülete.

Előzmény: svejk, 2017-11-27 20:30:56 [4724]


exup | 639    2017-11-28 07:53:28 [4731]

Így is köszönöm

Előzmény: dezsoe, 2017-11-28 07:46:17 [4730]


dezsoe | 2934    2017-11-28 07:46:17 [4730]

Csak késő volt már az este: benne maradt pár dolog. Akkor helyesen:

// ================================================================================================
// 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
myAS3.Updatecomboboxselection(0, Base10); // Slaveaxis = "";
}

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

Előzmény: exup, 2017-11-28 07:36:51 [4729]


exup | 639    2017-11-28 07:36:51 [4729]

Király vagy...köszi. Délután meglesem.

Előzmény: dezsoe, 2017-11-27 23:39:27 [4728]


dezsoe | 2934    2017-11-27 23:39:27 [4728]

No. Több megszakítással, de csak befejeztem. Mxxxxx E<egyiktengely> H<másiktengely> hívással a két tengely minden adatát átcseréli. A tengelyek 0..5-ig az XYZABC-nek felelnek meg. Ha rányomsz a Save settings-re, akkor el is mented a megcserélt tengelyeket, úgyhogy csak akkor nyomd, ha tényleg kell. Mondjuk, vissza tudod cserélni, tehát nagy baj nincs, csak legfeljebb legközelebb csodálkozol, hogy miért az a tengely megy és hova...

// ================================================================================================
// 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 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;
// 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;
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);
// 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
myAS3.Updatecomboboxselection(0, Base10); // Slaveaxis = "";
}

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

Előzmény: exup, 2017-11-27 13:29:34 [4710]


szf | 4416    2017-11-27 22:26:40 [4727]

és ha beteszel egy gombot ami mozgat egy relét ez majd
imitálja , hogy a végállás OK. illetve csak azt az irányt engedélyezi ahogyan le tudsz jönni a kapcsolóról.

Előzmény: svejk, 2017-11-27 20:38:27 [4725]

exup | 639    2017-11-27 21:10:09 [4726]

Viccnek szántam..amit korábban használtam az külön figyelte. Ez most nem. Megszoktam, nincs is külön pin-re téve. Engem mondjuk már nem zavar.

Előzmény: svejk, 2017-11-27 20:30:56 [4724]


svejk | 33038    2017-11-27 20:38:27 [4725]

Az iparban egyébként valóban így van, hogy ha limitre fut valami akkor ott is van egy override kapcsoló vagy nyomógomb, esteleg egy bitet kell átállítani.
Az is igaz, hogy ott is általában csak egyszerűen sorba van kötve a két végállás kapcsoló.
De a nagy gépeknél nagyon ritkán fordul elő ilyen eset.
(Bár épp nemrég volt egy szíjszakadás egy eszterga X szánjánál)

De ugye hobbyban kikapcsolt állapotban sokszor eltologathatóak a szánok akarva vagy akaratlanul így itt ez gyakoribb hiba.

Előzmény: frob, 2017-11-27 20:25:20 [4723]


svejk | 33038    2017-11-27 20:30:56 [4724]

De most tényleg... nem ad plusz szolgáltatást a 2 végállás + 1 Home kapcsoló az egy szem árvához képest?
Vagy csak -sajnos nem először - én vagyok béna, értetlen?

A Override LED-el meg majd meghívatok egy makrot, hogy vegye le a JOG %-ot alacsonyra.

Előzmény: exup, 2017-11-27 19:49:50 [4722]


frob | 2276    2017-11-27 20:25:20 [4723]

ez a módi nem csak az uccnc-nél van, grbl is hasonló (mach-ot nem ismerem), és valóban értelmetlen a dolog (legalább is én is úgy gondolom), jó lenne ha a másik irányban el tudna indulni, az az le lehetne állni róla, mondjuk egy reset után ...

Előzmény: svejk, 2017-11-27 19:20:19 [4719]


exup | 639    2017-11-27 19:49:50 [4722]

Most jössz rá, hogy az UC100 is elég lett volna? :D

Előzmény: svejk, 2017-11-27 19:37:35 [4721]


svejk | 33038    2017-11-27 19:37:35 [4721]

Tulajdonképpen a működésnek ebben a formájában nem is látok semmilyen előnyt a két végállás külön bemenetre való konfigurálásában.

Előzmény: svejk, 2017-11-27 19:20:19 [4719]


svejk | 33038    2017-11-27 19:22:05 [4720]

Legalább azt meg kellene oldani, hogy az Override bekapcsolásakor csak kis sebességgel lehessen mozogni.

Előzmény: svejk, 2017-11-27 19:20:19 [4719]


svejk | 33038    2017-11-27 19:20:19 [4719]

Elöljáróban bevallom, eddig javarészt szervos gépekkel foglakoztam és ott az esetleges végállásra futásokat elintézték a servodrive-ok, az UCCNC nem is tudott róluk.


Most egy javarészt léptetős, de jelentős áttételű, speciális gépnél nem tetszik nekem ez a végállás kezelés.

Ha pl. X+ ban haladok akkor az X- végállásra is reagál.
De ez még nem is lenne olyan nagy baj.

Viszont az nagyon nem tetszik, hogy ha valamelyik végálláson vagyok mondjuk az X- -on akkor bekapcsoláskor csak a Limits override-al tudok lejönni.
X+ ba ilyenkor miért nem enged le simán?
De főleg miért enged Override-olva X- -ba, ráadásul akár 100% JOG sebességgel?
Ebből nekem törés, szakadás lesz.

Sejtem én hogy azért van ez mert akár 1 db bemenettel is lekezelhető az összes végállás és referencia, de ha külön konfigurálok minden kapcsolóra más-más bemenetet akkor észrevehetné a logikát.


exup | 639    2017-11-27 18:40:42 [4718]

Te egy úr vagy

Előzmény: dezsoe, 2017-11-27 18:35:39 [4717]


dezsoe | 2934    2017-11-27 18:35:39 [4717]

Még nincs, de dolgozom rajta. A feladat nagyon egyszerű, csak marha sokat kell hozzá gépelni.

Előzmény: exup, 2017-11-27 18:23:08 [4715]

svejk | 33038    2017-11-27 18:25:52 [4716]

Ez ám a szoftvertámogatás!!

Előzmény: dezsoe, 2017-11-27 18:15:45 [4713]


exup | 639    2017-11-27 18:23:08 [4715]

Nekem is van linked?

Előzmény: dezsoe, 2017-11-27 18:15:45 [4713]


dezsoe | 2934    2017-11-27 18:22:20 [4714]

Ja, itt van magyarul is: 'UCCNC vezérlő program' téma, 4286. hozzászólás.

Előzmény: svejk, 2017-11-27 18:03:21 [4712]


dezsoe | 2934    2017-11-27 18:15:45 [4713]

Itt a megoldás. Gyors voltam?

Előzmény: svejk, 2017-11-27 18:03:21 [4712]


svejk | 33038    2017-11-27 18:03:21 [4712]

Ha már így ráérsz Dezsoe bácsi!

Van egy relativ hosszú úttal rendelkező szán, de csak a két végén van végálláskapcsoló.
Mivel az UCCNC program is egy faca kis program ezért az egyik végállást kinevezem szimultán Home-nak is.

Referencia felvételkor elmegy a kapcsolóra, lenyomja, lejön róla, átírja a DRO-t a Write offset-ben megadott a értékre és ott is marad.

De nekem az lenne a jó, ha a ref. felvétele után bejönne automatikusan egy megadott értékre. ( kb. középre)

Hogy lehetne ezt frappánsan megoldani?


Amatőr | 2184    2017-11-27 14:12:36 [4711]

Köszi! Akkor ez egy nyitott probléma

Előzmény: dezsoe, 2017-11-27 13:22:38 [4708]


exup | 639    2017-11-27 13:29:34 [4710]

Az MDI tökéletes. A lézer miatt, amúgy is abból kell indítanom. Kérlek segíts mester

Előzmény: dezsoe, 2017-11-27 13:25:11 [4709]


dezsoe | 2934    2017-11-27 13:25:11 [4709]

Meg lehet csinálni makróból, de csak MDI-ből fog futni (vagy nyomógombról), g-kódból nem. Ennek az az oka, hogy a cseréhez ki kell olvasni a beállítás képernyőkről az adatokat, megcserélni, majd nyomni egy apply settings gombot, amit viszont kód futás közben nem illik.

Előzmény: exup, 2017-11-27 13:17:34 [4707]


dezsoe | 2934    2017-11-27 13:22:38 [4708]

Tudtommal nem menthető. A laser plugin legenerálja és áttölti a főprogramba, de hogy onnan ki lehet-e csalogatni, erről nem tudok.

Előzmény: Amatőr, 2017-11-27 11:42:23 [4703]


exup | 639    2017-11-27 13:17:34 [4707]

Nincs valami megoldás akkor rá? Egy olyan makró, amibe esetleg komplett adatokat adok meg x tengelyhez tartozó paramétereknek? Aztán másikkal pedig resetelem? Látom, hogy ez neked pár perces dolog Még, ha nincs is benne kihívás.

Előzmény: dezsoe, 2017-11-27 12:59:09 [4706]

dezsoe | 2934    2017-11-27 12:59:09 [4706]

Igen, jogos! Akik eddig használták, egyforma motorokkal próbálták. Az is igaz, hogy mindez szépen le van írva a doksiban:

Function: void Swapaxis(int axis1, int axis2)
Description: This function swaps the step and direction pin numbers and pin negate settings of one axis with another axis.

Az is igaz, hogy én sem olvastam el, ezer bocs.

Előzmény: exup, 2017-11-27 12:11:45 [4705]


exup | 639    2017-11-27 12:11:45 [4705]

Tehát a makróval X tengelyhez beírja A tengely pin és port beállítását. De a többi adatát nem pl step/unit stb.

Előzmény: exup, 2017-11-27 12:03:22 [4704]


exup | 639    2017-11-27 12:03:22 [4704]

Elég, ha pontosan leírod pontosan miként kellene eredetileg mennie. Mert azért ez nézőpont kérdése. Ami biztos, hogy ha kézzel átírom az X tengelyhez A tengely minden adatát...portok, speed, velocity, step/unit, akkor X tengely gkódra az A tenglyem megy remekül. Amint ezt a makrót indítom, akkor meg nem ezt csinálja. Hívtalak tegnap, ha ráérsz szívesen elbeszélem

Előzmény: dezsoe, 2017-11-27 11:34:42 [4702]


Amatőr | 2184    2017-11-27 11:42:23 [4703]

Köszi!
Ez az adathalmaz meddig létezik? Van rá mód hogy az adatok (kép) és a gkód (keret) után újra elővegyem vagy újat kell generálni?

Előzmény: dezsoe, 2017-11-27 11:32:52 [4701]


dezsoe | 2934    2017-11-27 11:34:42 [4702]

Szia!
Ha a műhely eléri az üzemi hőfokot (nem kell télikabát), akkor megnézem, de nagyon csodálkoznék, ha nem lenne jó, mert már jó néhányan használták sikerrel.

Előzmény: exup, 2017-11-26 18:20:13 [4699]


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

Időrend:
Oldal 95 / 189 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   91  92  93  94  95  96  97  98  99   Következő ►  Utolsó ►|


 ◊