Hírek:

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

Main Menu

Mach3 CNC

Indította gaben, 2024 április 09, 16:55

Előző téma - Következő téma

vc886isf9

Megvettem a gépet és pont HP win7-el 64 bites, dokkolóval szépen mozgatja a Mach3, bár még hallok különbséget a gép működésénél az asztali gép, és a laptop irányítása között. Ennek okát még nem sikerült megtalálni [#wilting]

moly

Sziasztok !
Volna valakinek M6 macrója megírva automata szerszámváltóhoz ?
 
Esetleg bármilyen  M kód amivel lehetne az "enable 1-4 "
vagy output 7-8-9-10 portokat programból ki-be kapcsolni ?
Köszönettel!

VViktor

Szia. Nem  tudom,hogy jó lesz-e neked,de kiindulásnak tökéletes. Béni féle makró.

dezsoe

Szia!

Nem vagyok egy Mach-guru, de ha jól értelmezem a leírásodat, akkor ennyire van szükséged (m6start.m1s-be másolandó):

' ----- Tool 1..4 -> OutPut7..10
tool = GetSelectedTool()
SetCurrentTool( tool )

DeActivateSignal(OutPut7)
DeActivateSignal(OutPut8)
DeActivateSignal(OutPut9)
DeActivateSignal(OutPut10)

select case tool
  case 1
    ActivateSignal(OutPut7)
  case 2
    ActivateSignal(OutPut8)
  case 3
    ActivateSignal(OutPut9)
  case 4
    ActivateSignal(OutPut10)
end select

Nem derült ki, hogy kell-e várakozni, a jelnek aktívan kell-e maradni, valahonnan tudjuk-e, hogy sikerült a szerszám cseréje stb. Ha gondolod, keress, segítek.

moly

Az én szerszámtartóm csak 4 állású, valamint a logikát egy plc-vel akarom megoldani . ahhoz kapcsolódna a négy kimenet, valamint ha a szerszámváltás kész akkor a Mac3 várjon egy bemeneti jelet hogy futhat tovább a program . Köszönöm a linket tanulságos.!

moly

Szia!
Köszönöm a segítséget igen erre gondoltam, a hétvégén ki fogom próbálni . A plc-nek elég ha egy 1s impulzust kap  hogy elinduljon a szerszámforgatás , nem kell csak addig aktívnak maradni a jelnek. Akkor legyen befejezett a szerszámváltás mikor mondjuk az OEM Trig #1 bemenet jelet kap.
Jelentkezem majd mire jutottam .
Köszönettel !

dezsoe

Szia!

Szerintem nem triggert kéne használnod, hanem sima digitális bemenetet. Kicsit "bolondbiztosítottam" a programot, hogy csak T1..4-ig működjön. Nem időzítettem, hanem a csere befejezését jelző bemenet (jelenleg Input4) aktiválódásakor kapcsolom le a kimenetet, remélem, így is jó lesz a PLC-nek. Tehát a kért szerszámnak megfelelő kimenetet bekapcsolja, majd vár a "kész" jelzésre. Ha az megjött, akkor lekapcsolja a kimenetet. Ha a kért szerszám már be van töltve, akkor nem történik semmi.

newtool = GetSelectedTool()

if newtool  GetCurrentTool() then
  ' Van ertelme elinditani a cseret
  if newtool > 0 and newtool < 5 then
    ' M6 Tx -> megfelelo kimenet aktivalasa
    select case newtool
      case 1
        ActivateSignal(Output7)
      case 2
        ActivateSignal(Output8)
      case 3
        ActivateSignal(Output9)
      case 4
        ActivateSignal(Output10)
    end select
    ' Megvarjuk a szerszamcsere veget
    while not IsActive(Input4)
      Sleep(50)
    wend
    ' Kimenetek kikapcsolasa
    DeActivateSignal(Output7)
    DeActivateSignal(Output8)
    DeActivateSignal(Output9)
    DeActivateSignal(Output10)
  else
    ' Nincs ilyen szerszam -> figyelmeztetes
    MsgBox("M6 T1..4!")
  end if
  SetCurrentTool(newtool)
end if

moly

Az előző változatot teszteltem és remekül működik !
Ez, ezt a hibaüzenetet dobja: Scripter Compile Error in : M6 start.mis
Ha eszterga szerszámcserélőhöz szeretném használni , és ott ilyen formátumban kell megadni a szerszámot T 101
-T 404
Akkor sokat kell változtatni rajta?
Köszönettel !

dezsoe

Szia!

Bocs, hogy csak most válaszolok, de napközben nem voltam itthon, az utóbbi 4 órában meg a Mach szívatott, mert eszembe nem jutott volna, hogy az egyes szerszám a 1xx-es... [#falbav]

Amit küldtem kódot, az jó lenne, ha a fórum motor nem lopta volna el a nem egyenlő jelet, ami két "kacsacsőr" egymással szemben. De ellopta, így egy kicsit átírtam, hogy ne legyen benne. Íme (teszteltem turn alatt is, eszi a T1xx, T2xx, T3xx és T4xx szerszámokat, a kész jelzés maradt az Input4-en):

newtool = GetSelectedTool()

If Not (newtool = GetCurrentTool()) Then
  ' Van ertelme elinditani a cseret
  Select Case newtool
    Case 1
      ActivateSignal(Output7)
    Case 2
      ActivateSignal(Output8)
    Case 3
      ActivateSignal(Output9)
    Case 4
      ActivateSignal(Output10)
    Case Else
      MsgBox("T1xx..4xx!")
      End
  End Select
  ' Megvarjuk a szerszamcsere veget
  While Not IsActive(Input4)
    Sleep(50)
  Wend
  ' Kimenetek kikapcsolasa
  DeActivateSignal(Output7)
  DeActivateSignal(Output8)
  DeActivateSignal(Output9)
  DeActivateSignal(Output10)
  SetCurrentTool(newtool)
End If

u6p5jr23k

Tisztelt Szakemberek!

A kérdésem, amiben segítséget kérek, mehetne a kezdő, vagy a béna vagyok topikba is. Azonban a Mach3-ra vonatkozik.

Szóval, volt egy nagyon hosszú kódom, amit 104000. sornál meg kellett állítanom. Kikapcsoltan a gépet. Másnap akartam folytatni. Be is írtam a sorszámot, hogy onnan folytassa, azonban elkezdte pörgetni a sorokat nulláról. Persze a gép nem mozgott, csak az ablakban pörögtek a sorok. Nem győztem kivárni, hogy odaérjen a 104000. sorhoz, úgyhogy kénytelen voltam az eredeti kódból kivágni az említett sorszámtól a maradék kódrészletet.

Kérdésem az, hogy ez így normális, vagy ismét elrontottam valamit?

000000000

Az a jó megoldás, ha hagyod végigpörögni és ráállni az adott kódra.
Akkor biztosan jól folytatja.
Így, nem mindig sikerül neki.A program elejei kódok is számítanak neki. Meg az előzmények is. Ezt pörgetéskor mind figyelembe tudja venni.
Remélem hagytál vágatlan kódot is. Csak a másolatot vagdostad.[#nemtudom]

u6p5jr23k

Szia Danibá.
Kösz a választ. Persze, hogy van másolat.
Azt hittem, hogy van más megoldàs... Egy óra nem volt elég, hogy elpörögjön a kezdésig.

vadember

A gyári vezérlőkben van a GO TO utasítás ilyen esetekre. A Mach3-ban nincs meg ez a lehetőség?

kmajer

Emlékeim szerint vmi "run from here" lehetőség van machban

kmajer

ez amolyan száraz ellőrefuttatás-ként működik.
darabra ráállás általában lineárisan megy
érdemes közel pozicionálni a szerszámmal nehogy átszántson
a darabon