NTERFACE 1 Vorgehensweise zur Verarbeitung von G-Code- Programmdateien 1.1 Die Bedienoberfläche McuWIN Das Windows-Applikationsprogramm McuWIN.EXE stellt dem Anwender eine Bedienoberfläche zur Ausführung von G-Code-Programmen bereitstellt. In dieser Oberfläche können Programme editiert, einer Syntaxprüfung unterzogen und ausgeführt werden. Weiterhin werden Sollpositionen, Istpositionen, Referenzstatus Fehlermeldungen...
Seite 8
NTERFACE Bild: Ansicht der Bedieneroberfläche McuWIN Programm-Editor Zustands-Anzeige Bedienfeld Fehler-/ Zustands- Textanzeigefenster...
NTERFACE 2 Funktionalität von McuWIN 2.1 Not-Aus Überwachung Bei der Einrichtung der Achsen mit dem Konfigurationsprogramm mcfg können digitale Eingänge als Not- Aus-Eingänge konfiguriert werden. Falls ein Not-Aus-Eingang aktiviert wird, werden laufende Programme unterbrochen, die Referenzierung wird, je nach Konfiguration aufgehoben, die Regelkreise werden geöffnet und der Not-Aus-Zustand wird angezeigt.
NTERFACE 2.5 Überwachung des Encoder-Error-Flags Hilfe dieser Funktionalität möglich, Probleme Positionserfassung Inkrementalgebersystemen rechtzeitig zu erkennen. Diese Überwachung kann achsspezifisch aktiviert werden. Wenn ein Problem erkannt wird, wird eine Warnung an die Oberfläche ausgegeben. 2.6 Überwachung der Positionszähler Diese Überwachung kann ebenfalls achsspezifisch aktiviert werden. Hierbei wird bei jedem Null-Impuls die Position verifiziert.
NTERFACE 2.8 Spindelsteigungsfehler- und Winkelfehler-Kompensation McuWIN stellt dem Anwender die Möglichkeiten zur Kompensation von Spindelsteigungsfehlern und Winkelfehlern bei kartesischer Achsanordnung zur Verfügung. Hierzu muss das McuWIN-Verzeichnis mit einfachen Textdateien ergänzt werden, welche die Kompensationstabellen enthalten. Aktiviert wird die Kompensation durch das Vorhandensein der entsprechenden Dateien. Hinweise zur Erstellung dieser Dateien sind im Handbuch „McuWIN-Bedienoberfläche“...
NTERFACE 3 Beschreibung der realisierten G-Codes 3.1 G00 - Positionieren im Eilgang Die Übergabe der Zielpositionen erfolgt in Absolut- oder Relativkoordinaten, je nach angewähltem Modus (G90 / G91). Geschwindigkeit und Beschleunigung sind die in MCFG angegebenen achsspezifischen Standardwerte (File – System Data – Registerkarte "Motion Parameters" – {jvl} und {jac}) bzw. die in der Initialisierungstask gesetzten Werte.
NTERFACE 3.5 G04 - Verweilzeit Verweilzeit in Sekunden. Hier können Gleitpunkt Zahlenwerte, Gleitpunkt-Variable oder Berechnungsausdrücke angegeben werden. Beispiele: N100 G04 3 N100 G04 CD601 Vorsicht: Mit G04 wird eine eventuelle Selbsthaltung von G-Befehlen aufgehoben. 3.6 G17 - Ebenenauswahl Ebene X-Y für Kreisinterpolation und Werkzeugradiuskorrektur auswählen. Die Ebene X-Y ist der Defaultwert nach dem Systemstart.
NTERFACE 3.12 G24 – Spiegeln aller Achsen deaktivieren Alle programmierten Spiegelfunktionen (G21, G22, G23) werden ausgeschaltet. 3.13 G39 – Positions-Faktor programmieren Für jede gespiegelte Achse im System kann ein Positionsfaktor programmiert werden. Bei angewählter Achsspiegelung, werden die Positionswerte der entsprechenden Achse mit diesem Faktor multipliziert. Standardwert für diesen Faktor ist –1 (Achsspiegelung).
NTERFACE Beispiel: N200 G51 C120 D40 Für diese Funktionalität sind die Versionsinformationen in Kapitel 14 zu beachten. Mindestversion ab 16.07.2003 ist erforderlich. 3.18 G53 – Nullpunktverschiebung ausschalten Nullpunktverschiebung ausschalten bei allen Interpolationsachsen. Dieser Befehl ist kein Spoolerbefehl und beendet somit eine zusammenhängende Kontur, die mit Spoolerbefehlen, wie z.B. mit G01 programmiert wird.
NTERFACE 3.21 G70 – Maßangaben in inch Maßangaben für Positionen und Geschwindigkeiten in inch. 3.22 G71 – Maßangaben in mm Maßangaben für Positionen und Geschwindigkeiten in mm (Defaultwert). 3.23 G74 – Referenzfahrt Das Kommando G74 soll die Achsreferenzierung auslösen. Diese Funktion muss applikationsspezifisch in Task 0 programmiert / angepasst werden.
NTERFACE 3.27 G93 – Zeitreziproke Vorschubverschlüsselung Zeitreziproke Vorschubverschlüsselung. Diese Funktion ist noch nicht implementiert und darf nicht verwendet werden. 3.28 G94 – Zeiteinheit in Minute Angabe der Zeiteinheit in Minute, d.h. Einheit des Vorschubs in [mm/min] bzw. [inch/min]. G96 – Konstante Schnittgeschwindigkeit aktivieren G97 –...
NTERFACE 3.33 G153 – Nullpunktverschiebung lesen Mit diesem Kommando kann der aktuell gesetzte absolute Positionswert der Nullpunktverschiebung aller Achsen im System gelesen werden. Die zurückgelesenen Werte, werden in den Systemvariablen CD[50 + Achsindex] abgelegt in der benutzerspezifischen Interpolationseinheit. Beispiel: N100 G153 ’...
NTERFACE 4 M-Codes Die nachfolgend aufgeführten M-Codes sind in McuWIN bekannt. Weitere M-Codes können vom Anwender definiert werden. Informationen hierzu ist im Handbuch „McuWIN-Bedienoberfläche“ zu finden. Kommentare in runden Klammern, sind nach M-Codes nicht erlaubt, da die Möglichkeit besteht M-Codes mit Parametern aufzurufen.
NTERFACE 4.6 M05 – Spindel Stop Dieses Kommando ist abhängig von der Art der Maschine und hat z.B. die Bedeutung <<Spindel Stop>>. Die entsprechende Funktionalität muss in Task 0 programmiert werden. 4.7 M06 - Werkzeugwechsel Dieses Kommando hat die Bedeutung <<Auslösen des Werkzeugwechsels>>. Die entsprechende Funktionalität muss in Task 0 programmiert werden.
NTERFACE 4.12 M27 – Ausgang rücksetzen Digitalausgang rücksetzen. Syntax: M27 Parameter Parameter ist eine Ganzzahl, bei welcher der Wert der Hunderterstelle die Achs-Nummer und der Wert der Einer- und Zehnerstelle den rückzusetzenden Ausgang angibt. Mit dem Wert 00 in der Einer-/Zehnerstelle werden alle Ausgänge dieses Achskanals rückgesetzt.
NTERFACE 4.15 M96 – Unbedingter Sprung Unbedingter Sprung zum angegebenen Label! Labels werden mit dem Zeichen L angegeben. Ab Version 2.5.3.41 bewirkt dieser Befehl keinen Zwischenstopp bei einer Interpolationsfahrt mehr. Beispiel: N220 M96 L114 ’ Unbedingter Sprung zum Label 114 N221 ...
NTERFACE 4.19 M901 – Common-Integer-Variable resident speichern Mit diesem Kommando kann eine Ganzzahlvariable des Common-Integer-Bereichs resident gespeichert werden. Diese Information kann dann per M902 zu einem beliebigen Zeitpunkt wiederhergestellt werden, auch nach einem Programm-Neustart. Die Ablage der Information erfolgt im INI-File von McuWIN. Als Parameter muss der Index der zu speichernden Variablen angegeben werden (0..999).
NTERFACE 4.23 M910 – PC nach Programm-Ende ausschalten Ab Windows XP kann mit einem M910 vor dem Programm-Ende der PC nach Beendigung des G-Code- Programms ausgeschaltet werden. Beispiel: ..M901 4.24 M911 – McuWIN.exe nach Programm-Ende beenden Ab McuWIN V2.5.3.117 kann mit einem M911 vor dem Programm-Ende das Programm nach Beendigung des G-Code-Programms beendet werden.
NTERFACE 5 Sonstige Codes 5.1 Labels Labels dienen zur Kennzeichnung von Unterprogrammen und Sprungzielen und werden mit dem Buchstaben L mit einer kennzeichnenden Nummer angegeben. Die Definition eines Labels bewirkt keinen Zwischenstopp bei einer Interpolationsfahrt. Der Modulname eines Unterprogramms wird gleichzeitig als Label angelegt und kann für Unterprogrammaufrufe verwendet werden.
NTERFACE 5.4 S-Kommando Einstellung der Hauptspindeldrehzahl: Die Funktionalität dieser Funktion muss in Task 0 programmiert werden. Der Funktionscode dieses Kommandos ist 1. Der Parameter wird in CD0 übergeben. Das S- Kommando, welches in Task 0 ausprogrammiert ist, unterbricht die Interpolationskontur und führt die vorherigen Zeilen aus durch den Befehl SSMSIW.
NTERFACE 5.7.1 WRITE Kommando Mit diesem Kommando wird eine Zeichenkette zur Anzeige generiert und gegebenenfalls an eine noch nicht abgeschlossene Zeichenkette angehängt, aber nicht abgeschlossen, d.h., weitere Ausgaben können noch angehängt werden. Parameter können Stringkonstanten, Integer, Double und Boolesche Variable sowie Berechungsausdrücke sein.
NTERFACE 6 Kommentare Kommentare können mit runden Klammern umschlossen werden. Weiterhin besteht die Möglichkeit, den Rest einer Zeile durch ein Hochkomma als Kommentar zu kennzeichnen. Die Schachtelung von Kommentaren ist möglich. Beispiele: N210 G00 X10 Y-20 (Dies ist ein Kommentar) N220 G90 ’...
7 Bedingte Programmausführung Abhängig von Booleschen Werten können bedingte Programmteile ausgeführt werden. Die Schreibweise von Ausdrücken und Operatoren ist der SAP-Programmierung der APCI-8001 angelehnt. Bei dieser Schreibweise ist insbesondere zu beachten, dass Programmanweisungen mit Semikolon abgeschlossen werden müssen (nicht begin) und dass Kommentare mit // anstatt mit Hochkomma bzw. mit geschweiften Klammern anstatt mit runden Klammern gekennzeichnet werden.
NTERFACE 8 Schleifen 8.1 while-do Schleife Beispiel: N350 $while (Ausdruck) do begin N400 ..(Anweisungen) N450 $end; Ausdruck muss einen booleschen Wert zurückliefern (siehe IF). Die Schleife wird so lange ausgeführt, bis Ausdruck false wird. Der Wert von Ausdruck wird jeweils am Schleifenanfang abgeprüft, d.h. wenn der Wert beim Erreichen der Schleife false ist, wird die Schleife übersprungen.
NTERFACE 9 Einbinden von Include-Files Mit der Anweisung $I können Include-Files in einen Quelltext eingebunden werden. Include-Files können weitere Include-Files enthalten. Der Dateiname kann auch eine Laufwerks- und Pfadangabe enthalten. In Dateiname und Pfadangabe darf aber kein Leerzeichen enthalten sein. Beispiel: $I UP2.SRC Mit Hilfe dieser Funktion ist es möglich eine Unterprogrammsammlung bestehend aus eigenständigen...
NTERFACE 10 Einbindung von rw_SymPas Kommandos In Programme nach DIN 66025 können rw_SymPas Quelltextabschnitte eingebunden werden. Dazu wird der DIN-Modus mit der Anweisung $DINEND beendet. Beispiel: N200 $DINEND Nach dieser Anweisung lassen sich rw_SymPas Anweisungen einfügen ohne Zeilennummerierung. Die Zurückschaltung in den DIN-Modus erfolgt mit der Compileranweisung {$DINSTART}. Beispiel: {$DINSTART} N220...
NTERFACE 11 Rechenparameter Für mathematische Operationen wie z.B. Berechnung von Zielpositionen können Rechenparameter verwendet werden. Diese Rechenparameter können auch zur Entscheidung bei bedingten Sprungfunktionen verwendet werden. Die Rechenparameter werden mit CD<n> für Gleitpunktzahlen und mit CI<n> für Ganzzahlwerte referenziert. Für den Benutzer sind die Werte für n = 600..699 reserviert. Vorsicht: Das System lässt auch andere Werte für n zu.
NTERFACE 12 Variable Durch Umschaltung auf die rw_SymPas Syntax können auch Variable deklariert werden, die im G-Code- Programm verwendet werden können. Ein Beispielprogramm ist nachfolgend aufgeführt. Dieses Programm ist im Lieferumfang enthalten. ' G-Code Programmbeispiel ' - Deklaration von Variablen und Konstanten ' - Verwendung mathematischer Funktionen in G-Code-Programmen $DINEND // rw_SymPas Programmblock zur Deklaration von Variablen}...
NTERFACE 13 Handhabung von McuWIN 13.1 Problembehandlung 13.1.1 Fehleranzeigen von McuWIN Im Fehlerfenster von McuWIN werden eventuelle Status- oder Fehlerinformationen für den Anwender sichtbar gemacht. Hierbei muss unterschieden werden zwischen Übersetzungsfehlern und Laufzeitfehlern. Übersetzungsfehler werden angezeigt, während das Programm übersetzt bzw. gestartet wird. Laufzeitfehler treten während der Programmabarbeitung auf.
NTERFACE 13.1.1.6 Status # 4: Programm wurde gestartet! Ein Applikationsprogramm wurde gestartet! – normaler Betriebszustand 13.1.1.7 Fehler # 8: Software-Endschalter (links Achse ? / rechts Achse ?)! Mindestens ein Software-Endschalter wurde erkannt. Achskanal und Rechts/Links wird in der Meldung spezifiziert. Diese Überwachung ist nur aktiv, wenn das System vollständig referenziert ist, da eine Positionsüberwachung nur bei einem referenzierten System sinnvoll ist.
Programme reinitialisiert werden. 13.1.1.17 Status # 80: Fehlerbit in ErrorReg erkannt! ? hex Laufzeitfehler, der ein Fehlerbit im steuerungsspezifischen Register ErrorReg der APCI-8001 anzeigt. 20 hex deutet auf ein Verfahrprofil ohne Verfahrweg hin, 200 hex zeigt an, dass eine Fehlermeldung im fwsetup- Monitor-Screen angezeigt wird.
Seite 38
NTERFACE 13.1.1.22 Fehler # 800: Verstärker nicht bereit! Das Signal DNR (Drive Not Ready) von mindestens einer Achse zeigt an, dass ein Leistungsverstärker nicht betriebsbereit ist. 13.1.1.23 Status # 1000: Laufzeitfehler in SAP-Task! In einer Stand-Alone-Task ist ein Laufzeitfehler aufgetreten; das System ist nicht mehr betriebsbereit. Mit Hilfe von mcfg kann die Ursache ermittelt werden.
NTERFACE 14 Versionsinformation Die nachfolgende Beschreibung ist gültig für McuWIN.EXE ab Version 2.5.3.111 IniCfg.EXE ab Version 2.5.3.87 MCFG.EXE ab Version 2.5.3.91 MCUG3.DLL ab Version 2.5.3.90 NCC.EXE ab Version 2.5.3.63 RWMOS.ELF ab Version 2.5.3.116 ToolEdit.EXE ab Version 2.5.3.8 14.1 Änderungen in früheren Versionen Version 2.5.2.122 •...
Seite 40
NTERFACE Version 2.5.3.107 • Neue Message-Fenster auch für Task 1 und Task 2 hinzugefügt • Beim Starten von Task1 eine Meldung "Initialisierung ..." aufgelegt • Schreiben aller Fehlermeldungen und Warnungen in eine Protokolldatei, damit gelöschte Meldungen im Nachhinein verifiziert werden können --> IniFile Variable [MCU] ProtocolFileName: Hier muss ein Dateiname mit Laufwerk und Pfad eingetragen werden.
Seite 41
NTERFACE Version 2.5.3.96 • Meldung "Ein deaktiviertes oder unsichtbares Fenster kann nicht den Focus erhalten!" verhindert • Undo Button für TeachIn • Manuelles Verfahren beim Programmstart sicher rücksetzen • TASK1: Hardware-Endschalter-Handling geändert • Message von Task 0 bei "Forts." schließen •...
Seite 42
NTERFACE • Ergänzungen bei Nutzung von Web-Services, Verwendung unter Linux/WINE möglich • Neue applikationsspezifische Datei AppEO_Off.inc für zusätzliche Gestaltungsmöglichkeiten bei der Einrichtung von McuWIN. Version 2.5.3.78 • G60, G90/91 werden nun zur Laufzeit von Programmen, nicht mehr beim Übersetzen berücksichtigt. Hierzu ist mindestens RWMOS V2.5.3.89 notwendig.
Seite 43
NTERFACE Die Sprungbefehle M96, M98 sowie M17 und Deklaration von Labels unterbrechen ab dieser Version eine Spoolerkontur (G01, G02, G03) nicht mehr. Version 2.5.3.40: Die in IniCfg eingestellten Referenzpositionen wurden bisher über den sogenannten Common-Buffer an die Steuerung übertragen. Dies wird nun über die Common-Variablen CD60 – CD67 gemacht. Deshalb muss unbedingt gewährleistet sein, dass diese Variable vom Anwender nicht benutzt werden.
Seite 44
NTERFACE Version 2.5.3.23: - Neue Kommandos: • G153: Nullpunktverschiebung lesen • G154: Nullpunktverschiebung reprogrammieren • Nullpunktverschiebung, insbesondere G54..G59 überarbeitet, G59 existiert nicht mehr, da nur 5 Nullpunktverschiebungsregister existieren - Bug bei Verwendung nicht fortlaufender Interpolationsachsen behoben; - Programmstart im Simulationsmodus möglich; - Zählerüberwachung per Index-Latch und Encoder-Error-Überwachung sind nun gesondert selektierbar;...