Themabewertung:
  • 1 Bewertung(en) - 1 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Makros in Mach3
karamo Offline
Spendenmitglied
*****




Beiträge: 2.547
Registriert seit: Dec 2011
Bewertung: 216
Adresse: 3400 Klosterneuburg
Letzt. Bes.: :

Land: Österreich
MyBB  RE: Makros in Mach3
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 Tastendruck
...
System HotKeys:
Trigger#1 OEM Code = 301
Eh 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/mach...ics/136147>
Zitat:… my M1025.M1S macro …
Never used it but just tried it here, it works, here's how I did:
1) Config -> Ports & Pins, set OEM Trig #1 to a suitable input pin.
2) Config -> System Hotkeys, on the right side of the dialog set Trigger
#1 to OEM code 301
3) "Arm" the trigger macro by executing SetTriggerMacro(1025)

When the input mapped to OEM Trig #1 goes active M1025 executes.

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/ind...EM_Buttons

LG Wolfgang


"Wer lesen kann, ist entscheidend im Vorteil." - Eine unbestreitbare Tatsache Biggrins
HP: Meine Projekte im Überblick
03.06.2017, 11:45
Hauptseite Diese Nachricht in einer Antwort zitieren
Finchen Offline
Junior Member
*




Beiträge: 9
Registriert seit: Jun 2017
Bewertung: 2
Adresse: 38536
Letzt. Bes.: :

Land: Deutschland
MyBB  RE: Makros in Mach3
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.

Gruß
Dietmar
03.06.2017, 12:13
Hauptseite Diese Nachricht in einer Antwort zitieren
karamo Offline
Spendenmitglied
*****




Beiträge: 2.547
Registriert seit: Dec 2011
Bewertung: 216
Adresse: 3400 Klosterneuburg
Letzt. Bes.: :

Land: Österreich
MyBB  RE: Makros in Mach3
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, ...
Per Tastendruck auf meinem Bedienpanel lässt sich nun das Makro starten.

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. Biggrins
(Unter dem Beitrag der [+/-] Button "Beitrag bewerten".)

LG Wolfgang

"Wer lesen kann, ist entscheidend im Vorteil." - Eine unbestreitbare Tatsache Biggrins
HP: Meine Projekte im Überblick
03.06.2017, 12:26
Hauptseite Diese Nachricht in einer Antwort zitieren
Finchen Offline
Junior Member
*




Beiträge: 9
Registriert seit: Jun 2017
Bewertung: 2
Adresse: 38536
Letzt. Bes.: :

Land: Deutschland
MyBB  RE: Makros in Mach3
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?



Gruß
Dietmar
03.06.2017, 14:31
Hauptseite Diese Nachricht in einer Antwort zitieren
karamo Offline
Spendenmitglied
*****




Beiträge: 2.547
Registriert seit: Dec 2011
Bewertung: 216
Adresse: 3400 Klosterneuburg
Letzt. Bes.: :

Land: Österreich
MyBB  RE: Makros in Mach3
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

"Wer lesen kann, ist entscheidend im Vorteil." - Eine unbestreitbare Tatsache Biggrins
HP: Meine Projekte im Überblick
03.06.2017, 16:33
Hauptseite Diese Nachricht in einer Antwort zitieren
Finchen Offline
Junior Member
*




Beiträge: 9
Registriert seit: Jun 2017
Bewertung: 2
Adresse: 38536
Letzt. Bes.: :

Land: Deutschland
MyBB  RE: Makros in Mach3
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.

Gruß
Dietmar
03.06.2017, 17:42
Hauptseite Diese Nachricht in einer Antwort zitieren
karamo Offline
Spendenmitglied
*****




Beiträge: 2.547
Registriert seit: Dec 2011
Bewertung: 216
Adresse: 3400 Klosterneuburg
Letzt. Bes.: :

Land: Österreich
MyBB  RE: Makros in Mach3
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

"Wer lesen kann, ist entscheidend im Vorteil." - Eine unbestreitbare Tatsache Biggrins
HP: Meine Projekte im Überblick
03.06.2017, 18:25
Hauptseite Diese Nachricht in einer Antwort zitieren
Finchen Offline
Junior Member
*




Beiträge: 9
Registriert seit: Jun 2017
Bewertung: 2
Adresse: 38536
Letzt. Bes.: :

Land: Deutschland
MyBB  RE: Makros in Mach3
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



Gruß
Dietmar
04.06.2017, 16:35
Hauptseite Diese Nachricht in einer Antwort zitieren
karamo Offline
Spendenmitglied
*****




Beiträge: 2.547
Registriert seit: Dec 2011
Bewertung: 216
Adresse: 3400 Klosterneuburg
Letzt. Bes.: :

Land: Österreich
MyBB  RE: Makros in Mach3
Hallo Dietmar,
ja, natürlich geht das so! Clap

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

"Wer lesen kann, ist entscheidend im Vorteil." - Eine unbestreitbare Tatsache Biggrins
HP: Meine Projekte im Überblick
04.06.2017, 16:50
Hauptseite Diese Nachricht in einer Antwort zitieren




Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste