T R A C E Urmoneit 25.11.97 ============= aktualisiert: Boessenecker 10.05.00 Der Trace wird mit der Datei "C:\Programme\KRC\trace\trace.def" konfiguriert. In der Datei "trace.def" koennen die Kanaele, die aufgezeichnet werden sollen, ausgewaehlt, die Triggerbedingung und die Aufzeichnungslaenge festgelegt werden. Unter der Bedienung existiert eine Oberflaeche zur Einstellung des Traces (Anzeige -> Diagnose -> Oszilloskop -> Konfiguration). =============================================================================== Inhalt der Datei "trace.def": 1; # Datenaufzeichnung (wird nicht ueberprueft) 12.00; # Laenge in Sekunden (>=0) 4; # Triggerbedingung (1-14) 0; # Triggerzeitpunkt in Prozent (0-100) 1; # Triggergruppe (1-5) 3; # Triggervariable 0.0; # Triggerwert 1 0.0; # Triggerwert 2 1; # DSE-Gruppe 0; # EA-Gruppe (0-2) 0; # Interpolator-Gruppe 0; # Test-Gruppe 0; # DSE-Variablen Kanal 1 0; # DSE-Variablen Kanal 2 0; # DSE-Variablen Kanal 3 0; # DSE-Variablen Kanal 4 0; # DSE-Variablen Kanal 5 0; # DSE-Variablen Kanal 6 0; # DSE-Variablen Kanal 7 0; # DSE-Variablen Kanal 8 0; # DSE-Variablen Zusatz-Kanal 0; # EA-Kanal 1, Bit 0 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 1, Bit 1 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 1, Bit 2 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 1, Bit 3 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 1, Bit 4 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 1, Bit 5 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 1, Bit 6 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 1, Bit 7 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 2, Bit 0 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 2, Bit 1 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 2, Bit 2 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 2, Bit 3 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 2, Bit 4 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 2, Bit 5 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 2, Bit 6 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 2, Bit 7 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 3, Bit 0 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 3, Bit 1 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 3, Bit 2 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 3, Bit 3 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 3, Bit 4 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 3, Bit 5 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 3, Bit 6 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 3, Bit 7 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 4, Bit 0 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 4, Bit 1 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 4, Bit 2 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 4, Bit 3 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 4, Bit 4 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 4, Bit 5 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 4, Bit 6 (1-4096: Ausgang, 32768-36864: Eingang) 0; # EA-Kanal 4, Bit 7 (1-4096: Ausgang, 32768-36864: Eingang) =============================================================================== Bedeutung der einzelnen Elemente: Datenaufzeichnung: wird nicht ueberprueft Aufzeichnungslaenge: legt die Aufzeichnungslaenge in Sekunden fest Triggerbedingung: 1 = Start durch Bediener, Aufzeichnung solange bis Puffer voll 2 = zyklischer Durchlauf, bis Bediener abbricht 3 = Trigger auf auftretende Fehler 4 = Triggern auf Anfang eines Bewegungssatzes 5 = Triggern auf Triggervariable <> Triggerwert1 6 = Triggern auf Triggervariable == Triggerwert1 7 = Triggern auf Triggervariable < Triggerwert1 8 = Triggern auf Triggervariable > Triggerwert1 9 = Triggern auf (Triggervariable > Triggerwert1) && (Triggervariable < Triggerwert2) 10 = Triggern auf Filter leeren 11 = Triggern auf (Triggervariable & Triggerwert1) == Triggerwert2 12 = Triggern auf Hardwarefehler 13 = Triggern auf einzelnen E/A: Triggervariable == Triggerwert1 14 = Triggern auf einzelnes CYCFLAG: Triggervariable == Triggerwert1 Triggerzeitpunkt: Zeitpunkt der Triggerung in Prozent, z.B. 5% Vorgeschichte, 95% Nach- geschichte Triggergruppe: in welcher Gruppe die Triggervariable liegt Triggervariable: auf welche Variablen-Nr. getriggert wird Triggerwert 1: siehe Triggerbedingung Triggerwert 2: siehe Triggerbedingung DSE-Gruppe: 0 = DSE Gruppe nicht aufzeichnen 1 = DSE Kanaele auf 1. DSE aufzeichnen 2 = DSE Kanaele auf 2. DSE aufzeichnen EA-Gruppe 3: 0 = Gruppe 3 nicht aufzeichnen, 1 = EA-Werte aufzeichnen wie weiter unten angegeben 2 = CYCFLAGS aufzeichnen Interpolator-Gruppe 4: 0 = Gruppe 4 nicht aufzeichnen, 1 = Interpolator Sollwerte aufzeichnen 2 = kartesische Istwerte aufzeichnen 3 = Interpolierte Position nach Mittelwertfilter aufzeichnen 4 = Interpolierte Position vor Mittelwertfilter aufzeichnen Test-Gruppe 5: Gruppe 5 sind Testvariablen von Entwicklern 0 = Gruppe 5 nicht aufzeichnen 1 = Gruppe 5 aufzeichnen DSE-Variablen Kanal x: Das ist ein Bitfeld fuer die Variablen der Achse x, die aufgezeichnet wer- den. Die Bits haben folgende Bedeutung: Bit-Nummer | DSE-Variable Kanal x --------------------------------------- 0 | Teilsollwert Achse x 1 | Teilistwert Achse x 2 | Schleppfehler Achse x 3 | Solldrehzahl Achse x 4 | Istdrehzahl Achse x 5 | Moment Achse x 6 | Motor Temp Achse x 7 | Resolver Achse x Wenn man z.B. den Teilsollwert, die Istdrehzahl und das Moment von Achse 1 aufzeichnen will, muss man eingeben: 49; # Variablen Kanal 1 DSE-Variablen Zusatz-Kanal: Das ist ein Bitfeld fuer die Variablen der zusaetzlichen Kanaele, die aufgezeichnet werden. Die Bits haben folgende Bedeutung: Bit-Nummer | DSE-Variable Zusatz-Kanal ------------------------------------------ 0 | Analogeingang 1 1 | Analogeingang 2 2 | Zwischenkreisspg. Power-Modul 1 3 | Zwischenkreisspg. Power-Modul 2 4 | Fehler Power-Modul 1 5 | Fehler Power-Modul 2 EA-Kanal x, Bit y: Hier wird der Ausgang oder Eingang festgelegt, der in Bit y des Kanals x geschrieben wird. Es koennen nur die unteren acht Bits eines Kanals so beschrieben werden. Damit koennen insgesamt 32 verschiedene EAs aufgezeichnet werden. Festlegung des Ausgangs/Eingangs: 0: keine Aufzeichnung 1-4096: Ausgaenge 1-4096, 32769-36864: Eingaenge 1-4096 So zeichnet man A[49] in Kanal 1, Bit 0 auf: 49; # EA-Kanal 1, Bit 0 und so zeichnet man O[49] in Kanal 1, Bit 1 auf: 32817; # EA-Kanal 1, Bit 1 =============================================================================== Fuer die Messung vor Ort am Roboter ist es sinnvoll, die Triggerbedingung auf 4 zu setzen, die DSE Gruppe anzuwaehlen, die Aufzeichnungslaenge auf 12 sec zu setzen und von jeweils einer Achse Solldrehzahl, Istdrehzahl und Moment aufzuzeichnen. In der Office-Version ist es nur sinnvoll, die Gruppe 3, 4 oder 5 aufzuzeichnen. Die Aufzeichnung kann ueber die Bedienung durch die Variablenkorrektur gestartet werden. Eine Eingabe von $trace.mode auf #T_START startet die Aufzeichnung. $trace.state nimmt den Zustand #T_WAIT ein. Wenn die Aufzeichnung getriggert ist, geht der Zustand $trace.state auf #TRIGGERED. Wenn die Aufzeichnung beendet ist und abgespeichert wurde, geht der Zustand auf #T_END. Mit $trace.name[] kann der Name der Traceausgabedatei veraendert werden. Er ist per Default auf "TRACE" eingestellt. Der Name kann maximal 7 Buchstaben enthalten, als 8. Buchstabe wird die Gruppennummer automatisch an den Dateinamen angehaengt. Weiterhin ist es moeglich, diese Variablen im KRL-Programm zu setzen. Wenn die Aufzeichnung beendet ist, speichert die Trace-Task eine Datei <$trace.name[]>.i16, <$trace.name[]>.trc und <$trace.name[]>.dat in das Verzeichnis "C:\Programme\KRC\trace". z.B. fuer die DSE-Gruppe, $trace.name[]="TEST" die Dateien: "test1.i16", "test1.trc" und "test1.dat". Die Dateien zu DSE-Gruppen koennen mit dem Programm "dsetrace.exe " im DOS-Fenster oder in der Bedienung unter Anzeige -> Diagnose angesehen werden. Die Soll-Fahrprofile der Gruppe 4 koennen mit den Programmen "gesachs.exe ", "pos_tcp.exe " oder "pos_xy.exe " angesehen werden. Wenn mehrere Aufzeichnungen gemacht werden sollen ohne die aelteren zu verlieren, muss der Trace-Name $trace.name[] vor jedem Trace-Start veraendert werden, sonst wird die vorherige Aufzeichnung ueberschrieben. Wenn Aufzeichnungen zu uns auf Diskette mitgebracht oder ueber Modem gesendet werden sollen, muessen immer beide Dateien "*.i16" und "*.trc" gespeichert werden. *.trc ist der Trace-Kopf *.i16 sind die Trace-Daten *.dat ist der DIA-DAGO-Kopf Fuer die Tracefunktionalitaet ist es erforderlich, dass im Homeverzeichnis der Steuerung die Dateien "trace.def", "trace.nam", und "comment.txt" vorhanden sind. Diese Dateien liegen im Verzeichnis "C:\Programme\KRC\trace" auf der Steuerung.