MCO 305 Projektierungshandbuch
Debugging
Mit Entwicklung o Meldungen o Log-Datei wird die Protokollierung der Meldungen gestartet. o Logdatei
beenden ist nur anwählbar, wenn die Protokollierung gestartet ist.
Klicken Sie auf Entwicklung o Syntaxprüfung. Sobald ein falscher Befehl gefunden ist, wird das Programm
abgebrochen. Die Zeilennummer und eine Fehlerbeschreibung werden im Kommunikationsfenster ausge-
geben. Der Cursor steht automatisch auf der Position des Syntaxfehlers und das Programm stoppt genau an
diesem Punkt.
Die Syntaxprüfung erzeugt zusätzlich eine Debug-Datei namens „temp.ad$".
Klicken Sie auf Entwicklung o Vorbereiten Einzelschritt und das geöffnete Programm wird für den Debug-
Modus vorbereitet. Es wird kompiliert und eine Debug-Datei erzeugt; außerdem wird das Programm in den
FC 300 geladen und alle ausführbaren Programmzeilen werden mit blauen Punkten markiert. Nun sind auch
alle entsprechenden Menüpunkte aktiviert. Mehr Details finden Sie in Abschnitt „Programme debuggen" auf
Seite 89.
Interrupts
Generell gibt es diese Sorten von Interrupts:
ON INT
ON posint
ON posint SETOUT (TOIN)
ON PERIOD / ON TIME
ON COMBIT / ON STATBIT
ON KEYPRESSED
ON PARAM
ON CANMSG
Generelle Abarbeitung von Interrupt-Prozeduren
Nach jedem internen APOSS Befehl wird abgefragt, ob ein Interrupt-Ereignis vorliegt. Dabei ist zu beachten,
dass mit jedem internen APOSS Befehl der Compiler eine Anweisung im APOSS-Maschinencode erzeugt.
So wird zum Beispiel eine einfache Anweisung wie:
POSA (ziel + 1000)
in folgenden APOSS-Maschinencode zerlegt:
MOVE ziel nach Register 101
MOVE Immediate 1000 nach Register 102
ADDREG Register 102 plus Register 101 nach Register 101
POSA Achse 0 nach Register 101
Außerdem wird bei länger dauernden Befehlen (wie DELAY oder WAITAX) ständig geprüft, ob ein Interrupt-
Ereignis aufgetreten ist. In diesem Fall wird der Befehl unterbrochen und nach Abarbeitung des Interrupts
wieder fortgesetzt.
ACHTUNG!:
Verwenden Sie nicht WAITT in Verbindung mit Interrupts, da dabei der Wartevorgang nach der
Unterbrechung erneut von vorn beginnt.
Benutzung von Variablen innerhalb von Interrupt-Prozeduren
Das obige Beispiel mit dem „APOSS-Maschinencode" zeigt auch deutlich, dass bei der Zuweisung von
Variablen innerhalb von Interrupt-Prozeduren mit größter Sorgfalt vorgegangen werden muss.
__ Programmieren mit APOSS __
Interrupt bei Flanken eines Eingangs (flankengetriggert).
Positions-Interrupt (ON APOS, ...).
Simuliert eine CAM-Box (alle Arten von POSINTs).
Interrupt nach Ablauf einer Zeitspanne.
Interrupt wenn Bit n gesetzt wird.
Interrupt wenn eine Taste des LCP gedrückt oder losgelassen wird.
Interrupt wenn sich ein Parameter n ändert.
Interrupt bei Eintreffen einer CAN Nachricht.
®
MG.33.L5.03 – VLT
ist ein eingetragenes Warenzeichen von Danfoss.
167