Navigation:  Einstellungen > Makro Editor >

Makro-Programmierung

Previous pageReturn to chapter overviewNext page

In diesem Abschnitt werden Grundlagen der Makro- Programmierung erleutet. Jedes Makro beginnt immer mit folgender Zeile:

 

// Macro wird angelegt (diese Zeile muss immer am Anfang stehen)

Macro theMacro = new Macro(this.Context.Parent, "Name des Makros dass in der Statusleiste beim Ausführen erscheint");

 

Die oben genannte Zeile legt ein Macro Objekt mit der Bezeichnung "theMacro" an. Der Parameter "this.Context.Parent" verknüpft das Makro mit cncGraF Pro. Dieser Parameter muss immer angegeben werden. Der zweite Parameter ist der Text dass in der Statusleiste des Programms beim Ausführen des Makros erscheint.

 

Mit Hilfe des Objektes "theMacro"  werden diverse Funktionen aufgerufen. Das folgende Makro führt DIN66025 Befehle aus. Die DIN66025 Befehle werden mit dem Befehl 'theMacro.AddNxx("....")'

zeilenweise hinzugefügt. Der Befehl "theMacro.Start();" führt die zuvor angegebene DIN66025 Befehle aus. Der Befehl  "theMacro.Clear();" löscht die Befehle.

 

// Macro wird angelegt (diese Zeile muss immer am Anfang stehen)

Macro theMacro = new Macro(this.Context.Parent, "DIN66025 Befehle ausführen");

 

// DIN66025 Befehle zeilenweise hinzufügen

theMacro.AddNxx("G90");

theMacro.AddNxx("G0 Z1 M03");

theMacro.AddNxx("G0 X50 Y150");

theMacro.AddNxx("G0 Z5 M05");

 

theMacro.Start(); // DIN66025 Befehle werden ausgeführt

 

 

Mit Makro können Ausgänge geschaltet oder Status der Ausgänge abgefragt werden. Das Makro unten schaltet den Ausgang 1 an und fragt sein Status ab.

 

// Macro wird angelegt (diese Zeile muss immer am Anfang stehen)

Macro theMacro = new Macro(this.Context.Parent, "DIN66025 Befehle ausführen");

 

// Schaltet Ausgang 1 ein (Wert 'true', Wert 'false' schaltet Ausgänge aus)

theMacro.SetOutput(1, true);

 

// Status des Ausgangs 1 wird abgefragt.

if(theMacro.IsOutputOn(1)) {

 

 // Ausgang 1 ist an!

       theMacro.MessageBox("Ausgang 1 ist an!");

 

} else {

 // Ausgang 1 ist NICHT an!

       theMacro.MessageBox("Ausgang 1 ist nicht an!");

}

 

 

Ebenso wie die Ausgänge können auch die Eingänge abgefragt werden. Das Makro unten fragt Eingang 9 ab.

 

// Macro wird angelegt (diese Zeile muss immer am Anfang stehen)

Macro theMacro = new Macro(this.Context.Parent);

 

// Status des Eingangs 9 wird abgefragt. Mit 'true' oder 'false' kann

// die Abfrage des Eingang invertiert werden.

if(theMacro.IsInputOn(9, true)) {

 

 // Die If Anweisung hat true(Wert 1) erhalten,

 // das bedeutet dass der Eingang 9 an ist.

       theMacro.MessageBox("Eingang 9 am an Con3 ist an!");

}

 

 

Mit dem Makro können Werkzeuge abgelegt werden. Um Werkzeuge ablegen oder holen  zu können, muss Werkzeugwechsler angeschlossen sein.

 

// Macro wird angelegt (diese Zeile muss immer am Anfang stehen)

Macro theMacro = new Macro(this.Context.Parent, "Letztes Werkzeug ablegen und Werkzeug 1 holen");

 

theMacro.ToolPutOff();

theMacro.ToolFetch(3);

 

 

Das Makro unten liest die absoluten Koordinaten der Maschine aus und zeigt in einem Dialogfenster an.

 

// Macro wird angelegt (diese Zeile muss immer am Anfang stehen)

Macro theMacro = new Macro(this.Context.Parent);

 

var theZ = theMacro.GetAbsPosZ(); // Position der Maschine in Z auslesen

 

// und in einem Fenster anzeigen

theMacro.MessageBox("Position der Maschine in Z beträgt: " + theZ);

 

Das Makro führt eine Referenzfahrt aus.

 

// Macro wird angelegt (diese Zeile muss immer am Anfang stehen)

Macro theMacro = new Macro(this.Context.Parent);

theMacro.Reference();

 

Eine Dokumentation des Objektes Makro finden Sie in der Datei macro.chm. Die Datei macro.chm befindet sich im cncGraF Pro Verzeichnis.