Hello Guest it is April 19, 2021, 04:17:05 AM

Author Topic: Getriebestufenwechsel Mach3 / CSMIO IP-A  (Read 774 times)

0 Members and 1 Guest are viewing this topic.

Getriebestufenwechsel Mach3 / CSMIO IP-A
« on: December 09, 2020, 08:36:27 AM »
Hallo zusammen,
ich heiße Steve und bin neu in diesem Forum.

Ich mache gerade ein Retrofit an einer Industriefräsmaschine und habe Probleme beim Schalten des Getriebes der Spindel.
Die Maschine hat vier Getriebestufen. (bereits in Spindle pulleys eingetragen)
Stufe1: 1-200
Stufe2: 201-600
Stufe3: 601-1400
Stufe4: 1401-4000
Ich möchte für jede Getriebestufe ein Ausgang schalten der dann den Getriebewechsel extern einleitet.
Wenn der Wechsel abgeschlossen ist möchte ich einen Eingang von extern empfangen der sagt „ Getriebestufe „X“ „eingelegt.
Der Getriebestufenwechsel soll starten wenn die Geschwindigkeit über den S-Parameter eingegeben wurde.

Ich habe schon einige Beiträge in diesem Forum gelesen, habe aber keine ordentlich Lösung am Ende finden können.

Wäre schön wenn mir jemand weiterhelfen könnte.

Vielen Dank Euch   

Offline TPS

*
  •  2,112 2,112
    • View Profile
Re: Getriebestufenwechsel Mach3 / CSMIO IP-A
« Reply #1 on: December 09, 2020, 12:06:52 PM »
Hallo,

in diesem Fall würde ich das im M3 macro machen.
Da kannst Du die angeforderte Geschwindigkeit abfragen, und
mit ein paar If Abfragen die entprechenden Ausgänge schalten,
dann auf den Eingang warten.

Vor allem kannst Du hier zuerst mal die Spindel ausschalten, für den Fall das
diese schon läuft.

Gruß Tom
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: Getriebestufenwechsel Mach3 / CSMIO IP-A
« Reply #2 on: December 10, 2020, 01:23:18 AM »
Hallo,
ich habe mal in Anlehnung an ein anderes Beispiel das Ganze auf meinen Fall im M3 Makro übertragen.
Habe das mal mit zwei Getriebestufen versucht.
Da die Maschine aktuell noch mit der alten Steuerung läuft und der Umbau erst über den Jahreswechsel stattfinden soll, kann ich das aktuell nicht an der Maschine testen.
@TPS: danke für den Hinweis mit dem M3.
Hier mal mein Beispiel, wie gesagt vorerst mal mit zwei Getriebestufen:

SpinS = GetRPM() 
 
If SpinS < 200 Then   
Call Gear1ON   
End If   

If SpinS > 201 And spin < 600 Then   
Call Gear2ON   
End If   

Sub Gear1ON
     
While IsActive(OEMTRIG1) = False 'Makes sure gear1 INPUT is active       
Sleep(10)   
Wend       

If IsActive(OEMTRIG1) Then   
Sleep(5000)   
Message "Spindle On"   
DeActivateSignal(OUTPUT1) 'Turns off Spindle reverse (CCW) OUTPUT   
ActivateSignal(OUTPUT0) 'Turns on Spindle forward (CW) OUTPUT   
DoSpinCW() 'this is what was in the M3 macro   
End If 

End Sub   

Sub Gear2ON     
While IsActive(OEMTRIG2) = False 'Makes sure gear2 INPUT is active       
Sleep(10)   
Wend
         
If IsActive(OEMTRIG2) Then    Sleep(5000)    Message "Spindle On"   
DeActivateSignal(OUTPUT1) 'Turns off Spindle reverse (CCW) OUTPUT   
ActivateSignal(OUTPUT0) 'Turns on Spindle forward (CW) OUTPUT   
DoSpinCW() 'this is what was in the M3 macro   
End If 

End Sub


Falls ihr andere Vorschläge habt, wäre ich sehr dankbar darüber, auch gerne per PN

Grüsse Steve


Offline TPS

*
  •  2,112 2,112
    • View Profile
Re: Getriebestufenwechsel Mach3 / CSMIO IP-A
« Reply #3 on: December 10, 2020, 02:46:17 AM »
Servus,
habe Dein Macro ein bisschen überarbeitet und formatiert.
Dabei bin ich von folgenden Signalen ausgegangen:
Output1 -> erster Gang einlegen
Output2 -> zweiter Gang einlegen
Input1 -> erster Gang ist eingelegt
Input2 -> zweiter Gang ist eingelegt

Code: [Select]
Sub Main()

DoSpinStop() 'TPS nur um sicherzustellen, das die Spindel wirklich aus ist

SpinS = GetRPM() 
 
If SpinS < 200 Then   
Call Gear1ON   
End If   

If SpinS > 201 And spin < 600 Then   
Call Gear2ON   
End If   

End Sub

Sub Gear1ON()

' der erste Gang ist bereits drin, also nichts zu tun
If IsActive(OEMTRIG1) Then   
Message "erster Gang bereits eingelegt"
Sleep(200) 
Exit Sub
End If 

'Ausgang zum schalten der 1ten Gang's aktivieren
ActivateSignal(OUTPUT1)     

'auf den Eingang warten
While IsActive(OEMTRIG1) = False       
Sleep(10)   
Wend       
   
Sleep(50)   
Message "erster Gang eingelegt Spindel einschalten"   
DeActivateSignal(OUTPUT1) 'Ausgang für 1. Gang ausschalten   
DoSpinCW() 'this is what was in the M3 macro   

End Sub   

Sub Gear2ON()     

' der zweite Gang ist bereits drin, also nichts zu tun
If IsActive(OEMTRIG2) Then   
Message "zweiter Gang bereits eingelegt"
Sleep(200)   
Exit Sub
End If 

'Ausgang zum schalten der 2ten Gang's aktivieren
ActivateSignal(OUTPUT2)     

'auf den Eingang warten
While IsActive(OEMTRIG2) = False       
Sleep(10)   
Wend       
   
Sleep(50)   
Message "zweiter Gang eingelegt Spindel einschalten"   
DeActivateSignal(OUTPUT2) 'Ausgang für 1. Gang ausschalten   
DoSpinCW() 'this is what was in the M3 macro   

End Sub



mfg Tom
« Last Edit: December 10, 2020, 02:51:26 AM by TPS »
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: Getriebestufenwechsel Mach3 / CSMIO IP-A
« Reply #4 on: December 10, 2020, 03:12:13 AM »
Servus,
@Tom, super gut und vielen Dank :)...das werde ich gleich mal probieren, sobald die Steuerung läuft.
Ich melde mich dann an dieser Stelle auf jeden Fall um zu berichten...
Gruß
Steve
Re: Getriebestufenwechsel Mach3 / CSMIO IP-A
« Reply #5 on: January 08, 2021, 08:02:08 AM »
Hallo,
ich habe die Maschine soweit umgebaut und alle Achsen laufen, auch im Automatikbetrieb.
Nun komme ich an die eigentliche Getriebeumschaltung und wollte mal fragen, ob eigentlich auch an dem "spindlespeed" Makro etwas geändert werden muss?
Habe das angepasste M3 Makro von Tom  an der Demo Version probiert und bekomme die Meldung "Too fast for pulley, using Max"
In den Spindel Pulleys steht folgendes drin:
Stufe1: 0-200
Stufe2: 0-600
Stufe3: 0-1400
Stufe4: 0-4000

Muss an dem "spindlespeed" Makro auch etwas angepasst werden?

Danke und Gruss
Steve

Offline TPS

*
  •  2,112 2,112
    • View Profile
Re: Getriebestufenwechsel Mach3 / CSMIO IP-A
« Reply #6 on: January 08, 2021, 10:04:06 AM »
Servus,

es kommt eigentlich nur darauf an, welches Pulley als current pulley selektiert ist.

z.B. Pulley 4  Min 0 Max 4000, dann wird bei einem S>4000 diese Meldung ausgegeben.

einfach ein Pulley auswählen/einstellen das als Max deine Maximale Drehzahl hat.
 
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: Getriebestufenwechsel Mach3 / CSMIO IP-A
« Reply #7 on: January 13, 2021, 03:56:59 AM »
Hallo,

habe gestern das M3 Makro eingespielt, es gibt noch ein paar Probleme:

Wenn ich die Spindel über die Befehlszeile mit M3 S100 starte, wird Output7=1 geschaltet (1.Gang einlegen), Input 12 wird=“1“, die Spindel geht aber nicht an.
Ich kann sie nur über den Softbutton M03 starten. Danach wird der Output7 aber nicht zurückgesetzt.

Wenn ich die Spindel in die zweite Stufe bringen will, über die Befehlszeile M3 S300, ist immer noch Output7=1 geschaltet (1.Gang einlegen), sonst passiert gar nix.

Wenn ich dann in der Befehlszeile M3 S900 eingebe (3.Gang) geht zu Output7=1 noch Output8 gleichzeitig auf „1“, das darf überhaupt nicht sein…
Eigentlich müsste hier ja nur Output 9 auf „1“ gehen und der Rest müsste zurückgesetzt werden!

…also ein ziemliches Durcheinander!

Output7= 1. Gang einlegen
Output8= 2. Gang einlegen
Output9= 3. Gang einlegen
Output10= 4. Gang einlegen

Input 12= 1. Gang ist eingelegt
Input 13= 2. Gang ist eingelegt
Input 14= 3. Gang ist eingelegt
Input 15= 4. Gang ist eingelegt

Stufe1: 0-200
Stufe2: 0-600
Stufe3: 0-1400
Stufe4: 0-4000

@Tom hast du eine Idee?
Sollte man alle anderen Ausgänge die nicht für die aktuelle Getriebestufe benutzt werden zurücksetzen?
Warum geht der M3 Befehl über die Befehlszeile nicht mehr?

Danke und Gruß
Steve

Offline TPS

*
  •  2,112 2,112
    • View Profile
Re: Getriebestufenwechsel Mach3 / CSMIO IP-A
« Reply #8 on: January 13, 2021, 04:30:43 AM »
poste mal bitte Dein macro.
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: Getriebestufenwechsel Mach3 / CSMIO IP-A
« Reply #9 on: January 13, 2021, 05:03:06 AM »
Sub Main()

   DoSpinStop() 'TPS nur um sicherzustellen, das die Spindel wirklich aus ist

   SpinS = GetRPM() 
 
   If SpinS < 200 Then
      SetPulley(1)
      Call Gear1ON   
   End If   

   If SpinS > 201 And spin < 600 Then
      SetPulley(2)
      Call Gear2ON   
   End If   
   
   If SpinS > 601 And spin < 1400 Then
      SetPulley(3)
      Call Gear3ON   
   End If
   
   If SpinS > 1401 And spin < 4000 Then
      SetPulley(4)
      Call Gear4ON   
   End If

End Sub

Sub Gear1ON()

   ' der erste Gang ist bereits drin, also nichts zu tun
   If IsActive(OEMTRIG12) Then   
      Message "erster Gang bereits eingelegt"
      Sleep(200) 
      Exit Sub   
   End If 

   'Ausgang zum schalten der 1ten Gang's aktivieren
   ActivateSignal(OUTPUT7)     

   'auf den Eingang warten   
   While IsActive(OEMTRI12) = False       
      Sleep(10)   
   Wend       
   
   Sleep(50)   
   Message "erster Gang eingelegt Spindel einschalten"   
   DeActivateSignal(OUTPUT7) 'Ausgang für 1. Gang ausschalten   
   DoSpinCW() 'this is what was in the M3 macro   

End Sub   

Sub Gear2ON()     

   ' der zweite Gang ist bereits drin, also nichts zu tun
   If IsActive(OEMTRIG13) Then   
      Message "zweiter Gang bereits eingelegt"
      Sleep(200)   
      Exit Sub   
   End If 

   'Ausgang zum schalten der 2ten Gang's aktivieren
   ActivateSignal(OUTPUT8)     

   'auf den Eingang warten   
   While IsActive(OEMTRIG13) = False       
      Sleep(10)   
   Wend       
   
   Sleep(50)   
   Message "zweiter Gang eingelegt Spindel einschalten"   
   DeActivateSignal(OUTPUT8) 'Ausgang für 2. Gang ausschalten   
   DoSpinCW() 'this is what was in the M3 macro   

End Sub

Sub Gear3ON()     

   ' der dritte Gang ist bereits drin, also nichts zu tun
   If IsActive(OEMTRIG14) Then   
      Message "dritter Gang bereits eingelegt"
      Sleep(200)   
      Exit Sub   
   End If 

   'Ausgang zum schalten der 3ten Gang's aktivieren
   ActivateSignal(OUTPUT9)     

   'auf den Eingang warten   
   While IsActive(OEMTRIG14) = False       
      Sleep(10)   
   Wend       
   
   Sleep(50)   
   Message "dritter Gang eingelegt Spindel einschalten"   
   DeActivateSignal(OUTPUT9) 'Ausgang für 3. Gang ausschalten   
   DoSpinCW() 'this is what was in the M3 macro   

End Sub

Sub Gear4ON()     

   ' der vierte Gang ist bereits drin, also nichts zu tun
   If IsActive(OEMTRIG115) Then   
      Message "vierter Gang bereits eingelegt"
      Sleep(200)   
      Exit Sub   
   End If 

   'Ausgang zum schalten der 4ten Gang's aktivieren
   ActivateSignal(OUTPUT10)     

   'auf den Eingang warten   
   While IsActive(OEMTRIG15) = False       
      Sleep(10)   
   Wend       
   
   Sleep(50)   
   Message "vierter Gang eingelegt Spindel einschalten"   
   DeActivateSignal(OUTPUT10) 'Ausgang für 4. Gang ausschalten   
   DoSpinCW() 'this is what was in the M3 macro   

End Sub