Mach4 oder SIM CNC

Steuerungssoftware, CAM, 2D/3D CAD, G-Code Editoren
Antworten
gravedigger
Beiträge: 4
Registriert: 09.02.2022, 16:10

Mach4 oder SIM CNC

Beitrag von gravedigger » 09.02.2022, 16:16

Ich habe eine Mikron mit CSMIO-A die ich aber auf S umbauen möchte. Die Maßstäbe machen immer Probleme und darum der Wechsel auf die S, damit ich die Maßstäbe rauswerfen kann. An den Achsen sind schon spielfreie Kugelrollspindeln verbaut.
Jetzt stellt sich mir die Frage, ob ich von MACH 3 auf SIM oder MACH4 wechseln kann und der Gangwechsel weiterhin funzt.
Wie setzte ich den Gangwechsel von MACH3 auf MACH4 bzw. SIM CNC um?
Was läuft besser? MACH4 oder SIM CNC?
Ich habe einen FU sowie Pneumatikzylinder an den Schalthebeln verbaut.
Die Ausgänge schalten die Ventile für die Zylinder und der FU hat einen Eingang mit Festdrehzahl, der sich mit geringer Drehzahl dreht, damit die Gänge leichter reingehen.

Mein aktuelles Script in MACH3 sieht so aus und FUNZT auch:


' Getriebeschaltung MACH3 Mikron WF3DP

'Spannungsversorgung Ventile EIN
SetOutbit(90,14)

rpm = GetRPM()

'If rpm = 0 Then
'rpm = InputBox("RPM?")
'End If



If rpm <= 335 Then
Call Gang1
ElseIf rpm <= 1319 Then
Call Gang2
ElseIf rpm <= 2239 Then
Call Gang3
ElseIf rpm <= 3150 Then
Call Gang4
Else
' Message "Gewählte Drehzahl zu hoch"
' DOOEMButton (1003)
End If

SetSpinSpeed (rpm)

' Gänge
' 1: output 90, 11/13 input 91, 1/3
' 2: output 90, 11/12 input 91, 1/4
' 3: output 90, 10/13 input 91, 2/3
' 4: output 90, 10/12 input 91, 2/4
' Spindle Festdrehzahl output 90, 2 + DoSpinCW()
'



Sub Gang1
SetPulley(1)

' Positonsschalter Gangstellung abfragen
If GetInBit(91,1) And GetInBit(91,3) Then
Message "Gang 1 war schon eingelegt"
Exit Sub
End If

' Motor ein Festdrehzahl ein und Spannungsversorung SERVO ein
DoSpinCW()
SetOutbit(90,2)
SetOutbit(90,14)

' Hebel mitte schalten

Sleep 1500

ResetOutbit(90,10)
SetOutbit(90,11)


Sleep 1500

' Gangestellung abfragen
If GetInBit(91,1)=0 Then
Message "Stellung Hebel mitte nicht erreicht " & Time & " " & GetInBit(91,1)
SLEEP 1500
ResetOutbit(90,10)
SetOutbit(90,11)
SLEEP 1500

If GetInBit(91,1)=0 Then
Message " Hebel mitte für Gang1 kann nicht eingelegt werden"
' Befehl Stop
DOOEMButton (1003)
End If
End If
'Hebel rechts schalten

ResetOutbit(90,12)
SetOutbit(90,13)


Sleep 1500

' Gangestellung abfragen
If GetInBit(91,3)=0 Then
Message "Stellung Hebel rechts nicht erreicht " & Time & " " & GetInBit(91,1)
SLEEP 1500
ResetOutbit(90,12)
SetOutbit(90,13)
SLEEP 1500

If GetInBit(91,3)=0 Then
Message "Hebel rechts für Gang1 kann nicht eingelegt werden"
' Befehl Stop
DOOEMButton (1003)
End If
End If


' Motor Festdrehzahl und Spannungsversorung aus
ResetOutbit(90,10)
ResetOutbit(90,11)
ResetOutbit(90,12)
ResetOutbit(90,13)

DoSpinStop()
ResetOutbit(90,2)
Message "Gang 1 eingelegt"
End Sub

Sub Gang2
SetPulley(2)


' Positonsschalter Gangstellung abfragen
If GetInBit(91,1) And GetInBit(91,4) Then
Message "Gang 2 war schon eingelegt"
Exit Sub
End If

' Motor ein Festdrehzahl ein und Spannungsversorung SERVO ein
DoSpinCW()
SetOutbit(90,2)
SetOutbit(90,14)

' Hebel mitte schalten

Sleep 1500

ResetOutbit(90,10)
SetOutbit(90,11)


Sleep 1500

' Gangestellung abfragen
If GetInBit(91,1)=0 Then
Message "Stellung Hebel mitte nicht erreicht " & Time & " " & GetInBit(91,1)
SLEEP 1500
ResetOutbit(90,10)
SetOutbit(90,11)
SLEEP 1500

If GetInBit(91,1)=0 Then
Message " Hebel mitte für Gang 2 kann nicht eingelegt werden"
' Befehl Stop
DOOEMButton (1003)
End If
End If
'Hebel rechts schalten

ResetOutbit(90,13)
SetOutbit(90,12)


Sleep 1500

' Gangestellung abfragen
If GetInBit(91,4)=0 Then
Message "Stellung Hebel rechts nicht erreicht " & Time & " " & GetInBit(91,1)
SLEEP 1500
ResetOutbit(90,13)
SetOutbit(90,12)
SLEEP 1500

If GetInBit(91,4)=0 Then
Message "Hebel rechts für Gang 2 kann nicht eingelegt werden"
' Befehl Stop
DOOEMButton (1003)
End If
End If


' Motor Festdrehzahl und Spannungsversorung aus
ResetOutbit(90,10)
ResetOutbit(90,11)
ResetOutbit(90,12)
ResetOutbit(90,13)

DoSpinStop()
ResetOutbit(90,2)
Message "Gang 2 eingelegt"

End Sub

Sub Gang3
SetPulley(3)


' Positonsschalter Gangstellung abfragen
If GetInBit(91,2) And GetInBit(91,3) Then
Message "Gang 3 war schon eingelegt"
Exit Sub
End If

' Motor ein Festdrehzahl ein und Spannungsversorung SERVO ein
DoSpinCW()
SetOutbit(90,2)
SetOutbit(90,14)

' Hebel mitte schalten

Sleep 1500

ResetOutbit(90,11)
SetOutbit(90,10)


Sleep 1500

' Gangestellung abfragen
If GetInBit(91,2)=0 Then
Message "Stellung Hebel mitte nicht erreicht " & Time & " " & GetInBit(91,1)
SLEEP 1500
ResetOutbit(90,11)
SetOutbit(90,10)
SLEEP 1500

If GetInBit(91,2)=0 Then
Message " Hebel mitte für Gang 3 kann nicht eingelegt werden"
' Befehl Stop
DOOEMButton (1003)
End If
End If
'Hebel rechts schalten

ResetOutbit(90,12)
SetOutbit(90,13)


Sleep 1500

' Gangestellung abfragen
If GetInBit(91,3)=0 Then
Message "Stellung Hebel rechts nicht erreicht " & Time & " " & GetInBit(91,1)
SLEEP 1500
ResetOutbit(90,12)
SetOutbit(90,13)
SLEEP 1500

If GetInBit(91,3)=0 Then
Message "Hebel rechts für Gang 3 kann nicht eingelegt werden"
' Befehl Stop
DOOEMButton (1003)
End If
End If


' Motor Festdrehzahl und Spannungsversorung aus
ResetOutbit(90,10)
ResetOutbit(90,11)
ResetOutbit(90,12)
ResetOutbit(90,13)

DoSpinStop()
ResetOutbit(90,2)
Message "Gang 3 eingelegt"
End Sub

Sub Gang4
SetPulley(4)
' Positonsschalter Gangstellung abfragen
If GetInBit(91,2) And GetInBit(91,4) Then
Message "Gang 4 war schon eingelegt"
Exit Sub
End If

' Motor ein Festdrehzahl ein und Spannungsversorung SERVO ein
DoSpinCW()
SetOutbit(90,2)
SetOutbit(90,14)

' Hebel mitte schalten

Sleep 1500

ResetOutbit(90,11)
SetOutbit(90,10)


Sleep 1500

' Gangestellung abfragen
If GetInBit(91,2)=0 Then
Message "Stellung Hebel mitte nicht erreicht " & Time & " " & GetInBit(91,1)
SLEEP 1500
ResetOutbit(90,11)
SetOutbit(90,10)
SLEEP 1500

If GetInBit(91,2)=0 Then
Message " Hebel mitte für Gang 4 kann nicht eingelegt werden"
' Befehl Stop
DOOEMButton (1003)
End If
End If
'Hebel rechts schalten

ResetOutbit(90,13)
SetOutbit(90,12)


Sleep 1500

' Gangestellung abfragen
If GetInBit(91,4)=0 Then
Message "Stellung Hebel rechts nicht erreicht " & Time & " " & GetInBit(91,4)
SLEEP 1500
ResetOutbit(90,13)
SetOutbit(90,12)
SLEEP 1500

If GetInBit(91,4)=0 Then
Message "Hebel rechts für Gang 4 kann nicht eingelegt werden"
' Befehl Stop
DOOEMButton (1003)
End If
End If


' Motor Festdrehzahl und Spannungsversorung aus
ResetOutbit(90,10)
ResetOutbit(90,11)
ResetOutbit(90,12)
ResetOutbit(90,13)

DoSpinStop()
ResetOutbit(90,2)
Message "Gang 4 eingelegt"

End Sub

Olli-CNC
Beiträge: 674
Registriert: 01.01.2018, 12:13

Re: Mach4 oder SIM CNC

Beitrag von Olli-CNC » 09.02.2022, 18:22

Mach3 arbeitet mit Visual Basic und Mach4 mit LUA, kannst also nichts übernehmen. Mach4 hat übrigens mit Mach3 garnichts mehr gemeinsam. Wie es bei SimCNC ist weiß ich nicht, ich nutze Mach4 mit meiner csmio/ip-s und bin zufrieden.


Gruß
Olli

basti2122
Beiträge: 50
Registriert: 31.08.2021, 06:24

Re: Mach4 oder SIM CNC

Beitrag von basti2122 » 09.02.2022, 18:50

Hi,
Bei der simCNC werden die Scripte in Python erstellt. Es ist sehr angenehm die zu erstellen falls es die erste Programmiersprache ist.

gravedigger
Beiträge: 4
Registriert: 09.02.2022, 16:10

Re: Mach4 oder SIM CNC

Beitrag von gravedigger » 10.02.2022, 10:33

Mit ist klar, dass sich die Programmiersprache von MACH3 unterscheidet.
Die Frage ist, ob so eine Getriebschaltung überhaupt in SIM bzw MACH4 umsetzbar ist.
Hab zwar die Handbücher überflogen, aber nichts gefunden.
Vemutlich geht es eher mit MACH4 als mit SIM. Das Script oben werde ich schon irgenwie in LUA oder Python hinbiegen können.
Nachdem ich mit dem Wechsel von CSMIO A zu S eh alles umbasteln muss, wäre das der Zeitpunkt für einen Softwaretausch.
Aber wenn es dann mit der neuen Software nicht klappt muss ich nomal beisteigen und auf MACH3 zurückgehen.
Zuletzt geändert von gravedigger am 10.02.2022, 11:50, insgesamt 1-mal geändert.

basti2122
Beiträge: 50
Registriert: 31.08.2021, 06:24

Re: Mach4 oder SIM CNC

Beitrag von basti2122 » 10.02.2022, 10:54

Meiner Meinung nach wird es sich nicht unterscheiden, wenn es auf der Mach3 gelaufen ist, wird es auch unter simCnc laufen. Ich bin auch von der Mach3 umgestiegen und bereue es nicht. Die Lizenz für simCNC gibt es günstig bei ebay.
Grüße
Sebastian

Olli-CNC
Beiträge: 674
Registriert: 01.01.2018, 12:13

Re: Mach4 oder SIM CNC

Beitrag von Olli-CNC » 10.02.2022, 11:07

und ich sehe keinerlei Probleme das das auf Mach4 nicht laufen sollte :D

gravedigger
Beiträge: 4
Registriert: 09.02.2022, 16:10

Re: Mach4 oder SIM CNC

Beitrag von gravedigger » 10.02.2022, 11:49

Zumindest kann man in MACH4 den M3 Befehl überschreiben/ändern.
https://www.machsupport.com/forum/index ... #msg289283
Aber mir noch nicht ganz klar wo und wie das geht.

Edit:
In Profil /Macros muss man wohl eine Datei M3/4 anlegen.
Zuletzt geändert von gravedigger am 10.02.2022, 12:02, insgesamt 1-mal geändert.

gravedigger
Beiträge: 4
Registriert: 09.02.2022, 16:10

Re: Mach4 oder SIM CNC

Beitrag von gravedigger » 10.02.2022, 11:51

basti2122 hat geschrieben:
10.02.2022, 10:54
Meiner Meinung nach wird es sich nicht unterscheiden, wenn es auf der Mach3 gelaufen ist, wird es auch unter simCnc laufen. Ich bin auch von der Mach3 umgestiegen und bereue es nicht. Die Lizenz für simCNC gibt es günstig bei ebay.
Grüße
Sebastian
Kann man in SIM den M3/4 befehl überlagern/ändern/ergänzen?

basti2122
Beiträge: 50
Registriert: 31.08.2021, 06:24

Re: Mach4 oder SIM CNC

Beitrag von basti2122 » 10.02.2022, 13:02

Ja, es ist möglich. So wird das delay bei dem Spindel Hochlauf realisiert. Du kannst dir die simCNC downloaden und virtuell testen was möglich ist.

Antworten

Wer ist online?

Mitglieder in diesem Forum: Jo's CNC und 15 Gäste