home
(1) Start online
|
online Diagnose
Voraussetzung: Sie haben eine Verbindung zur CPU der P03 Steuerung. Im Editor ist das Projekt geladen, welches auch in der Steuerung ist.
Im Kontaktplanfenster sehen Sie das SPS Programm in power-flow Darstellung. Die aktuellen Zustände der Variablen und deren Wirkung auf den Pfad des Kontaktplans sind eingeblendet. Die Cursorposition (in der AWL, 2. Zeile SH 6301) wird nichtmehr angezeigt. Mit Eintritt in den online Modus erscheinen neue Informationen in der Trennlinie zwischen KOP und AWL siehe rot eingekreister Hinweis auf Abbildung. Der erste Teil der Info steht für:
Es wird das Programm auf der Flashkassette ausgeführt
Es wird das Programm im internen RAM der CPU ausgeführt
Es wird das Programm im internen Flash EPROM der CPU ausgeführt
Beispiel: Auswahl von verschiedenen Sollwerten. Darstellung "Synchron":
Darstellung "Echtzeit":
Andererseits:
Im Echtzeit Modus, siehe unten, ist das nicht so leicht heraus zu finden:
Deswegen ist es besser, immer im Synchron-Modus zu arbeiten und nur fallweise, wenn überhaupt möglich, in den Echtzeit Modus zu wechseln. Seitenanfang
Geben Sie die Buchstabenfolge db732 ( Diagnose Bit 732) ein und beobachten Sie dabei das anfangs leere Fenster über der Fußzeile, sowohl als auch die Fußzeile selbst:
Nach Betätigung der Eingabetaste öffnet sich das Diagnosefenster unter der Kopfzeile des Editors:
Wenn Sie nun noch die Buchstabenfolge DWD1700 (Diagnose Wort Dezimal 1700) eingeben,
Bitte beachten Sie die vielen Optionen in der Fußzeile während der Eingabe!
Dann sehen Sie im Diagnosefenster, gleich unterhalb der Kopfzeile, zwei Eintragungen mit dem Wahlschaltereingang Stellung 2 und dem ausgewählten Sollwert (Zustand im Programmnulldurchlauf!). Sie können sich nun mit dem Editor an eine andere Stelle des Programms begeben und behalten dabei das Verhalten des Wahlschalters immer im Blick. Das Diagnosefenster kann bis auf 10 Zeilen (0 .. 9) erweitert werden. Seitenanfang Sie können pro Zeile mehrere Variablen darstellen, wenn diese in einer Folge sind. Zum Beispiel, zur Darstellung der Wahlschalterstellung geben Sie bitte ein: 4db731 (4 Diagnose Bit 731)
… und finden dann alle Bits des Schalters in einer Zeile.
Allerdings erhalten Sie in dieser Darstellung keine Kommentare mehr. Dateinamen mit einem Haken sind bereits belegt. Drücken Sie die TAB Taste, um sich alle Speicherplätze A .. I anzusehen. Im Beispiel ist der Platz B noch frei, also setzen wir die Befehlseingabe fort mit: b Der vollständige Befehl lautet: dsb (Diagnose Sichern B_Sichern )
Links neben der Zeilennummer sehen Sie, welche gespeicherte Diagnosekonfiguration gerade dargestellt wird.
geben Sie nun den Buchstaben eines Speicherplatzes ein, auf dem sich eine Konfiguration befindet, in unserem Beispiel: b Der vollständige Befehl lautet: deb (Diagnose Einlesen B_Einlesen) Seitenanfang einzelne Diagnosezeile löschenUm z.B. die erste Zeile zu löschen geben Sie ein: dlz0 (Diagnose Löschen Zeile 0)Diagnosefenster schließenGeben Sie ein: dla (Diagnose Löschen Alles) Nicht abgespeicherte Diagnosekonfigurationen, erkenntlich am Speicherplatz "." (Punkt) im Diagnosefenster, gehen verloren.Diagnosespeicherplatz löschengeht nur per WINDOWS Zugriff auf das SPS Projekt (nicht empfohlen).
(PPPPPP: sechsstelliger Projektname, N: Bezeichner 0 = A, 1 = B ..etc. bis 9 = I). Anschließend Projekt neu laden. Die Diagnosekonfigurationsdateien sind keine ASCII Dateien. Seitenanfang
Zur Anschauung wurde das Diagnosefenster um die Zeilen B3 und B4 erweitert.In der Diagnosezeile B3 sind die Wortadressen 3000, 3001, 3002 und 3003 als Folge von vier Worten dezimal dargestellt. Darunter, in der Diagnosezeile B4, werden die gleichen Adressen hexadezimal angezeigt. Eingabe erfolglos? Sie haben versucht, eine Variable in der SPS zu verändern und es ist nicht gelungen? Wenn Sie eine Variable verändern, die auch durch das SPS Programm bearbeitet wird, so wird die Variable tatsächlich, nach Betätigung der Eingabetaste, überschrieben. Jedoch, das zyklisch ablaufende SPS Programm setzt anschließend den Wert entsprechend der programmierten Anweisungen. Dieser Vorgang läuft innerhalb eines Programmzyklus, also ca. 10msec ab. Viel zu schnell, als dass Sie es über den Bildschirm beobachten können: Es sieht so aus, als ob Ihre Wertänderung tatsächlich erfolglos war! Die Wertänderung wird zwar ausgeführt, jedoch sogleich wieder durch das SPS Programm überschrieben. In dem oben abgebildeten Beispiel, wird es also nicht gelingen, das Wort 1700 per Werteingabe zu verändern. Seitenanfang ForcingUnter "Forcing" versteht man das zwangsweise (engl. 'to force' = deutsch "zwingen") setzen einer Variablen. Zumeist angewendet auf Ein- oder Ausgänge. Bei vielen SPS wird an der CPU eine Warn-LED gesetzt, solange irgendeine Variable "geforct" wird. Denn dann "funktionieren" die geforcten Ein- oder Ausgänge nichtmehr normal. Sie sind auf den geforcten Zustand eingefroren.
Mit einem kleinen Trick kann man eine ähnliche Wirkung erreichen, allerdings ohne Warnung. Der Trick funktioniert nicht auf Interrupt Eingänge und auch nicht auf Karten, die mit refresh Anweisungen aktualisiert werden. GrundlagenDas Hauptprogramm 1 (HP 1) läuft zyklisch ab. Über den zyklischen Ablauf des HP1 ist auch die Aktualisierung der Ein- und Ausgangskarten der P03 synchronisiert:Das HP1 wartet, bis es durch das Betriebssystem der P03 entsprechend der in den Compilerparametern vorgegebenen Zykluszeit angestoßen wird. Z.B. alle 20 msec.
Das Hauptprogramm liest zunächst alle Eingänge entsprechend der Steckplatzliste Karte für Karte ein und setzt die entsprechenden Merker (z.B. auf dem Steckplatz 007 die Karte vom Typ E16 die Merker 320 , 321, 322 … etc. bis 337).
Ab da arbeitet das Programm nur mit den Merkern (Prozessabbild /Eingänge). Die aktuellen Zustände der Karten bleiben bis zum nächsten Start des HP1 unbeachtet. Ausnahme: Interrupts und Refresh Anweisungen. Der Trick:Wenn man also Merker der Eingangskarten gleich am Anfang des HP1 per P03 Anweisung auf feste Werte setzt, so bleibt der "Eingang" auf diesen festen Wert eingefroren.
Wenn man am Ende des HP1 Ausgangsmerker per SPS Programm auf einen festen Wert setzt, so wird der entsprechende Ausgang auf der Karte auf diesen Wert gesetzt, unabhängig von den Verknüpfungsergebnissen des SPS Programms.
Ausnahme: Ein- Ausgangskarten, die per Refresh Anweisung aktualisiert werden, falls das überhaupt programmiert wurde. Im Zweifelsfall per "Querverweisliste spezial" Befehle R und RR suchen:
Seitenanfang
Kaltenberg, 12.05.2019 |