Sida 1 av 1

Macrohjälp

Postat: 22 december 2016, 11:52:01
av Larzolov
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!

Re: Macrohjälp

Postat: 22 december 2016, 11:57:03
av Swech
:humm: Om du läser din tråd och inte vet det du redan vet..... så ser du att det är svårt att komma med förslag
då du glömt en hel del ytterligare information som behövs....
Swech

Re: Macrohjälp

Postat: 22 december 2016, 12:12:31
av Larzolov
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å.

Re: Macrohjälp

Postat: 22 december 2016, 12:26:52
av tecno
Vad har du emellan Mach3 PCn och dina drivare som vill ha denna återkopplingen från Index pulsen/encodern?

Re: Macrohjälp

Postat: 22 december 2016, 12:34:28
av H.O
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å.

Re: Macrohjälp

Postat: 22 december 2016, 12:44:05
av Larzolov
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 :oops:

Re: Macrohjälp

Postat: 22 december 2016, 12:46:19
av Larzolov
Till H.O
Jo det är något sådant jag behöver.

Kan inte ha vanlig switch på den roterande axeln.

Re: Macrohjälp

Postat: 22 december 2016, 13:16:33
av H.O
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.

Re: Macrohjälp

Postat: 22 december 2016, 13:27:12
av Larzolov
Tack H.O, testar det där :)

Re: Macrohjälp

Postat: 22 december 2016, 14:30:25
av Larzolov
Gjorde en liten ändring, så den går en grad plus innan andra vändan.

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)     
Tack än en gång!

Re: Macrohjälp

Postat: 22 december 2016, 17:53:34
av H.O
Härligt :tumupp:
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å.

Re: Macrohjälp

Postat: 22 december 2016, 19:26:57
av Larzolov
Ok, det gör jag! :tumupp: