Macrohjälp
Macrohjälp
Tjena, Jag har ett par roterade axlar med encoder på, för "extern" avläsning. Encodern har en "index-punkt" som jag använder som home-limit. Problemet är att de är ganska högupplösta, så om jag kör hem dem, så går den oftast lite för långt. Någon som kan ge tips på ett litet macro som verkligen får den till nollan?
Kanske kan den backa och gå jättesakta?
Vore trevligt med lite hjälp då jag inte är den bästa programmeraren!
Kanske kan den backa och gå jättesakta?
Vore trevligt med lite hjälp då jag inte är den bästa programmeraren!
- Swech
- EF Sponsor
- Inlägg: 4750
- Blev medlem: 6 november 2006, 21:43:35
- Ort: Munkedal, Sverige (Sweden)
- Kontakt:
Re: Macrohjälp

då du glömt en hel del ytterligare information som behövs....
Swech
Re: Macrohjälp
Ok, mer information: Jag använder mach3. Encodern är denna https://www.elfadistrelec.no/no/koder-b ... p/11074628
Det är först och främst B-axeln jag vill ha nollställningen på.
Det är först och främst B-axeln jag vill ha nollställningen på.
- tecno
- Inlägg: 27248
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Macrohjälp
Vad har du emellan Mach3 PCn och dina drivare som vill ha denna återkopplingen från Index pulsen/encodern?
Re: Macrohjälp
Jag vet att jag kodade ett två-stegs homing macro en gång där man först kör "snabbt" och sen en gång till väldigt långsamt kan se om jag hittar det igen. (Undrar om jag inte postade det här på forumet faktiskt...)
Annars är en vanlig lösning för homing till enkoder index att använda både en "vanlig" home-switch och index-pulsen på följande sätt: Du låter den vanliga switchen trigga Set-ingången på en S/R-latch vars utgång går till Home-ingången och sedan låter index-pulsen från enkodern trigga Reset-ingången så.
Annars är en vanlig lösning för homing till enkoder index att använda både en "vanlig" home-switch och index-pulsen på följande sätt: Du låter den vanliga switchen trigga Set-ingången på en S/R-latch vars utgång går till Home-ingången och sedan låter index-pulsen från enkodern trigga Reset-ingången så.
Re: Macrohjälp
Här är svar till tecno:
Alltså jag använder en extern display där jag får upp nuffrorna. Då jag vill veta exakt läge på axeln som bara går ett varv, 360 grader. Sen har jag satt en liten ledlampa (5v)som lyser då jag träffar "index-punkten" därifrån går åxå tåtarna till breakotboarden(input limit). Har även en "oemled" som lyser i mach när den är hemma.
Vet inte om det gör det begripligt.... förstod kanske inte frågan helt heller
Alltså jag använder en extern display där jag får upp nuffrorna. Då jag vill veta exakt läge på axeln som bara går ett varv, 360 grader. Sen har jag satt en liten ledlampa (5v)som lyser då jag träffar "index-punkten" därifrån går åxå tåtarna till breakotboarden(input limit). Har även en "oemled" som lyser i mach när den är hemma.
Vet inte om det gör det begripligt.... förstod kanske inte frågan helt heller

Re: Macrohjälp
Till H.O
Jo det är något sådant jag behöver.
Kan inte ha vanlig switch på den roterande axeln.
Jo det är något sådant jag behöver.
Kan inte ha vanlig switch på den roterande axeln.
Re: Macrohjälp
Kanske inte en mekanisk switch men en induktiv eller optisk skulle du väl kunna ha?
Hur som helst, läs den här tråden.
Hur som helst, läs den här tråden.
Re: Macrohjälp
Gjorde en liten ändring, så den går en grad plus innan andra vändan.
Tack än en gång!
Kod: Markera allt
Option Explicit
' Skapa variabler för att lagring originalinställningarna.
Dim Default_B As Double
' Hämta originalinställningarna så vi kan återställa dom i slutet.
Default_B = GetParam("BRefPer")
' Ref-kör axlarna med originalinställningarna.
DoOEMButton(1026) ' Ref B
' Vänta på sista axeln.
While IsMoving()
Wend
' Min fantastiska ändring.
code "B1.0"
' Ändra ref-speed till 5%
SetParam("BRefPer", 5)
' Liten pause...
Sleep(450)
' Ref-kör axlarna igen, denna gång med den lägre hastigheten.
DoOEMButton(1026) ' Ref B
' Vänta på sista axeln.
While IsMoving()
Wend
' Återställ orignalinställningarna som vi "sparade" i början.
SetParam("BRefPer", Default_B)
Re: Macrohjälp
Härligt
Du bör nog lägga till G0 eller G1 i din code-rad så att det inte händer nått konstigt om den råkar stå i G2/G3 eller nån borrcyckel eller så.

Du bör nog lägga till G0 eller G1 i din code-rad så att det inte händer nått konstigt om den råkar stå i G2/G3 eller nån borrcyckel eller så.