![]() |
Makros in Mach3 - Druckversion +- Bastelstube (https://www.bastelstube.wien/forum) +-- Forum: Werkstatt (https://www.bastelstube.wien/forum/forumdisplay.php?fid=3) +--- Forum: Kleine und große Probleme (https://www.bastelstube.wien/forum/forumdisplay.php?fid=72) +--- Thema: Makros in Mach3 (/showthread.php?tid=6112) Seiten:
1
2
|
RE: Makros in Mach3 - karamo - 03.06.2017 Hallo Dietmar, (03.06.2017, 10:19)Finchen schrieb: Kleiner Fortschritt: wenn ich den Bildschirm Reset-Button betätige wird das Makro aufgerufen. "Makro900 läuft".Genau, so sollte es ja sein, wenn du den Namen des Scripts im Init-String eingetragen hast. Zitat:Die Signale meiner externen Tasten kommen auch rein, aber das Makro meldet sich nicht bei TastendruckEh klar. Wie sollte es auch? Du hast ja nur dem Externen Trigger #1 den Code "Code for OEMTriggers runs the macro in SetTriggerMacro" zugewiesen. Aber du hast die Verbindung von diesem Code zu deinem Macro nicht hergestellt. Siehe im folgenden 3). Mit etwas suchen läßt sich die Antwort finden: <https://groups.yahoo.com/neo/groups/mach1mach2cnc/conversations/topics/136147> Zitat:… my M1025.M1S macro … Du kannst offenbar zu einem bestimmten Zeitpunkt nur ein Makro definieren, welches durch einen externen Trigger aufgerufen wird. Und du musst die Verbindung vom Trigger zu dem Makro erst durch die Funktion SetTriggerMacro(...) herstellen, dh. das Makro "feuerbereit" machen (arm). Das habe ich auch im Beitrag #45 beschrieben. Die Codes der OEM Buttons finden sich hier: http://www.machsupport.com/Mach3Wiki/index.php?title=OEM_Buttons LG Wolfgang RE: Makros in Mach3 - Finchen - 03.06.2017 Hallo Wolfgang, Vielen vielen Dank für Deine Hilfe. Ich habe zwar nicht verstanden, wieso ich im Makro M900 selbst den Befehl "SetTriggerMacro(900)" reinschreiben muss damit das Makro ausgeführt wird, ist aber letztendlich auch egal. Das Ergebnis zählt. Per Tastendruck auf meinem Bedienpanel lässt sich nun das Makro starten. Super ! Das wäre nun geschafft, nun geht es an die eigentliche Aufgabe Teil 1. Nun will ich per Tastendruck die Schrittweite (0.01, 0.1, 1und cont) einstellen. Wenn ich es nicht hin bekomme, melde ich mich nochmal. Nochmals vielen Dank Wolfgang. RE: Makros in Mach3 - karamo - 03.06.2017 Hallo Dietmar, (03.06.2017, 12:13)Finchen schrieb: Ich habe zwar nicht verstanden, wieso ich im Makro M900 selbst den Befehl "SetTriggerMacro(900)" reinschreiben muss damit das Makro ausgeführt wird, ... Das ist klar: Du hast im Init-String nur definiert, dass das Script M900.m1s beim Start und ev. auch bei jedem RESET ausgeführt wird. Bei dieser Ausführung aktivierst du aber mit dem Befehl SetTriggerMacro(900) das Script M900.m1s, dass es auch bei einem externen Trigger ausgeführt werden soll. Fein, dass ich dir helfen konnte. Wäre dir das eine positive Bewertung meiner Beiträge wert? Ich würde mich darüber freuen. ![]() (Unter dem Beitrag der [+/-] Button "Beitrag bewerten".) LG Wolfgang RE: Makros in Mach3 - Finchen - 03.06.2017 Ich bekomme es nicht hin. Mit welchem Befehl (OEM Code) schaltet man die Schrittweite um. 192 ... 200 select Jog increment funktionieren irgendwie nicht. 265... 274 select step value auch nicht. Aber wie geht es? RE: Makros in Mach3 - karamo - 03.06.2017 Hallo Dietmar, (03.06.2017, 14:31)Finchen schrieb: Mit welchem Befehl (OEM Code) schaltet man die Schrittweite um.OEM Code 191 .. 200 wählt jene Schrittweite 1 .. 10 aus, wobei diese Schrittweiten in Config > General Config... > Jog Increments in Cycle Mode angegeben sind. Dann gibt es noch die Umschaltung mit 204/205 bzw. 275/276. Was die 265 .. 274 select step value sind, ist mir noch unbekannt. Was tut sich? Was genau geht nicht? LG Wolfgang RE: Makros in Mach3 - Finchen - 03.06.2017 Also, ich möchte mit 2 Tasten (F+) und (F-) auf meinem Bedienpanel stufenweise die Schrittweite erhöhen bzw. erniedrigen. Angedacht sind 4 Stufen: 0.01, 0.1, 1 und cont Ist 0.01mm aktiv, soll bei (F+) 0.1mm eingestellt werden. Ist 0.1mm aktiv, soll bei (F+) 1mm eingestellt werden. Ist 1mm aktiv, soll bei (F-) 0.1 eingestellt werden.usw. Dabei soll jeweils die entsprechende LED (Output 1 bis 4) auf meinem Bedienpanel eingeschaltet werden, damit ich auf dem Panel sehen kann, welche Schrittweite gerade aktiv ist. RE: Makros in Mach3 - karamo - 03.06.2017 Hallo Dietmar, (03.06.2017, 17:42)Finchen schrieb: ... ich möchte mit 2 Tasten (F+) und (F-) auf meinem Bedienpanel stufenweise die Schrittweite erhöhen bzw. erniedrigen. So wie ich das sehe, geht das nicht so wie du es dir vorstellst. Das wäre auch viel zu unsicher, zB. wegen Prellen der Tasten u.ä. Du kannst mit einer Taste, die einem OEM Code zB. 191 zugewiesen ist, nur die Schrittweite #1 auswählen. Für 4 verschiedene Schrittweiten brauchst du 4 Tasten. Und dass dann eine entsprechende LED eingeschaltet wird, das geht so überhaupt nicht. Du kannst so was wie eine State-Machine in deinem 900-Macro programmieren, aber die kann dann nur einen fixen Zyklus, wo du mit der externen Taste weiterschalten kannst. Da kannst dann auch Ausgänge schalten und somit die LED. Du musst dir wahrscheinlich ein anderes Konzept überlegen. Möglicherweise ginge das mit einem Brain. Aber dieses Konzept ist in Mach3 unausgereift und fehlerhaft. Es ist nur ansatzweise vorhanden und nicht zu Ende geführt. Das einfachste wäre, du nimmst einen Touch-Screen. Natürlich könntest du auch ein PlugIn programmieren. Aber das ist schon mehr als eine Stufe höher. LG Wolfgang RE: Makros in Mach3 - Finchen - 04.06.2017 Hallo Wolfgang, "Geht nicht" gibt es nicht. Ich habe es hinbekommen. Die Tasten (F+) "OemTrig1" und (F-) "OemTrig2" rufen das Makro "M900" auf. Im Makro wird dann der Vorschub mit "DoOemButton(108)" und "DoOemButton(109)" eingestellt. Da muss noch deutlich verfeinert werden, aber ersteinmal geht es grundsätzlich. Die Tasten (J+) "OemTrig3" und (J-) "OemTrig4" rufen ebenfalls des Makro M900. Im Makro wird dann die aktuelle Schrittweite mit "Schrittweite = GetOemDro(828)" abgefragt. Je nachdem, welche Schrittweite aktiv ist wird mit "DoOemButton(191...194)" die nächst höhere oder nächst kleiner Schrittweite eingestellt. Anschließend werden die LED's der entsprechenden Schrittweiten mit "ActivateSignal(Output1...4)" und "DeactivateSignal(Output1...4)" gesteuert. Da das Makro bei Programmstart (Mach3) und auch dei "Reset" automatisch aufgerufen wird, werden die LED's der Schrittweite aktualisiert. Die Tasten (Start) "OemTrig5 und (Stop) "OemTrig6" sollen später ein geladenes Programm starten bzw. stopen. Ob das wirklich so kommt, ist noch offen. Vielleicht verwende ich die Tasten auch für etwas anderes. Sie sind erst einmal hardwaretechnisch da. Hier ist der Inhalt meines Makro900: SetTriggerMacro(900) If IsActive(OemTrig1) Then 'Taste F+ 'MsgBox "Taste F + gedrückt" DoOemButton(108) ' % Vorschub + End If If IsActive(OemTrig2) Then 'Taste F- 'MsgBox "Taste F + gedrückt" dooembutton(109) ' % Vorschub - End If If IsActive(OemTrig3) Then 'Taste J+ 'MsgBox "Taste F+ gedrückt" Schrittweite = GetOemDro(828) If Schrittweite = 0.01 Then DoOemButton(192) '1 ElseIf Schrittweite = 0.1 Then DoOemButton(191) '0.1 ElseIf Schrittweite = 1 Then DoOemButton(194) '0.01 End If End If If IsActive(OemTrig4) Then 'Taste J- 'MsgBox "Taste J- gedrückt" Schrittweite = GetOemDro(828) If Schrittweite = 999 Then DoOemButton(191) '1 ElseIf Schrittweite = 1 Then DoOemButton(192) '0.1 ElseIf Schrittweite = 0.1 Then DoOemButton(193) '0.01 End If End If If IsActive(oemtrig5) Then 'Taste Start 'MsgBox " Taste Start gedrückt" End If If IsActive(oemtrig6) Then 'Taste Stop 'MsgBox " Taste Stop gedrückt" End If 'Jog Modus abfragen und entsprechend LED einschalten If GetOemDro(828) = 0.01 Then ActivateSignal(output1) DeactivateSignal(output2) DeactivateSignal(output3) DeactivateSignal(output4) End If If GetOemDro(828) = 0.1 Then DeactivateSignal(output1) ActivateSignal(output2) DeactivateSignal(output3) DeactivateSignal(output4) End If If GetOemDro(828) = 1 Then DeactivateSignal(output1) DeactivateSignal(output2) ActivateSignal(output3) DeactivateSignal(output4) End If If GetOemDro(828) = 999 Then DeactivateSignal(output1) DeactivateSignal(output2) DeActivateSignal(output3) ActivateSignal(output4) End If RE: Makros in Mach3 - karamo - 04.06.2017 Hallo Dietmar, ja, natürlich geht das so! ![]() Ich hatte nicht mehr weiter gesucht, ob es eine Möglichkeit gäbe, die Eingänge abzufragen. Ich habe an meinem Panorama-Adapter weiter machen wollen. Der soll noch dieses WE fertig werden - hoffe ich. Wenn du weitere interessante Erkenntnisse hast, dann berichte bitte wieder. LG Wolfgang |