Fontos tudnivalók a migrációval kapcsolatban, Kérlek nézd meg a Régi fórumról új fórumra való költözés
Idézetet írta: Vetesi75 Dátum 2025 december 19, 16:23Én arra gondoltam, ha engedély nélkül jönne a forgás parancs vagy forgás közben menne el az engedély, akkor ne csak a forgást vegye el, hanem a szánmozgást, programvégrehajtást is szüntesse be. Előbbi egy tiltott kezelés (nyitott behúzással megforgatni), utóbbi egy rendellenes üzemállapot (valamiért elmegy a behúzás vagy elmozdul alaphelyzetről a cserélőkar, stb. forgás közben).
Idézetet írta: svejk Dátum 2025 december 19, 14:50Úgy van...Én arra gondoltam, ha engedély nélkül jönne a forgás parancs vagy forgás közben menne el az engedély, akkor ne csak a forgást vegye el, hanem a szánmozgást, programvégrehajtást is szüntesse be. Előbbi egy tiltott kezelés (nyitott behúzással megforgatni), utóbbi egy rendellenes üzemállapot (valamiért elmegy a behúzás vagy elmozdul alaphelyzetről a cserélőkar, stb. forgás közben).
Nem az öntartás a lényeg, hanem hogy csak bejövő M3 nélkül tudjon behúzni az engedély relé.
Feleslegesen ne bántsuk a vészköröket, ha előfordul az eset azt kiíratom a képernyőre a további teendőkkel.
Idézetet írta: Vetesi75 Dátum 2025 december 19, 14:05Gondolom akkor van engedély, mikor a cserélő alaphelyzetbe kerül és a szerszám be van húzva az orsóba.
Minek kell az öntartás az engedélyhez?
Szerintem érdemes lenne visszafelé logikával is reteszelni, hogyha nincs engedély, de jön vagy van egy M3, akkor csapja le a biztonságirelét.
Idézetet írta: svejk Dátum 2025 december 19, 11:03Szerszámváltó...
De lehet a relés logika lesz:
Idézetet írta: Vetesi75 Dátum 2025 december 19, 10:09Üdv!
Kíváncsiságból kérdezném, hogy a feltétel a szárszám váltáshoz kapcsolódik vagy gépi mdb. megfogáshoz vagy is-is?

Idézetet írta: svejk Dátum 2025 december 19, 00:08Üdv!Az MDI végül is azt csinálja mintha a G-kódból futtatnám az M3-at tehát ez nem probléma.
Jó lesz ez, persze ahogy beszélünk róla elgondolkodtam, lehet kicsit túl is tolom ezt a dolgot...
Idézetet írta: svejk Dátum 2025 december 18, 23:08Egy makróval lehetne tiltani a gombokat és egy másikkal hogy addig ne lehessen ciklust indítani de akkor még mindig ott van az MDI mód.
Az MDI végül is azt csinálja mintha a G-kódból futtatnám az M3-at tehát ez nem probléma.Idézetet írta: Szedlay Pál Dátum 2025 december 18, 21:14Megoldás: az M3/M4 makrót felülírod, és a makró csak akkor hívja meg a beépített spindle-indítást, ha a kiválasztott bemenet aktív. Így minden mozgás mehet tovább, csak a főorsó indulása lesz "kapuzva".
1) Válaszd ki, melyik fizikai bemenet legyen az "engedély"
Legyen mondjuk Port = P, Pin = N (pl. port4 pin15).
Ennek a port/pin logikai állapotát UCCNC-ben LED-kóddal kényelmes olvasni: a GetLED() az adott port/pin aktuális szintjét adja.
A port/pin → LED kód számolása (az ismert kiosztás alapján):
ha port = 1: LED = pin
ha port = 2..5: LED = 68 + (port-2)*17 + pin
2) Írd meg az M3.txt makrót (CW) – csak engedély esetén indul
...\UCCNC\Profiles\<profilneved>\macro\M3.txt:
// ====== ÁLLÍTSd BE ======
int port = 4; // <- ide a port
int pin = 15; // <- ide a pin
int enableLed = (port == 1) ? pin : (68 + (port - 2) * 17 + pin);
// ====== KAPUZÁS ======
if (!AS3.GetLED(enableLed))
{
exec.AddStatusmessage("SPINDLE TILTVA: engedely bemenet inaktiv.");
return;
}
// ====== BIZTOS CW INDÍTÁS (beépített gombkód) ======
bool cwOn = AS3.Getbuttonstate(114); // M3 toggle
bool ccwOn = AS3.Getbuttonstate(115); // M4 toggle
if (ccwOn) exec.Callbutton(115); // CCW off
if (!cwOn) exec.Callbutton(114); // CW on
3) Írd meg az M4.txt makrót (CCW) – csak engedély esetén indul
...\UCCNC\Profiles\<profilneved>\macro\M4.txt:
// ====== ÁLLÍTSd BE ======
int port = 4; // <- ide a port
int pin = 15; // <- ide a pin
int enableLed = (port == 1) ? pin : (68 + (port - 2) * 17 + pin);
// ====== KAPUZÁS ======
if (!AS3.GetLED(enableLed))
{
exec.AddStatusmessage("SPINDLE TILTVA: engedely bemenet inaktiv.");
return;
}
// ====== BIZTOS CCW INDÍTÁS ======
bool cwOn = AS3.Getbuttonstate(114); // M3 toggle
bool ccwOn = AS3.Getbuttonstate(115); // M4 toggle
if (cwOn) exec.Callbutton(114); // CW off
if (!ccwOn) exec.Callbutton(115); // CCW on
Ellenőrzés fejben:
Ha az engedély bemenet hamis → a makró azonnal return, tehát a főorsó nem indul.
Ha igaz → a makró a beépített 114/115 gombkódokon keresztül indít, tehát ugyanazt csinálja, mint a gyári Spindle CW/CCW.
4) Hogy a Spindle CW/CCW gomb is ezt kövesse
Két opció van; a biztos módszer:
UCCNC Screen editor: a Spindle CW gomb kódját állítsd pl. 20001-re, a Spindle CCW gombét 20002-re.
Hozd létre:
M20001.txt → ugyanaz a logika, mint az M3, a végén exec.Callbutton(114);
M20002.txt → ugyanaz a logika, mint az M4, a végén exec.Callbutton(115);
Így a gombnyomás makrót futtat, tehát ugyanúgy kapuzott lesz, mint az M3/M4 G-kódból.
Idézetet írta: istvan3 Dátum 2025 december 18, 20:18Kíváncsiságból bevetettem a chatGPT. Adott egy talán használható ötletet:
Macro felügyelet, ami nem tiltja az indítást, de ha nincs bemenet leállítja a főorsót.
local input_led = 1000
local spindle_led = 11 -- spindle running LED
if GetLED(spindle_led) == 1 and GetLED(input_led) == 0 then
MessageBox("HIBA",
"Főorsó fut, de a biztonsági bemenet megszűnt!",
0)
Stop()
SpinStop()
end
B opciónak egy egyedi makrót ajánl, amire az M3/M4 sorokat a G kódban ki kell cserélni, így ott már program futása közben is jó lesz a makró.
Idézetet írta: istvan3 Dátum 2025 december 18, 20:18Kíváncsiságból bevetettem a chatGPT. Adott egy talán használható ötletet:
Macro felügyelet, ami nem tiltja az indítást, de ha nincs bemenet leállítja a főorsót.
local input_led = 1000
local spindle_led = 11 -- spindle running LED
if GetLED(spindle_led) == 1 and GetLED(input_led) == 0 then
MessageBox("HIBA",
"Főorsó fut, de a biztonsági bemenet megszűnt!",
0)
Stop()
SpinStop()
end
B opciónak egy egyedi makrót ajánl, amire az M3/M4 sorokat a G kódban ki kell cserélni, így ott már program futása közben is jó lesz a makró.