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 44 / 189 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   40  41  42  43  44  45  46  47  48   Következő ►  Utolsó ►|

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

svejk | 33035    2019-11-29 13:15:11 [7324]

Én sem használtam még soha, sőt a mach3-nál sem láttam semmi értelmét, főleg nem léptetős cuccoknál.

Csak gondoltam megnézem hátha valami jó ötlet ez mégis.

Előzmény: dezsoe, 2019-11-29 12:38:33 [7321]


elektron | 15859    2019-11-29 13:03:59 [7323]

Ott a pont.

Előzmény: dtb, 2019-11-29 12:50:58 [7322]


dtb | 1914    2019-11-29 12:50:58 [7322]

Nálam be van állítva a késleltetés, hogy ne egyszerre rántsák meg a motorok a tápot, hanem egymástól eltérő időben, késleltetve. Magával a késleltetett enable jellel azt is ki tudod kerülni, hogy a legelső jelszint változást lépésként értelmezze a vezérlő. Szerintem.

Előzmény: svejk, 2019-11-29 09:31:00 [7320]


dezsoe | 2934    2019-11-29 12:38:33 [7321]

Ennek utána kell nézzek, mert nem használom.

Előzmény: svejk, 2019-11-29 09:31:00 [7320]


svejk | 33035    2019-11-29 09:31:00 [7320]

Még egy kis Enable kérdés.

- Mi célt szolgálhat az Enable jel késleltetési lehetősége?

Ehhez kapcsolódóan még a következőt nem értem.
(UC300ETH-5LPT)
Az oké, hogy az áram ráadásakor a kimenetek párszor tíz ms-ra aktívak lesznek, de a bekapcsolási tranziensek lecsengése után, ha elindítom az UCCNC-t akkor mondjuk a szóban forgó "Enable" kimenet miért lesz aktív majd egy másodpercig.
A szoftver nem tudja hogy "Reset"-be fog indulni?

Tudom a "Charge-Pump" használatával mindezek kiküszöbölhetőek, csak a miértjére vagyok kíváncsi.

Előzmény: svejk, 2019-11-28 08:42:38 [7315]

dezsoe | 2934    2019-11-28 15:29:19 [7319]

Szia!

Első tesztnek íme egy makró. Az anyagközeli bekapcsolás még nincs benne.

// ================================================================================================
// Multi coolant switch
// ================================================================================================
//
// Beállítások:
// const int EnableLED = 52; M7: 52, M8: 53
// const int tmrConst = 10; Kikapcsolás késleltetése 1/20 s-ban
// const int avgMax = 10; Átlagolt koordináták száma (1/20 s-onként olvas újat)
// double[] coolX = {5.0, -5.0}; Fúvókák X koordinátája a főorsóhoz képest (1. fúvóka, 2. fúvóka [, ...])
// double[] coolY = {5.0, -5.0}; Fúfókák Y koordinátája a főorsóhoz képest (1. fúvóka, 2. fúvóka [, ...])
// int[] vPorts = {3, 3}; Szelep kimenetek port száma (1. fúvóka, 2. fúvóka [, ...])
// int[] vPins = {1, 2}; Szelep kimenetek láb száma (1. fúvóka, 2. fúvóka [, ...])
// bool[] vNeg = {false, false}; Kimenetek ActiveLow beállításai: ha negált, akkor true (1. fúvóka, 2. fúvóka [, ...])
// int[] coolZ = {0, 1}; Z mozgáskor melyik sorszámú szelepek menjenek, számozás 0-tól indul
//
// Mxxx.txt, ahol xxx egy még nem használt sorszám, MacroLoops-ban ezt a sorszámot kell beállítani, AutoRun pipával
//
// ================================================================================================

if (firstRun)
{
firstRun = false;
for (int i = 0; i < avgMax; i++)
{
deltaXa[i] = 0.0;
deltaYa[i] = 0.0;
}
}

double machX = exec.GetXmachpos();
double machY = exec.GetYmachpos();
double machZ = exec.GetZmachpos();

double deltaX = machX - lastX;
double deltaY = machY - lastY;
double deltaZ = machZ - lastZ;

deltaXa[avgPtr] = deltaX;
deltaYa[avgPtr] = deltaY;

if (++avgPtr == avgMax) avgPtr = 0;

deltaX = 0.0;
deltaY = 0.0;

for (int i = 0; i < avgMax; i++)
{
deltaX += deltaXa[i];
deltaY += deltaYa[i];
}

deltaX = deltaX / avgMax;
deltaY = deltaY / avgMax;

int valve = FindValve(deltaX, deltaY);

if (exec.GetLED(EnableLED) && (exec.GetLED(M3LED) || exec.GetLED(M4LED))) // Spindle is on and coolant enabled
{
if (deltaZ != 0.0)
{
// Ha ki volt kapcsolva (lastValve), akkor valamit be kéne kapcsolni
timer = tmrConst;
SetValve(-2);
}
else if ((deltaX != 0.0) || (deltaY != 0.0))
{
// Irány bekapcsolása
timer = tmrConst;
SetValve(valve);
}
}
else
if (timer > 0) timer = 1; // Instant off if turned on not enabled

if (timer > 0)
if (--timer == 0)
SetValve(-1);

lastX = machX;
lastY = machY;
lastZ = machZ;

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

#Events

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

const int M3LED = 50;
const int M4LED = 51;

const int EnableLED = 52; // M7: 52, M8: 53

const int tmrConst = 10; // Number of 1/20 s

static double lastX = 0.0;
static double lastY = 0.0;
static double lastZ = 0.0;

static int timer = 0;

const int avgMax = 10;

double[] deltaXa = new double[avgMax];
double[] deltaYa = new double[avgMax];

double[] coolX = {5.0, -5.0};
double[] coolY = {5.0, -5.0};

int[] vPorts = {3, 3};
int[] vPins = {1, 2};
bool[] vNeg = {false, false};

int[] coolZ = {0, 1};

int lastValve = -1;

int avgPtr = 0;

bool firstRun = true;

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

private void SetValve(int vset)
{
if (vset != lastValve)
{
if (vset == -2)
{
// Z szelepek nyitása
bool inCoolZ;
for (int i = 0; i < vPorts.Length; i++)
{
inCoolZ = false;
for (int j = 0; j < coolZ.Length; j++)
if (coolZ[j] == i)
inCoolZ = true;
if (inCoolZ)
SetPin(vPorts[i], vPins[i], vNeg[i]);
else
ClrPin(vPorts[i], vPins[i], vNeg[i]);
}
}
else
for (int i = 0; i < vPorts.Length; i++)
{
if (i == vset)
SetPin(vPorts[i], vPins[i], vNeg[i]);
else
ClrPin(vPorts[i], vPins[i], vNeg[i]);
}
lastValve = vset;
Console.WriteLine("SetValve: " + vset.ToString());
}
}

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

private void SetPin(int port, int pin, bool neg)
{
if (neg)
exec.Clroutpin(port, pin);
else
exec.Setoutpin(port, pin);
}

private void ClrPin(int port, int pin, bool neg)
{
if (neg)
exec.Setoutpin(port, pin);
else
exec.Clroutpin(port, pin);
}

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

int FindValve(double deltaX, double deltaY)
{
double angle = 0.0;
double check = 181.0;
int ptr = 0;
int valve = -1;

if ((deltaX != 0.0) || (deltaY != 0.0))
{
for (int i = 0; i < coolX.Length; i++)
{
angle = Math.Abs(GetAngle(coolX[i], coolY[i], deltaX, deltaY));
if ((angle == check) && (i == lastValve))
valve = i;
if (angle < check)
{
check = angle;
valve = i;
}
}
}

return valve;
}

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

double GetAngle(double x1, double y1, double x2, double y2)
{
double angle = Math.Atan2(y2, x2) - Math.Atan2(y1, x1);

angle = angle * 360 / (2 * Math.PI);

if (angle < 0) angle += 360;

if (angle > 180) angle = -(360 - angle);

return angle;
}

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

Előzmény: eduard, 2019-11-25 16:42:37 [7307]


dezsoe | 2934    2019-11-28 13:42:07 [7318]

Igen, igen. Mindkét kérdésre. (Az elsőre pontosan az a válasz, hogy reset kioldva és a tengely engedélyezve van (Axis enabled pipa).)

Előzmény: svejk, 2019-11-28 13:35:17 [7317]


svejk | 33035    2019-11-28 13:35:17 [7317]

Ja, megyen csak egyszerűen be kell írni a LED számát az output triggerbe.

Előzmény: svejk, 2019-11-28 13:28:47 [7316]


svejk | 33035    2019-11-28 13:28:47 [7316]

Ha kreálok a RUN képernyőre egy LED-et, és elnevezem mondjuk 999-re akkor ennek a LED-nek az állapotát hogy is tudom kivinni valamelyik fizikai kimenetre?
Ehhez is makrot kell írni?

Előzmény: svejk, 2019-11-28 08:42:38 [7315]


svejk | 33035    2019-11-28 08:42:38 [7315]

A tengelyeknél az "Enable" kimenetek mindössze az E-stoppal vannak kapcsolatban?


Scythian | 171    2019-11-26 22:23:50 [7314]

Köszönöm, már ez is segítség.
Menten meg is lesem.
Igazándiból nem tudtam megfelelő topicot választani, mert általános vagy nincs, vagy olyan régen szóltak hozzá, hogy valahol leghátul lenne meg. S mivel már majdnem CNC, ezért gondoltam itt megkapom a választ.
További szép estét!

Előzmény: Aknai Gábor, 2019-11-26 21:57:03 [7312]


Aknai Gábor | 3083    2019-11-26 21:59:03 [7313]

"nem tudok" lemaradt az egyszerűbbet elől

Előzmény: Aknai Gábor, 2019-11-26 21:57:03 [7312]


Aknai Gábor | 3083    2019-11-26 21:57:03 [7312]

Szia,

szerintem rossz helyre írtál, de ha már így alakult én egyszerűbbet és pláne ingyeneset a Fusion360-nál.
vjanos fórumtársunk remek oktató videót is készített róla, ami a YouTube-on elérhető.
Ráadásul van külön topikja, rengeteg hasznos infóval illetve közös segítségnyújtási lehetőséggel.
Gyakorlatilag pár óra alatt bele lehet jönni az alkatrész készítésbe és a szerszámpálya generálásba.

Üdv, Gábor

Előzmény: Scythian, 2019-11-26 21:49:29 [7311]


Scythian | 171    2019-11-26 21:49:29 [7311]

Üdv Urak!

Az alábbiakban kérném a segítségetek.
Keresek egyszerűbb szerkesztő programot ( 2D ), ami képes CAM kimeneti file-t generálni. Hasonlóra gondoltam mint pl. a Coreldraw, de nem szeretnék most hónapokat tölteni egy olyan progi megtanulására, mint az Autocad
Toni


Thowra | 267    2019-11-26 14:21:42 [7310]

Köszönöm a gyors segítséget. Így már működik.

Előzmény: dezsoe, 2019-11-26 13:22:24 [7309]

dezsoe | 2934    2019-11-26 13:22:24 [7309]

Szia!

Nekem kiírja:

fciklus=1;

for (fciklus = 1; fciklus <=30; fciklus++)
{
Thread.Sleep(1000);

exec.AddStatusmessage(fciklus.ToString());
//Itt szeretném kiírni a Statusmessage boxba a for ciklus állapotát, a fciklus változót

if(!exec.GetLED(91))
{
exec.AddStatusmessage("A termék megérkezett");
break;
}
}


// ============================================================================= -- Events --

#Events

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

int fciklus;

Előzmény: Thowra, 2019-11-26 12:42:56 [7308]


Thowra | 267    2019-11-26 12:42:56 [7308]

Üdv!
Egy termék megérkezésére kell várnom maximum 30s ig. Ha megérkezik mehet tovább a program azonnal, ha nem akkor leáll a gép. A for ciklus működik de a fciklus nevű változót nem tudom kiírni. Miként tudom kiíratni?
A segítséget előre is köszönöm.

fciklus=1;

for (fciklus = 1; fciklus <=30; fciklus++)
{
Thread.Sleep(1000);

//Itt szeretném kiírni a Statusmessage boxba a for ciklus állapotát, a fciklus változót

if(!exec.GetLED(91))
{
exec.AddStatusmessage("A termék megérkezett");
break;
}

}


// ============================================================================= -- Events --

#Events

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

int fciklus;


eduard | 254    2019-11-25 16:42:37 [7307]

Remek kerdes. Z-nel mindketto mehetne. Fokent 3d-s alakzatokat (sok a Z) és néha táblás munkák.
Mi a megoldás az anyag közeli bekapcsolásra?

Előzmény: dezsoe, 2019-11-25 16:26:23 [7306]


dezsoe | 2934    2019-11-25 16:26:23 [7306]

Mit gyártasz? (Mik a jellemző mozgások?) Z irányú mozgásnál melyik kapcsoljon? Esetleg mindkettő?

Előzmény: eduard, 2019-11-24 23:01:32 [7304]


dezsoe | 2934    2019-11-25 10:50:10 [7305]

Rendben, kitalálok valamit.

Előzmény: eduard, 2019-11-24 23:01:32 [7304]


eduard | 254    2019-11-24 23:01:32 [7304]

Elég új vagyok az UCCNC felhasználói között, ezért ezt a döntést a tanácsod alalpján tudom meghozni. Számomra a fontos, az automatizált folyamatkezelés és lehetőség szerint, ne legyen verziókövetési gond a későbbiekben.

Előzmény: dezsoe, 2019-11-24 22:51:38 [7303]


dezsoe | 2934    2019-11-24 22:51:38 [7303]

Oké, a 45° rendben. El kéne viszont döntened, hogy mit és hol szeretnél megoldani. Előzőleg makrót emlegettél, most meg a post-ban oldanád meg. Akkor most melyik? Mindkettőnek van létjogosultsága. Ha a post-ot módosítod, akkor azt az új verziókon is át kell majd vezetned. A makrók nem tudhatják, hogy következetesen állítasz-e elő g-kódot. Mivel két rendszert akarsz illeszteni, előre érdemes kitalálnod, hogy melyik részfeladatot hol végzed el és utána ehhez tartanod is kell magad, mert egyébként káosz lesz.

Előzmény: eduard, 2019-11-24 22:27:22 [7302]


eduard | 254    2019-11-24 22:27:22 [7302]

Pillanatnyilag ez egy teszt, hatha eleg a ketto, es jobban tavolitja el a forgacsot min negy. X-hez kepest 45 fokban elforgatva kerulnek a gepre. Ez definialja az aktiv iranyukat.

Előzmény: dezsoe, 2019-11-24 21:38:43 [7300]


eduard | 254    2019-11-24 22:21:15 [7301]

Az elkepzelesem az, hogy a postban lenne definialva, ahogy a maromotor logikaja is, hogy mely retegnel hogy viselkedjen. A feed height retegre kotnem a mistet, ha elerheto a postbol.
Az iranynak mi a logikaja?

Előzmény: dezsoe, 2019-11-24 21:38:43 [7300]


dezsoe | 2934    2019-11-24 21:38:43 [7300]

Az idén már valakinek csináltam 4 szelepeset, de ott nem számított a magasság, csak az irány. Hogyan szeretnéd a magasságot megadni és hogyan definiálod a két szelep lefedettségét?

Előzmény: eduard, 2019-11-24 18:48:46 [7295]

eduard | 254    2019-11-24 20:50:52 [7299]

Köszönöm, ezt nem tudtam. Később hasznos lesz. A jelenlegi feladatra azonban nem alkalmas a funkció.

Előzmény: svejk, 2019-11-24 20:47:35 [7297]


eduard | 254    2019-11-24 20:49:02 [7298]

Fusion360-al generálom, majd kézzel javítom ha szükésges. Ezt a feladatot automatizálnám, ha más használja a gépet, akkor is tudja.

Előzmény: svejk, 2019-11-24 20:42:29 [7296]


svejk | 33035    2019-11-24 20:47:35 [7297]

A hűtés bekapcsolása utáni késleltetett indulás idejét egyébként a Configuration/axis setup/spindle fül jobb alsó sarkában tudod megváltoztatni.

Előzmény: eduard, 2019-11-24 18:48:46 [7295]


svejk | 33035    2019-11-24 20:42:29 [7296]

Kézzel írod a kódot, vagy valamilyen CAM progi?

Előzmény: eduard, 2019-11-24 18:48:46 [7295]


eduard | 254    2019-11-24 18:48:46 [7295]

Udv, az alabbi kerdesekre keresek megoldast az UCCNC konfiguralasaban:
- A kodhutot szeretnem ciklikusan kapcsolni amibol ket fuvokam van jelenleg es a marasi iranynak megfelelot kellene bekapcsolnom.
- A kodhuto jelenleg a marasi munka megkezdesekor aktivalodik, ami nem hatekony. Szeretnem, ha az anyagba lepes elott aktivalhatnam es az anyagbol kieólepeskor leallitanam. Amennyiben a clearance tartomanyon belul van a kes, a hutes marad bekapcsolva es ha kozben valtozik az irany, annak megfelelo fuvoka aktivalodik.

Remelhetoleg itt kapok segitseget. A makro prograozasban nincs gyakorlatom.


dezsoe | 2934    2019-11-22 22:30:45 [7294]

Előzmény: István83, 2019-11-22 21:08:58 [7293]


István83 | 326    2019-11-22 21:08:58 [7293]

Köszönöm!
Működik rendesen.

Előzmény: dezsoe, 2019-11-21 22:30:57 [7291]


István83 | 326    2019-11-21 23:06:08 [7292]

Ok .
Értem akkor frissítek.

Előzmény: dezsoe, 2019-11-21 22:30:57 [7291]


dezsoe | 2934    2019-11-21 22:30:57 [7291]

Teljesen mindegy, mivel az a kettővel korábbi verzió. Mivel a jelenlegivel működik rendesen, nincs vele semmi tennivaló.

Előzmény: István83, 2019-11-21 22:22:25 [7290]


István83 | 326    2019-11-21 22:22:25 [7290]

Még egy dolog.A képernyőn világit a főorsó jel,csak a kimenetet veszi el.A diagnosztika ablakban is elveszi a kimeneti jelet.

Előzmény: dezsoe, 2019-11-21 21:17:26 [7288]

dezsoe | 2934    2019-11-21 22:19:44 [7289]

Igen, a 2110-ben valóban hibás. Frissíts!

Előzmény: István83, 2019-11-21 20:57:56 [7287]


dezsoe | 2934    2019-11-21 21:17:26 [7288]

Hümm. Megnézem nemsoká, aztán írok.

Előzmény: István83, 2019-11-21 20:57:56 [7287]


István83 | 326    2019-11-21 20:57:56 [7287]

Szia!
Ucr201 plugin beta1.4
1.2110 az uccnc

Előzmény: dezsoe, 2019-11-21 17:01:31 [7284]


István83 | 326    2019-11-21 20:56:50 [7286]

Szia!
Ucr201 plugin beta1.4
1.2110 az uccnc

Előzmény: dezsoe, 2019-11-21 17:01:31 [7284]


István83 | 326    2019-11-21 18:10:22 [7285]

Vissza érek,és megnézem melyiket használom.

Előzmény: dezsoe, 2019-11-21 17:01:31 [7284]


dezsoe | 2934    2019-11-21 17:01:31 [7284]

Szia!

Nálam nem csinálja, most próbáltam ki. A plugin verziója nálam Beta 1.4, az UCCNC-é 1.2112.

Előzmény: István83, 2019-11-21 15:02:59 [7283]


István83 | 326    2019-11-21 15:02:59 [7283]

Üdvözlet!
Egy olyan kérdésem lenne,hogy az UCR201 kézivezérlőnél ha bekapcsolom a főorsót miert kapcsolja mindig ki amikor tengelyt választok?


dezsoe | 2934    2019-11-16 09:58:31 [7282]

Egyelőre így van.

Előzmény: mazso1988, 2019-11-16 08:43:56 [7281]


mazso1988 | 24    2019-11-16 08:43:56 [7281]

Csak azt mondátok, hogy továbbra is az 1.2049-es verzió a stabil kiadás?

Előzmény: dezsoe, 2019-11-16 08:28:35 [7280]


dezsoe | 2934    2019-11-16 08:28:35 [7280]

Így van, az új plugin a régi rendszerben nem megy.

Előzmény: mazso1988, 2019-11-16 08:16:41 [7279]

mazso1988 | 24    2019-11-16 08:16:41 [7279]

Az operációs rendszer az 64 bites. Rosszul írtam még jelenleg az 1.2049 UCCNC-t használom. Ezzel gondolom még valóban nem kompatibilis. Mert próbáltam az AutoLeveller két verzióját is.
1.0048 és az 1.0049-et. Tényleg magasabb verzióra kell váltanom az UCCNC-t.

Előzmény: dezsoe, 2019-11-16 07:33:05 [7278]


dezsoe | 2934    2019-11-16 07:33:05 [7278]

Hümm. Letöltöttem az angol fórumról (gondolom, te is), és nálam megjelenik a plugin listában. Nálam 64 bites Win fut. Nézd meg, hogy nálad a Win hány bites, mert - mint írtam - előfordulhat, hogy csak 64 bitre fordította Cahit a programot és nálad 32 bites a rendszer.

Előzmény: mazso1988, 2019-11-16 06:46:24 [7277]


mazso1988 | 24    2019-11-16 06:46:24 [7277]

Bocsánat. Valóban nem mondtam melyik pluginnal szenvedek. AutoLeveller 1.0049 verziót szerettem volna elindítani UCCNC 1.2112 verzióval. Elvileg ha jól láttam a 1.0049 verzió most a legfrissebb az AutoLevellernél.

Előzmény: dezsoe, 2019-11-15 20:48:33 [7276]


dezsoe | 2934    2019-11-15 20:48:33 [7276]

Sikerült az, csak nem jó verziók találkoztak. Ha konkrétabban leírnád, hogy mivel küzdesz, akkor jobban tudnék segíteni.

Két fontos változás volt a rendszerben: 1.2102-től .Net2 helyett .Net4, 1.2103-tól csak 32 bites helyett 32 vagy 64 bites környezethez készült. A plugin-ok szempontjából ez a következőt jelenti:
- 1.2102 előtti UCCNC nem látja a .Net4-es plugin-okat
- 1.2103-tól a plugin-oknak úgy kell lefordítva lenniük, hogy az éppen futó UCCNC bitszámával megegyezzenek, tehát 32 bites oprendszeren a plugin-nak kell 32 biten futnia (vagy úgy van fordítva vagy 32/64 bitesre), illetve 64 biten is ugyanígy.

Az UCCNC nem fogja azokat a plugin-okat megmutatni, amiket nem tud futtatni, ezért nem látod.

Ha például az Autoleveler-rel próbálkozol, akkor figyelni kell, mert Cahit hajlamos csak egy rendszer alá fordítani. Nála megy, neked meg vagy ugyanaz a környezet vagy így jártál...

Előzmény: mazso1988, 2019-11-15 19:35:51 [7275]


mazso1988 | 24    2019-11-15 19:35:51 [7275]

Sajnos nem sikerült. Kicseréltem a file-t és azóta nem is található meg a Plugin a listában.

Előzmény: dezsoe, 2019-11-15 19:20:56 [7273]


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

Időrend:
Oldal 44 / 189 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   40  41  42  43  44  45  46  47  48   Következő ►  Utolsó ►|


 ◊