ADwin
Bestehende ADbasic-Programme können – soweit sie mit Pro I-Modulen
arbeiten – mit wenigen, aber notwendigen Änderungen weiter verwendet wer-
den:
– Für den Prozessor T11 muss die Include-Datei
<ADwinPro II_All.inc> neu eingebunden werden. Gleichzeitig
sollten alle anderen Include-Dateien für Pro II-Module aus dem Pro-
gramm gelöscht werden.
– Die Zeiteinheit des Processdelay (Zykluszeit) beträgt 3,3 ns für hoch-
priore wie für niederpriore Prozesse.
Alle entsprechenden Werte und Berechnungen müssen angepasst wer-
den. Das größtmögliche Processdelay entspricht 7,1 s; für größere
Zykluszeiten muss eine Hilfsvariable verwendet werden.
– Die Zeiteinheit von 3,3 ns gilt auch für den internen Zähler, d.h. Abfra-
gen des Zählers mit
Read_Timer
Beachten Sie bitte: Das Zeitverhalten von Prozessen im Zusammen-
hang mit Ein-/Ausgabebefehlen ist komplexer geworden (s. u.). Mit
bestimmte Zeitdifferenzen spiegeln jetzt nur noch einen
Read_Timer
Teilaspekt des gesamten Zeitverhaltens wider.
– Der Befehl
muss durch einen der folgenden neuen Befehle
SLEEP
ersetzt werden:
•
lässt den Prozessor warten. Der Befehl
CPU_SLEEP
bei den Prozessoren T9 und T10 die gleiche Funktion.
•
lässt den Pro I-Bus warten, z.B. um Ein-/
P1_SLEEP
Ausgabebefehle aufeinander abzustimmen. Der Befehl lässt
auch Pro II-Bus und externen Speicher warten.
•
lässt den Pro II-Bus warten, z.B. um Ein-/
P2_SLEEP
Ausgabebefehle aufeinander abzustimmen.
Die neuen Befehle haben eine Zeiteinheit von 10ns (bei SLEEP: 100ns).
Welcher Befehl ist der richtige? In der Regel wird
die Wartezeit eines Ein-/ Ausgabebefehls zu überbrücken, z.B. das Ein-
schwingen des Multiplexers bei SET_MUX. In diesem Fall ist für bisheri-
ge Module (Pro I-Bus)
Module ist es P2_SLEEP.
Beachten Sie die Hinweise im ADbasic-Handbuch, wie Sie die Warte-
zeit genau einstellen (Kapitel 5.2.4).
Warum gibt es neue Befehle? Der Prozessor T11 unterscheidet zwi-
schen Prozessorbefehlen einerseits und Ein-/Ausgabebefehlen
andererseits. Die Prozessorarchitektur erlaubt oft eine quasi-parallele
1
Bearbeitung
der beiden Befehlsgruppen und damit eine deutlich
schnellere Bearbeitung der ADbasic-Prozesse. Das heißt gleichzeitig,
dass die Befehlsgruppen (weitgehend) zeitlich unabhängig bearbeitet
werden. Um das Zeitverhalten durch Warten zu beeinflussen, sind des-
halb den Gruppen zugeordnete Befehle notwendig. Die Unterscheidung
nach Bussen ergibt sich, weil für das Warten bei den Ein-/Ausgabebe-
fehlen der jeweilige Bus angehalten wird.
1. Die Prozessorstruktur unterscheidet sich in diesem Punkt von T9 und T10: Dort wurden
beide Befehlsgruppen sequentiell bearbeitet. Ein Anhalten des Prozessors mit
einflusste deshalb auch folgende Ein-/Ausgabebefehle.
ADwin-Pro II Hardware, Handbuch Version 1.72, September 2010
müssen ebenfalls angepasst werden.
der passende Befehl, für Pro II-
P1_SLEEP
hatte
SLEEP
verwendet, um
SLEEP
be-
SLEEP
Pro-CPU-T11
Software-Änderung beim
Umstieg von T9 / T10
PROCESSDELAY
READ_TIMER
SLEEP
15