Kommunikationsprozessor CP 521 BASIC

Werbung
SIMATIC S5
Kommunikationsprozessor
CP 521 BASIC
Handbuch
Bestell>Nr. 6ES5 998>0UW11
EWA 4NEB 812 6071>01
STEP “ und SIMATIC “ sind eingetragene Warenzeichen der Siemens AG und
gesetzlich geschÂtzt.
Copyright ” Siemens AG 1989
Technische 'nderungen vorbehalten.
Vervielfßltigung dieser Unterlage sowie Verwertung ihres
Inhalts nicht gestattet, soweit nicht ausdrÂcklich zuge>
standen. Zuwiderhandlungen verpflichten zu Schaden>
ersatz. Alle Rechte vorbehalten, insbesondere fÂr den Fall
der Patenterteilung oder GM>Eintragung.
EWA 4NEB 812 6071>01
SystemÂbersicht
Technische Beschreibung
Aufbaurichtlinien
Arbeitsweise und Adressierung
BASIC>Interpreter
Kommunikations>Schnittstellen
CPU>Auftrßge und St‘rverhalten
Programme
Anhang
Stichwortverzeichnis
EWA 4NEB 812 6071>01
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
Vorwort
EinfÂhrung
1
2
3
4
5
6
7
8
A
iv
EWA 4NEB 812 6071>01
CP 521 BASIC
Vorwort
Vorwort
Die Baugruppe CP 521 BASIC ist eine leistungsfßhige Peripheriebaugruppe, die
Bestandteil des Automatisierungsgerßts AG S5>100U ist. Um die Baugruppe
optimal einsetzen zu k‘nnen, ben‘tigen Sie als Anwender ausfÂhrliche Informa>
tionen.
Die Leistungsfßhigkeit des AG S5>100U wird stßndig gesteigert. Das Gerßte>
handbuch des AG S5>100U ist deshalb schon sehr umfangreich.
Aus diesem Grund erhßlt die Baugruppe CP 521 BASIC ein eigenes Handbuch, in
dem nur die Fakten und Beispiele aufgefÂhrt sind, die fÂr diese Baugruppe
wichtig sind. Gleichzeitig haben wir versucht, den erh‘hten Anforderungen an
technische Dokumentation gerecht zu werden. Das bedeutet im einzelnen:
f
f
f
f
Vereinheitlichung des Wortschatzes und der Schreibweisen
Umfangreiche Gliederung
Visualisierung einzelner Sachverhalte
Kundengerechte Gestaltung der Inhalte
Damit m‘chten wir erreichen, da˚ ungeÂbte ebenso wie routinierte SIMATIC S5>
Anwender alle Informationen erhalten, die sie fÂr ihre Arbeit mit dem
CP!521!BASIC ben‘tigen.
Dennoch k‘nnen in einem Handbuch nicht alle Probleme erlßutert werden, die
bei den vielfßltigen Einsatzm‘glichkeiten auftreten k‘nnen. Wenden Sie sich in
diesen Fßllen bitte an Ihre zustßndige Geschßftsstelle, die Sie jederzeit um Rat
fragen k‘nnen.
EWA 4NEB 812 6071>01
v
vi
EWA 4NEB 812 6071>01
CP 521 BASIC
EinfÂhrung
EinfÂhrung
Bevor Sie weiterblßttern, sollten Sie die EinfÂhrung aufmerksam lesen. Sie
erleichtern sich dadurch die Arbeit mit diesem Handbuch und sparen Zeit.
Inhaltsbeschreibung
Dieses Handbuch stellt eine umfassende Beschreibung des CP 521 BASIC dar. Sie
lß˚t sich in einzelne thematische Bl‘cke gliedern.
f
Beschreibung
> In der ∫SystemÂbersicht∫ erfahren Sie, welche Aufgaben die Baugruppe
Âbernehmen kann und wie sie im System AG S5>100U eingesetzt wird.
> Die ∫Technische Beschreibung∫ liefert generelle Informationen zur
Arbeitsweise der Baugruppe, enthßlt die technischen Daten, Angaben zu
den seriellen Schnittstellen und Peripheriegerßten sowie eine Zubeh‘rliste.
f
Montage und Betrieb
> In den ∫Aufbaurichtlinien∫ finden Sie sßmtliche Informationen, die Sie
brauchen, um die Baugruppe zu montieren und mit einem Drucker oder
einem anderen Peripheriegerßt zu verbinden (Pin>Belegungen und An>
schlu˚plßne).
f
Arbeitsweise und Adressierung
> Hier beschreiben wir ganz allgemein, wie der Datentransfer zwischen CPU,
CP 521 BASIC und Peripherie koordiniert wird, sowie
> das Anlaufverhalten und die Adressierung der Baugruppe.
f
Funktionsbeschreibung
> Das Kapitel ∫BASIC>Interpreter∫ enthßlt alle Informationen, einschlie˚lich
die Beschreibung aller BASIC>Befehle, die Sie fÂr die Programmerstellung
ben‘tigen.
> In ∫Kommunikations>Schnittstellen∫ werden detailliert der Datentransfer
zwischen der CPU und dem CP 521 BASIC und einem angeschlossenen
Peripheriegerßt beschrieben. Dieses Kapitel ist fÂr den Anwender
vorwiegend interessant fÂr die selbstßndige Programmierung von FBs fÂr
den Datenaustausch oder im Fall von Fehlersuche.
GWA 4NEB 812 6071>01
vii
EinfÂhrung
CP 521 BASIC
f
St‘rverhalten
Im Kapitel ∫CPU>Auftrßge und St‘rverhalten∫ sind alle in der Betriebsart
BASIC zulßssigen CPU>Auftrßge zusammengestellt. Hier erfahren Sie alle
Fehlermeldungen des BASIC>Interpreters, sowie Hinweise zur Fehler>
behandlung.
f
Programme
Das Kapitel ∫Programme∫ liefert Ihnen ablauffßhige Programme fÂr die CPU
und den CP 521 BASIC fÂr eine fehlerfreie AusfÂhrung von Sende> und
Empfangsauftrßgen.
f
Anhang A:
Im Anhang haben wir alle BASIC>Befehle und die Zusatzbefehle fÂr die
Kommunikation mit der CPU und der Peripherie in tabellarischer Form
zusammengefa˚t. Es soll dem Anwender den Umgang mit dem CP 521 BASIC
erleichtern.
Vereinbarungen
Um die ebersichtlichkeit des Handbuches zu verbessern wurde die Gliederung in
Menue>Form durchgefÂhrt, das bedeutet:
f
f
f
f
viii
Die einzelnen Kapitel sind mit gedrucktem Register gekennzeichnet.
Am Anfang des Buches finden Sie ein ebersichtsblatt, in dem die eberschrif>
ten der einzelnen Kapitel aufgefÂhrt sind.
Vor jedem Kapitel steht dann die Feingliederung.
Die einzelnen Kapitel sind bis zur dritten Stufe gegliedert. Zur weiteren
Unterteilung werden eberschriften fett gedruckt.
Seiten, Bilder und Tabellen werden in jedem Kapitel getrennt durch>
numeriert. Auf der RÂckseite der Feingliederung finden Sie je eine Liste der
Bilder und Tabellen, die in diesem Kapitel enthalten sind.
EWA 4NEB 812 6071>01
CP 521 BASIC
EinfÂhrung
Bei der Gestaltung des Buches wurden besondere Ausdrucksweisen verwendet,
mit denen wir Sie an dieser Stelle vertraut machen m‘chten.
f
f
f
f
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
f
f
FÂr bestimmte Begriffe gibt es charakteristische AbkÂrzungen.
Beispiel: Programmiergerßt (PG)
Fu˚noten werden mit kleinen hochgestellten Ziffern (z. B. ∫1∫), oder hoch>
gestellten Sternchen ∫*∫ gekennzeichnet. Die zugeh‘rigen Erlßuterungen
finden Sie am unteren Blattrand oder unterhalb einer Tabelle.
Querverweise werden folgenderma˚en dargestellt:
∫(Æ Kap. 7.2.1)∫ verweist auf den Abschnitt 7.2.1.
Verweise auf einzelne Seiten werden nicht verwendet.
Die Gr‘˚enangaben in Zeichnungen und Ma˚bildern werden in ∫mm∫ aus>
gedrÂckt.
Wertebereiche werden folgenderma˚en dargestellt: 17 ... 21 = 17 bis 21.
Besonders wichtige Informationen werden durch einen grauen
Hinweis>Balken hervorgehoben.
f
f
Sßmtliche Programmbeispiele wurden als Anweisungsliste erstellt und
beziehen sich immer auf den gleichen Steckplatz.
Alle Angaben zu den Programmiergerßten beziehen sich auf die deutschen
Versionen des PG 635, PG 685, PG 730 und PG 750. Eine ausfÂhrliche Beschrei>
bung der Programmierung mit diesen Gerßten finden Sie in den zugeh‘rigen
Bedienungsanleitungen.
GerßtehandbÂcher k‘nnen immer nur den momentanen Ausgabestand des Gerß>
tes beschreiben. Werden im Laufe der Zeit 'nderungen oder Ergßnzungen
notwendig, so erhßlt das Handbuch einen Nachtrag, der bei der nßchsten eber>
arbeitung des Buches eingearbeitet wird. Die jeweilige Ausgabe des Handbuches
wird auf dem Deckblatt angezeigt; hier Ausgabe ∫1∫. Bei jeder eberarbeitung
wird die Ausgabe um ∫1∫ erh‘ht.
Am Ende des Buches sind Korrekturblßtter eingeheftet. Tragen Sie dort bitte Ihre
∫Verbesserungs> und Korrekturvorschlßge∫ ein und senden Sie das Blatt an uns
zurÂck. Sie helfen uns durch Ihre Stellungnahme, die nßchste Auflage zu verbes>
sern.
EWA 4NEB 812 6071>01
ix
EinfÂhrung
CP 521 BASIC
Kursangebot
Dem Anwender von SIMATIC S5 bietet SIEMENS umfangreiche Schulungsm‘g>
lichkeiten.
Nßhere Informationen erhalten Sie bei Ihrer Siemens>Geschßftsstelle.
Literaturverzeichnis
Dieses Handbuch stellt eine umfassende Beschreibung der Baugruppe
CP!521!BASIC dar. Themenkreise, die nicht CP 521 BASIC > spezifisch sind, werden
nur kurz behandelt. AusfÂhrlichere Informationen hierzu finden Sie in folgenden
Werken:
f
Speicherprogrammierbare Steuerungen SPS
Band 1: VerknÂpfungs> und Ablaufsteuerungen; von der Steuerungsaufgabe
zum Steuerungsprogramm.
GÂnter Wellenreuther, Dieter Zastrow
Braunschweig 1987
Inhalt:
> Funktionsweise einer Speicherprogrammierbaren Steuerung
> Theorie der Steuerungstechnik unter Verwendung der Programmierspra>
che STEP 5 fÂr die SIMATIC S5>Automatisierungsgerßte.
Bestell>Nr.: ISBN 3>528>04464>0
f
Automatisieren mit SIMATIC S5>115U
Speicherprogrammierbare Steuerungen
Hans Berger
2., Âberarb. Aufl. >Berlin; MÂnchen: Siemens>AG, 1989
Inhalt:
> Programmiersprache STEP 5
> Programmbearbeitung
> Integrierte Bausteine
> Schnittstellen zur Peripherie
Bestell>Nr.: ISBN 3>8009>1526>X
x
EWA 4NEB 812 6071>01
CP 521 BASIC
f
EinfÂhrung
Programmierfibel fÂr SIMATIC S5>100U
Praktische ebungen mit dem Programmiergerßt PG 615
Siemens AG, Berlin und MÂnchen, 1988
Inhalt:
>
Gerßteaufbau und Montage des AG S5>100U
>
EinfÂhrung in die Programmierung mit dem PG 615
Bestell>Nr.: ISBN 3>8009>1500>6
EWA 4NEB 812 6071>01
xi
xii
EWA 4NEB 812 6071>01
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
1
SystemÂbersicht
EWA 4NEB 812 6071>01
CP 521 BASIC
1
SystemÂbersicht
SystemÂbersicht
Der CP 521 BASIC ist eine leistungsfßhige aktive Peripheriebaugruppe, die im
System AG S5>100U einsetzbar ist (nicht mit CPU 100, 6ES5 100>8MA01). Die
Baugruppe mit eigenem Zentralprozessor wird mit einem speziellen COM>
Softwarepaket angeboten, das zur BASIC>Programmerstellung und >archivierung
(FLOPPY, EPROM) erforderlich ist.
Durch die Implementierung eines BASIC>Interpreters k‘nnen Sie BASIC>
Programme erstellen und ablaufen lassen, die mit der CPU und einem
angeschlossenen Peripheriegerßt Daten austauschen k‘nnen. Die Program>
mierung des BASIC>Interpreters erfolgt Âber die COM>Software mit einem Pro>
grammiergerßt (PG) oder an einem Terminal. Die Programme werden im
batteriegepufferten baugruppeneigenen RAM oder in einem steckbaren
Speichermodul abgelegt.
Programmiergerßt oder Terminal werden Âber eine serielle Schnittstelle mit dem
CP 521 BASIC verbunden. Es stehen eine TTY>Stromschnittstelle oder eine V.24>
Spannungsschnittstelle fÂr ein Programmiergerßt oder Terminal zur VerfÂgung.
Zum Ausdrucken von Listings oder Meldungen schlie˚en Sie einen Drucker an die
unidirektionale V.24>Schnittstelle der Baugruppe an.
Alle Signale fÂr TTY> und V.24>Schnittstelle liegen an einem gemeinsamen
Stecker auf.
Die Parametrierung (Anpassung) der Peripherieschnittstelle
BASIC>Befehl oder im BASIC Programm verßndert werden.
EWA 4NEB 812 6071>01
kann
per
1>1
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
2
Technische Beschreibung
2.1
Technische Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 >
1
2.2
Speichermodule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 >
2
2.3
Serielle Schnittstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 >
3
2.4
Integrierte Echtzeituhr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 >
3
2.5
Pufferbatterie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 >
4
2.6
LED>Anzeige . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 >
4
2.7
Zubeh‘rliste und Bestellnummern . . . . . . . . . . . . . . . . . . .
2 >
5
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Tabellen
2.1
2.2
L‘sch> und Speicherm‘glichkeiten der Steckmodule . . .
ebersicht der zulßssigen Speichersteckmodule . . . . . . . .
2 >
2 >
2
2
EWA 4NEB 812 6071>01
CP 521 BASIC
Technische Beschreibung
2
Technische Beschreibung
2.1
Technische Daten
Klimatische, mechanische und elektromagnetische Bedingungen siehe Gerßte>
handbuch des verwendeten Automatisierungsgerßtes.
Potentialtrennung
TTY>Signale sind
potentialgetrennt
Speichermodul
EPROM/EEPROM/RAM
Bidirektionale Schnittstelle V. 24/TTY passiv (aktiv)
((EWA 0172))
ebertragungsart:
asynchron
10>Bit>Zeichenrahmen/
11>Bit>Zeichenrahmen
ebertragungsgeschw.
110...9600 Bd
Unidirektionale
Schnittstelle
V.24
zulßssige Kabellßnge
> TTY
((EWA 0173))
Prinzipschaltbild
EWA 4NEB 812 6071>01
> V.24
Spannungsabfall
Empfßngertyp. 1,5 V
Sender
typ. 0,9 V
15 m
Quarzfrequenz
14,7456 MHz
Batterieausfallanzeige
(gelbe LED)
ja
Pufferbatterie
Lithium ΩAA
3,6 V/850 mAh
Pufferzeit
mind. 1 Jahr
Schutzart
IP 20
zulßssige Umgebungs>
temperatur
> waagrechter Einbau
> senkrechter Einbau
0...60∞C
0...40∞C
relative Feuchte
15%...95%
Stromaufnahme
aus +9 V (CPU)
typ. 180 mA
Verlustleistung der
Baugruppe
typ. 1.6 W
Gewicht
ca. 500 g
2>1
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
aaaaa
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaa
a
Technische Beschreibung
2.2
2>2
CP 521 BASIC
Speichermodule
Wollen Sie BASIC>Programme oder Parametrierungsdaten abspeichern, ben‘>
tigen Sie ein Speichersteckmodul.
Sie k‘nnen drei Arten von Steckmodulen verwenden:
Tabelle 2.1 L‘sch> und Speicherm‘glichkeiten der Steckmodule
Modul>Typ
L‘schen mit
Programme
speichern mit
EPROM
UV>L‘schgerßt
PG
EEPROM
PG/CP 521 BASIC
PG/CP 521 BASIC
RAM
PG/CP 521 BASIC
CP 521 BASIC
Tabelle 2.2 ebersicht der zulßssigen Speichersteckmodule
Modul>Typ
Modulbezeichnung
Kapazitßt
EPROM
6ES5 375 > 0LA15 bzw. 11
1 x 8KByte
EPROM
6ES5 375 > 0LA21
2 x 8KByte
EPROM
6ES5 375 > 0LA41
2 x 16KByte
EEPROM
6ES5 375 > 0LC11
1 x 2KByte
EEPROM
6ES5 375 > 0LC31
1 x 8KByte
EEPROM
6ES5 375 > 0LC41
2 x 8KByte
RAM
6ES5 375 > 0LD11
1 x 8KByte
RAM
6ES5 375 > 0LD21
2 x 8KByte
RAM
6ES5 375 > 0LD31
2 x 16KByte
HINWEIS:
Wßhrend des RUN>Betriebs der CPU darf das Speichermodul nicht gezogen
werden.
EWA 4NEB 812 6071>01
CP 521 BASIC
2.3
Technische Beschreibung
Serielle Schnittstellen
Der CP521 BASIC stellt eine bidirektionale V.24> bzw. eine TTY>Schnittstelle
(parametrierbar) und eine unidirektionale V.24>Schnittstelle (z. B. zum Anschlu˚
eines Druckers) zur VerfÂgung. Die!TTY>Schnittstelle ist fÂr passiven Betrieb
ausgelegt. Falls Âber den Front>Stecker +24 V eingespeist werden, kann die TTY>
Schnittstelle auch aktiv betrieben werden. Bei aktiver TTY>Schnittstelle ist keine
Potentialtrennung vorhanden. Es sind Koppellßngen bis 1000 m!m‘glich.
Sie k‘nnen folgende Peripheriegerßte an die seriellen Schnittstellen des
CP!521!BASIC anschlie˚en:
PG
Tastatur
Terminal
Drucker mit V.24>Schnittstelle
Drucker mit aktiver TTY>Schnittstelle
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
f
f
f
f
f
HINWEIS:
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Bei Verwendung der TTY>Schnittstelle ist keine gleichzeitige Nutzung der
unidirektionalen V.24>Schnittstelle m‘glich.
2.4
Integrierte Echtzeituhr
Die Baugruppe besitzt eine integrierte Uhr, die bei spannungsloser Baugruppe
von einer Batterie gepuffert werden kann.
Das Stellen und Lesen der Echtzeituhr erfolgt entweder mit einem Programmier>
gerßt Âber die CPU oder vom BASIC>Programm aus.
Die Uhr unterstÂtzt folgende Funktionen:
f Sekunden
f Minuten
f Stunden (12/24>Modus)
f Tag
f Wochentag (wird aus Datum errechnet)
f Monat
f Jahr (Schaltjahr wird berÂcksichtigt)
EWA 4NEB 812 6071>01
2>3
Technische Beschreibung
2.5
CP 521 BASIC
Pufferbatterie
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
Die Datensicherung der Echtzeituhr und des RAM bei ausgeschalteter Steuerung
erfolgt Âber die baugruppeneigene Pufferbatterie.
Bei einem Netzspannungsausfall oder beim Ausschalten des AGs bleiben die
Uhrendaten nur dann erhalten, wenn eine Pufferbatterie in der Baugruppe
eingelegt ist.
Einlegen und Wechseln der Batterie sollte bei eingeschaltetem AG durchgefÂhrt
werden. Andernfalls ist nach dem Einschalten die Eingabe neuer Uhrendaten
erforderlich.
Die Lebensdauer einer neuen Lithiumbatterie betrßgt bei stßndiger Pufferung
mindestens ein Jahr.
ACHTUNG
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
Lithiumbatterien k‘nnen nicht geladen werden. > Explosionsgefahr! >
Verbrauchte Batterien geh‘ren in den SondermÂll.
2.6
LED>Anzeige
Die Baugruppe ist mit folgenden Leuchtdioden ausgestattet:
f eine grÂne LED fÂr Senden (TxD)
f eine grÂne LED fÂr Empfangen (RxD)
f eine grÂne LED zur Anzeige der Sendebereitschaft (RTS)
f eine gelbe LED zur Anzeige eines Batterieausfalls (BATTERY OFF/LOW)
2>4
EWA 4NEB 812 6071>01
CP 521 BASIC
2.7
Technische Beschreibung
Zubeh‘rliste und Bestellnummern
Speichermodule
Speichermodul (EPROM) 1 x 8KByte
Speichermodul (EPROM) 2 x 8KByte
Speichermodul (EPROM) 2 x 16KByte
Speichermodul (EEPROM) 1 x 2KByte
Speichermodul (EEPROM) 1 x 8KByte
Speichermodul (EEPROM) 2 x 8KByte
Speichermodul (RAM) 1 x 8KByte
Speichermodul (RAM) 2 x 8KByte
Speichermodul (RAM) 2 x 16KByte
6ES5 375>0LA15 bzw.11
6ES5 375>0LA21
6ES5 375>0LA41
6ES5 375>0LC11
6ES5 375>0LC31
6ES5 375>0LC41
6ES5 375>0LD11
6ES5 375>0LD21
6ES5 375>0LD31
siehe Katalog Automatisierungsgerßt S5>100U
ST 52.1
Drucker
Programmiergerßte
siehe Katalog Programmiergerßte
ST 59
Pufferbatterie
Pufferbatterie, Lithium Ω AA; 3,6 V/850 mAh
EWA 4NEB 812 6071>01
6ES5 980>0MA11
2>5
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
3
Aufbaurichtlinien
3.1
Montage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 >
1
3.2
Ma˚bild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 >
2
3.3
3.3.1
3.3.2
Kabelanschlu˚bedingungen . . . . . . . . . . . . . . . . . . . . . . . . .
Schirmbehandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LeitungsfÂhrung des CP>Kabels . . . . . . . . . . . . . . . . . . . . . .
3 >
3 >
3 >
3
3
3
3.4
Anschlu˚ fÂr Peripheriegerßte . . . . . . . . . . . . . . . . . . . . . . .
3 >
5
3.5
Allgemeine Aufbaubeispiele . . . . . . . . . . . . . . . . . . . . . . . .
3 >
6
EWA 4NEB 812 6071>01
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Bilder
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.1
Codierelement einstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ma˚bild des CP 521 BASIC . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anschlu˚plan CP 521 BASIC > Terminal (V.24>Schnitt>
stelle mit HW>Handshake) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anschlu˚plan CP 521 BASIC > CP 521 BASIC, CP 521 BASIC >
Drucker (V.24>Schnittstelle mit HW>Handshake) . . . . . . .
Anschlu˚plan CP 521 BASIC > PG 750/PG 730,
CP 521 BASIC > Drucker (V.24>Schnittstelle ohne
HW>Handshake) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anschlu˚plan CP 521 BASIC (TTY aktiv) >
PG 685 (TTY passiv) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anschlu˚plan CP 521 BASIC (TTY passiv) >
PG 685 (TTY aktiv) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anschlu˚plan CP 521 BASIC (TTY passiv) >
PG 750/PG 730 (TTY aktiv) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pin>Belegung 25>polige D>Sub>Buchse . . . . . . . . . . . . . . . .
3 >
3 >
1
2
3 >
6
3 >
7
3 >
8
3 >
9
3 > 10
3 > 11
Tabelle
3 >
5
EWA 4NEB 812 6071>01
CP 521 BASIC
Aufbaurichtlinien
3
Aufbaurichtlinien
3.1
Montage
Bei der Montage und Demontage des CP 521 BASIC mÂssen Sie folgendes
beachten:
f Die Baugruppe darf nur im spannungslosen Zustand gesteckt oder gezogen
werden.
f Das Speichermodul darf nur im spannungslosen Zustand gesteckt oder
gezogen werden.
f Die
Verbindung zum Peripheriegerßt (D>Sub>Buchsenleiste) darf nur
oder gezogen werden, wenn der Datentransfer zwischen CP 521 BASIC und
Peripheriegerßt beendet ist.
f Die Baugruppe darf nur auf den Steckplßtzen 0 bis 7 auf einem Busmodul auf>
geschnappt werden (Steckplatz 7 nicht erlaubt bei CPU 102, 6ES5!102>8MA01
und CPU 103, 6ES5 103>8MA01).
f Bevor Sie den CP 521 BASIC montieren, mÂssen Sie am Codierelement des
Busmoduls die Nummer 6 einstellen.
((EWA 0171))
Bild 3.1 Codierelement einstellen
EWA 4NEB 812 6071>01
3>1
gesteckt
Aufbaurichtlinien
CP 521 BASIC
Baugruppe befestigen:
1. Hßngen Sie die Baugruppe oben am Busmodul ein und schwenken Sie sie zum
Busmodul hin.
2. DrÂcken Sie die Baugruppe fest an und verschrauben Sie sie mit dem
Busmodul.
3.2
Ma˚bild
((EWA 0174))
Bild 3.2 Ma˚bild des CP 521 BASIC
3>2
EWA 4NEB 812 6071>01
CP 521 BASIC
3.3
Aufbaurichtlinien
Kabelanschlu˚bedingungen
Die in den folgenden Abschnitten beschriebenen Anschlu˚bedingungen garan>
tieren die gr‘˚tm‘gliche St‘rsicherheit im CP 521 BASIC.
3.3.1
Schirmbehandlung
FÂr die Schirmbehandlung gelten folgende Richtlinien:
f
Die Kabelschirme sind im Schrank in der Nßhe der KabeleinfÂhrung auf eine
Schirmschiene aufzulegen. Geflechtsschirme sind m‘glichst gro˚flßchig an
der Schirmschiene zu befestigen.
f
Bei Kabeln mit Folienschirm ist der mitgefÂhrte Schirmbeidraht auf
m‘glichst kurzem Weg (ca. 3 cm) mit der Schirmschiene zu kontaktieren. Die
Schirmschiene mu˚ gut leitend mit dem Tragholm, dem Schrankgehßuse
sowie dem zentralen Erdungspunkt im Schrank verbunden sein.
3.3.2
LeitungsfÂhrung des CP>Kabels
Je nach der Lage der Leitung mÂssen Sie folgendes beachten:
LeitungsfÂhrung im Schrank
f CP>Kabel dÂrfen im Schrank gemeinsam in einem Kabelkanal mit ungeschirm>
ten Dgital> und Analog>Signalleitungen e 60 V verlegt werden.
f Die Verlegung von Signal> und Versorgungsleitungen > 60 V und e 230 V in
einem Kanal mit dem CP>Kabel ist nur m‘glich, wenn diese Versorgungslei>
tungen abgeschirmt sind.
f Bei ungeschirmten Signal> und Versorgungsleitungen bis 230 V mÂssen die
CP>Kabel in einem getrennten Kabelkanal mit dem Mindestabstand von
10!cm verlegt werden.
f Bei ungeschirmten Signal> und Versorgungsleitungen bis 1 kV mÂssen die CP>
Kabel in einem getrennten Kabelkanal mit dem Mindestabstand von 10 cm
verlegt werden. Zusßtzlich ist mindestens ein Kanal durch die Verwendung
metallischer Kabelkanßle oder zusßtzlicher Schirmbleche nochmals abzu>
schirmen.
EWA 4NEB 812 6071>01
3>3
Aufbaurichtlinien
CP 521 BASIC
LeitungsfÂhrung au˚erhalb des Schrankes
f CP>Kabel werden auf gleichen Kabelbahnen (Kabeltrassen, Kabelwannen,
Kabelrinnen) verlegt wie ungeschirmte Digital> und Analog>Signalleitungen
e 60 V, sowie geschirmte Signal> und Versorgungsleitungen bis 230 V.
f Bei gemeinsamer Verlegung mit ungeschirmten Signal> und Versorgungslei>
tungen bis 230 V ist ein Mindestabstand von 10 cm einzuhalten.
f Leitungen mit Spannungen >230 V mÂssen in getrennten Kanßlen (Trassen ,
Rohren) verlegt werden.
f Die Verlegung der Leitungen zwischen entfernten Schrßnken innerhalb von
Gebßuden sollte auf metallischen Kabeltrßgern erfolgen. Die Sto˚stellen der
Kabeltrßger sind galvanisch zu verbinden und sollten im Abstand von
20...30!cm mit der Ortserde verbunden werden.
LeitungsfÂhrung zwischen Gebßuden
Aus Blitzschutz> und ErdungsgrÂnden sind bei der Verlegung der Kabel au˚er>
halb von Gebßuden folgende Ma˚nahmen vorzusehen.
f Potentialausgleich
> Verlegung einer Potentialausgleichsleitung mit einer Impedanz e 10% der
Schirmimpedanz des CP>Kabels
f Blitzschutzma˚nahmen
> Verlegung der CP>Kabel in beidseitig geerdeten Metallrohren oder
> Verlegung der Kabel in betonierten Kabelkanßlen mit durchgehend verbun>
dener Bewehrung oder
> Verwendung eines Blitzschutzkabels
DarÂber hinaus sind die Signalleitungen mit Schutzelementen (Varistoren SIOV
oder edelgasgefÂllte eberspannungsableiter esAg) gegen eberspannung zu
beschalten. Diese sind unmittelbar am Kabeleintritt in das Gebßude vorzusehen.
3>4
EWA 4NEB 812 6071>01
CP 521 BASIC
3.4
Aufbaurichtlinien
Anschlu˚ fÂr Peripheriegerßte
Die Baugruppe ist mit einer bidirektionalen Strom> oder Spannungsschnittstelle
(TTY/V.24) und einer unidirektionalen Spannungsschnittstelle (V.24)
ausgestattet. Durch Parametrierung kann die bidirektionale Schnittstelle
zwischen TTY> und V.24>Schnittstelle umgeschaltet werden. Die Leitungen aller
Schnittstellen sind auf eine 25polige D>Sub>Buchse gefÂhrt. Die V.24>
Schnittstellen entsprechen signalmß˚ig der RS 232 C Norm.
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Tabelle 3.1 Pin>Belegung 25>polige D>Sub>Buchse
Ansicht
1
2
3
4
5
6
7
8
9
10
11
12
13
*
14
15
16
17
18
19
20
21
22
23
24
25
Pin > Nr.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Signal>Name
>
TxD
RxD
RTS
CTS
DSR
GND
>
RxD+
RxD>
>
>
P24
LPO
BUSY
I20B
TxD+
I20A
DTR
TxD>
RI/T
>
>
PM1
Bedeutung
Sendedaten
Empfangsdaten
Sendeteil einschalten
Sendebereitschaft
Betriebsbereitschaft
Signalmasse (V.24)
TTY>Empfangsleitung+
TTY>Empfangsleitung >
+24 V fÂr aktive TTY
Line Printer Out
BUSY>Signal
Stromquelle TTY *
TTY>Sendeleitung+
Stromquelle TTY*
Endgerßt betriebsbereit
TTY>Sendeleitung >
Kommender Ruf/Takt
Testschleife eingeschaltet
falls an Pin 13 eine Spannung von +24 V eingespeist wird
EWA 4NEB 812 6071>01
3>5
Aufbaurichtlinien
3.5
CP 521 BASIC
Allgemeine Aufbaubeispiele
In diesem Abschnitt finden Sie einige Aufbaubeispiele fÂr den Kommunikations>
bzw. Druckeranschlu˚ der Baugruppe.
CP 521 BASIC > Terminal (V.24>Schnittstelle mit HW>Handshake)
CP 521 BASIC
TERMINAL
TxD (2)
(3) RxD
RxD (3)
(2) TxD
GND (7)
(7) GND
DSR (6)
(20) DTR
DTR (20)
(6) DSR
RTS (4)
(5) CTS
CTS (5)
(4) RTS
Bild 3.3 Anschlu˚plan CP 521 BASIC > Terminal (V.24>Schnittstelle mit HW>Handshake)
3>6
EWA 4NEB 812 6071>01
CP 521 BASIC
Aufbaurichtlinien
CP 521 BASIC > CP 521 BASIC,
CP 521 BASIC > Drucker (V.24>Schnittstelle mit HW>Handshake)
CP 521 BASIC
CP 521 BASIC
TxD (2)
(3) RxD
RxD (3)
(2) TxD
RTS (4)
(5) CTS
CTS (5)
(4) RTS
DSR (6)
(20) DTR
DTR (20)
(6) DSR
GND (7)
(7) GND
LPO (14)
BUSY (15)
Drucker PT88
(7) GND
(3) RxD
(25) BUSY
Bild 3.4 Anschlu˚plan CP 512 BASIC > CP 512 BASIC , CP 521 BASIC > Drucker (V.24>Schnittstelle)
EWA 4NEB 812 6071>01
3>7
Aufbaurichtlinien
CP 521 BASIC
CP 521 BASIC > PG 750/PG 730,
CP 521 BASIC > Drucker PT 88 (V.24>Schnittstelle ohne HW>Handshake)
CP 521 BASIC
PG 750/PG 730
TxD (2)
(3) RxD
RxD (3)
(2) TxD
GND (7)
(7) GND
LPO (14)
(6) DSR
BUSY (15)
(20) DTR
Drucker PT88
(7) GND
(3) RxD
(25) BUSY
Bild 3.5 Anschlu˚plan CP 512 BASIC > PG 750 / PG 730, CP 521 BASIC > Drucker (V.24>Schnittstelle)
3>8
EWA 4NEB 812 6071>01
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaa aaaaaa
aaaa aaaaaa
Masse
+
+24 V Fremd>
einspeisung
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
aa
a
a
a
a
a
a
a
aaaa
aa
a
a
aaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
TxD > (21)
(7)
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
RxD > (10)
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
RxD+ (9)
I20 B (17)
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
TxD+ (18)
I20 A (19)
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
CP 521 BASIC
(4) K2 >
P 24 (13)
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
20 mA
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
20 mA
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
CP 521 BASIC
Aufbaurichtlinien
CP 521 BASIC (TTY aktiv) > PG 685/PG 635 (TTY passiv)
PG 685/PG 635
(6) RxD+
(8) RxD >
0V
(10) TxD+
(12) TxD >
(2)
(3) K3 >
Masse
(17) K1
0V
Bild 3.6 Anschlu˚plan CP 521 BASIC (TTY aktiv) > PG 685/PG 635 (TTY passiv)
In obiger Abbildung ist der Stromflu˚ schematisch dargestellt.
3>9
Aufbaurichtlinien
CP 521 BASIC
CP 521 BASIC (TTY passiv) > PG 685/PG 635 (TTY aktiv)
PG 685/PG 635
CP 521 BASIC
TxD+ (18)
(8) RxD>
TxD> (21)
(21) >12 V
RxD+(9)
(22) +12 V
RxD> (10)
(10) TxD+
(6) RxD+
(20)+12 V
(12) TxD>
(23) >12 V
(2) GND
(3) K3>
(4) K2
(17) K1>
Bild 3.7 Anschlu˚plan CP 521 BASIC (TTY passiv) > PG 685/PG 635 (TTY aktiv)
Durch das Verbinden der Pin¡s (2), (3), (4) und (17) auf der PG>Seite wird eine
ebertragungsrate von 9600 Baud eingestellt.
3>10
EWA 4NEB 812 6071>01
CP 521 BASIC
Aufbaurichtlinien
CP 521 BASIC (TTY passiv) > PG 750/PG 730 (TTY aktiv)
PG 750/PG 730
CP 521 BASIC
TxD> (21)
(9) RxD+
RxD> (10)
(18) TxD+
RxD+ (9)
(19) +24 V
TxD+ (18)
(3) RxD
(20) DTR
Bild 3.8 Anschlu˚plan CP 521 BASIC (TTY passiv) > PG 750/PG 730 (TTY aktiv)
EWA 4NEB 812 6071>01
3>11
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
4
Arbeitsweise und Adressierung
4.1
Allgemeine Arbeitsweise . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 >
1
4.2
Prinzip des Datenaustausches . . . . . . . . . . . . . . . . . . . . . . .
4 >
2
4.3
4.3.1
4.3.2
Anlaufverhalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
eberprÂfung der Batterie . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uhrentest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 >
4 >
4 >
3
4
4
4.4
Verhalten bei Betßtigung des Betriebsartenschalters . .
4 >
5
4.5
Adressierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 >
6
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Bilder
4.1
4.2
4.1
4.2
4.3
Schematische Darstellung CP 521 BASIC . . . . . . . . . . . . . . .
Systemumgebung der Baugruppe . . . . . . . . . . . . . . . . . . . .
Meldungen beim Uhrentest . . . . . . . . . . . . . . . . . . . . . . . . .
Verhalten bei Umstellung der Betriebsartenschalter . . .
Steckplatzadressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 >
4 >
4 >
4 >
4 >
1
2
Tabellen
4
5
6
EWA 4NEB 812 6071>01
CP 521 BASIC
Arbeitsweise und Adressierung
4
Arbeitsweise und Adressierung
4.1
Allgemeine Arbeitsweise
Speichermodul
CP 521 BASIC
RAM
HANDLE>Sendepuffer
HANDLE>Empfangs>
puffer
Serielle
Schnitt>
stellen V.24
oder TTY
(25poliger D>Sub>
Stecker) Anschlu˚
des Peripheriege>
rßtes (Drucker,
Terminal, PG, usw.)
Mikro>
prozessor
Betriebssystem>
speicher
Integrierte
Echtzeituhr
interner Bus
8 Byte
Sende>
fach
8 Byte
Empfangs>
fach
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
EPROM/EEPROM/RAM
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
a
Der CP 521 BASIC wickelt selbstßndig den Datentransfer mit einem angeschlos>
senen Peripheriegerßt ab. Der Datentransfer zwischen CPU und CP!521!BASIC
mu˚ immer von der CPU eingeleitet werden durch die ebersendung eines
Auftrages von der CPU auf den CP 521 BASIC.
AG100>
Bus
Bild 4.1 Schematische Darstellung CP 521 BASIC
EWA 4NEB 812 6071>01
4>1
Arbeitsweise und Adressierung
4.2
CP 521 BASIC
Prinzip des Datenaustausches
Jeder Datenaustausch zwischen der CPU und dem CP 521 BASIC mu˚ von der CPU
durch die ebersendung eines Auftrages an den CP 521 BASIC eingeleitet werden.
Die CPU kontrolliert den Datenaustausch des CP 521 BASIC.
Speicher>
modul
’
“
CPU
PAE
—
PAA
CP 521>
”
Peripherie>
gerßt
BASIC
‘
Drucker
Bild 4.2 Systemumgebung der Baugruppe
Die Baugruppe CP 521 BASIC enthßlt vier Schnittstellen:
— Schnittstelle zum AG 100>Bus zur Kommunikation mit der CPU
f
Das Steuerungsprogramm Âbergibt Âber den AG 100>Bus Daten an die
Baugruppe und wertet deren Informationen aus.
f
Der AG 100>Bus Âbermittelt 8 Byte von der CPU an den CP 521 BASIC und
8 Byte vom CP 521 BASIC an die CPU.
“ Modulschacht zur Aufnahme eines Speichermoduls
” bidirektionale TTY> und V.24>Schnittstelle zum Datenaustausch mit einem
Peripheriegerßt/Terminal
‘ unidirektionale V.24>Schnittstelle fÂr den Druckeranschlu˚
4>2
EWA 4NEB 812 6071>01
CP 521 BASIC
Arbeitsweise und Adressierung
’ m‘gliche Peripheriegerßte:
f PG
f Tastatur
f Terminal
f Drucker mit V.24>Schnittstelle (RS 232C)
f andere Peripheriegerßte mit serieller Schnittstelle
Das Speichermodul wird fÂr BASIC>Programme ben‘tigt. Zugelassene Speicher>
module siehe Zubeh‘rliste (Æ Kap. 2.7).
4.3
Anlaufverhalten
Der CP 521 BASIC fÂhrt bei Wiederkehr der Versorgungsspannung (NETZ>EIN)
einen Anlauf durch.
Der Anlauf besteht aus:
f der Initialisierung der seriellen Schnittstellen
f der eberprÂfung der Batteriefunktion (Æ Kap. 4.3.1)
f dem Uhrentest (Æ Kap. 4.3.2)
f der Abfrage des PROG/RUN>Schalters (Betriebsartenschalter).
Das Anlaufverhalten des CP 521 BASIC wird im wesentlichen durch Parameter
gesteuert (Æ!Kap.5.2):
f RAM/Uhr>Ausfall bzw. fehlende Batteriepufferung
f Stellung des Betriebsartenschalters der Baugruppe (PROG/RUN)
f Parameter des zuletzt angewandten ∫PROG∫>Befehls (ÆTab.5.1).
EWA 4NEB 812 6071>01
4>3
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaa
Arbeitsweise und Adressierung
4.3.1
4.3.2
Fehlernummer
im Byte 0
4>4
Meldung
CP 521 BASIC
eberprÂfung der Batterie
Bei ausgeschalteter Baugruppe erfolgt die Versorgung der Uhr und des RAM Âber
die Baugruppenbatterie. Um einen Batterieausfall zu erkennen, findet bei jedem
Anlauf eine eberprÂfung der Batterie statt. Im RAM stehende Daten/BASIC>
Programme werden im Fehlerfall gel‘scht. Wenn die Batteriespannung wßhrend
des Betriebes oder im Anlauf unter den zur Pufferung notwendigen Wert sinkt,
wird die LED BATTERY LOW gesetzt.
Uhrentest
Dieser Teil
des
Anlaufs testet die baugruppeneigene Uhr. Die Uhr
wenn die Batteriepufferung bei NETZ>AUS des AGs ausgefallen ist. Bei der Grund>
einstellung wird die Uhr mit den Default>Werten ∫01.01.90 00.00.∫ voreingestellt.
Fehler und Grundeinstellung werden im Byte 0 ∫Status der Baugruppe∫ mit einer
entsprechenden Fehlernummer versehen und k‘nnen im Anwenderprogramm
oder mit dem PG ausgewertet werden.
Tabelle 4.1 Meldungen beim Uhrentest
Abhilfe
1XH
Uhr defekt
Baugruppe auswechseln
2XH
Uhr gestellt
Default>Uhrzeit
eingestellt
mit der PG>Funktion ∫STEUERN VAR∫
die aktuellen Uhrendaten an den
CP!521!BASIC Âbergeben
X : kann unterschiedliche Werte annehmen
HINWEIS:
Bei Ausfall der Uhr/Batteriepufferung mu˚ davon ausgegangen werden, da˚
die Daten im RAM fehlerhaft sind. Aus diesem Grund werden nach Uhr>/
Batterieausfall (bei ausgeschalteter Baugruppe) alle Systemvariablen des
CP!521 BASIC mit Defaultwerten belegt und das RAM gel‘scht.
EWA 4NEB 812 6071>01
wird
gestellt,
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaa
a
CP 521 BASIC
4.4
Stellungen der Betriebs>
artenschalter
CPU:
RUN O STOP ( O RUN)
CP 521 BASIC:
RUN oder PROG
CPU:
RUN
CP 521 BASIC:
RUN O PROG ( O RUN)
EWA 4NEB 812 6071>01
Arbeitsweise und Adressierung
Verhalten nach Betßtigung der Betriebsartenschalter
Die Arbeitsweise der Baugruppe CP 521 BASIC hßngt ab nach NETZ> EIN wie folgt
von der Stellung der Betriebsartenschalter:
f STOP/RUN > Schalter bei CPU
f PROG/RUN > Schalter bei CP 521 BASIC.
Tabelle 4.2 Verhalten nach Umstellung der Bertriebsartenschalter
Arbeitweise
Status
Bearbeitung des
BASIC>Programms
wird nicht unter>
brochen.
> AG100>BUS inaktiv
> kein Datentransfer
zwischen CPU und
CP 521 BASIC*
> Uhrendaten werden
nicht aktualisiert
Bearbeitung des
BASIC>Programms
wird nicht unter>
brochen.
> AG100>BUS aktiv
> Datentransfer
zwischen CPU und
CP 521 BASIC
> Uhrendaten werden
stßndig aktualisiert
* Mit dem Befehl SSTAT ( Kap.5.9.3) kann der Status ∫S5 > Bus inaktiv∫ ausgelesen werden.
HINWEIS:
Der Betriebsartenschalter des CP 521 BASIC wird nur im Anlauf abgefragt.
Abhßngig von seiner Stellung kann ein vorher festgelegtes Programm
gestartet werden oder die Baugruppe im Kommando>Modus anlaufen.
4>5
Arbeitsweise und Adressierung
4.5
CP 521 BASIC
Adressierung
Die CPU spricht den CP 521 BASIC im Adre˚bereich der Analogkanßle an. Der
Adre˚bereich der Baugruppe betrßgt 8 Byte Eingabe und 8 Byte Ausgabe. Ein>
und Ausgangsdaten werden Âber denselben Adre˚bereich angesprochen.
Dabei ist folgendes zu beachten:
f
f
f
Die Baugruppe darf nur auf den Steckplßtzen 0 bis 7 eingesetzt werden.
Der Adre˚raum reicht von Byte 64 bis Byte 127.
Pro Steckplatz sind im Proze˚abbild der Eingßnge (PAE) und im Proze˚>
abbild der Ausgßnge (PAA) der CPU jeweils 8 Byte reserviert.
Im Proze˚abbild der Eingßnge (PAE) werden Daten von der Baugruppe an die
CPU in dem angegebenen Adre˚raum abgelegt.
Umgekehrt werden Informationen von der CPU an die Baugruppe unter den
gleichen Adressen im Proze˚abbild der Ausgßnge (PAA) abgelegt.
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aa
a
Tabelle 4.3 Steckplatzadressen
Steckplatz
0
1
2
3
4
Adressen
PAE/PAA
64 ...
71
72 ...
79
80 ...
87
88 ...
95
96 ...
103
5
6
7
104 ... 112 ... 120 ...
111
119
127
Anfangsadresse eines Steckplatzes
Die reservierten acht Byte (0...7) pro Steckplatz haben eine feste Bedeutung. Die
in diesem Gerßtehandbuch angegebenen Bytenummern beziehen sich immer auf
die Anfangsadresse des jeweiligen Steckplatzes. Darum mÂssen Sie in Ihrem
Steuerungsprogramm zu den angegebenen Bytenummern die Anfangsadresse
des Steckplatzes addieren, auf dem Sie die Baugruppe gesteckt haben.
Beispiel: Baugruppe auf Steckplatz 3:Byte 2 hat die Adresse 90
Baugruppe auf Steckplatz 4:Byte 2 hat die Adresse 98
Byte 0 des PAA ∫Auftrag∫ legt die Bedeutung der Bytes 1 bis 7 im PAA fest.
4>6
EWA 4NEB 812 6071>01
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
5
BASIC>Interpreter
5.1
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 >
1
5.2
Anlaufverhalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 >
2
5.3
5.3.1
5.3.2
Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kommando>Modus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RUN>Modus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 >
5 >
5 >
4
4
4
5.4
5.4.1
5.4.2
5.4.3
5.4.4
COM>Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terminalemulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BASIC>Programme sichern . . . . . . . . . . . . . . . . . . . . . . . . . . .
BASIC>Programme laden . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Speicher> und Dateiinhalt anzeigen lassen . . . . . . . . . . . .
5
5
5
5
5
>
5
>
8
> 10
> 12
> 15
5.5
5.5.1
5.5.2
5.5.3
5.5.4
5.5.5
5.5.6
5.5.7
5.5.8
Der BASIC>Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anweisungen / Formatanweisungen . . . . . . . . . . . . . . . . .
Datenformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AusdrÂcke / Relationale AusdrÂcke . . . . . . . . . . . . . . . . . . .
Systemsteuerwerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stackaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zeilen>Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
5
5
5
5
5
5
>
>
>
>
>
>
>
>
>
17
17
18
19
19
21
21
22
22
5.6
5.6.1
5.6.2
5.6.3
5.6.4
5.6.5
Beschreibung der Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . .
RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LIST# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
5
5
5
>
>
>
>
>
>
23
23
24
25
26
27
EWA 4NEB 812 6071>01
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
5.7
5.7.1
5.7.2
5.7.3
5.7.4
5.7.5
5.7.6
Speicherbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RAM und ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XFER
........................................
PROG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PROG1 und PROG2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ERASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REORG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
5
5
5
5
>
>
>
>
>
>
>
28
28
30
31
33
34
34
5.8
5.8.1
5.8.2
5.8.3
5.8.4
5.8.5
5.8.6
5.8.7
5.8.8
5.8.9
5.8.10
5.8.11
5.8.12
5.8.13
5.8.14
5.8.15
5.8.16
5.8.17
5.8.18
5.8.19
5.8.20
5.8.21
5.8.22
5.8.23
5.8.24
Beschreibung der Anweisungen . . . . . . . . . . . . . . . . . . . . .
CLEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLEARI und CLEARS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INIT# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DATA > READ > RESTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DO > UNTIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DO > WHILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FOR > TO > {STEP} > NEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GOSUB > RETURN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ON GOTO und ON GOSUB . . . . . . . . . . . . . . . . . . . . . . . . . . .
IF > THEN > ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ONERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ONTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLOCK1 und CLOCK0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PRINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PRINT# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PH0., PH1., PH0.#, PH1.# . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
35
35
36
37
39
41
42
44
45
46
47
48
50
52
53
54
56
59
61
62
64
66
67
72
73
EWA 4NEB 812 6071>01
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
5.8.25
5.8.26
5.8.27
5.8.28
5.8.29
5.8.30
PUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RETI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
5
5
5
>
>
>
>
>
>
74
76
78
79
80
81
5.9
Spezielle Anweisungen und Funktionen fÂr den Daten>
austausch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SGET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SSTAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RSTAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BUFREAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BUFWRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
5
5
5
5
5
>
>
>
>
>
>
>
>
82
85
86
86
87
87
88
89
Spezielle Anweisungen und Funktionen fÂr den Daten>
austausch Âber die seriellen Schnittstellen . . . . . . . . . . . .
HANDLE, HANDLE# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HSSTAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BUFIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HRSTAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BUFOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
5
5
5
5
>
>
>
>
>
>
>
90
91
92
93
95
96
97
Beschreibung der arithmetischen/logischen Operatoren
und AusdrÂcke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dyadische Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unßre Operatoren > Allgemeine Anwendung . . . . . . . . . .
Unßre Operatoren > Logarithmusfunktionen . . . . . . . . . .
Unßre Operatoren > Trigonometrische Funktionen . . . . .
5
5
5
5
5
>
>
>
>
>
98
98
101
103
104
5.9.1
5.9.2
5.9.3
5.9.4
5.9.5
5.9.6
5.9.7
5.10
5.10.1
5.10.2
5.10.3
5.10.4
5.10.5
5.10.6
5.11
5.11.1
5.11.2
5.11.3
5.11.4
EWA 4NEB 812 6071>01
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
5.11.5
5.11.6
Rangfolge der Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . .
Relationale AusdrÂcke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 > 106
5 > 107
5.12
5.12.1
5.12.2
5.12.3
5.12.4
5.12.5
5.12.6
Beschreibung von String>Operationen . . . . . . . . . . . . . . .
STRING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
∫+∫ (Verkettung zweier Strings) . . . . . . . . . . . . . . . . . . . . .
MID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die String>Operatoren ASC und CHR . . . . . . . . . . . . . . . . . .
5
5
5
5
5
5
5
>
>
>
>
>
>
>
108
109
111
112
113
114
114
5.13
5.13.1
5.13.2
5.13.3
5.13.4
5.13.5
Funktionen und Anweisungen fÂr Uhrzeit und Datum .
SETCLOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RDCLOCK
...................................
SETDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RDDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
T ADJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
5
5
5
>
>
>
>
>
>
119
119
120
121
122
123
5.14
5.14.1
5.14.2
Weitere Funktionen und Systemsteuerwerte . . . . . . . . .
Spezielle Funktionsoperatoren . . . . . . . . . . . . . . . . . . . . . .
Systemsteuerwerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 > 124
5 > 124
5 > 125
5.15
5.15.1
5.15.2
Fehlermeldungen und Besonderheiten . . . . . . . . . . . . . . .
Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Besonderheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 > 126
5 > 126
5 > 130
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Bilder
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.1
Startmaske zur COM>Software . . . . . . . . . . . . . . . . . . . . . . .
COM>Maske ∫Voreinstellung∫ . . . . . . . . . . . . . . . . . . . . . . .
COM>Maske ∫Terminalemulation∫ . . . . . . . . . . . . . . . . . . .
COM>Maske ∫Sichern∫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COM>Maske ∫Laden∫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COM>Maske ∫Inhalt∫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datentransfer zwischen CPU > CP 521 BASIC >
Peripheriegerßt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anlaufverhalten CP 521 BASIC mit BASIC>Programm/
nach Intialisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EWA 4NEB 812 6071>01
5
5
5
5
5
5
>
6
>
7
>
9
> 11
> 13
> 16
5 > 82
Tabelle
5 >
3
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
CP 521 BASIC
5
BASIC>Interpreter
5.1
Einleitung
BASIC>Interpreter
Dieses Kapitel des Handbuches ist kein Leitfaden zum Erlernen allgemeiner
Programmiertechniken oder der Programmiersprache BASIC, sondern ein Nach>
schlagewerk fÂr mit allgemeinen Programmierkonzepten vertraute Anwender.
In Kapitel 3.5 finden Sie alles, was Sie zur Hardware>Inbetriebnahme der Bau>
gruppe wissen mÂssen. Hierzu werden Fragen wie:
f wie mu˚ mein Terminal verdrahtet werden?
f wie schlie˚e ich einen Drucker an?
beantwortet.
Kapitel 5.2 behandelt das Anlaufverhalten der Baugruppe bis zur Eingabe der
ersten Zeile des BASIC>Programms.
Kapitel 5.3 und 5.4 befassen sich mit der Programmerstellung, sowie den
Besonderheiten der fÂr diese Baugruppe angebotenen COM>Software.
Kapitel 5.5 enthßlt allgemeine Informationen zum BASIC>Interpreter, z.B. Zahlen>
darstellung und Variablenaufbau.
In den Kapiteln 5.6 bis 5.14 schlie˚lich findet die Beschreibung aller vorhandenen
BASIC>Befehle, der Zusatzbefehle fÂr die Kommunikation mit der CPU und der
Peripherie statt. Daneben ist hier auch eine kurze Anleitung fÂr die
Variablentypen und weitere Besonderheiten der hier eingesetzten BASIC>
Variante beschrieben.
Kapitel 5.15 behandelt Fehlermeldungen und deren Auswertung sowohl bei der
Programmerstellung am CP 521 BASIC als auch deren Auswertung durch das
laufende STEP5>Programm auf der CPU.
Anmerkung
Wird im Kapitel 5 von der ∫Ausgabe auf Konsole∫ geschrieben, dann hei˚t das,
da˚ die Ausgabe Âber die bidirektionale Schnittstelle erfolgt.
EWA 4NEB 812 6071>01
5>1
BASIC>Interpreter
5.2
CP 521 BASIC
Anlaufverhalten
FÂr den Anlauf mÂssen zwei Fßlle unterschieden werden:
1. Die Baugruppe wird das erste Mal eingeschaltet
2. Die Baugruppe enthßlt bereits ein Programm / ist bereits initialisiert
Erstmalige Inbetriebnahme des CP 521 BASIC
Wird der CP 521 BASIC nach dem Anschlu˚ des seriellen Eingabegerßtes einge>
schaltet, passiert zunßchst einmal nichts. Das liegt daran, da˚ die Baugruppe als
erstes die Hardware initialisiert und dann die Auto>Baud>Routine startet. Hier
mu˚ am seriellen Eingabegerßt zunßchst die Leerschritt>Taste (Space) oder bei
der COM>Software der Softkey ∫Init∫ betßtigt werden, um die Baudrate
automatisch einzustellen und das SIGN ON am Bildschirm auszul‘sen. Es erscheint
am Bildschirm daraufhin die Meldung ∫CP!521*MCS BASIC Vx.x*∫. Wir empfehlen
dringend, zunßchst die Leerschritt>Taste zu betßtigen, damit Sie mit dem
CP!521!BASIC arbeiten k‘nnen.
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Nach einem RESET wird der Speicher getestet, gegebenenfalls gel‘scht und
systeminterne Variablen werden initialisiert.
BASIC weist der Systemvariablen MTOP die h‘chstm‘gliche Adresse des
CP>eigenen RAM (7FFFH) zu und verwendet diese Zahl als Basiszahl fÂr den
Zufallszahlen>Generator. In EW 0...EW3 des PAE der Baugruppe werden bei
fehlender Batteriepufferung Defaultwerte fÂr Datum und Uhrzeit hinterlegt.
Hinweis:
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Es ist zu beachten, da˚ die Baugruppe nach RESET mit der Einstellung V.24
hochlßuft, wenn keine Schnittstellenparameter gespeichert sind. Ein
angeschlossenes Eingabegerßt mu˚ also Âber die V.24>Schnittstelle mit dem
CP!521 BASIC verbunden sein.
5>2
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Der CP 521 BASIC enthßlt bereits ein BASIC>Programm / ist bereits initialisiert
Enthßlt der CP 521 BASIC bereits ein Programm, dann ist sein Anlaufverhalten
entsprechend Tabelle 5.1. Es ist m‘glich, mit den ∫PROG∫> Befehlen die Schnitt>
stellenparameter fÂr einen Wiederanlauf der Baugruppe zu speichern, sowie im
Zusammenhang mit dem Betriebsartenschalter den automatischen Start eines
Programms festzulegen.
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaa
a
Tabelle 5.1 Anlaufverhalten CP 521 BASIC mit BASIC>Programm / nach Initialisierung
Stellung des Betriebs>
artenschalters des
CP 521 BASIC
PROG
RUN
zuletzt verwendeter ∫PROG∫>Befehl
PROG
PROG 1
PROG 2
Kommando>Modus
Kommando>Modus
Kommando>Modus
Start des BASIC>
Start des BASIC>
Programms aus
Programms mit der
dem RAM,
Nummer 1 aus dem
falls vorhanden
Speichermodul,
Kommando>Modus
falls vorhanden
Schnittstellenparameter
f Bei Wirkung des Befehls PROG werden die Schnittstellen mit den Default>
Einstellungen parametriert.
Die Baudrate fÂr die bidirektionale Schnittstelle wird durch die Auto>Baud>
Routine (Eingabe von ∫Space∫) automatisch erkannt.
f Bei Wirkung der Befehle PROG1 / PROG2 werden die bidirektionale sowie die
unidirektionale Schnittstelle mit den Parametern, die bei der letzten Eingabe
von PROG1 bzw. PROG2 aktiv waren, konfiguriert.
Ist kein Programm vorhanden, befindet sich die Baugruppe im Kommando>
Modus. In diesem Modus k‘nnen einzelne Kommandos eingegeben oder ein Pro>
gramm erstellt oder gestartet werden (Æ Kap. 5.3.1 und 5.3.2)
EWA 4NEB 812 6071>01
5>3
BASIC>Interpreter
5.3
CP 521 BASIC
Programmierung
Die Baugruppe arbeitet in zwei Betriebsarten, im Direktbetrieb (Kommando>
Modus) mit Befehlen und im Interpreter>Betrieb (RUN>Modus). Die Befehle
k‘nnen nur eingegeben werden, wenn sich der CP 521 BASIC im Kommando>
Modus befindet. Nach Eingabe eines Befehls fÂhrt der BASIC>Interpreter sofort
die entsprechende Ma˚nahme aus. Im vorliegenden Gerßtehandbuch (GHB)
werden diese beiden verschiedenen Betriebsarten mit den Begriffen RUN>Modus
und Kommando>Modus bezeichnet.
5.3.1
Kommando>Modus
Im Kommando>Modus werden Befehle direkt abgearbeitet und das Ergebnis
angezeigt. Die Programmerstellung findet ebenso in diesem Modus statt.
Zur Aktivierung des Kommando>Modus mu˚ entweder
> der Betriebsartenschalter des CP 521 BASIC wßhrend des Hochlaufs in Stellung
∫PROG∫ stehen
> ein laufendes Programm abgebrochen werden <CTRL C>.
Daneben ist es m‘glich, im Kommando>Modus vorhandene Programme zu
korrigieren, Programme auf ein gestecktes EEPROM> oder RAM>Modul zu
speichern sowie vorhandene Programme zu starten.
Eine Speicherung der Programme auf EPROM ist nur mit Hilfe der COM>Software
m‘glich (Æ Kap. 5.4).
Der Transfer von BASIC>Programmen zwischen PG und CP 521 BASIC kann nur im
Kommando>Modus erfolgen.
5.3.2
RUN>Modus
Im RUN>Modus k‘nnen Sie Ihre Programme zum Ablauf bringen. Zur Aktivierung
des RUN>Modus mu˚ entweder
f das Kommando RUN im Kommando>Modus eingegeben werden
f sich der Betriebsartenschalter wßhrend des Hochlaufs der Baugruppe in
Stellung ∫RUN∫ befinden und ein Programm im Speichermodul vorhanden
sein (Æ Kap. 5.7.3)
f der CPU>Auftrag D0H an den CP 521 BASIC gesendet werden.
5>4
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Abbrechen k‘nnen Sie jedes Programm durch
f Eingabe von <CTRL C> am Terminal (wenn dies nicht programmß˚ig
verhindert wurde!)
Programmfehler werden am Eingabeterminal und an der CPU>Schnittstelle
angezeigt.
5.4
COM>Software
Die COM>Software fÂr den CP 521 BASIC unterstÂtzt die Programmierung der
Baugruppe und die Sicherung Ihrer Programme auf Speichermodul, Festplatte
und Diskette. Sie lß˚t sich auf einem Programmiergerßt unter S5>DOS aufrufen.
Um Sie mit der Handhabung des COM>Softwarepaketes vertraut zu machen, wird
zunßchst beschrieben, wie Sie die Dateien von der Diskette auf die Festplatte des
Programmiergerßtes Âbertragen und wie das Programm gestartet wird.
COM>Software auf die Festplatte des PGs Âbertragen
∏
∏
∏
∏
Betriebssystem laden
COM>Diskette in Laufwerk A des PGs einlegen
Inhalt der COM>Diskette in den Userbereich 0 der Festplatte kopieren; die
Datei ist bezeichnet mit S5PDC21X.CMD
Die Âbertragene Datei k‘nnen Sie mit folgenden Eigenschaften versehen:
>
[RO] um sie vor unbeabsichtigem eberschreiben zu schÂtzen
>
[SYS] um sie von jedem Userbereich aus aufrufen zu k‘nnen.
COM>Software starten
∏
∏
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
∏
S5>Kommandointerpreter aufrufen (Eingabe S5; anschlie˚end Taste <CR>
drÂcken)
In der Maske ∫Paketanwahl∫ die Schreibmarke auf die Zeile
∫COM521!BASIC∫ positionieren.
Dieses Paket mit der Taste <F1> anwßhlen.
Hinweis:
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Die COM>Software ∫S5PDC21X.CMD∫ mu˚ sich auf der Festplatte befinden.
EWA 4NEB 812 6071>01
5>5
BASIC>Interpreter
CP 521 BASIC
Es wird folgende Maske am Bildschirm ausgegeben:
Startmaske zur COM>Software am PG/PC
DATEINAME:
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
PROGRAMMIERNUMMER:
F1
F2
F3
F4
Terminal>
emulation
F5
F6
F7
F8
Help
Exit
Vorein>
Sichern
Laden
Inhalt
stellung
Bild 5.1 Startmaske zur COM>Software
F1:
F2:
F3:
F4:
F5:
F7:
F8:
5>6
Terminalemulation einschalten
Verzweigung zur Maske SICHERN
Verzweigung zur Maske LADEN
Verzweigung zur Maske INHALT
Arbeitsdateinamen bzw. Programmiernummer eingeben
Hilfe>Menue zur aktuellen Maske
Programm beenden
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
In dieser Startmaske sind folgende Verzweigungen m‘glich:
f zur Terminalemulation
f zum Sichern und Laden von vorhandenen Programmen,
f zum Lesen von Textdateiinhalten
f Inhalt von Festplatte, FLOPPY und Speichermodul anzeigen
Vor Beginn der weiteren Arbeit mit dem COM sollten Sie Voreinstellungen fÂr
das Programm eingeben. Sie werden fÂr die Speicherung und den erneuten
Zugriff auf Ihre Anwenderprogramme ben‘tigt. Unter dem Dateinamen werden
Programme auf Diskette oder Festplatte gespeichert. Die Programmiernummer
kennzeichnet das Speichermodul auf welchem die Programme abgelegt werden
k‘nnen. Das Menue ∫Voreinstellung∫ k‘nnen Sie von jeder Maske aus mit der
Taste <F5> aufrufen.
Maske VOREINSTELLUNG
VOREINSTELLUNG
DATEINAME:
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
PROGRAMMIERNUMMER:
F1
F2
Dateiname
Progr.
ßndern
Nr. ßndern
F3
F4
F5
F6
F7
F8
Help
Exit
Bild 5.2 COM>Maske ∫Voreinstellung∫
EWA 4NEB 812 6071>01
5>7
BASIC>Interpreter
CP 521 BASIC
F1:
Dateinamen ßndern
F2:
Programmiernummer ßndern
F7:
Hilfe>Menue zur aktuellen Maske
F8:
RÂcksprung zur vorhergehenden Maske
Nach Eintrag eines Dateinamens oder einer Programmiernummer wird die Vor>
einstellung auf allen Masken > au˚er Maske Terminalemulation > links oben ange>
zeigt.
5.4.1
Terminalemulation
Unter dem Menuepunkt ∫Terminalemulation∫ (Taste <F1>) verhßlt sich das
Programmiergerßt wie ein Terminal, d. h. es sendet Tastatureingaben zum
CP!521!BASIC und stellt die RÂckmeldungen am Bildschirm dar. Um eine fehler>
freie Kommunikation zwischen CP 521 BASIC anzusto˚en, ist in der Terminalemu>
lation die Funktionstaste <F1> zu drÂcken. Der CP 521 BASIC stellt sich dann auf
das PG ein (Protokoll), das Arbeiten mit dem PG kann beginnen.
In der Terminalemulation k‘nnen also Befehle zum CP 521 BASIC Âbergeben und
direkt ausgefÂhrt oder als Programm eingegeben werden, falls sich der
CP!521!BASIC im Kommando>Modus befindet.
eber die Tastenkombination <CTRL C> kann au˚erdem, falls dies im Programm
nicht verriegelt wurde, jedes laufende Programm abgebrochen und editiert
werden.
Ein Abbruch der Terminalemulation zum Âbergeordneten Menue erreichen Sie
Âber die Funktionstaste <F8> (Hauptmenue) am PG.
5>8
EWA 4NEB 812 6071>01
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
CP 521 BASIC
F1
F1:
F7:
F8:
BASIC>Interpreter
Maske TERMINALEMULATION
der Bildschirminhalt entspricht den
Ein> und Ausgaben zum/vom CP 521 BASIC
Init
F2
EWA 4NEB 812 6071>01
F3
F4
CP
F5
F6
F7
F8
Help
Exit
Bild 5.3 COM>Maske ∫Terminalemulation∫
CP>Initialisierung
Hilfe>Menue zur aktuellen Maske
RÂcksprung zur Hauptmaske
5>9
BASIC>Interpreter
5.4.2
CP 521 BASIC
BASIC>Programme sichern
Durch Aktivierung des Menues ∫Sichern∫ k‘nnen Sie Ihre BASIC>Programme, die
auf der Baugruppe im Kommando>Modus erstellt wurden, auf Festplatte oder
Diskette abspeichern.
Abhßngig von der Auswahl des Menuepunktes werden die Programme vom
CP!521 BASIC in verschiedenen Formen Âbertragen:
f
f
Menuepunkt ∫Quellcode O PG∫:
Menuepunkt ∫Obj. code O PG∫:
f
Menuepunkt ∫CP>Inhalt
5>10
O PG∫:
Programmtransfer in lesbarer Form
Programmtransfer in speicheropti>
mierter Form
ebertragung eines kompletten Spei>
cherabzuges vom derzeit gesteckten
Speichermodul an das PG.
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Maske SICHERN
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
SICHERN
F1
F2
F3
Quellcode
Obj. code
CP>Inhalt
F4
Vorein>
F5
Æ PG
Æ PG
Æ PG
stellung
F6
F7
F8
Help
Exit
Bild 5.4 COM>Maske ∫Sichern∫
F1:
F2:
F3:
F5:
F7:
F8:
Speicherung des aktuellen BASIC>Programmes des CP 521 BASIC auf dem
Massenspeicher des PG/PC in ASCII>Form
Speicherung des aktuellen BASIC>Programmes des CP 521 BASIC auf dem
Massenspeicher des PG/PC in speicheroptimierter Form
Speicherung eines kompletten Speicherabzugs des Speichermoduls des
CP!521 BASIC auf dem Massenspeicher des PG/PC
Arbeitsdateiname bzw. Programmiernummer eingeben
Hilfe>Menue zur aktuellen Maske
RÂcksprung zur Hauptmaske
EWA 4NEB 812 6071>01
5>11
BASIC>Interpreter
CP 521 BASIC
Menuepunkt ∫Quellcode O PG∫ (Taste <F1>)
Wird der Menuepunkt ∫Quellcode O PG∫ gewßhlt, Âbertrßgt der CP 521 BASIC
das zuletzt aktivierte BASIC>Programm im ASCII>Format an das PG. Das Programm
wird hier unter dem voreingestellten Dateinamen mit der Extension ∫.BAS∫
abgespeichert und kann nun mit einem Texteditor modifiziert werden.
Ist kein BASIC>Programm vorhanden, so wird am PG eine Fehlermeldung
ausgegeben.
Menuepunkt ∫Obj. code O PG∫ (Taste <F2>
Wird das Menue ∫Obj. code O PG∫ selektiert, Âbertrßgt der CP 521 BASIC das
zuletzt aktivierte Programm in speicheroptimierter Form zum PG/PC.
Hier wird das Programm unter dem voreingestellten Dateinamen mit der
Extension ∫.TOK∫ abgespeichert und kann nun zum Programmieren von EPROMs
verwendet werden. Ist kein BASIC>Programm im CP 521 BASIC vorhanden, so wird
am PG eine Fehlermeldung ausgegeben.
Menuepunkt ∫CP>Inhalt O PG∫ (Taste <F3>)
Wird der Menuepunkt ∫CP>Inhalt O PG∫ gewßhlt, Âbertrßgt die Baugruppe einen
kompletten Speicherabzug des gesteckten Speichermoduls an das PG. Der
Speicherabzug wird unter dem voreingestellten Dateinamen mit der Erweiterung
∫.ALL∫ abgespeichert.
Ist kein Speichermodul gesteckt, so wird eine Fehlermeldung ausgegeben.
5.4.3
BASIC>Programme laden
BASIC>Programme sind sowohl vom baugruppeneigenen RAM als auch von
Speichermodulen auf dem CP 521 BASIC ablauffßhig.
Um die Programme auf die Baugruppe zu transferieren, gibt es dementsprechend
auch zwei M‘glichkeiten:
f Programmtransfer vom PG zum CP 521 BASIC
f Programmierung von Speichermodulen am PG und Stecken in den
CP!521!BASIC
Die Maske zum Laden von BASIC>Programmen wird nach Betßtigung der Funk>
tionstaste <F3> ∫Laden∫von der Hauptmaske aus angewßhlt.
5>12
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Maske LADEN
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
LADEN
F1
F2
F3
F4
F5
CP>Inhalt
Obj. code
CP>Inhalt
Programm
Vorein>
Æ EPROM
Æ EPROM
Æ CP
Æ CP
stellung
F6
F7
F8
Help
Exit
Bild 5.5 COM>Maske ∫Laden∫
F1:
F2:
F3:
F4:
F5:
F7:
F8:
Programmierung eines Speichermoduls mit einer Datei vom Massen>
speicher des PG, welches einen Speicherabzug des CP 521 BASIC enthßlt
(.ALL)
Programmierung eines Speichermoduls mit einer Datei vom Massen>
speicher des PG, welches ein lauffßhiges Programm enthßlt (.TOK)
Download eines kompletten Speicherabzugs vom Massenspeicher des PG
zum CP 521 BASIC (.ALL)
Download eines BASIC Programms vom Massenspeicher des PG zum
CP!521!BASIC (Prioritßt: .TOK, falls vorhanden, sonst . BAS)
Arbeitsdateinamen bzw. Programmiernummer eingeben
Hilfe>Menue zur aktuellen Maske
RÂcksprung zur Hauptmaske
EWA 4NEB 812 6071>01
5>13
BASIC>Interpreter
CP 521 BASIC
Programmtransfer vom PG zum CP 521 BASIC
Menuepunkt ∫Programm O CP∫ (Taste <F4>)
Nach Anwahl der Funktion ∫Programm O CP∫ wird das mit dem voreingestellten
Dateinamen angewßhlte Programm an den CP 521 BASIC Âbertragen.
Die COM>Software erkennt an der Dateiextension ∫.BAS∫ oder ∫.TOK∫, ob das
Programm in lesbarer Form oder in speicheroptimierter Form vorliegt. Existieren
beide Dateien, so wird immer das speicheroptimierte Programm in den
CP!521!BASIC geladen. Wird ein Programm in lesbarer Form Âbertragen, erfolgt
bei der ebertragung am CP 521 BASIC eine Umsetzung des Programms in
speicheroptimierte Form.
Menuepunkt ∫CP>Inhalt O CP∫ (Taste <F3>)
Durch Aktivierung des Menuepunktes ∫CP>Inhalt O CP∫ (Taste <F3>) wird die
voreingestellte Datei mit der Extension ∫.ALL∫ in die Baugruppe geladen.
Dateien mit der Extension ∫.ALL∫ enthalten jeweils einen kompletten Speicher>
abzug. Dazu ist es erforderlich, da˚ am CP 521 BASIC ein Speichermodul gesteckt
ist, welches Daten aufnehmen kann.
Programmierung von Speichermodulen
Menuepunkt ∫Obj. code O EPROM∫ (Taste <F2>)
Nach Anwahl der Funktion ∫Obj. code O EPROM∫ wird das mit dem vorein>
gestellten Dateinamen angewßhlte Programm auf das EPROM programmiert. Bei
erstmaliger Programmierung eines leeren EPROMs kennzeichnet das Program>
miergerßt das Modul als BASIC>Modul fÂr den CP 521 BASIC.
Wird ein mit einer anderen Kennzeichnung bereits programmiertes Modul ge>
steckt, so erscheint eine Fehlermeldung.
Das Speichermodul wurde in der Voreinstellmaske Âber die zugeh‘rige Program>
miernummer (siehe Help>Maske) angewßhlt.
Das BASIC>Programm mu˚ hierfÂr in speicheroptimierter Form als Datei mit der
Namenserweiterung ∫.TOK∫ auf dem PG/PC vorhanden sein.
Nach Beendigung der Programmierung bekommen Sie vom System die vom
Programm belegte Programmnummer am Bildschirm mitgeteilt. Das Speicher>
modul kann nun in den CP 521 BASIC eingesetzt werden und mit den Befehlen
ROM bzw. RROM [integer] (Æ Kap. 5.7.1) aufgerufen werden. Der Parameter
entspricht hier der Programmnummer, unter der das Programm gespeichert
wurde.
5>14
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Menuepunkt ∫CP>Inhalt O EPROM∫ (Taste <F1>)
Nach Anwahl dieser Funktion wird das EPROM komplett mit einem vorher
erstellten CP>Speicherabzug programmiert. Speichermodul sowie Quelldatei
mÂssen Âber die Voreinstellmaske angewßhlt sein. Der Speicherabzug mu˚ sich in
der Datei mit der Extension ∫.ALL∫ befinden.∫
5.4.4
Speicher> und Dateiinhalt anzeigen lassen
DrÂcken Sie im Hauptmenue die Taste <F4>, so erscheint am Bildschirm das
Menue ∫Inhalt∫, das Ihnen den Inhalt der verschiedenen Speichermedien bzw.
der Dateien anzeigt.
Menuepunkt ∫Laufwerk∫ (Taste <F1>)
Unter diesem Menuepunkt kann das Directory des eingestellten Laufwerks an>
gezeigt werden. Es werden dabei nur Dateien mit den Extensionen ∫.TOK∫,
∫.BAS∫ und ∫.ALL∫ angezeigt.
Menuepunkt ∫EPROM∫ (Taste <F2>)
Es werden die belegten Programmnummern des EPROM>Moduls angezeigt.
Menuepunkt ∫Datei∫ (Taste <F3>)
Der Inhalt der eingestellten Arbeitsdatei mit der Extension ∫.BAS∫ kann, falls
vorhanden, unter diesem Menuepunkt am Bildschirm angezeigt werden, um z.B.
ein bestimmtes BASIC>Programm zu finden. Ein Editieren der Datei ist mit dem
COM nicht m‘glich. Hierzu mu˚ ein Texteditor eingesetzt werden.
EWA 4NEB 812 6071>01
5>15
BASIC>Interpreter
CP 521 BASIC
Maske INHALT
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
INHALT
F1
F2
F3
Laufwerk
EPROM
Datei
F4
F5
F6
F7
F8
Help
Exit
Vorein>
stellung
Bild 5.6 COM>Maske ∫Inhalt∫
F1:
F2:
F3:
F5:
F7:
F8:
5>16
Anzeige des Laufwerkinhalts
Anzeige des Speicherinhalts (belegte Programmnummern)
Anzeige des Dateiinhalts
Arbeitsdateinamen bzw. Programmiernummer eingeben
Hilfe>Menue zur aktuellen Maske
RÂcksprung zur Hauptmaske
EWA 4NEB 812 6071>01
CP 521 BASIC
5.5
BASIC>Interpreter
Der BASIC>Interpreter
Die folgenden Abschnitte geben eine allgemeine EinfÂhrung in den eingesetzten
BASIC>Interpreter. Er basiert auf dem im ROM des 8052AH implementierten
BASIC>Interpreter von INTEL.
Es werden die unterschiedlichen Datentypen, die Kommandos und Befehle > kurz,
alles was zur Programmierung ben‘tigt wird> beschrieben. Das Kapitel beinhaltet
jedoch keine EinfÂhrung in die Programmiersprache BASIC.
Das vorliegende BASIC verfÂgt Âber die meisten M‘glichkeiten der ∫Standard>
dialekte∫ von BASIC, ergßnzt noch um einige Befehle zur Kommunikation mit der
CPU sowie Âber die seriellen Schnittstellen.
5.5.1
Anweisungen / Formatanweisungen
Anweisungen
Ein Programm in BASIC besteht aus Programmzeilen. Jede Programmzeile
beginnt mit einer Zeilennummer, auf die dann die eigentliche Anweisung folgt,
und endet mit einem WagenrÂcklaufzeichen (CR). Stehen mehrere Anweisungen
innerhalb einer Zeile, so sind diese durch einen Doppelpunkt (:) zu trennen.
Einige Anweisungen, jedoch nicht alle, k‘nnen im Kommando>Modus ausgefÂhrt
werden. Bei der Beschreibung der Anweisungen in diesem Handbuch wird zu den
einzelnen Anweisungen angegeben, ob sie im Kommando>Modus oder nur im
RUN>Modus ausgefÂhrt werden k‘nnen. Es gibt in BASIC drei Grundtypen von
Anweisungen: Zuweisung, Eingabe/Ausgabe und Steuerung. Im Abschnitt
Beschreibung der Befehle in diesem Handbuch wird zu jeder Anweisung
angegeben, zu welchem Typ sie geh‘rt.
>
>
>
>
>
>
Jede Zeile eines Programms mu˚ mit einer Zeilennummer zwischen 0 und
65.535 beginnen.
Mit Hilfe der Zeilennummern ordnet BASIC die Programmanweisungen in der
richtigen Reihenfolge.
In allen Programmen mÂssen die Zeilennummern eindeutig sein.
Die Anweisungen mÂssen nicht in numerischer Reihenfolge eingegeben
werden, weil sie von BASIC automatisch in aufsteigender Reihenfolge sortiert
werden.
Eine Programmzeile darf (incl. Zeilennummer) h‘chstens 79 Zeichen ent>
halten.
Blanks (Leerzeichen) werden von BASIC ignoriert bzw. wßhrend LIST automa>
tisch eingefÂgt.
EWA 4NEB 812 6071>01
5>17
BASIC>Interpreter
>
CP 521 BASIC
In einer Zeile dÂrfen mehrere Anweisungen enthalten sein, die dann durch
Doppelpunkte (:) getrennt sein mÂssen; jedoch nur eine Zeilennummer.
Formatanweisungen
Formatanweisungen dÂrfen nur innerhalb der PRINT>Anweisung verwendet
werden. Formatanweisungen sind TAB([expr]), SPC([expr]), USING [Sonder>
zeichen] und CR (WagenrÂcklauf ohne Zeilenvorschub). Einzelheiten zu den
Formatanweisungen werden in der Beschreibung zur PRINT>Anweisung in diesem
Handbuch gegeben.
5.5.2
Datenformate
Zur Darstellung von Zahlen gibt es in BASIC folgende zwei M‘glichkeiten:
f Gleitpunktdarstellung
f Ganzzahldarstellung
Gleitpunktdarstellung
In BASIC kann der folgende Zahlenbereich verarbeitet werden :
± 1.0E > 127 bis ± 0.99999999E + 127.
BASIC arbeitet mit acht signifikanten Ziffern. Alle Zahlen werden intern
entsprechend dieser Genauigkeit gerundet. Zahlen k‘nnen in vier Formaten ein>
und ausgegeben werden: als Ganzzahlen, als Dezimalzahlen, als
Hexadezimalzahlen und im Exponentialformat. Beispiel: 127, 34.98, 0A6EH,
1.23456E+3.
Konstante
Konstanten sind Gleitpunktzahlen im Bereich von:
± 1.0E > 127 bis ± 0.99999999E + 127.
Im vorliegenden GHB werden Konstanten auf die folgende Weise bezeichnet:
[const]
Ganzzahldarstellung
In BASIC sind Ganzzahlen alle Zahlen von 0 bis 65.535 bzw. 0FFFFH. Alle
Ganzzahlen k‘nnen im Dezimal> oder im Hexadezimalformat eingegeben
werden, wobei alle Hexadezimalzahlen mit einer gÂltigen Ziffer beginnen
mÂssen (so mu˚ z.B. die Zahl A000H als 0A000H eingegeben werden). Bei
Operatoren, z.B. bei .AND., die ganze Zahlen erfordern, schneidet BASIC den
Dezimalteil der betreffenden Zahl ab, um eine Ganzzahl zu erhalten. Alle
5>18
EWA 4NEB 812 6071>01
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
CP 521 BASIC
5.5.3
5.5.4
FRED
AMPERE1
EWA 4NEB 812 6071>01
BASIC>Interpreter
Zeilennummern sind Ganzzahlen. Im vorliegenden GHB werden Ganzzahlen und
Zeilennummern auf die folgende Weise bezeichnet:
[integer] bzw. [ln num]
Hinweis:
In diesem GHB werden eckige Klammern [ ] nur verwendet, um eine ganze
Zahl, eine Konstante usw. zu bezeichnen. Diese Klammern dÂrfen nicht bei
der Eingabe der eigentlichen Zahl oder Variablen verwendet werden.
Optionale Angaben sind durch { } gekennzeichnet.
Operatoren
Ein Operator fÂhrt eine festgelegte Operation an Variablen und/oder
Konstanten durch. Operatoren erfordern einen oder zwei Operanden. Typische
"dyadische" Operatoren, also fÂr zwei Operanden, sind Addition (+),
Subtraktion (>), Multiplikation (*) und Division (/). Operatoren, fÂr die nur ein
Operand erforderlich ist, werden oft als unßre Operatoren bezeichnet. Einige
typische unßre Operatoren sind SIN, COS und ABS.
Variablen
Variablen mÂssen mit einem Buchstaben beginnen, anschlie˚end kann der Name
Buchstaben, Ziffern sowie den Unterstrich enthalten. Auf diese Weise k‘nnen Sie
einen aussagekrßftigen Namen fÂr eine bestimmte Variable verwenden. So sind
in BASIC die folgenden Variablen zulßssig:
I_I1
ARRAY(ELE_1)
Hinweis:
Variablen ben‘tigen fÂr jedes Zeichen ein Byte. Verwenden Sie deshalb
m‘glichst kurze Variablennamen.
5>19
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
Hinweis:
Beachten Sie, da˚ BASIC zur internen Referenzierung einer Variablen nur das
erste und das letzte Zeichen, sowie die Lßnge des Variablennamens
verwendet. Folglich werden ∫LAENGE0∫ und ∫LIEFER0∫ vom Interpreter nicht
unterschieden werden.
Bei der Verwendung der Variablennamen mu˚ auf jeden Fall beachtet werden,
da˚:
f BASIC lßnger braucht, um lßngere Variablennamen zu verarbeiten
f keine SchlÂsselworte als Teile von Variablennamen verwenden werden
dÂrfen (die Variable TABLE darf beispielsweise nicht verwendet werden, weil
TAB ein reserviertes Wort ist).
Das System meldet ERROR: BAD SYNTAX, wenn der Anwender versucht, eine
Variable zu definieren, die ein reserviertes Wort enthßlt.
Variablen, die einen eindimensionalen Ausdruck [expr] als Index (z.B. A(0)) ent>
halten, werden oft als dimensionierte oder Array>Variable bezeichnet. Variablen,
die nur aus dem Variablennamen ohne Index bestehen, werden als skalare
Variablen bezeichnet. Einzelheiten zu dimensionierten Variablen werden in der
Beschreibung der Anweisungsroutine DIM (Æ Kap. 5.8.7) behandelt. Im
vorliegenden GHB werden Variablen wie folgt bezeichnet:
[var]
BASIC ordnet Variablen "statisch" zu. Bei der erstmaligen Verwendung einer
Variable reserviert also BASIC einen Speicherbereich (8 Byte) spezifisch fÂr diese
Variable. Dieser Speicherbereich kann nicht allgemein fÂr die Variable verwendet
werden. Nach einer Anweisung wie z.B. Q = 3 kann spßter nicht angegeben
werden, da˚ die Variable Q nicht mehr ben‘tigt wird und da˚ BASIC die 8 Byte
des Speicherbereichs von Q freigeben soll. Die einzige M‘glichkeit, einen
Speicherbereich zu l‘schen, der einer Variablen zugeordnet wurde, besteht
darin, eine CLEAR>Anweisung (Æ Kap. 5.8.1) auszufÂhren. Diese Anweisung gibt
den ganzen Speicherbereich, der fÂr die Variablen zugeordnet wurde, frei, d.h.
alle Variablen werden gel‘sch
5>20
EWA 4NEB 812 6071>01
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
Hinweis:
Im Vergleich zu einer dimensionierten Variablen ben‘tigt BASIC erheblich
weniger Zeit, um eine Skalare Variable aufzufinden. In einer skalaren
Variablen mu˚ nicht erst ein Ausdruck berechnet werden. Wenn also ein
Programm m‘glichst schnell ablaufen soll, sollen dimensionierte Variablen
nur dort verwendet werden, wo sie unbedingt erforderlich sind. FÂr
Zwischenergebnisse k‘nnen skalare Variablen verwendet werden, und das
Endergebnis kann dann wieder einer dimensionierten Variablen zugeordnet
werden.
5.5.5
AusdrÂcke / Relationale AusdrÂcke
AusdrÂcke
Ein Ausdruck ist eine logische mathematische Formel, die Operatoren (sowohl
unßre als auch dyadische Operatoren), Konstanten und Variablen enthßlt.
AusdrÂcke k‘nnen einfach oder recht komplex sein, z.B. 12*EXP(A)/100, H(1) +
55 oder (SIN(A)*SIN(A) + COS(A)*COS(A))/2 sein. Eine "einzelne" Variable [var]
oder Konstante [const] gilt ebenfalls als Ausdruck. Im vorliegenden GHB werden
AusdrÂcke wie folgt bezeichnet:
[expr]
Relationale AusdrÂcke
Relationale AusdrÂcke enthalten die Operatoren GLEICH (=), UNGLEICH (<>),
GRTSSER ALS (>), KLEINER ALS (<), GRTSSER GLEICH (>=) und KLEINER GLEICH
(<=). Sie werden in Steueranweisungen verwendet, um eine Bedingung zu
"testen" (z.B. IF A < 100 THEN ...). Relationale AusdrÂcke erfordern stets zwei
Operanden. Im vorliegenden GHB werden Relationale AusdrÂcke wie folgt
bezeichnet:
[rel expr]
5.5.6
Systemsteuerwerte
Zu den Systemsteuerwerten geh‘ren:
f LEN (gibt die Lßnge des Programms an),
f FREE (gibt an, wieviele Bytes RAM>Speicher fÂr Variablen und Strings maximal
verfÂgbar sind) und
f MTOP (die letzte, fÂr BASIC reservierte Speicherstelle).
EWA 4NEB 812 6071>01
5>21
BASIC>Interpreter
5.5.7
CP 521 BASIC
Stackaufbau
BASIC reserviert 512 Byte des Datenspeichers fÂr die Einrichtung von zwei
"Software">Stacks. Dies sind der Steuerstack und der Argumentstack. FÂr
Anwender, die nur in BASIC programmieren wollen, ist ein Verstßndnis der
Arbeitsweise der Stacks nicht erforderlich.
Steuerstack
Dieser Stack nimmt alle Angaben auf, die zur Schleifensteuerung (z.B. DO>WHILE,
DO>UNTIL und FOR>NEXT) und zu BASIC>Subroutinen geh‘ren (GOSUB). Es sind
maximal 9 FOR>NEXT>Schachtelungen oder 52 andere m‘glich.
Argumentstack
Dieser Stack nimmt alle Argumente, Werte und Zwischenergebnisse auf, mit
denen BASIC gegenwßrtig arbeitet. Operationen wie Addition, Subtraktion,
Multiplikation und Division werden mit Hilfe des Argumentstacks durchgefÂhrt.
5.5.8
Zeilen>Editor
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
BASIC enthßlt einen Zeilen>Editor im Mindestumfang. Zur 'nderung einer einmal
eingegebenen Zeile mu˚ die ganze Zeile neu eingegeben werden. Es ist jedoch
m‘glich, einzelne Zeichen zu l‘schen, solange die Zeile noch nicht voll
eingegeben ist. Hierzu ist ein ∫DEL∫ (7FH) einzugeben. Das Zeichen ∫DEL∫ (7FH)
bewirkt, da˚ das zuletzt eingegebene Zeichen aus dem Texteingabepuffer
gel‘scht wird. Durch die Eingabe von CTRL>D wird die ganze betreffende Zeile
gel‘scht. BASIC enthßlt die Erkennung der Zeichen CTRL>Q!(X>ON) und CTRL>S
(X>OFF). Bei der Eingabe von Daten mu˚ hier darauf geachtet werden, nicht
versehentlich CTRL>S einzugeben, weil dann BASIC nicht mehr auf Konsolen>
eingaben reagiert. Nach der Eingabe von CTRL>S mu˚ CTRL>Q eingegeben
werden, um Konsoleneingaben wieder wirksam zu machen.
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Hinweis:
Im vorliegenden GHB wird ein WagenrÂcklaufzeichen durch das Symbol (CR)
bezeichnet. Das WagenrÂcklaufzeichen wird auf den meisten Tastaturen mit
der Taste RETURN aufgerufen.
EWA 4NEB 812 6071>01
5>22
CP 521 BASIC
5.6
BASIC>Interpreter
Beschreibung der Befehle
Die folgenden Befehle k‘nnen nur im Kommando>Modus eingegeben werden.
RUN
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
5.6.1
Befehl
RUN(cr)
Wirkung
Nach der Eingabe von RUN(cr) werden alle Variablen gleich Null gesetzt, alle von
BASIC aufgerufenen Interrupts sowie die Puffer zur S5>CPU und zur Peripherie
werden gel‘scht und der Programmablauf beginnt bei der ersten Zeilennummer
des gewßhlten Programms. Der Interpreter BASIC kann aus dem Kommando>
Modus nur durch den Befehl RUN oder durch die GOTO>Anweisung den RUN>
Modus versetzt werden. Der Programmablauf kann jederzeit durch Eingabe von
CTRL>C in die Konsole abgebrochen werden.
Varianten
Im Gegensatz zu anderen BASIC>Interpretern, die hinter dem Befehl RUN die
Eingabe einer Zeilennummer gestatten (z.B. RUN 100), lß˚t BASIC keine derartige
Variante fÂr den Befehl RUN zu. Der Programmablauf beginnt stets bei der ersten
Zeilennummer. Um die gleiche Wirkung wie durch den Befehl RUN![ln!num] zu
erreichen, kann die GOTO>Anweisung [ln num] im Kommando>Modus verwendet
werden. Siehe GOTO>Anweisung (Æ Kap. 5.8.13).
Beispiel
>10 FOR I=1 TO 3
>20 PRINT I
>30 NEXT I
>RUN
1
2
3
READY
>
EWA 4NEB 812 6071>01
5>23
BASIC>Interpreter
CONT
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
5.6.2
CP 521 BASIC
Befehl
CONT(cr)
Wirkung
Programme, die durch die Eingabe von CTRL>C Âber die Konsole oder durch
AusfÂhrung einer STOP>Anweisung (Æ Kap. 5.8.29) abgebrochen wurden, k‘n>
nen durch die Eingabe CONT(cr) fortgesetzt werden. Zwischen dem Abbruch und
der Fortsetzung des Programms ist es m‘glich, die Werte der Variablen anzeigen
zu lassen oder zu ßndern. Es ist jedoch nicht m‘glich, das Programm nach einem
Fehler durch CONT fortzusetzen, oder wenn es nach dem Abbruch verßndert
wurde. Nach Eingabe der Befehle RAM und ROM ist eine Programmfortsetzung
durch CONT ebenfalls nicht mehr m‘glich.
Varianten
Keine
Beispiel
>10 FOR I=1 TO 10000
>20 PRINT I
>30 NEXT I
>RUN
1
2
3
4
5
- (TYPE CONTROL-C ON CONSOLE)
STOP - IN LINE 20
READY
>PRINT I
6
>I=10
>CONT
10
11
12
5>24
EWA 4NEB 812 6071>01
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
5.6.3
Befehl
EWA 4NEB 812 6071>01
BASIC>Interpreter
LIST
LIST {ln num{-ln num}} (cr)
Wirkung
Der Befehl LIST(cr) gibt das Programm an die Konsole aus. Hierbei ist zu beachten,
da˚ der Befehl LIST das Programm so "formatiert", da˚ es leicht zu lesen ist.
Hinter der Zeilennummer und vor und nach den Anweisungen werden Blanks
eingefÂgt. Diese Erweiterung soll die Fehlersuche in Programmen in BASIC
unterstÂtzen. Das "Listing" eines Programms kann jederzeit durch Eingabe von
CTRL>C Âber die Konsole abgebrochen werden.
Varianten
Es sind zwei Varianten des Befehls LIST m‘glich. Dies sind:
LIST[ln num] (cr) und
LIST[ln num] - [ln num] (cr)
Die erste Variante bewirkt, da˚ das Programm von der angegebenen Zeilen>
nummer (Ganzzahl) bis zum Ende ausgegeben wird. Die zweite Variante bewirkt
die Ausgabe des Programms von der ersten Zeilennummer (Ganzzahl) bis zur
zweiten Zeilennummer (Ganzzahl).
Hinweis:
Die beiden Zeilennummern mÂssen durch einen Bindestrich voneinander
getrennt sein.
5>25
BASIC>Interpreter
CP 521 BASIC
Beispiel
READY
>LIST
10 PRINT ”SCHLEIFEN-PROGRAMM”
20 FOR I=1 TO 3
30 PRINT I
40 NEXT I
50 END
READY
>LIST 30
30 PRINT I
40 NEXT I
50 END
READY
>LIST 20-40
20 FOR I=1 TO 3
30 PRINT I
40 NEXT I
LIST#
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
5.6.4
Befehl
List# {ln num{- ln num}} (cr)
Wirkung
Der Befehl LIST#(cr) gibt das Programm an die unidirektionale Schnittstelle aus.
Alle Angaben zum Befehl LIST gelten auch fÂr den Befehl LIST#.
5>26
EWA 4NEB 812 6071>01
CP 521 BASIC
NEW
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
5.6.5
BASIC>Interpreter
Befehl
NEW (cr)
Wirkung
Nach der Eingabe von NEW(cr) l‘scht BASIC das gegenwßrtig im RAM>Speicher
abgelegte Programm. Au˚erdem werden alle Variablen gleich Null gesetzt, und
alle von BASIC aufgerufenen Interrupts, die Puffer zur S5>CPU und zur Peripherie
werden gel‘scht. Zeichenketten (Stringvariablen) werden zwar gel‘scht, der
durch den Befehl ∫String∫ hierfÂr reservierte Speicherbereich wird jedoch nicht
freigegeben. Der Timer ist hiervon nicht berÂhrt.
EWA 4NEB 812 6071>01
5>27
BASIC>Interpreter
5.7
CP 521 BASIC
Speicherbefehle
Der CP 521 BASIC kann mehrere Programme in einem Speichermodul ablegen. Es
k‘nnen so viele Programme abgespeichert werden, bis der Speicher des Moduls
ersch‘pft ist. Die Programme werden im Modul in laufender Reihenfolge
abgelegt und k‘nnen beliebig abgerufen und ausgefÂhrt werden. Diese
Abspeicherung von Programmen in laufender Reihenfolge wird als Modul>Datei
bezeichnet. Mit den folgenden Befehlen kann der Anwender die Modul>Datei
selektieren, erstellen und bearbeiten.
RAM und ROM
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
5.7.1
Befehle
RAM(cr) und ROM [integer](cr)
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaa
Wirkung
Diese beiden Befehle geben dem BASIC>Interpreter an, ob das aktuelle Programm
(das aktuelle Programm ist jeweils das Programm, das nach einem Befehl LIST
ausgegeben bzw. nach Eingabe von RUN abgerufen wird) sich im RAM oder auf
dem Speichermodul befindet.
Befehl
RAM(cr)
Nach Eingabe von RAM(cr) wßhlt der Interpreter das aktuelle Programm aus dem
RAM>Speicher. Dies gilt Âblicherweise als die "normale" Betriebsart, und in dieser
Betriebsart rufen auch die meisten Anwender den Befehls>Interpreter auf.
5>28
EWA 4NEB 812 6071>01
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
Befehl
ROM [integer](cr)
Nach Eingabe von ROM[integer](cr) wßhlt BASIC das aktuelle Programm im
Speichermodul. Fehlt die Angabe der Ganzzahl hinter dem Befehl ROM (Eingabe
also: ROM(cr)), so gilt fÂr BASIC die Standardangabe ROM 1. Da die Programme
im Speichermodul in laufender Reihenfolge abgelegt sind, gibt die Ganzzahl
hinter dem Befehl ROM an, welches der Programme Sie aufrufen oder ausgeben
lassen m‘chten. Nach dem Versuch, ein nicht vorhandenes Programm
anzuwßhlen (Beispiel: Es wird ROM 8 eingegeben, obwohl nur sechs Programme
im Modul gespeichert sind), wird die Meldung ERROR: PROGRAM NOT FOUND
ausgegeben.
Nach Wahl der Betriebsart ROM Âbertrßgt BASIC keine Programme aus dem
Speichermodul in den RAM>Speicher. Es ist also nicht m‘glich, in der Betriebsart
ROM Programme durch EDIT zu bearbeiten. Nach dem Versuch, ein Programm in
der Betriebsart ROM durch Eingabe einer Zeilennummer zu editieren, erscheint
die Meldung ERROR: CAN'T EDIT ON MEMORY MODULE. Mit dem nachfolgend
beschriebenen Befehl XFER (Æ Kap. 5.7.2) k‘nnen Programme aus dem Modul> in
den RAM>Speicher Âbertragen werden, um dort editiert zu werden.
Da der Befehl ROM kein Programm in den RAM>Speicher Âbertrßgt, k‘nnen das
Speichermodul und der RAM>Speicher gleichzeitig verschiedene Programme
enthalten. Der Anwender kann zwischen den beiden Betriebsarten beliebig
umschalten. Ein weiterer Vorteil, da˚ Programme nicht in den RAM>Speicher
Âbertragen werden brauchen, liegt darin, da˚ der gesamte RAM>Speicher fÂr die
Speicherung von Variablen verwendet werden kann, wenn das Programm selbst
im Speichermodul abgelegt ist. Die Systemsteuerwerte MTOP und FREE beziehen
sich stets auf das RAM, nicht auf das Speichermodul.
Varianten
Keine
EWA 4NEB 812 6071>01
5>29
BASIC>Interpreter
XFER
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
5.7.2
CP 521 BASIC
Befehl
XFER(cr)
Wirkung
Der Befehl XFER (Transfer) Âbertrßgt das gegenwßrtig gewßhlte Programm aus
dem Speichermodul in den RAM>Speicher und stellt dann auf Betriebsart RAM
um. Wird XFER eingegeben, wßhrend BASIC in der Betriebsart RAM lßuft, wird
das im RAM abgespeicherte Programm in den RAM>Speicher Âbertragen und die
Betriebsart RAM gewßhlt. Nach der DurchfÂhrung des Befehls XFER kann das
Programm im RAM auf die gleiche Weise editiert werden wie jedes Programm
aus dem RAM>Speicher.
Varianten
Keine
5>30
EWA 4NEB 812 6071>01
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
aaa
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
5.7.3
Befehl
EWA 4NEB 812 6071>01
BASIC>Interpreter
PROG
PROG(cr)
Wirkung
Durch den Befehl PROG wird das gegenwßrtig gewßhlte Programm in das
gesteckte Speichermodul Âbertragen. Das gegenwßrtig gewßhlte Programm mu˚
sich hierbei im RAM befinden.
Nach der Eingabe von PROG(cr) gibt BASIC die Nummer der Modul>Datei an,
unter der das Programm abgelegt wird.
Hinweis:
Das Programmieren und L‘schen von EPROM>Speichermodulen wird von der
Baugruppe nicht unterstÂtzt. Hierzu ist ein COM>Softwarepaket auf dem
Programmiergerßt erforderlich.
Wenn Sie mit nachfolgend beschriebenen Befehlen ein EPROM-Speichermodul
programmieren wollen oder kein Speichermodul gesteckt haben, so wird die
Fehlermeldung ∫CAN©T PROGRAM AN EPROM MODULE∫ bzw. ∫UNKNOWN
MODULE/NO BASIC MODULE∫ ausgegeben.
Soll ein bis dahin nicht am CP 521 BASIC verwendetes Speichermodul zur
Aufnahme von Programmen verwendet werden, so fragt der CP 521 BASIC
interaktiv nach, ob das Speichermodul berschrieben werden darf.
5>31
BASIC>Interpreter
CP 521 BASIC
Beispiel
>LIST
10 FOR I=1 TO 10
20 PRINT I
30 NEXT I
READY
>PROG
12
READY
>ROM 12
READY
>LIST
10 FOR I=1 TO 10
20 PRINT I
30 NEXT I
READY
>
In diesem Beispiel ist das soeben im Speichermodul abgelegte Programm das 12.
darin befindliche Programm.
Varianten
Keine
5>32
EWA 4NEB 812 6071>01
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
5.7.4
Befehle
Befehl
Befehl
EWA 4NEB 812 6071>01
BASIC>Interpreter
PROG1 und PROG2
PROG1(cr) und PROG2(cr)
Wirkung
PROG1(cr)
Nach Anschalten der Stromversorgung mÂssen Sie normalerweise die bidirektio>
nale Schnittstelle der Baugruppe initialisieren und hierzu unbedingt die
Leerschritt>Taste betßtigen. Zur Vereinfachung verfÂgt BASIC Âber einen Befehl
PROG1. Dieser Befehl programmiert den gepufferten RAM>Speicher mit den
Angaben zur Baudrate. Beim nßchsten "Einschalten"der Baugruppe, d.h. beim
RESET, liest der CP 521 BASIC diese Angaben ein und initialisiert die bidirektio>
nale Schnittstelle mit dem abgespeicherten Wert der Baudrate. Anschlie˚end
wird das Programm, das sich im gepufferten RAM>Speicher befindet, gestartet.
PROG2(cr)
Der Befehl PROG2 hat die gleiche Wirkung wie der Befehl PROG1, jedoch ruft die
Baugruppe nach RESET sofort das Programm mit der Nummer 1 auf, das im
Speichermodul abgespeichert ist.
Hinweis:
Der Start eines BASIC>Programms mit PROG1 / PROG2 wird nur ausgefÂhrt,
wenn der Betriebsartenschalter der Baugruppe auf RUN steht und bei PROG2
ein Speichermodul gesteckt ist.
Ist kein oder ein unzulßssiges Speichermodul gesteckt, wird die Fehlermeldung
UNKNOWN MODULE / NO BASIC MODULE ausgegeben.
Bei gestecktem EPROM>Modul erfolgt eine Fehlermeldung des Interpreters
nach Eingabe von PROG1 bzw. PROG2. Die Informationen zum Anlauf werden
aber trotzdem abgespeichert.
5>33
BASIC>Interpreter
CP 521 BASIC
Nach der Eingabe von PROG1/PROG2 gibt BASIC die Nummer der Modul>Datei
an, unter der das Programm abgelegt wird.
Mit den Befehlen PROG1 / PROG2 ist es m‘glich, nach einem RESET sofort ein
Programm durch RUN abzurufen, ohne da˚ die Baugruppe mit einem Terminal
verbunden ist. Die Angabe PROG2 entspricht damit einer Eingabe der Befehls>
folge ROM 1, RUN. Dies ist fÂr Steueranwendungen ideal, wo es nicht immer
m‘glich ist, Âber ein Terminal zu verfÂgen. Sie k‘nnen mit Hilfe dieser
Eigenschaft eine spezielle Initialisierungsfolge in BASIC erstellen.
Durch die Verwendung von PROG (ohne Parameter) lßuft der CP 521 BASIC nach
dem nßchsten Einschalten (RESET) wieder mit der Auto>Baud>Routine
(Betßtigung der Leerschritt>Taste durch den Anwender) hoch.
ERASE
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
5.7.5
Befehl
ERASE [integer]
Wirkung
Das Programm mit der hinter dem Befehl ERASE stehenden ∫Programmnummer∫
wird als gel‘scht markiert. Ist die Programmnummer keine gÂltige (<1 oder
>254), wird eine Fehlermeldung ausgegeben.
Varianten
keine
REORG
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaa
5.7.6
Befehl
REORG (cr)
Wirkung
Der Befehl REORG entfernt die mit ERASE als gel‘scht markierten Programme.
Der Speicher wird so komprimiert, da˚ die darin verbleibenden Programme
lÂckenlos aneinandergereiht im Speichermodul stehen. Die entsprechenden
Programmnummern werden beibehalten. Gel‘schte Programmnummern werden
wieder freigegeben.
Varianten
keine
5>34
EWA 4NEB 812 6071>01
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
Hinweis:
Wßhrend ∫REORG∫ darf der CP nicht ausgeschaltet werden, da sonst mit einer
Zerst‘rung der Programme auf dem Speichermodul gerechnet werden mu˚.
5.8
Beschreibung der Anweisungen
Die Beschreibung der Anweisungen ist nach folgendem 3>zeiligen Schema
tabellarisch aufgebaut.
f Zeile 1: beschreibt die Syntax der Anweisung,
f Zeile 2: gibt an in welcher Betriebsart die Anweisung genutzt werden kann,
f Zeile 3: gibt eine Klassifizierung der Anweisung an, ob sie z.B. zur Programm>
steuerung, fÂr Ein>/Ausgabefunktionen oder fÂr anderes verwendet
werden kann.
CLEAR
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
5.8.1
Anweisung
CLEAR
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
Die CLEAR>Anweisung setzt alle Variablen gleich Null, l‘scht die internen Puffer
und setzt die Interrupts und Stacks zurÂck. Das bedeutet, da˚ nach der CLEAR>
Anweisung eine ONTIME>Anweisung (Æ Kap. 5.8.19) ausgefÂhrt werden mu˚,
bevor BASIC wieder Interrupts annimmt. Ebenso ist eine Software>Sperre durch
ERROR Âber die ONERR>Anweisung (Æ Kap. 5.8.18) nicht m‘glich, solange nicht
eine Anweisung ONERR [integer] ausgefÂhrt wurde. Die CLEAR>Anweisung
berÂhrt nicht den Timer, der durch die CLOCK1>Anweisung (Æ Kap. 5.8.20)
gestartet wird. CLEAR l‘scht au˚erdem nicht den Speicher, der fÂr Strings
reserviert wurde, so da˚ es nicht erforderlich ist, die Anweisung STRING [expr],
[expr] (Æ Kap. 5.12.1) einzugeben, um wieder Speicherplatz fÂr Strings zu reser>
vieren, nachdem die CLEAR>Anweisung ausgefÂhrt wurde. CLEAR wird allgemein
einfach dazu verwendet, alle Variablen zu "l‘schen".
Varianten
Keine
EWA 4NEB 812 6071>01
5>35
BASIC>Interpreter
CLEARI und CLEARS
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaa
a
5.8.2
CP 521 BASIC
Anweisungen
CLEARI und CLEARS
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
Wirkung
Anweisung
CLEARI
aaaaaaa
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
aaaaaaa
a
Alle von BASIC aktivierten Interrupts werden gel‘scht (ONTIME). Der Timer des
CP 521 BASIC ist hiervon nicht betroffen. Sie k‘nnen durch CLEARI den ONTIME>
Interrupt wßhrend bestimmter Programmteile sperren und ihn nachher durch
den Befehl ONTIME wieder freigeben.
Anweisung
CLEARS
Der Befehl CLEARS setzt die interpretereigenen Stacks (Argumentstack und Steu>
erstack) zurÂck. Dies kann erforderlich sein, wenn die Stacks nach einem Fehler in
einer Subroutine (GOSUB) oder einer Programmschleife (DO>WHILE, FOR>NEXT,
DO>UNTIL) gel‘scht werden sollen, damit das Programm ∫normal∫ fortgesetzt
werden kann. CLEARS kann auch dazu verwendet werden, um Programm>
schleifen (DO>WHILE, FOR>NEXT, DO>UNTIL) vorzeitig abzubrechen. Argumente,
die durch PUSH auf den Argumentstack gebracht wurden, sind verloren.
Beispiel
>5 REM TEST VON CLEARS UND CLEARI
10 PRINT ”MULTIPLIKATIONSTEST, SIE HABEN JEWEILS 5 SEKUNDEN
ZEIT”
>20 FOR I = 2 TO 9
>30 N = INT(RND*10) : A = N*I
>40 PRINT ”WAS IST”, N, ”*”, I, ”?”: CLOCK1
>50 TIME = 0 : ONTIME 5, 200 : INPUT R: IF R<>A THEN 100
>60 PRINT ”DAS IST RICHTIG”: TIME=0: NEXT I
>70 PRINT ”DANKE,DAS WAR ES”
>80 PRINT ”VIELLEICHT EIN ANDERES MAL WIEDER” : END
>100 PRINT ”FALSCH, VERSUCH ES NOCH EINMAL”: GOTO 50
>200 REM ZEIT IST ABGELAUFEN; C-STACK BEREINIGEN
>210 PRINT
>220 CLEARS : PRINT ”LEIDER VERLOREN: SIE HABEN ZU LANGE
GEBRAUCHT”
>230 CLEARI : INTERRUPT WIEDER FREIGEBEN
5>36
EWA 4NEB 812 6071>01
aaaaaaa
a
a
aaaaaaa
a
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
a
aaaaaaa
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaa
a
CP 521 BASIC
5.8.3
Baudrate:
Paritßt:
EWA 4NEB 812 6071>01
BASIC>Interpreter
INIT
Anweisung
INIT [integer]
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
Mit dem Befehl INIT k‘nnen die Eigenschaften der seriellen bidirektionalen
Schnittstelle parametriert werden.
Hinweis:
Die Umparametrierung der bidirektionalen Schnittstelle im Kommando>Modus
bewirkt unter Umstßnden, da˚ die Baugruppe wegen unterschiedlicher
Parameter vom Terminal nicht mehr ansprechbar ist.
1:
2:
3:
4:
5:
6:
7:
8:
110 Bd
200 Bd
300 Bd
600 Bd
1200 Bd
2400Bd
4800 Bd
9600 Bd
0:
1:
2:
3:
f4:
gerade
(Default>Einstellung)
ungerade
mark ∫1∫
space ∫0∫
Paritßt wird nicht ausgewertet
(Default>Einstellung)
5>37
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
CP 521 BASIC
5>38
BASIC>Interpreter
Hinweis:
Soll die Paritßt nicht ausgewertet werden und ist ein Datenformat mit Paritßt
parametriert, ist die sendeseitige Paritßt immer NULL.
Handshake:
0:
1:
2:
3:
Datenformat:
0:
1:
Schnittstelle:
0:
1:
ohne Handshake (Default>Einstellung)
Auswertung der Modem>Signale (nur V.24)
XON/XOFF>Protokoll
PG>Protokoll
1 Startbit, 7 Datenbits, 1 Paritßtsbit, 2 Stoppbits
1 Startbit, 8 Datenbits, 1 Paritßtsbit, 1 Stoppbit
(Default>Einstellung)
2: 1Startbit, 8 Datenbits, 2 Stoppbits
3: 1 Startbit, 7 Datenbits, 2 Stoppbits
4: 1 Startbit, 7 Datenbits, 1 Paritßtsbit, 1 Stoppbit
f5: 1 Startbit, 8 Datenbits, 1 Stoppbit
TTY
V.24
(Default>Einstellung)
Hinweis:
Zur Kommunikation PG/PC und CP 521 BASIC mu˚ die serielle Schnittstelle mit
8!Datenbits parametriert sein. Die Schnittstellenparameter mÂssen bei PG/PC
und CP 521 BASIC identisch sein.
Bedeutung:
Mit dem Befehl INIT parametrieren Sie die bidirektio>
nale serielle Schnittstelle. Die Parameterliste mu˚ im>
mer als fÂnfstellige Zahl angegeben werden.
Beispiel:
INIT 61241
EWA 4NEB 812 6071>01
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
CP 521 BASIC
f
f
f
f
Baudrate:
Paritßt:
Handshake:
Datenformat:
f
Schnittstelle:
5.8.4
Baudrate:
EWA 4NEB 812 6071>01
BASIC>Interpreter
Hinweis:
Ein Wert fÂr die Paritßt mu˚ auch dann angegeben werden, wenn ein
Datenformat ohne Paritßt gewßhlt wird. Der Wert fÂr die Paritßt wirkt sich
dann nicht aus.
Die Schnittstelle ist wie folgt parametriert:
2400
ungerade
XON/XOFF>Protokoll aktiviert
10>Bit>Zeichenrahmen (1 Startbit, 7 Datenbits,
1 Paritßtsbit, 1 Stoppbit)
V.24
INIT#
Anweisung
INIT# [integer]
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
Mit dem Befehl INIT# k‘nnen die Eigenschaften der unidirektionalen Schnitt>
stelle parametriert werden.
1:
2:
3:
4:
5:
6:
7:
110 Bd
200 Bd
300 Bd
600 Bd
1200 Bd
2400Bd
4800 Bd
(Default>Einstellung)
5>39
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
BASIC>Interpreter
Bedeutung:
Beispiel :
f
f
f
f
Baudrate:
Paritßt:
Handshake:
Datenformat:
5>40
CP 521 BASIC
Paritßt:
0:
1:
2:
f3:
gerade
ungerade
mark ∫1∫
space ∫0∫
Handshake:
0:
1:
ohne BUSY>Signal
(Default>Einstellung)
Auswertung des BUSY>Signals
Datenformat:
0:
1:
(Default>Einstellung)
1 Startbit, 7 Datenbits, 1 Paritßtsbit, 2 Stoppbits
1 Startbit, 8 Datenbits, 1 Paritßtsbit, 1 Stoppbit
(Default>Einstellung)
2: 1 Startbit, 8 Datenbits, 2 Stoppbits
3: 1 Startbit, 7 Datenbits, 2 Stoppbits
4: 1 Startbit, 7 Datenbits, 1 Paritßtsbit, 1 Stoppbit
f5: 1 Startbit, 8 Datenbits, 1 Stoppbit
Mit dem Befehl INIT# parametrieren Sie die unidirek>
tionale Schnittstelle. Die Parameterliste mu˚ als vier>
stellige Zahl angegeben werden.
Hinweis:
Das Busy>Signal ist LOW>aktiv.
INIT# 3010
Die Schnittstelle ist wie folgt parametriert:
300
gerade
BUSY>Signal wird ausgewertet
11>Bit>Zeichenrahmen (1 Startbit, 7 Datenbits,
1 Paritßtsbit, 2!Stoppbits)
EWA 4NEB 812 6071>01
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaa
a
CP 521 BASIC
5.8.5
EWA 4NEB 812 6071>01
BASIC>Interpreter
BREAK
Anweisung
BREAK ([integer])
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
Mit dem Befehl BREAK ist es m‘glich, die Unterbrechbarkeit von BASIC>Program>
men und Ausgaben durch <CTRL C> zu steuern.
Nach BREAK (0) k‘nnen Programme nicht mehr mit <CTRL C> abgebrochen
werden.
Nach AusfÂhrung der BREAK>Anweisung (1) (Default>Einstellung) ist ein Pro>
grammabbruch jederzeit m‘glich.
Beispiel
>10 STRING 1,5: A=1: REM STRINGDEFINITION
>20 $(0) = ”BREAK” : REM ”BREAK” IST DAS PASSWORT
>30 BREAK (0): REM CONTROL-C ABSCHALTEN
>40 FOR I=1 TO 1000 : REM DUMMY SCHLEIFE
>50 J=SIN (I)
>60 K=GET : IF K<>0 THEN 80 ELSE NEXT I
>70 END
>80 IF K=ASC ($(0),A) THEN A=A+1 ELSE A=1
>90 REM TEST AUF BEREINSTIMMUNG
>100 IF A=1 THEN NEXT I
>110 IF A=6 THEN 130 ELSE NEXT I
>120 END
>130 PRINT ”BREAK”
>140 BREAK (1) : REM CONTROL-C EINSCHALTEN
In diesem Beispiel stoppt die Eingabe des Wortes ∫BREAK∫ die Programm>
ausfÂhrung, d.h. das Wort ∫BREAK∫ ist ein Pa˚wort.
Hinweis:
Sie sollten nach BREAK (0) in Ihrem Programm eine Eingriffsm‘glichkeit
vorsehen, um zumindest wßhrend der Testphase, das Programm dennoch
beenden zu k‘nnen. Andernfalls ist ein Programmabbruch nur noch durch das
Ausschalten des CP 521 BASIC m‘glich.
5>41
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
BASIC>Interpreter
5.8.6
Anweisung
Anweisung
Anweisung
5>42
CP 521 BASIC
DATA > READ > RESTORE
Anweisungen
DATA - READ - RESTORE
Betriebsart
RUN
Typ
Zuweisung
Wirkung
DATA [expr] {, [expr], ...}
DATA spezifiziert AusdrÂcke, die mit einer READ>Anweisung eingelesen werden
k‘nnen. Wenn Zeilen mehrere derartige AusdrÂcke enthalten, mÂssen diese
durch Kommas getrennt sein.
READ [var] {, [var], ...}
READ liest die AusdrÂcke wieder ein, die in der DATA>Anweisung spezifiziert
wurden und weist der Variablen in der READ>Anweisung den Wert des Ausdrucks
zu. Hinter der READ>Anweisung mÂssen stets eine oder mehrere Variablen
stehen. Falls hinter der READ>Anweisung mehrere Variablen stehen, mÂssen
diese durch Komma getrennt sein.
RESTORE
RESTORE setzt den internen Lesezeiger auf den Anfang der mit DATA
spezifizierten AusdrÂcke zurÂck, so da˚ diese erneut eingelesen werden k‘nnen.
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Beispiel
>10 FOR I=1 TO 3
>20 READ A,B
>30 PRINT A,B
>40 NEXT I
>50 RESTORE
>60 READ A,B
>70 PRINT A,B
>80 DATA 10, 20, 10/2, 20/2, SIN(PI), COS(PI)
>RUN
10 20
5 10
0 -1
10 20
Varianten
Keine
Erlßuterung des obigen Beispiels:
Bei jedem Auftreten einer READ>Anweisung wird der nßchstfolgende Ausdruck
in der DATA>Anweisung ausgewertet und der Variablen in der READ>Anweisung
zugewiesen. DATA>Anweisungen k‘nnen an beliebiger Stelle im Programm
stehen; sie werden nicht ausgefÂhrt und verursachen keine Fehlermeldung.
DATA>Anweisungen werden als verkettet angesehen und wirken wie eine gro˚e
DATA>Anweisung. Wenn der gesamte Inhalt von DATA eingelesen worden ist
und eine weitere READ>Anweisung auftritt, bzw. keine DATA>Anweisung im
Programm vorhanden ist, bricht das Programm ab und auf der Konsole wird die
Meldung ERROR: NO DATA > IN LINE XX ausgedruckt.
EWA 4NEB 812 6071>01
5>43
BASIC>Interpreter
DIM
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.7
CP 521 BASIC
Anweisung
DIM [var(integer)]{,[var(integer)]}
Betriebsart
COMMAND und/oder RUN
Typ
Zuweisung
Wirkung
DIM reserviert Speicherplatz fÂr Arrays (Felder). Zunßchst wird der fÂr Arrays
ben‘tigte Speicherbereich gleich NULL angenommen. In BASIC dÂrfen Arrays nur
eine Dimension besitzen, und die Gr‘˚e des dimensionierten Array darf 254!Ele>
mente nicht Âberschreiten. Variablen, die in einem Programm einmal
dimensioniert wurden, dÂrfen nicht neu dimensioniert werden. Jeder Versuch,
ein Array neu zu dimensionieren, wird mit einem ERROR: ARRAY SIZE quittiert.
Wird eine Arrayvariable verwendet, der nicht durch die DIM>Anweisung eine
Dimension zugewiesen wurde, nimmt BASIC einen Standardwert von 10 fÂr die
Arraygr‘˚e an. Nach AusfÂhrung des Befehls RUN (Æ Kap. 5.6.1), des Befehls
NEW (Æ!Kap.!5.6.5) oder der CLEAR>Anweisung (Æ Kap. 5.8.1) werden alle Arrays
wieder gleich Null gesetzt, d.h. wieder aus dem Speicher entfernt. Die Anzahl der
Byte, die fÂr ein Array reserviert werden, ist gleich dem Sechsfachen der um Eins
vergr‘˚erten Arraygr‘˚e. So ben‘tigt das Array A (100) 606 Byte Speicherplatz.
Die maximale Anzahl von dimensionierten Arrays wird durch die Speichergr‘˚e
begrenzt.
Varianten
Mit einer einzigen DIM>Anweisung k‘nnen gleichzeitig auch mehrere Variablen
dimensioniert werden, z.B. DIM A(10), B(15), A1(20).
Beispiel
ERROR BEI DEM VERSUCH EIN ARRAY NOCHMALIG ZU DIMENSIONIEREN
>10 A(5)=10
>20 DIM A(5)
(BASIC ORDNET DEN DEFAULTWERT 10 ALS
FELDGROESSE ZU)
(ARRAY KANN NICHT ERNEUT DIMENSIONIERT
WERDEN)
>RUN
ERROR ARRAY SIZE - IN LINE 20
20
5>44
DIM A(5)
EWA 4NEB 812 6071>01
CP 521 BASIC
DO > UNTIL
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.8
BASIC>Interpreter
Anweisung
DO-UNTIL [rel expr]
Betriebsart
RUN
Typ
Steuerung
Wirkung
Die Anweisungen DO>UNTIL [rel expr] bieten eine M‘glichkeit, innerhalb eines
Programms in BASIC Programmschleifen aufzubauen. Alle Anweisungen
zwischen DO und UNTIL [rel expr] werden solange ausgefÂhrt, bis der logische
Ausdruck hinter der UNTIL>Anweisung TRUE wird. Schleifen DO!>!UNTIL k‘nnen
geschachtelt werden.
Beispiele
EINFACH DO-UNTIL
VERSCHACHELT DO-UNTIL
>10 A=0
>20 DO
>30 A=A+1
>40 PRINT A
>50 UNTIL A=4
>60 PRINT ”FERTIG”
>RUN
>10 DO : A=A+1 : DO : B=B+1
>20 PRINT A,B,A*B
>30 UNTIL B=3
>40 B=0
>50 UNTIL A=3
>RUN
1
2
3
4
FERTIG
READY
>
1
1
1
2
2
2
3
3
3
1
2
3
1
2
3
1
2
3
1
2
3
2
4
6
3
6
9
READY
>
Varianten
Keine
EWA 4NEB 812 6071>01
5>45
BASIC>Interpreter
DO > WHILE
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.9
CP 521 BASIC
Anweisung
DO-WHILE [rel expr]
Betriebsart
RUN
Typ
Steuerung
Wirkung
Die Anweisungen DO>WHILE [rel expr] bieten eine M‘glichkeit, innerhalb eines
Programms in BASIC Programmschleifen aufzubauen. Die Wirkung dieser
Anweisungen gleicht der von DO>UNTIL [rel expr], jedoch werden hier alle
Anweisungen zwischen DO und WHILE [rel expr] solange ausgefÂhrt, wie der
logische Ausdruck hinter der WHILE>Anweisung TRUE ist. DO>WHILE>Anwei>
sungen und DO>UNTIL>Anweisungen k‘nnen geschachtelt werden.
Beispiele
EINFACH DO-WHILE
VERSCHACHTELTS DO-WHILE
>10 DO
>20 A=A+1
>30 PRINT A
>40 WHILE A<4
>50 PRINT ”FERTIG”
>RUN
>10 DO : A=A+1 : DO : B=B+1
>20 PRINT A,B,A*B
>30 WHILE B<>3
>40 B=0
>50 UNTIL A=3
>RUN
1
2
3
4
FERTIG
READY
>
1
1
1
2
2
2
3
3
3
1
2
3
1
2
3
1
2
3
1
2
3
2
4
6
3
6
9
READY
>
Varianten
Keine
5>46
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.10 END
Anweisung
END
Betriebsart
RUN
Typ
Steuerung
Wirkung
Die END>Anweisung beendet den Programmablauf. Programme, die durch die
END>Anweisung beendet wurden, k‘nnen mit dem Fortsetzungsbefehl CONT
(Æ!Kap. 5.6.2) nicht fortgesetzt werden, d.h. auf der Konsole wird dann eine
Meldung ERROR: CAN'T CONTINUE ausgegeben. Wird keine END>Anweisung
verwendet, so endet der Programmablauf in einem BASIC>Programm automa>
tisch nach AusfÂhrung der letzten Anweisung.
Beispiele
PROGRAMMENDE NACH:
AUSFHRUNG DER LETZTEN ANWEISUNG
MIT ANWEISUNG END
>10 FOR I=1 TO 4
>20 PRINT I
>30 NEXT I
>RUN
>10 FOR I=1 TO 4
>20 GOSUB 100
>30 NEXT I
>40 END
>100 PRINT I
>110 RETURN
>RUN
1
2
3
4
1
2
3
4
READY
>
READY
>
Varianten
Keine
EWA 4NEB 812 6071>01
5>47
BASIC>Interpreter
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.11 FOR > TO > {STEP} > NEXT
Anweisungen
FOR-TO-{STEP}-NEXT
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
Die Anweisungen FOR > TO > {STEP} > NEXT werden fÂr den Aufbau und die Steue>
rung von Schleifen verwendet.
Beispiel
>10 FOR A=B TO C STEP D
>20 PRINT A
>30 NEXT A
Falls B=0, C=10 und D=2, wird die PRINT>Anweisung (Æ Kap. 5.8.22) in Zeile 20
sechsmal ausgefÂhrt. Es werden dann fÂr "A" die folgenden Werte ausgedruckt:
0, 2, 4, 6, 8, 10. "A" bezeichnet den Namen des Index oder Schleifenzßhlers. Der
Wert von "B" ist der Anfangswert des Index, der Wert von "C" der Endwert des
Index und der Wert von "D" das Inkrement des Index. Die STEP>Anweisung ist
optional. Falls die STEP>Anweisung und der Wert "D" nicht angegeben werden,
gilt ein Standardinkrement von 1. Die NEXT>Anweisung bewirkt, da˚ der Wert
von "D" zum Index hinzugezßhlt wird. Der Index wird dann mit dem Wert von
"C", dem Grenzwert, verglichen.
Solange der Index nicht gr‘˚er als der Grenzwert ist, werden weiterhin die
Anweisungen zwischen der FOR>Anweisung und der NEXT>Anweisung ausge>
fÂhrt. Es ist zulßssig, den Index "rÂckwßrts" zßhlen zu lassen (z.B. FOR I = 100 TO
1 STEP > 1).
5>48
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Beispiele
>10 FOR I=1 TO 4
>20 PRINT I
>30 NEXT I
>RUN
1
2
3
4
READY
>
>10 FOR I=0 TO 8 STEP 2
>20 PRINT I
>30 NEXT I
>RUN
0
2
4
6
8
READY
>
Wirkung
BASIC erm‘glicht es, die Anweisungen FOR > TO > {STEP} > NEXT im Kommando>
Modus auszufÂhren. Auf diese Weise kann der Anwender beispielsweise
Speicherbereiche durch ein kurzes Programm ausgeben lassen, wie FOR I = 512
TO 560: PH0. XBY(I).: NEXT I.
Die NEXT>Anweisung darf auch verwendet werden, ohne da˚ dahinter die
Variable angegeben werden mu˚. Damit sind Programme wie im folgenden
Beispiel m‘glich:
Beispiel
>10 FOR I = 1 TO 100
>20 PRINT I
>30 NEXT
Hierbei gilt als Variable zur NEXT>Anweisung stets die Variable, die in der letzten
FOR>Anweisung verwendet wurde.
EWA 4NEB 812 6071>01
5>49
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
BASIC>Interpreter
Anweisung
Anweisung
5>50
CP 521 BASIC
5.8.12 GOSUB > RETURN
Anweisungen
GOSUB - RETURN
Betriebsart
RUN
Typ
Steuerung
Wirkung
GOSUB [ln num]
Durch die Anweisung GOSUB [ln num] wird die Subroutine, die mit der
Zeilennummer ∫ln num∫ beginnt, abgearbeitet.
RETURN
Mit dieser Anweisung wird das Programm bei der Anweisung fortgesetzt, die auf
die zuletzt ausgefÂhrte GOSUB>Anweisung folgt.
Die Folge GOSUB > RETURN kann auch "verschachtelt" werden, so da˚ eine
Subroutine, die durch die GOSUB>Anweisung aufgerufen wurde, ihrerseits eine
weitere Subroutine durch eine GOSUB>Anweisung aufrufen kann.
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Beispiele
EINFACHE SUBROUTINE
VERSCHACHTELTE SUBROUTINEN
>10 FOR I=1 TO 5
>20 GOSUB 100
>30 NEXT I
>100 PRINT I
>110 RETURN
>RUN
>10 FOR I=1 TO 3
>20 GOSUB 100
>30 NEXT I
>40 END
>100 PRINT I,
>110 GOSUB 200
>120 RETURN
>200 PRINT I*I
>210 RETURN
>RUN
1
2
3
4
5
READY
>
1 1
2 4
3 9
READY
>
EWA 4NEB 812 6071>01
5>51
BASIC>Interpreter
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.13 GOTO
Anweisung
GOTO [ln num]
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
GOTO [ln num] bewirkt, da˚ das Programm bei der Zeilennummer ∫ln num∫
fortsetzt, die auf die GOTO>Anweisung folgt.
Beispiel
50 GOTO 100
Hierdurch wird, falls es eine Zeile 100 gibt, bewirkt, da˚ das Programm in
Zeile!100 fortgesetzt wird. Wenn keine Zeile 100 vorhanden ist, wird auf der
Konsole die Meldung ERROR: INVALID LINE NUMBER ausgegeben.
Im Gegensatz zum Befehl RUN (Æ Kap. 5.6.1) bewirkt die GOTO>Anweisung,
wenn sie im Kommando>Modus ausgefÂhrt wird, keine L‘schung des
Speicherbereichs fÂr Variablen oder von Interrupts. Wird jedoch die GOTO>An>
weisung im Kommando>Modus ausgefÂhrt, nachdem eine Zeile editiert wurde,
l‘scht BASIC den Speicherbereich fÂr Variablen und alle von BASIC aufgerufenen
Interrupts. Dies ist notwendig, weil der Variablenspeicher und das BASIC>
Programm im gleichen RAM>Speicher abgelegt sind. Durch das Editieren des
Programms werden also Variablen zerst‘rt.
5>52
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaa
a
5.8.14 ON GOTO und ON GOSUB
Anweisung
ON [expr] GOTO [ln num]{,[ln num], ... [ln
num]}
Betriebsart
RUN
Typ
Steuerung
ON [expr] GOSUB [ln num]{,[ln num], ... [ln
Wirkung
Der Wert des Ausdrucks hinter den Anweisungen ON GOTO / ON GOSUB ist der
Index zur Liste der Zeilennummern hinter GOTO bzw. GOSUB. Mit der
Anweisung, die zur Zeilennummer geh‘rt, auf die der Index zeigt, wird das
Programm fortgesetzt.
Beispiel
>10 ON Q GOTO 100, 200, 300
Wßre Q gleich 0, wÂrde das Programm mit der Zeilennummer 100 fortgesetzt. Bei
Q = 1 wÂrde das Programm mit der Zeile 200 fortgesetzt. Bei Q = 2 wÂrde sich
GOTO auf Zeile 300 beziehen, usw. Alle Angaben zu GOTO und GOSUB gelten
auch zur ON>Anweisung. Ist hier Q kleiner als Null, wird eine Fehlermeldung BAD
ARGUMENT ERROR ausgegeben. Ist Q dagegen gr‘˚er als die Liste der
Zeilennummern hinter der GOTO> oder GOSUB>Anweisung, wird eine Fehler>
meldung ERROR: BAD SYNTAX ausgegeben. Die ON>Anweisung erm‘glicht eine
"bedingte Verzweigung" innerhalb eines Programms.
EWA 4NEB 812 6071>01
5>53
BASIC>Interpreter
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.15 IF > THEN > ELSE
Anweisung
IF-THEN-{ELSE}
Betriebsart
RUN
Typ
Steuerung
Wirkung
Die IF>Anweisung leitet eine Alternativverzweigung ein.
Die Anweisungen IF > THEN > ELSE haben allgemein die folgende Form:
[ln num] IF [rel expr] THEN gÂltige Anweisung ELSE gÂltige Anweisung
Das folgende Beispiel zeigt dies:
>10 IF A=100 THEN A=0 ELSE A=A+1
Falls (IF) A = 100 bei AusfÂhrung von Zeile 10, dann (THEN) wird A der Wert 0
zugeordnet. Falls dagegen A nicht gleich 100 ist, erhßlt A den Wert A + 1. Die
GOTO>Anweisung kann entfallen, wenn mit der IF>Anweisung auf verschiedene
Zeilennummern verzweigt werden soll. Die folgenden Beispiele haben jeweils die
gleiche Wirkung:
>20 IF INT(A)< 10 THEN GOTO 100 ELSE GOTO 200
>20 IF INT(A)< 10 THEN 100 ELSE 200
Au˚erdem kann auch die THEN>Anweisung durch eine beliebige andere gÂltige
Anweisung ersetzt werden, wie nachfolgend dargestellt:
>30 IF A<>10 THEN PRINT A ELSE 10
>30 IF A<>10 PRINT A ELSE 10
Die ELSE>Anweisung kann entfallen. Das Programm wird dann bei der nßchsten
Anweisung fortgefÂhrt.
5>54
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
CP 521 BASIC
EWA 4NEB 812 6071>01
BASIC>Interpreter
Beispiel
>20 IF A=10 THEN 40
>30 PRINT A
In diesem Beispiel wird das Programm bei der Zeilennummer 40 fortgesetzt,
wenn!A!= 10. Ist dagegen A ungleich 10, wird Zeilennummer 30 ausgefÂhrt.
Hinweis:
Wenn die >Anweisungen IF > THEN > ELSE zusammen mit anderen Anweisungen
in der gleichen Zeile verwendet werden, ist es m‘glich, bei typischen Pro>
grammstÂcken auf SprÂnge zu verzichten.
Beispiel
>10 IF A=B THEN C=A : A=A/2
>20 PRINT A
Der Rest der Zeile wird nur dann ausgefÂhrt, wenn der Test A = B ein Ergebnis
liefert, das TRUE ist. Dies bedeutet fÂr das Beispiel, da˚ BASIC, falls A = B, C!= A
setzen und dann A = A/2 setzen wÂrde. Falls A ungleich B, wÂrde der Interpreter
nur PRINT A ausfÂhren und die Anweisungen C = A : A = A/2 ignorieren. Diese
gleiche logische Interpretation gilt auch fÂr die ELSE>Anweisung .
5>55
BASIC>Interpreter
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.16 INPUT
Anweisung
INPUT oder !
Betriebsart
RUN
Typ
Eingabe/Ausgabe
Wirkung
Mit der INPUT>Anweisung k‘nnen Sie Daten wßhrend des Programmablaufs
Âber die Konsole eingeben. Durch eine einzige Eingabeanweisung k‘nnen Daten
einer oder mehreren Variablen gleichzeitig zugeordnet werden. Die Variablen
mÂssen durch Komma getrennt sein.
∫!∫ ist eine AbkÂrzung fÂr die INPUT>Anweisung.
Beispiel
INPUT A,B
Die Ausgabe eines Fragezeichens (?) Âber die Konsole fordert den Bediener auf,
zwei Zahlen, durch ein Komma getrennt, einzugeben. Bei ungenÂgender Anzahl
von Daten oder fehlerhaftem Datentyp reagiert BASIC durch die Ausgabe der
Meldung TRY AGAIN Âber die Konsole.
Beispiel
>10 INPUT A,B
>20 PRINT A,B
>RUN
?1
TRY AGAIN
?1,2
1 2
READY
5>56
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Die INPUT>Anweisung kann so geschrieben werden, da˚ eine aussagefßhige
Aufforderung ausgegeben wird, die Ihnen die gewÂnschte Eingabe angibt. Die
Meldung, die hierbei ausgegeben werden soll, mu˚ in AnfÂhrungszeichen (") an
die INPUT>Anweisung angefÂgt werden. Wenn vor der ersten Variablen in der
Eingabeliste ein Komma steht, wird das Fragezeichen als Eingabeaufforderung
nicht ausgegeben.
Beispiele
>10 INPUT ”EINGABE ZEICHEN” A
>20 PRINT SQR(A)
>RUN
EINGABE ZEICHEN
?100
10
>10 INPUT ”EINGABE ZEICHEN-”
,A
>20 PRINT SQR(A)
>RUN
EINGABE ZEICHEN-100
10
Durch eine INPUT>Anweisung k‘nnen auch Zeichenketten zugeordnet werden.
Zeichenketten werden stets durch ein WagenrÂcklaufzeichen (CR) abgeschlossen.
Wenn also durch eine einzige INPUT>Anweisung mehrere Zeichenketten ange>
fordert werden, fordert BASIC Sie hierzu durch ein Fragezeichen auf.
Beispiele
>10 STRING 1,15
>20 INPUT ”NAME: ”,$(0)
>30 PRINT ”HELLO ”,$(0)
>RUN
NAME: MARIA
HELLO MARIA
>10 STRING 2,15
>20 INPUT ”NAMEN: ”,$(0),$(1)
>30 PRINT ”HELLO ”,$(0),”UND
”,$(1)
>RUN
NAMEN: KLAUS
?ANNE
HELLO KLAUS UND ANNE
READY
READY
EWA 4NEB 812 6071>01
5>57
BASIC>Interpreter
CP 521 BASIC
Au˚erdem k‘nnen auch gleichzeitig Zeichenketten und Variablen durch eine
einzige INPUT>Anweisung zugeordnet werden.
Beispiel
>10 STRING 1, 10
>20 INPUT ”NAME(CR), ALTER”,$(0),A
>30 PRINT ”HELLO ”,$(0),”, DU BIST ”,A,”JAHRE ALT”
>RUN
NAME(CR), ALTER - KLAUS
?15
HELLO KLAUS, DU BIST 15 JAHRE ALT
READY
>
5>58
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.17 LET
Anweisung
LET [var] = [expr]
Betriebsart
COMMAND und/oder RUN
Typ
Zuweisung
Wirkung
Durch die LET>Anweisung wird einer Variablen der Wert eines Ausdrucks zuge>
wiesen. LET hat die folgende allgemeine Form:
LET [var] = [expr]
Beispiele
>10 LET A = 10*SIN(3)/100
>20 LET A = A + 1
Das Gleichheitszeichen ∫=∫ in der LET>Anweisung ist also nicht eigentlich ein
Gleichsetzungszeichen, sondern eher ein "Austauschoperator", der hier besagt,
da˚ A durch A plus Eins zu ersetzen ist. Das Wort LET ist immer nur wahlweise zu
verwenden, d.h.:
>10 LET A = 2: REM IST GLEICH A = 2
Wenn die LET>Anweisung nicht ausdrÂcklich angegeben wird, gilt sie als soge>
nannte implizite Anweisung. Im vorliegenden GHB werden durch LET sowohl die
LET>Anweisung wie auch die implizite LET>Anweisung bezeichnet.
EWA 4NEB 812 6071>01
5>59
BASIC>Interpreter
CP 521 BASIC
Die LET>Anweisung kann auch verwendet werden, um Zeichenketten Variablen
zuzuweisen, d.h.:
LET $(0)=”DAS IST EIN STRING”
LET $(1)=$(0)
Zeichenketten k‘nnen jedoch erst zugeordnet werden, nachdem unbedingt die
STRING>Anweisung [expr], [expr] ausgefÂhrt wurde, da sonst eine Fehlermeldung
ERROR: MEMORY ALLOCATION ausgegeben wird.
5>60
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.18 ONERR
Anweisung
ONERR [ln num]
Betriebsart
RUN
Typ
Steuerung
Wirkung
Mit der ONERR>Anweisung k‘nnen Sie eventuell auftretende Arithmetikfehler
wßhrend der ProgrammausfÂhrung abfangen. Durch die ONERR>Anweisung
k‘nnen jedoch nur Fehler der Typen ARITH. OVERFLOW, ARITH. UNDERFLOW,
DIVIDE BY ZERO und BAD ARGUMENT "abgefangen" werden, andere Fehler
nicht. Beim Auftreten eines Arithmetikfehlers hinter der ONERR>Anweisung setzt
der Interpreter das Programm bei der Zeilennummer fort, die auf die
ONERR>Anweisung folgt. Die ONERR>Anweisung soll als einfache M‘glichkeit
angesehen werden, Fehler abzufangen, die auftreten, wenn Sie nach einer
INPUT>Anweisung fehlerhafte Daten eingeben.
Mit der ONERR>Anweisung haben Sie auch die M‘glichkeit, festzustellen,
welcher Fehlertyp eingetreten ist. Hierzu mu˚ die externe Speicherstelle
257(101H) geprÂft werden, nachdem der Fehlerzustand abgefangen wurde.
Hierbei gelten folgende Fehlercodes:
ERROR CODE = 10 - DIVIDE BY ZERO
ERROR CODE = 20 - ARITH OVERFLOW
ERROR CODE = 30 - ARITH UNDERFLOW
ERROR CODE = 40 - BAD ARGUMENT
Diese Speicherstelle kann mit der Anweisung XBY (257) abgefragt werden.
EWA 4NEB 812 6071>01
5>61
BASIC>Interpreter
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.19 ONTIME
Anweisung
ONTIME [expr], [ln num]
Betriebsart
RUN
Typ
Steuerung
Wirkung
Da BASIC eine Programmzeile innerhalb von Millisekunden abarbeitet, die
Timer/Zßhler jedoch im Zeitbereich von os arbeiten, wurde als Abhilfe fÂr diese
Situation die ONTIME>Anweisung eingefÂhrt. ONTIME erzeugt hierzu jedesmal
dann einen Interrupt, wenn der spezielle Funktionsoperator TIME mindestens so
gro˚ wie der Ausdruck ist, der auf die ONTIME>Anweisung folgt. Es wird immer
der ganzzahlige Anteil von TIME mit dem ganzzahligen Anteil des Ausdrucks
verglichen. Der Interrupt erzwingt ein GOSUB (ÆKap. 5.8.12) zu der Zeilen>
nummer ∫ln num∫ die hinter dem Ausdruck ∫expr∫ in der ONTIME>Anweisung
angegeben ist.
Da die ONTIME>Anweisung mit dem speziellen Funtionsoperator TIME arbeitet,
mu˚ die CLOCK1>Anweisung ausgefÂhrt werden, damit ONTIME wirksam ist.
Fehlt die CLOCK1>Anweisung, so wird der spezielle Funktionsoperator TIME nicht
hochgezßhlt, und ONTIME kann nicht wirksam werden.
Periodische Interrupts k‘nnen erzeugt werden, wenn in der Interrupt>Routine
nochmals die Ontime>Anweisung ausgefÂhrt wird.
5>62
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Beispiel
>10 TIME=0 : CLOCK1 : ONTIME 2,100 : DO
>20 WHILE TIME<10 : END
>100 PRINT ”TIMER UNTERBRICHT BEI -”, TIME,”SEKUNDEN”
>110 ONTIME TIME+2,100 : RETI
>RUN
TIMER UNTERBRICHT BEI- 2.045 SEKUNDEN
TIMER UNTERBRICHT BEI- 4.045 SEKUNDEN
TIMER UNTERBRICHT BEI- 6.045 SEKUNDEN
TIMER UNTERBRICHT BEI- 8.045 SEKUNDEN
TIMER UNTERBRICHT BEI- 10.045 SEKUNDEN
READY
Es mag vielleicht verwundern, da˚ die ausgedruckte Zeit (TIME) 45 ms hinter dem
Zeitpunkt liegt, an dem der Interrupt erzeugt werden sollte. Das liegt daran, da˚
das Terminal, auf dem dieses Beispiel gedruckt wurde, bei 4800 Baud lief und
etwa 45 ms ben‘tigte, um die Meldung TIMER INTERRUPT AT >∫ ∫ auszudrucken.
Wenn diese Verz‘gerung nicht tragbar ist, soll der Wert des speziellen Funktions>
operators TIME zu Beginn der Interrupt>Routine einer Variablen zugeordnet
werden.
Beispiel:
>10 TIME=0 : CLOCK1 : ONTIME 2,100 : D0
>20 WHILE TIME<10 : END
>100 A=TIME
>110 PRINT ”TIMER UNTERBRICHT BEI -”,A,”SEKUNDEN”
>120 ONTIME A+2,100 : RETI
>RUN
TIMER
TIMER
TIMER
TIMER
TIMER
UNTERBRICHT
UNTERBRICHT
UNTERBRICHT
UNTERBRICHT
UNTERBRICHT
BEIBEIBEIBEIBEI-
2 SEKUNDEN
4 SEKUNDEN
6 SEKUNDEN
8 SEKUNDEN
10 SEKUNDEN
READY
EWA 4NEB 812 6071>01
5>63
BASIC>Interpreter
CP 521 BASIC
Die ONTIME>Interrupt>Routine mu˚ als letzte Anweisung ∫RETI∫ enthalten,
damit weitere ONTIME>Interrupts m‘glich sind. Das BASIC>Programm wird nach
AusfÂhrung des Befehls RETI an der Stelle fortgesetzt, an der es durch den
ONTIME>Interrupt unterbrochen wurde.
Die ONTIME>Anweisung stellt gegenÂber den meisten BASIC>Dialekten eine
Besonderheit dar. Diese leistungsfßhige Anweisung macht es ÂberflÂssig, den
Wert des Operators TIME wßhrend des ganzen BASIC>Programms in regel>
mß˚igen Abstßnden abzufragen.
Durch CLEARI wird die ONTIME>Anweisung wieder aufgehoben.
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.20 CLOCK1 und CLOCK0
Anweisungen
CLOCK1 und CLOCK0
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaa
Wirkung
Anweisung
CLOCK1
Die CLOCK1>Anweisung gibt den Timer frei, der in BASIC resident verfÂgbar ist.
Nach AusfÂhrung der CLOCK1>Anweisung wird der spezielle Funktionsoperator
TIME (Zeit) alle 5 ms inkrementiert. Nachdem TIME den Wert von 65.535,995
erreicht hat, erfolgt ein eberlauf, und TIME lßuft mit einem Wert von 0 weiter.
Der spezielle Funktionsoperator TIME zßhlt von 0 bis 65.535,995 Sekunden.
Sobald der Zßhlwert von 65.535,995 Sekunden erreicht ist, springt der Zßhlwert
auf Null zurÂck. Die zur CLOCK1>Anweisung geh‘renden Interrupts bewirken,
da˚ Programme unter MCS!BASIC mit etwa 99,6% der normalen Geschwindigkeit
ablaufen. Die Interrupt>Abarbeitung der Einrichtung Timer belegt also nur etwa
0,4% der gesamten CPU>Zeit. Dieser sehr geringe Interrupt>Aufwand konnte nur
durch die schnelle und effektive Interrupt>Verarbeitung mit dem Prozessor
erreicht werden.
5>64
EWA 4NEB 812 6071>01
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
Anweisungen
CLOCK0
Die CLOCK0>Anweisung (Null) schaltet den Timer ab. Nach AusfÂhrung von
CLOCK0 wird also der spezielle Funktionsoperator TIME nicht mehr inkremen>
tiert. CLOCK0 ist die einzige Anweisung, die den Timer sperren kann.
Varianten
Keine
Neben dem Timer zur zeitgesteuerten Programmbearbeitung besteht die
M‘glichkeit, Datum und Uhrzeit Âber den externen Uhrenbaustein mit den
Funktionen SETCLOCK und RDCLOCK (Æ Kap. 5.13.1/2) zu stellen und auszulesen.
Bei der Ein> und Ausgabe ist es m‘glich, wahlweise deutsches oder amerikani>
sches Format zu wßhlen.
EWA 4NEB 812 6071>01
5>65
BASIC>Interpreter
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.21 TIME
Funktion
TIME
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
Der Operator TIME wird verwendet, um einen Wert des Timers auszulesen
und/oder diesem zuzuordnen. Nach einem RESET ist TIME = 0. Die CLOCK1>An>
weisung (Æ Kap. 5.8.20) startet den Timer. Solange er freigegeben ist, wird der
spezielle Funktionsoperator TIME nach jeweils 5 ms inkrementiert. TIME wird in
Sekunden angegeben.
Wenn TIME ein Wert durch eine LET>Anweisung zugeordnet wird (d.h. TIME =
100), wird nur der ganzzahlige Anteil von TIME verßndert.
>CLOCK1
(gibt die Uhrenfunktion frei)
>CLOCK0
(sperrt die Uhrenfunktion)
>PRINT TIME
3.315
(zeigt TIME an)
>TIME = 0
(setzt TIME = 0)
>PRINT TIME
.315
(zeigt TIME an)
(nur die Ganzzahl von TIME wird verndert)
5>66
EWA 4NEB 812 6071>01
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
CP 521 BASIC
>PRINT 10*10, 3*3
100 9
EWA 4NEB 812 6071>01
BASIC>Interpreter
5.8.22 PRINT
Anweisung
PRINT oder P. oder ? [Liste von Ausdrcken]
Betriebsart
COMMAND und/oder RUN
Typ
Eingabe/Ausgabe
Wirkung
Die PRINT>Anweisung weist BASIC an, Daten Âber die Konsole auszugeben.
Hierbei k‘nnen die Werte von AusdrÂcken, Zeichenketten, Konstanten oder
Variablen ausgegeben werden. Die verschiedenen Formen k‘nnen auch in der
Ausgabeliste zusammengefa˚t werden und mÂssen jeweils durch Komma ge>
trennt werden. Wenn die Liste durch ein Komma abgeschlossen wird, entfallen
WagenrÂcklauf und Zeilenvorschub.
∫P.∫ und ∫?∫ sind AbkÂrzungen fÂr die PRINT>Anweisung.
Beispiel
>PRINT ”MCS BASIC”
MCS BASIC
>PRINT 5,1E3
5 1000
Die Werte werden nebeneinander ausgegeben, jeweils durch zwei Blanks
getrennt. Eine PRINT>Anweisung ohne Argumente bewirkt, da˚ an die Konsole
nur die Zeichen fÂr WagenrÂcklauf und Zeilenvorschub ausgegeben werden.
Hinweis:
Die bidirektionale serielle Schnittstelle kann durch INIT (Æ Kap. 5.8.3) parame>
triert werden.
Anmerkung
Zeilenvorschub und WagenrÂcklauf nach der PRINT>Anweisung erfolgen auto>
matisch.
5>67
BASIC>Interpreter
CP 521 BASIC
SPEZIELLE ANWEISUNGEN ZUR AUSGABEFORMATIERUNG
TAB ([expr])
TAB ([expr]) wird in der PRINT>Anweisung verwendet, um Daten genau
positioniert Âber die Ausgabeeinrichtung ausgeben zu lassen. TAB!([expr]) gibt
an, an welcher Stelle die Ausgabe des nßchsten Wertes in der Ausgabeliste
begonnen werden soll. BASIC ignoriert die TAB>Funktion, wenn der Druckkopf
oder Cursor die durch TAB spezifizierte Position bereits erreicht oder Âber>
schritten hat.
Beispiel
>PRINT TAB(5),”X”,TAB(10),”Y”
X
Y
SPC ([expr])
SPC ([expr]) wird in der PRINT>Anweisung verwendet, um BASIC zu veranlassen,
die Anzahl der Leerstellen auszugeben, die als Argument von SPC angegeben
wurde.
Beispiel
>PRINT A,SPC(5),B
Hierdurch k‘nnen Âber die beiden Leerstellen hinaus, die normalerweise ausge>
geben werden, fÂnf weitere Leerstellen zwischen A und B eingefÂgt werden.
5>68
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
CR
CR in einer PRINT>Anweisung bewirkt einen WagenrÂcklauf, unterdrÂckt jedoch
den Zeilenvorschub. Auf diese Weise kann auf einem Bildschirm, ein und dieselbe
Zeile immer wieder beschrieben werden.
Beispiel
>10 FOR I=1 TO 1000
>20 PRINT I,CR,
>30 NEXT I
Dieses Programm bewirkt, da˚ die Ausgabe immer in derselben Zeile erfolgt. Es
wird kein Zeilenvorschubzeichen an die Konsole Âbertragen.
USING (Sonderzeichen)
Mit USING wird angegeben, in welchem Format die ausgegebenen Werte
dargestellt werden sollen. BASIC "speichert" das gewÂnschte Format nach
AusfÂhrung der USING>Anweisung ab. Nach einer USING>Anweisung erfolgen
also alle Ausgaben in dem Format, das durch die letzte ausgefÂhrte USING>
Anweisung festgelegt wurde. Die USING>Anweisung mu˚ nicht in jeder PRINT>
Anweisung enthalten sein, solange das Format gleichbleibt. ∫U∫ ist die
AbkÂrzung fÂr USING. FÂr USING bestehen die folgenden Optionen:
EWA 4NEB 812 6071>01
5>69
BASIC>Interpreter
CP 521 BASIC
USING (Fx) > Hierdurch wird veranla˚t, alle Zahlen im Gleitpunktformat
auszugeben. Der Wert x gibt an, wieviele signifikante Ziffern ausgegeben
werden. Bei x = 0 gibt BASIC nachgestellte Nullen nicht aus, so da˚ die Anzahl
der Ziffern von der Zahl abhßngt. BASIC gibt auch bei x = 1 oder 2 mindestens
drei signifikante Ziffern aus. Der h‘chstzulßssige Wert ist x = 8.
Beispiel
>10 PRINT USING(F3),1,2,3
>20 PRINT USING(F4),1,2,3
>30 PRINT USING(F5),1,2,3
>40 FOR I=10 TO 40 STEP 10
>50 PRINT I
>60 NEXT I
>RUN
1.OO E 0
2.00 E 0
3.00 E 0
1.000 E 0
2.000 E 0
3.000 E 0
1.0000 E 0
2.0000 E 0
3.0000 E 0
1.0000 E+1
2.0000 E+1
3.0000 E+1
4.0000 E+1
READY
5>70
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
USING (#.#) > Hierdurch wird BASIC angewiesen, alle Zahlen im Ganzzahl> oder
Dezimalformat auszugeben. Die Anzahl der "#" vor dem Dezimalpunkt gibt die
Anzahl der signifikanten Ganzzahlstellen an. Fehlt der Dezimalpunkt, werden
nur ganze Zahlen ausgegeben.
Z.B. USING (###.###), USING (######) und USING (######.##) sind
zulßssige Anweisungen. Das Zeichen ∫#∫ darf bis zu acht Mal verwendet werden.
Kann BASIC den Wert nicht im gewÂnschten Format ausgeben (meistens, weil er
zu gro˚ ist), wird zunßchst ein Fragezeichen (?) an die Konsole ausgegeben und
dann die Zahl im unten beschriebenen freien Format wiedergegeben.
Beispiel
>10 PRINT USING(##.##),1,2,3
>20 FOR I=1 TO 120 STEP 20
>30 PRINT I
>40 NEXT I
>RUN
1.00
1.00
21.00
41.00
51.00
81.00
2.00
3.00
?101
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
READY
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Hinweis:
Die Formate USING (Fx) und USING (#.#) ordnen die ausgegebenen Zahlen
stets in Spaltenform nach dem Dezimalpunkt. Auf diese Weise sind die
ausgegebenen Zahlenspalten leicht lesbar.
EWA 4NEB 812 6071>01
5>71
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
BASIC>Interpreter
Anweisung
Betriebsart
Typ
CP 521 BASIC
USING (0) > Dieses Argument gibt die Wahl des Formates frei. Die Regel fÂr die
Auswahl ist einfach: Bei Zahlen zwischen ± 99999999 und ± 0.1 gibt BASIC
Ganzzahlen und Dezimalzahlen aus. Au˚erhalb dieses Bereichs verwendet BASIC
das Format USING (F0). Vorangestellte und nachgestellte Nullen werden stets
unterdrÂckt. Nach einem Reset verwendet BASIC das Format USING!(0).
5.8.23 PRINT#
PRINT# oder P.# oder ? # [Liste von
Ausdrcken]
COMMAND und/oder RUN
Eingabe/Ausgabe
Wirkung
Die Anweisungen PRINT#, P.# oder ? # haben die gleiche Wirkung wie die
Anweisungen PRINT, P. und ?, jedoch wird hier die Ausgabe nicht auf die
Konsole, sondern an die unidirektionale Schnittstelle geleitet. Alle Angaben zu
den Anweisungen PRINT, P. oder ? gelten auch fÂr die Anweisungen PRINT#, P.#
oder ? #. P.# und ? # sind AbkÂrzungen fÂr PRINT#.
Hinweis:
Die unidirektionale Schnittstelle kann durch INIT# [integer] parametriert
werden (Æ Kap. 5.8.4).
5>72
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.24 PH0., PH1., PH0.#, PH1.#
Anweisung
PH0., PH1., PH0.#, PH1.#
Betriebsart
COMMAND und/oder RUN
Typ
Eingabe/Ausgabe
Wirkung
PH0. und PH1. haben die gleiche Wirkung wie die PRINT>Anweisung, jedoch
werden die Werte hier im Hexadezimalformat ausgegeben. Die PH0.>Anweisung
unterdrÂckt bei Zahlen, die kleiner als 255 (0FFH) sind, zwei vorangestellte
Nullen. Die PH1.>Anweisung gibt stets vier Hexadezimalziffern aus. Bei der Aus>
gabe durch PH0. oder PH1. wird hinter der Zahl stets das Zeichen "H" aus>
gegeben. Die ausgegebenen Werte sind stets Ganzzahlen (Nachkommastellen
abgeschnitten). Bei auszugebenden Zahlen, die nicht innerhalb des zulßssigen
Bereichs fÂr Ganzzahlen liegen (d.h. zwischen 0 und 65.535 (0FFFFH) ein>
schlie˚lich), schaltet BASIC auf die normale Ausgabeart. In einem derartigen Fall
fehlt das Zeichen "H" hinter dem Wert. Da Ganzzahlen im Dezimalformat oder
im Hexadezimalformat eingegeben werden k‘nnen, ist mit den Anweisungen
PRINT, PH0. oder PH1. auch eine Umwandlung Dezimal/Hexadezimal oder
Hexadezimal/Dezimal m‘glich. Alle Angaben zur PRINT>Anweisung gelten auch
fÂr PH0. und PH1.. PH0.# und PH1.# haben die gleiche Wirkung wie PH0. bzw.
PH1., jedoch wird hier die Ausgabe auf die unidirektionale Schnittstelle und nicht
auf die Konsole geleitet.
Beispiel
>PH0.2*2
04H
>PH1.2*2
0004H
>PRINT 99H
153
>PH0.100
64H
>PH0.1000
3E8H
>PH1.1000
03E8H
>P.3E8H
1000
PH0.PI
03H
EWA 4NEB 812 6071>01
5>73
BASIC>Interpreter
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.25 PUSH
Anweisungen
PUSH [expr]
Betriebsart
COMMAND und/oder RUN
Typ
Zuweisung
Wirkung
Der oder die arithmetischen AusdrÂcke hinter der PUSH>Anweisung werden
berechnet und dann nacheinander auf den Argumentstack gebracht. Diese
Anweisung bietet, in Verbindung mit der POP>Anweisung (Æ Kap. 5.8.26), eine
einfache M‘glichkeit, um Parameter an Subroutinen von BASIC zu Âbergeben
oder Variablen zu vertauschen. Der jeweils letzte Wert, der durch PUSH an den
Argumentstack Âbergeben wurde, ist der erste Wert, der durch POP aus dem
Argumentstack abgerufen wird.
Varianten
Durch eine einzige PUSH>Anweisung k‘nnen gleichzeitig mehrere AusdrÂcke auf
den Argumentstack gebracht werden. Die AusdrÂcke werden hierzu einfach
durch Komma aneinandergereiht: PUSH [expr], [expr] ... [expr]. Der jeweils letzte
Wert, der durch PUSH auf den Argumentstack gebracht wird, ist der letzte
Ausdruck [expr] in der PUSH>Anweisung.
5>74
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Beispiel
VARIABLENTAUSCH
PARAMETERUEBERGABE AN SUBROUTINEN
>10 A=10
>20 B=20
>30 PRINT A,B
>40 PUSH A,B
>50 POP A,B
>60 PRINT A,B
>RUN
>10 PUSH 1,3,2
>20 GOSUB 100
>30 POP R1,R2
>40 PRINT R1,R2
>50 END
>100 REM GLEICHSETZUNG: A=2,B=3,C=1
>110 POP A,B,C
>120 PUSH (-B+SQR(B*B-4*A*C))/(2*A)
>130 PUSH (-B-SQR(B*B-4*A*C))/(2*A)
>140 RETURN
>RUN
10
20
20
10
READY
>
-1 -.5
READY
>
EWA 4NEB 812 6071>01
5>75
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
BASIC>Interpreter
5>76
CP 521 BASIC
5.8.26 POP
Anweisungen
POP [var]
Betriebsart
COMMAND und/oder RUN
Typ
Zuweisung
Wirkung
Der oberste Wert des Argumentstack wird der Variablen zugewiesen, die hinter
der POP>Anweisung steht und der Argumentstack wird gepoppt (d.h. um 6
inkrementiert). Werte k‘nnen in den Stack durch die PUSH>Anweisung eingele>
sen werden.
Hinweis:
Ein Fehler ERROR: A>STACK wird gemeldet, wenn eine POP>Anweisung
ausgefÂhrt werden soll, ohne da˚ der Argumentstack einen Wert enthßlt.
Varianten
Innerhalb einer einzigen POP>Anweisung k‘nnen auch mehrere Variablen
gleichzeitig aus dem Argumentstack ausgelesen werden. Die Variablen mÂssen
hierzu durch Komma voneinander getrennt werden (d.h. POP [var], [var]!...![var]).
Beispiele
Siehe PUSH>Anweisung
EWA 4NEB 812 6071>01
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
Hinweis:
Diese leistungsfßhigen Anweisungen k‘nnen dazu verwendet werden, das
Problem der globalen Variablen "zu umgehen", da˚ in BASIC>Programmen
hßufig auftritt. Dieses Problem entsteht dadurch, da˚ in BASIC das "Haupt">
Programm und alle Subroutinen, die aus dem Hauptprogramm aufgerufen
werden, die gleichen Variablennamen verwenden mÂssen (d.h. globale
Variablen). Es ist nicht immer zweckmß˚ig, in einer Subroutine die gleichen
Variablen wie im Hauptprogramm zu verwenden, so da˚ in Programmen oft
Variablen erneut zugewiesen werden (z.B. A = Q), bevor eine GOSUB>
Anweisung ausgefÂhrt wird. Wenn hier einige Variablennamen ausschlie˚lich
fÂr Subroutinen reserviert (z.B. S1, S2) und, wie im obigen Beispiel dargestellt,
an den Stack Âbergeben werden, k‘nnen die meisten Probleme durch globale
Variablen vermieden werden.
EWA 4NEB 812 6071>01
5>77
BASIC>Interpreter
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.27 REM
Anweisungen
REM
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung > hat keine Wirkung
Wirkung
REM ist ein KÂrzel fÂr REMark (Bemerkung). Diese Anweisung hat keine Wirkung,
erlaubt jedoch dem Anwender, sein Programm zu kommentieren. Kommentare
werden normalerweise ben‘tigt, um ein Programm leichter verstßndlich zu
machen. In Zeilen, die eine REM>Anweisung enthalten, gilt der rechts von REM
stehende Teil der Zeile als Anmerkung, so da˚ die REM>Anweisung nicht durch
einen Doppelpunkt (:) abgeschlossen werden mu˚. Sie kann jedoch hinter einem
Doppelpunkt angefÂgt werden. Auf diese Weise kann der Programmierer jede
Zeile um einen Kommentar ergßnzen.
Beispiele
>10
>20
>30
>40
>50
>60
>70
>80
REM EINGABE EINER VARIABLEN
INPUT A
REM EINGABE EINER ANDEREN VARIABLEN
INPUT B
REM BEIDE MITEINANDER MULTIPLIZIEREN
Z=A*B
REM AUSGABE DES ERGEBNISSES
PRINT Z
>10
>20
>30
>40
INPUT A :REM EINGABE EINER VARIABLEN
INPUT B :REM EINGABE EINER ANDEREN VARIABLEN
Z=A*B
:REM BEIDE MITEINANDER MULTIPLIZIEREN
PRINT Z :REM AUSGABE DES ERGEBNISSES
5>78
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Das folgende Programm kann nicht funktionieren, weil die ganze Zeile als
Anmerkung interpretiert wird, so da˚ die PRINT>Anweisung nicht ausgefÂhrt
wird:
Beispiele
>10 REM AUSGABE DES WERTES : PRINT A
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaa
a
5.8.28 RETI
Anweisungen
RETI
Betriebsart
RUN
Typ
Steuerung
Wirkung
Die RETI>Anweisung wird verwendet, um den ONTIME>Interrupt zu beenden. Erst
nach der RETI>Anweisung kann ein weiterer ONTIME>Interrupt verarbeitet
werden. Wenn der Anwender in der Interrupt>Routine nicht die RETI>Anweisung
ausfÂhren lß˚t, werden zukÂnftige Interrupts ignoriert.
EWA 4NEB 812 6071>01
5>79
BASIC>Interpreter
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.29 STOP
Anweisungen
STOP
Betriebsart
RUN
Typ
Steuerung
Wirkung
Mit der STOP>Anweisung kann der Programmierer den Programmablauf an
spezifischen Punkten in einem Programm anhalten. Nach einem STOP des Pro>
gramms k‘nnen Variablen angezeigt und/oder verßndert werden. Der
Programmablauf kann mit dem Befehl CONT wieder aufgenommen werden. Die
STOP>Anweisung dient dem Zweck, das Programm auf einfache Weise von
"Bugs" befreien zu k‘nnen. Weitere Einzelheiten zur Kombination STOP>CONT
werden bei der Beschreibung des Befehls CONT (Æ Kap. 5.6.2) in diesem Hand>
buch angegeben.
Beispiel
>10 FOR I=1 TO 100
>20 PRINT I
>30 STOP
>40 NEXT I
>RUN
1
STOP
- IN LINE 40
READY
>CONT
2
Hierbei ist zu beachten, da˚ die Zeilennummer, die nach der AusfÂhrung der
STOP>Anweisung ausgegeben wird, die Zeilennummer hinter der STOP>Anwei>
sung ist, nicht die Zeilennummer, die die STOP>Anweisung enthßlt.
5>80
EWA 4NEB 812 6071>01
CP 521 BASIC
RROM
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.8.30
BASIC>Interpreter
Anweisungen
RROM [integer]
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
RROM bedeutet RUN ROM. Diese Anweisung wßhlt also ein Programm aus dem
Speichermodul aus und lß˚t dieses Programm ablaufen. Die Ganzzahl hinter der
RROM>Anweisung mu˚ eine Konstante sein, diese gibt an, welches Programm des
Speichermoduls ausgefÂhrt werden soll. Im Kommando>Modus entspricht RROM
2 einer Eingabe von ROM 2 mit anschlie˚endem RUN. Hier mu˚ jedoch beachtet
werden, da˚ RROM [integer] eine Anweisung ist. Das bedeutet, da˚ ein
Programm, das bereits ablßuft, die AusfÂhrung eines vollstßndig getrennten
Programms erzwingen kann, das sich auf dem Speichermodul befindet. Damit
erhßlt der Anwender die M‘glichkeit, Programme ∫fliegend∫ zu wechseln.
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Wird zu einer RROM>Anweisung eine ungÂltige Ganzzahl eingegeben (weil
beispielsweise sechs Programme in der Modul>Datei enthalten sind, jedoch RROM
8 eingegeben wurde, oder kein Programm auf dem Modul vorhanden ist), so
wird keine Fehlermeldung ausgegeben, und BASIC fÂhrt die Anweisung aus, die
auf die RROM>Anweisung folgt.
Liegt jedoch die Ganzzahl au˚erhalb der zulßssigen Grenzen (1 ... 254), so erfolgt
eine Fehlermeldung. Ist kein Speichermodul, ein nicht spezifiziertes oder eines
mit unbekanntem Modulinhalt (keine BASIC>Kennung) gesteckt, so wird eben>
falls eine entsprechende Fehlermeldung ausgegeben.
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Hinweis:
Bei jeder AusfÂhrung der RROM>Anweisung werden alle Variablen und
Zeichenketten gleich Null gesetzt, so da˚ es nicht m‘glich ist, mit der RROM>
Anweisung Variablen oder Zeichenketten zwischen Programmen zu Âber>
tragen. Au˚erdem werden alle von BASIC ausgel‘sten Interrupts gel‘scht.
EWA 4NEB 812 6071>01
5>81
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
a
BASIC>Interpreter
5.9
5>82
CP 521 BASIC
Spezielle Anweisungen und Funktionen fÂr den Datenaus>
tausch
Neben den Standardbefehlen (LIST, CONT, PRINT etc.) sind noch einige
zusßtzliche Befehle zum Datenaustausch vorhanden.
PAE
Sende>
puffer
256 Byte
HANDLE>
Sende>
puffer
1 KByte
CPU
SPUT
BUFIN
HSSTAT
PAA
Empfang immer
aktiviert
SEND
SGET
SSTAT
RSTAT
BUFWRITE
BASIC>
Programm
HANDLE (#)
Empfangs>
puffer
256 Byte
BUFREAD
BUFOUT
HRSTAT
HANDLE>
Empfangs>
puffer
1 KByte
CP 521 BASIC
Empfang immer
aktiviert
Peripherie
Bild 5.7 Datentransfer zwischen CPU > CP 521 BASIC > Peripheriegerßt
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Wirkung der Pufferbefehle
Auf der Baugruppe befinden sich folgende vier Datenpuffer:
f Sendepuffer (256 Byte)
f Empfangspuffer (256 Byte)
f HANDLE>Sendepuffer (1 KByte)
f HANDLE>Empfangspuffer (1 KByte)
Sendepuffer
Mit dem Befehl SEND (Æ Kap. 5.9.7) stellen Sie der CPU Daten zur VerfÂgung.
Diese Daten k‘nnen von der CPU als Telegramme abgeholt werden
(CPU>Empfang). Es k‘nnen maximal 256 Byte lange Telegramme Âbertragen
werden.
Mit der SSTAT>Funktion (Æ Kap. 5.9.3) k‘nnen Sie sich den Status des letzten
Sendeauftrags anzeigen lassen.
Die BUFWRITE>Funktion (Æ Kap. 5.9.6) Âbertrßgt Daten aus einer Variablen des
BASIC>Programms in den Sendepuffer.
Empfangspuffer
Das Empfangen der von der CPU Âbermittelten Daten lßuft selbstßndig im
Hintergrund ab.
Es werden Daten aus dem Proze˚abbild der Ausgßnge (PAA) der CPU in den
256!Byte gro˚en Empfangspuffer des CP 521 BASIC Âbertragen.
Mit der RSTAT>Funktion (Æ Kap. 5.9.4) k‘nnen Sie die Anzahl der empfangenen
Zeichen im Empfangspuffer sowie die Beendigung des Empfangsauftrages
abfragen.
BUFREAD (Æ Kap. 5.9.5) weist einer Variablen im BASIC>Programm einen be>
stimmten Wert aus dem Empfangspuffer zu.
HANDLE>Sendepuffer
FÂr das Senden von Daten Âber die Peripherie>Schnittstellen steht der 1 KByte
gro˚e HANDLE>Sendepuffer auf der Baugruppe zur VerfÂgung. Der Befehl
HANDLE (Æ Kap. 5.10.1) aktiviert die Ausgabe auf die bidirektionale Schnitt>
stelle.Das Senden von Daten wird im Hintergrund ausgefÂhrt.
Mit dem Befehl HANDLE# (Æ Kap. 5.10.1) wird der Inhalt des HANDLE>Sende>
puffers an die unidirektionale Schnittstelle ausgegeben.
EWA 4NEB 812 6071>01
5>83
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
BASIC>Interpreter
5>84
CP 521 BASIC
Der Befehl BUFIN (Æ Kap. 5.10.3) Âbertrßgt den Inhalt einer Variablen des BASIC>
Programms in den HANDLE>Sendepuffer.
Die HSSTAT>Funktion (Æ Kap. 5.10.2) liefert einen numerischen Wert, der Ihnen
den Status des letzten HANDLE>Sendeauftrages und den Schnittstellenstatus
angibt.
HANDLE>Empfangspuffer
FÂr das Empfangen von Daten Âber die Peripherie>Schnittstelle steht der 1 KByte
gro˚e HANDLE>Empfangspuffer auf der Baugruppe zur VerfÂgung. Der Empfang
von Daten ist immer aktiviert und wird im Hintergrund ausgefÂhrt.
Der Befehl BUFOUT (Æ Kap. 5.10.6) Âbertrßgt aus dem HANDLE>Empfangspuffer
Daten in eine Variable im BASIC>Programm.
Die HRSTAT>Funktion (Æ Kap. 5.10.4) liefert einen numerischen Wert, der Ihnen
den Status des letzten HANDLE>Empfangsauftrages angibt.
Hinweis:
Die DatenÂbertragung erfolgt interpretierend, d.h., da˚ z.B. ein CTRL>C (03H)
ausgewertet wird. Durch die Anweisung BREAK(0) kann der Abbuch des
Programms verhindert werden.
EWA 4NEB 812 6071>01
CP 521 BASIC
SGET
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.9.1
BASIC>Interpreter
Anweisungen
SGET [var],[var],[var],[var]
Betriebsart
RUN
Typ
Eingabe/Ausgabe
Wirkung
Es werden 4 Datenworte aus dem PAA (Proze˚abbild der Ausgßnge) der CPU
vom CP 521 BASIC gelesen und als Zahl (integer) in die angegebene Variable
Âbertragen.
[var] ist ein im Programm gÂltiger numerischer Variablenname.
Das PAA wird wortweise angesprochen.
Das erste Wort wird auf die erste Variable abgebildet.
Beispiel
SGET name1, name2, name3, name4
Es werden 4 Worte, die von der CPU Âbergeben wurden, in den Variablen name1
bis name4 abgelegt.
EWA 4NEB 812 6071>01
5>85
BASIC>Interpreter
SPUT
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.9.2
CP 521 BASIC
Anweisungen
SPUT [expr],[expr],[expr],[expr]
Betriebsart
RUN
Typ
Eingabe/Ausgabe
Wirkung
Es werden 4 Datenworte an das PAE (Proze˚abbild der Eingßnge) der CPU vom
CP 521 BASIC ausgegeben.
[expr] ist ein im Programm gÂltiger numerischer Ausdruck.
Das PAE wird wortweise angesprochen.
Der erste Ausdruck wird auf das Wort 0 des PAE abgebildet.
SSTAT
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaa
5.9.3
Funktion
SSTAT
Betriebsart
RUN
Typ
Eingabe/Ausgabe
Wirkung
Da immer nur ein SEND>Auftrag angenommen wird, k‘nnen Sie mit der Funktion
SSTAT ÂberprÂfen, ob der letzte SEND>Auftrag komplett abgearbeitet wurde.
SSTAT liefert einen numerischen Wert, der den Status des letzten Sendeauftrag
darstellt.
Die Funktionswerte haben folgende Bedeutung:
>0:
Sendeauftrag ist noch nicht beendet
0:
Sendeauftrag ist beendet
>1:
S5>Bus ist inaktiv (CPU>Stop)
>2:
fehlende Quittung von der CPU (Wartezeit Âberschritten)
>3:
fehlerhafte Quittung von der CPU
5>86
EWA 4NEB 812 6071>01
CP 521 BASIC
RSTAT
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaa
a
5.9.4
BASIC>Interpreter
Funktion
RSTAT
Betriebsart
RUN
Typ
Eingabe/Ausgabe
Wirkung
Nach dem vollstßndigen bzw. teilweisen Entleeren des Empfangspuffers durch
BUFREAD wird durch die Funktion RSTAT die Anzahl der im Puffer verbleibenden
Zeichen als numerischer Wert dargestellt.
Die Funktionswerte haben folgende Bedeutung:
>0:
Anzahl der im Puffer stehenden Zeichen
0:
der Puffer enthßlt keine Zeichen
>1:
S5>Bus ist inaktiv (CPU>Stop)
>2:
Auftrag lßuft
>3:
Autrag abgewiesen
BUFREAD
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaa
5.9.5
Funktion
BUFREAD [datentyp,var{,lnge}]
Betriebsart
RUN
Typ
Eingabe/Ausgabe
datentyp:
1:
2:
3:
4:
var:
gÂltiger Variablenname; passend zum Datentyp
lnge
:
Funktions>
werte:
Byte>Variable
Integer>Variable
BCD>Variable
String>Variable
(CPU>Format: 1 Byte)
(16>Bit>Festkommazahl: 2 Byte)
(BCD>codierter Wert: 2 Byte)
(∫lßnge∫ mu˚ angegeben werden)
1...254; Anzahl der Zeichen, die in den String Âbertragen werden
sollen; der Parameter ist nur beim Datentyp String anzugeben
0: der Funktionsaufruf verlief fehlerfrei
1: der Funktionsaufruf wurde nicht fehlerfrei abgearbeitet.
2: Fehler bei der Wandlung einer BCD>Zahl
EWA 4NEB 812 6071>01
5>87
BASIC>Interpreter
CP 521 BASIC
Wirkung
Aus dem 256 Byte langen Empfangspuffer wird ein Wert in den angegebenen
Datentyp konvertiert und in die ∫variable∫ Âbertragen. Bei String>Variablen ist
fÂr den Parameter ∫lßnge∫ ein Wert von 1...254 zulßssig. Funktionswert=1 wird
zurÂckgegeben wenn:
f ∫lßnge∫ < 1 oder >254
f die Anzahl der zu Âbertragenden Zeichen die Gr‘˚e des konfigurierten
Strings Âberschreitet.
f weniger Zeichen im Empfangspuffer stehen, als durch den Aufruf von
BUFREAD gefordert.
Funktionswert=2 wird zurÂckgegeben wenn:
f mindestens eine Ziffer der zu wandelnden BCD>Zahl au˚erhalb des zulßssigen
Bereichs (0 ... 9) liegt.
BUFWRITE
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.9.6
Funktion
BUFWRITE datentyp,var{,lnge}
Betriebsart
RUN
Typ
Eingabe/Ausgabe
datentyp:
var:
lnge
Byte>Variable
Integer>Variable
BCD>Variable
String>Variable
(CPU>Format: 1 Byte)
(16>Bit>Festkommazahl: 2 Byte)
(BCD>codierter Wert: 2 Byte)
(∫lßnge∫ mu˚ angegeben werden)
gÂltiger Variablenname; passend zum Datentyp
:
Funktions>
werte:
5>88
1:
2:
3:
4:
1...254; Anzahl der Zeichen, die aus der String>Variablen
Âbertragen werden sollen; der Parameter ist nur beim Datentyp
String anzugeben.
0: der Funktionsaufruf verlief fehlerfrei
1: der Funktionsaufruf wurde nicht fehlerfrei abgearbeitet
2: eine Ziffer liegt au˚erhalb des Wertebereiches
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Wirkung
Der angegebene Wert der Variable wird in den ∫datentyp∫ konvertiert und in
den Sendepuffer Âbertragen. Bei String>Variablen ist eine Lßnge von 1...254
zulßssig und entspricht der ebertragungslßnge.
Funktionswert = 1 wird zurÂckgegeben, wenn:
1. der Sendepuffer nicht alle zu Âbertragenden Daten aufnehmen kann.
2. sich weniger Zeichen im String befinden, als in ∫lßnge∫ angegeben.
Die endgÂltige Freigabe zur DatenÂbergabe erfolgt mit der SEND>Anweisung
(Æ!Kap. 5.9.7).
SEND
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.9.7
Anweisung
SEND [expr]
Betriebsart
RUN
Typ
Eingabe/Ausgabe
Wirkung
Mit dem Befehl SEND und unter der Angabe der Telegrammlßnge im Ausdruck
[expr] stellen Sie der CPU Daten zum Abholen zur VerfÂgung. Es k‘nnen maximal
256 Byte lange Telegramme Âbertragen werden. Die Blockung der Telegramme,
sowie das Handshake>Verfahren bei der ebergabe zur CPU (siehe Anmerkung
unten) wickelt der CP 521 BASIC selbstßndig ab.
Der Wertebereich von [expr]: 1 ... 256.
Anmerkung
Die CPU liest die anstehenden Telegramme in Acht>Byte>Bl‘cken (6 Byte
Nutzdaten und 2 Byte StatusrÂckmeldung) aus dem Sendepuffer der Baugruppe.
Die Empfangsbereitschaft der CPU wird dem CP 521 BASIC durch einen
Synchronisationswert in Byte 0 des PAA mitgeteilt. Die empfangenen Daten
werden von der CPU quittiert (Æ Kap. 6).
Es kann hier nur ein SEND>Auftrag aktiv sein. Ein weiterer wird vom CP 521 BASIC
ohne Fehlermeldung ignoriert.
Sie k‘nnen durch den Befehl SSTAT den Sende>Status abfragen und ent>
sprechend darauf reagieren.
EWA 4NEB 812 6071>01
5>89
BASIC>Interpreter
5.10
CP 521 BASIC
Spezielle Anweisungen und Funktionen fÂr den Daten>
austausch Âber die seriellen Schnittstellen
Die DatenÂbergabe zu den seriellen Schnittstellen findet Âber einen HANDLE>
Sendepuffer und einen HANDLE>Empfangspuffer statt. Beide Puffer sind als
Ringpuffer realisiert und jeweils 1 kByte lang. Ankommende Daten werden
grundsßtzlich zwischengespeichert. Sendedaten k‘nnen vor dem Senden im
Sendepuffer aufbereitet werden.
Durch folgende BASIC>Befehle wird der Datenaustausch Âber die seriellen
Schnittstellen unterstÂtzt:
f
Parametrierung der Schnittstellen
> INIT [parameter]
Parametrierung der bidirektionalen Schnittstelle
> INIT# [parameter]
Parametrierung der unidirektionalen Schnitt>
stelle
f
Senden von Daten Âber die bidirektionale Schnittstelle
> HANDLE [lßnge]
Ansto˚ der Datenausgabe von ∫lßnge∫ Zeichen
aus dem HANDLE>Sendepuffer an das Periphe>
riegerßt!der bidirektionale Schnittstelle
> HSSTAT
Status des letzten Sendeauftrags
> BUFIN [strvar(, lßnge)]
Kopieren des Inhalts von ∫strvar∫ in den
HANDLE>Sendepuffer
f
Senden von Daten Âber die unidirektionale Druckerschnittstelle
> HANDLE # [lßnge]
wie HANDLE [lßnge], jedoch Ausgabe Âber die
unidirektionale Schnittstelle
>HSSTAT
Status des letzten Sendeauftrages
f
Empfangen von Daten Âber die bidirektionale Schnittstelle
> HRSTAT
Statusabfrage
des
Empfangspuffers.
Der
Datenempfang wird von der Baugruppe
selbsttßtig ausgefÂhrt. Nur der Status des
Empfangspuffers mu˚ abgefragt werden.
> GET
Lesen eines Zeichens
Empfangspuffers
>BUFOUT [strvar(, lßnge)]
Datentransfer vom HANDLE>Empfangspuffer in
einen String namens ∫strvar∫.
5>90
aus
dem
HANDLE>
EWA 4NEB 812 6071>01
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
CP 521 BASIC
EWA 4NEB 812 6071>01
BASIC>Interpreter
5.10.1 HANDLE , HANDLE#
Anweisung
HANDLE [expr], HANDLE# [expr]
Betriebsart
RUN
Typ
Eingabe/Ausgabe
Wirkung HANDLE
Mit der Anweisung wird eine durch ∫expr∫ vorgegebene Anzahl von Zeichen aus
dem HANDLE>Sendepuffers an die bidirektionale Schnittstelle ausgegeben.
HANDLE ist ein Sendeauftrag, der im Hintergrund ausgefÂhrt wird.
Folgende Werte sind zulßssig:
0< ∫expr∫ e 1024:
Senden von ∫expr∫ Zeichen aus dem HANDLE>Sende>
puffer
>1:
Ausgabe aller Zeichen, die beim Aufruf des Befehls im
Sendepuffer stehen.
Wirkung HANDLE#
Mit der Anweisung wird eine durch ∫expr∫ vorgegebene Anzahl von Zeichen aus
dem HANDLE>Sendepuffer an die unidirektionale Schnittstelle ausgegeben.
HANDLE # ist ein Sendeauftrag, der im Hintergrund ausgefÂhrt wird.
Folgende Werte sind zulßssig:
0< ∫lßnge∫ e 1024: Senden von ∫lßnge∫ Zeichen aus dem HANDLE>
Sendepuffer
>1:
Ausgabe aller Zeichen, die beim Aufruf des Befehls im
Sendepuffer stehen
Hinweis:
HANDLE und HANDLE# lesen die Sendedaten aus demselben HANDLE>Puffer.
Um Konflikte zu vermeiden, wird nie mehr als ein Sendeauftrag gleichzeitig
ausgefÂhrt.
Mit HSSTAT kann festgestellt werden, ob der vorherige Sendeauftrag abge>
schlossen ist.
5>91
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
BASIC>Interpreter
CP 521 BASIC
5.10.2 HSSTAT
Funktion
HSSTAT
Betriebsart
RUN
Typ
Eingabe/Ausgabe
Wirkung
Die Funktion HSSTAT liefert einen numerischen Wert, der den Status des letzten
HANDLE>Sendeauftrags darstellt.
Die Funktionswerte haben folgende Bedeutung:
>0: Sendeauftrag ist noch nicht beendet
0: bereit fÂr nßchsten Sendeauftrag
>1: Gerßt an der unidirektionalen Schnittstelle inaktiv: BUSY lßnger als 20!Se>
kunden aktiv und Auswertung des BUSY>Signals parametriert
>2: Gerßt an der bidirektionalen Schnittstelle inaktiv:
> falls XON/XOFF>Protokoll parametriert; zuletzt wurde XOFF vor mehr
als 20 s empfangen.
> falls Modem>Signale parametriert; seit mehr als 20 s DTR=OFF oder
CTS=OFF.
Hinweis:
Bei negativen Funktionswerten sind Kombinationen m‘glich: >3 bedeutet,
da˚ >1 und >2 gÂltig sind.
5>92
EWA 4NEB 812 6071>01
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
CP 521 BASIC
EWA 4NEB 812 6071>01
BASIC>Interpreter
5.10.3 BUFIN
Funktion
BUFIN [strvar(,expr)]
Betriebsart
RUN
Typ
Eingabe/Ausgabe
Wirkung
Der Inhalt der Variablen wird in den HANDLE>Sendepuffer kopiert. Bei String>
Variablen mu˚ mit ∫expr∫ (Wertebereich: 1...254) die Anzahl der zu kopierenden
Zeichen angegeben werden.
∫var∫ mu˚ vom Typ numerische Variable, numerische Konstante, numerischer
Ausdruck sein.
Kann der Puffer nicht alle zu Âbertragenden Daten aufnehmen oder enthßlt die
Stringvariable weniger Zeichen als durch ∫expr∫ angegeben, so wird als Funk>
tionswert 1 zurÂckgegeben. Enthßlt die String>Variable weniger Zeichen als
durch ∫expr∫ angegeben, wird die Fehlermeldung ERROR: BAD ARGUMENT
ausgegeben. Im Fehlerfall wird die Funktion nicht ausgefÂhrt.
Die Funktionswerte haben folgende Bedeutung:
0: der Funktionsaufruf verlief fehlerfrei
1: der Funktionsaufruf wurde nicht fehlerfrei abgearbeitet.
Hinweis:
Mit dem Operator CHR() k‘nnen nichtdruckbare Zeichen in den HANDLE>
Sendepuffer eingetragen werden.
5>93
BASIC>Interpreter
CP 521 BASIC
Beispiel
20 STRING 1,40
30 $(0)=”CP 521 BASIC”
40 STATUS = BUFIN $(0),10
50 PRINT Status
60 HANDLE# 10
> RUN
0
(BUFIN erfolgreich)
(Ausgabe auf Drucker (unidirektionale Schnittstelle)):
CP 521 BAS
(10 Zeichen)
Die Eingabe von Steuerzeichen in den HANDLE>Sendepuffer ist durch den Befehl
BUFIN CHR(x) bzw. BUFIN CHR(§(y), z) m‘glich.
Die beiden Befehle CHR(x) und CHR(§(y), z) sind wie im GHB (Æ Kap. 5.12.6) be>
schrieben zu verwenden.
Beispiel
> 5
STRING 2,10
> 10 IF HSSTAT<>0 THEN 10
> 20 $(0)= ”ABCDEFG”
> 30 $(1)= ”1234567890”
>
>
>
>
40
50
60
70
X=
X=
X=
X=
BUFIN
BUFIN
BUFIN
BUFIN
$(0),3
CHR(13) : REM
CHR(10) : REM
$(1),10
CR EINTRAGEN
LF EINTRAGEN
> 60 HANDLE -1
> RUN
ABC
1234567890
5>94
EWA 4NEB 812 6071>01
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
CP 521 BASIC
EWA 4NEB 812 6071>01
BASIC>Interpreter
5.10.4 HRSTAT
Funktion
HRSTAT
Betriebsart
RUN
Typ
Eingabe/Ausgabe
Wirkung
Die Funktion HRSTAT liefert, sofern kein Fehlerstatus vorliegt, die Anzahl der
Zeichen im HANDLE>Empfangspuffer, d.h. Zeichen, die empfangen, aber noch
nicht mittels GET oder BUFOUT ausgelesen wurden.
Die Funktionswerte haben folgende Bedeutung:
>0: Anzahl der im HANDLE>Empfangspuffer stehenden Zeichen
0:
der Puffer enthßlt keine Daten
>1:
Dauerbreak auf der Empfangsleitung:
> falls Modemsignale parametriert; seit mehr als 20 s ist DSR=OFF und/
oder CTS=OFF
> falls XON/XOFF>Prototkoll parametriert; seit mehr als 20 s hat der CP 521
BASIC kein XON mehr gesendet, d.h. die Baugruppe ist nicht mehr
empfangsbereit.
>2:
Paritßtsfehler beim Empfang auf der bidirektionalen Schnittstelle,
HANDLE>Empfangspuffer gel‘scht
>4:
Empfang von mehr als 3 Zeichen nach XOFF bzw. DTR=OFF
>8:
eberlauf des Empfangspuffers
Die Fehlermeldungen >4 und >8 werden mit dem Aufruf der Funktion HRSTAT
zurÂckgesetzt.
Hinweis:
Ist der Funktionswert negativ, kann er auch eine Kombination von Fehlern
sein, z.B.:Funktionswert >10 bedeutet Funktionswert >2 und Funktionswert >8.
5>95
BASIC>Interpreter
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.10.5 GET
Funktion
GET
Betriebsart
COMMAND und/oder RUN
Typ
Eingabe/Ausgabe
Wirkung
Die Funktion GET liest und entfernt das erste Zeichen aus dem HANDLE>
Empfangspuffer. Als Funktionswert wird der ASCII>Code des Zeichens in Dezimal>
form zugewiesen. Ist der Puffer leer, so ist der Funktionswert=0.
Im Kommando>Modus ist er stets "0". Das folgende Beispiel lß˚t das Dezimal>
ßquivalent aller Zeichen ausgeben, die von der Konsole Âbertragen werden.
Beispiel
>10
>20
>30
>40
65
49
24
50
5>96
REM *** GET-Funktion ***
A = GET:IF A = 0 GOTO 20
PRINT A,” (EINGABE ”,CHR (A),” IN DIE TASTATUR)”
GOTO 20
(EINGABE
(EINGABE
(EINGABE
(EINGABE
”A” IN DIE TASTATUR)
”1” IN DIE TASTATUR)
”CONTROL-X” IN DIE TASTATUR)
”2” IN DIE TASTATUR)
EWA 4NEB 812 6071>01
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
CP 521 BASIC
EWA 4NEB 812 6071>01
BASIC>Interpreter
5.10.6 BUFOUT
Funktion
BUFOUT [strvar(,expr)]
Betriebsart
RUN
Typ
Eingabe/Ausgabe
Wirkung
Es werden vom Anfang des HANDLE>Empfangspuffers an Zeichen in den String
∫strvar∫ Âbertragen. Die Anzahl zu Âbertragender Zeichen wird durch den
Ausdruck ∫expr∫ (Wertebereich: 1 ... 254) angegeben.
∫expr∫ mu˚ vom Typ numerischer Konstante, numerische Variable oder
numerischer Ausdruck sein.
Die Funktionswerte haben folgende Bedeutung:
0: der Funktionsaufruf verlief fehlerfrei
1: der Funktionsaufruf wurde nicht fehlerfrei abgearbeitet.
Im Fehlerfall wird die Funktion nicht ausgefÂhrt.
Der Funktionswert 1 wird ausgegeben, wenn:
∫expr∫ < 1
∫expr∫ > 254
∫expr∫ > Anzahl vorhandener Zeichen im Puffer
∫expr∫ > Lßnge des dimensionierten Strings.
Hinweis:
Die Funktion BUFOUT kann nur in der Betriebsart RUN ausgefÂhrt werden.
5>97
BASIC>Interpreter
5.11
CP 521 BASIC
Beschreibung der arithmetischen/logischen Operatoren
und AusdrÂcke
5.11.1 Dyadische Operatoren
BASIC enthßlt einen vollstßndigen Satz arithmetischer und logischer Operatoren.
Die Operatoren gliedern sich in zwei Gruppen, nßmlich dyadische Operatoren fÂr
zwei Operanden und unßre Operatoren fÂr nur einen Operanden. Alle
Anweisungen fÂr zwei Operanden haben die folgende allgemeine Form:
[expr] OP [expr], wobei OP einen der folgenden Operatoren darstellt:
+ Operator fÂr Addition
Beispiel
PRINT 3+2
5
/ Operator fÂr Division
Beispiel
PRINT 100/5
20
** Operator fÂr Exponential>Funktionen
Der zweite Operand ist Exponent fÂr den ersten Operanden. Der Exponent darf
fÂr eine beliebige Zahl h‘chstens den Wert 255 besitzen.
Beispiel
PRINT 2**3
8
5>98
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
* Operator fÂr Multiplikation
Beispiel
PRINT 3*3
9
> Operator fÂr Subtraktion
Beispiel
PRINT 9-6
3
.AND. logischer UND>Operator
Beispiel
PRINT 3.AND.2
2
.OR. logischer ODER>Operator
Beispiel
PRINT 1.OR.4
5
.XOR. logischer EXKLUSIV>ODER>Operator
Beispiel
PRINT 7.XOR.6
1
EWA 4NEB 812 6071>01
5>99
BASIC>Interpreter
CP 521 BASIC
Hinweise zu den logischen Operatoren .AND., .OR. und .XOR.
Diese Operatoren verknÂpfen die Bitmuster der entsprechenden gÂltigen
Ganzzahlen. Beide Argumente fÂr diese Operatoren mÂssen zwischen 0 und
65.535 (0FFFFH) einschlie˚lich liegen. Anderenfalls gibt BASIC die Fehlermeldung
ERROR: BAD ARGUMENT aus. Alle Werte, die keine Ganzzahlen sind, werden
gegebenenfalls abgeschnitten.
Es mag ungew‘hnlich erscheinen, da˚ fÂr die logischen Funktionen die Schreib>
weise .OP. gewßhlt wurde. HierfÂr gibt es nur einen Grund, nßmlich den, da˚
BASIC bei der Verarbeitung der Befehlszeilen sßmtliche Blanks unterdrÂckt und
andererseits vor und hinter allen Anweisungen Blanks einfÂgt, wenn
Anwenderprogramme durch LIST ausgegeben werden. BASIC fÂgt keine Blanks
vor und hinter Operatoren ein.
Eingegebene Zeilen wie beispielsweise 10 A = 10 * 10 werden also im Listing als
10 A = 10*10 ausgegeben. Alle Blanks, die der Anwender vor und hinter dem
Operator eingegeben hat, werden unterdrÂckt. Ohne die Schreibweise .OP. fÂr
die logischen Operatoren wÂrde also eine Zeile, die als 10 B = A AND B einge>
geben wurde, im Listing als 10 B = AANDB erscheinen. Durch die Punkte als Ein>
grenzung der logischen Operatoren wird diese Zeile als 10 B = A.AND.B im
Listing ausgegeben und ist so leichter zu lesen.
5>100
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
5.11.2 Unßre Operatoren > Allgemeine Anwendung
ABS([expr])
ermittelt den Absolutwert des Arguments.
Beispiele
PRINT ABS(5)
5
PRINT ABS(-5)
5
NOT([expr])
ermittelt das Einerkomplement des Arguments in 16 Bit Breite. Das Argument
mu˚ eine gÂltige Ganzzahl sein (d.h. zwischen 0 und 65.535 (0FFFFH)
einschlie˚lich). Zahlen, die keine Ganzzahlen sind, werden gegebenenfalls
abgeschnitten.
Beispiele
PRINT NOT(65000)
535
PRINT NOT(0)
65535
INT([expr])
ermittelt den ganzzahligen Teil des Arguments.
Beispiele
PRINT INT(3.7)
3
EWA 4NEB 812 6071>01
PRINT INT(100.876)
100
5>101
BASIC>Interpreter
CP 521 BASIC
SGN([expr])
ermittelt fÂr Argumente, die gr‘˚er als 0 sind, den Wert +1, fÂr Argumente mit
dem Wert 0 den Wert 0 und fÂr Argumente, die kleiner als 0 sind, den Wert!>1.
Beispiele
PRINT SGN(52)
1
PRINT SGN(0)
0
PRINT SGN(-8)
-1
SQR([expr])
ermittelt die Quadratwurzel des Arguments. Das Argument darf nicht negativ
sein. Das Ergebnis hat einen Fehler von maximal ± 5 der niederwertigsten Stelle.
Beispiele
PRINT SQR(9)
3
PRINT SQR(45)
6.7082035
PRINT SQR(100)
10
RND
ermittelt eine Pseudo>Zufallszahl im Bereich zwischen 0 und 1 einschlie˚lich
dieser Grenzen. Aus einer 16>Bit>Basis werden 65536 Pseudo>Zufallszahlen
generiert, bevor die Zahlenfolge wiederholt wird. Im Gegensatz zu den meisten
BASIC>Dialekten erfordert der Operator RND kein Argument oder Schein>
argument. Es wird sogar die Fehlermeldung ERROR: BAD SYNTAX ausgegeben,
wenn hinter dem Operator RND ein Argument angegeben wird.
Beispiel
PRINT RND
.30278477
PI
PI ist kein Operator, sondern eine fest abgespeicherte Konstante. PI ist mit dem
Wert 3.1415926 abgespeichert.
5>102
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
5.11.3 Unßre Operatoren > Logarithmusfunktionen
LOG([expr])
ermittelt den natÂrlichen Logarithmus des Arguments. Das Argument mu˚
gr‘˚er als 0 sein. Das Ergebnis hat sieben signifikante Ziffern.
Beispiele
PRINT LOG(12)
2.484906
PRINT LOG(EXP(1))
1
EXP([expr])
ermittelt den Wert der Zahl "e" (2,7182818) mit dem Argument als Exponenten.
Beispiele
PRINT EXP(1)
2.7182818
EWA 4NEB 812 6071>01
PRINT EXP(LOG(2))
2
5>103
BASIC>Interpreter
CP 521 BASIC
5.11.4 Unßre Operatoren > Trigonometrische Funktionen
SIN([expr])
ermittelt den Sinus des Arguments. Das Argument mu˚ im Bogenma˚ angegeben
werden. Das Ergebnis hat sieben signifikante Ziffern. Das Argument mu˚
zwischen ± 200000 liegen.
Beispiele
PRINT SIN(PI/4)
.7071067
PRINT SIN(0)
0
COS([expr])
ermittelt den Kosinus des Arguments. Das Argument mu˚ im Bogenma˚ ange>
geben werden. Das Ergebnis hat sieben signifikante Ziffern. Das Argument mu˚
zwischen ± 200000 liegen.
Beispiele
PRINT COS(PI/4)
.7071067
5>104
PRINT COS(0)
1
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
TAN([expr])
ermittelt den Tangens des Arguments. Das Argument mu˚ im Bogenma˚ an>
gegeben werden und mu˚ zwischen ± 200000 liegen. Das Ergebnis hat sieben
signifikante Ziffern.
Beispiele
PRINT TAN(PI/4)
1
PRINT TAN(0)
O
ATN([expr])
ermittelt den Arcustangens des Arguments. Das Ergebnis wird im Bogenma˚
angegeben und hat sieben signifikante Ziffern. ATN liefert ein Ergebnis zwischen
> PI/2 (3,1415926/2) und PI/2.
Beispiele
PRINT ATN(PI)
1.2626272
EWA 4NEB 812 6071>01
PRINT ATN(1)
.78539804
5>105
BASIC>Interpreter
CP 521 BASIC
5.11.5 Rangfolge der Operatoren
In der Mathematik gibt es Regeln fÂr die Reihenfolge, in der mathematische
Operationen auszufÂhren sind. Diese Regeln ordnen jede Operation einer
Hierarchiestufe zu. Die Notwendigkeit fÂr diese Regeln wird am folgenden
Beispiel deutlich:
4 + 3¥2 = ?
Soll hier zuerst (4 + 3) addiert und dann das Ergebnis "7" mit 2 multipliziert oder
aber zuerst multipliziert (3¥2) und dann 4 addiert werden? Die Hierarchie der
Mathematik legt hier fest, da˚ die Multiplikation Vorrang gegenÂber der
Addition hat, so da˚ zuerst zu multiplizieren (3¥2) und dann 4 zu addieren ist.
Deshalb gilt:
4 + 3¥2 = 10
Die mathematischen Regeln sind einfach. Bei der PrÂfung eines Ausdrucks von
links nach rechts werden Operationen solange nicht ausgefÂhrt, bis ein Operator
eine niedrigere oder gleichhohe Prioritßt hat. Im obigen Beispiel konnte die
Addition nicht ausgefÂhrt werden, weil die Multiplikation eine h‘here Prioritßt
besitzt. In BASIC haben die Operatoren folgende Prioritßten:
1)
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
2)
3)
4)
5)
6)
7)
8)
9)
AusdrÂcke in Klammern () / logische Negationen (NOT) und unßre
Operatoren
Potenzierung (**)
Negation (>)
Multiplikation (*) und Division (/)
Addition (+) und Subtraktion (>)
Relationale AusdrÂcke (=, <>, >, >=, <, <=)
Logisch und (.AND.)
Logisch oder (.OR.)
Logisch exklusiv>oder (.XOR.)
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Hinweis:
Unabhßngig von allen Prioritßtsregeln gilt stets die folgende Faustregel:
Im Zweifelsfall Klammern verwenden.
5-106
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
5.11.6 Relationale AusdrÂcke
Relationale AusdrÂcke enthalten die Operatoren =, <>, >, >=, <, <=. Diese
Operatoren werden meist verwendet, um eine Bedingung auf Richtigkeit zu
prÂfen. In BASIC geben die relationalen Operatoren als Ergebnis 65.535 (0FFFFH)
zurÂck, wenn der relationale Ausdruck TRUE ist; bzw. 0, wenn der relationale
Ausdruck FALSE ist. Das Ergebnis wird in den Argumentstack geladen. Aus diesem
Grund ist es m‘glich, das Ergebnis eines relationalen Ausdrucks anzuzeigen.
Beispiel
PRINT 1=0
0
PRINT 1>0
65535
PRINT A<>A
0
PRINT A=A
65535
Es mag ungw‘hnlich erscheinen, da˚ ein relationaler Ausdruck tatsßchlich ein
Ergebnis liefert. Der Vorteil liegt darin, da˚ dadurch relationale AusdrÂcke mit
den logischen Operatoren .AND., .OR. und .XOR. miteinander verkettet werden
k‘nnen. Auf diese Weise ist es m‘glich, auch eine komplexe Bedingung durch nur
eine Anweisung abzufragen.
Beispiel
>10 IF A<B .AND. A>C .OR. A>D THEN
Au˚erdem kann auch mit dem Operator NOT([expr]) gearbeitet werden.
Beispiel
>10 IF NOT (A>B). AND. A<C THEN
EWA 4NEB 812 6071>01
5>107
BASIC>Interpreter
CP 521 BASIC
Durch "Verkettung" von relationalen AusdrÂcken mit logischen Operatoren ist es
m‘glich, sehr umfangreiche Bedingungen durch nur eine Anweisung abzu>
fragen. Bei der Verwendung von logischen Operatoren zur VerknÂpfung von re>
lationalen AusdrÂcken mu˚ auf jeden Fall auf die Prioritßten der Operatoren
geachtet werden. Die logischen Operatoren haben gegenÂber den relationalen
AusdrÂcken nur deshalb eine niedrige Prioritßt erhalten, um eine VerknÂpfung
von relationalen AusdrÂcken ohne Zuhilfenahme von Klammern zu erm‘glichen.
5.12
Beschreibung von String>Operationen
Ein String (eine Zeichenkette) besteht aus einem oder mehreren Zeichen, die im
Speicher abgelegt werden. Die in einer Zeichenkette abgespeicherten Zeichen
bilden normalerweise ein Wort oder einen Satz. Zeichenketten sind komfortabel,
weil der Programmierer so mit Worten arbeiten kann und keine Zahlen
verwenden mu˚. Auf diese Weise k‘nnen "anwenderfreundliche" Programme
geschrieben werden, in denen z.B. Sachverhalte oder Einzelpersonen mit ihrem
Namen bezeichnet werden k‘nnen und nicht unter einer Nummer angesprochen
werden mÂssen.
BASIC unterstÂtzt eindimensionale String>Variablen, Syntax: §([expr]). Die Di>
mension der String>Variablen (der Wert [expr]) liegt im Bereich von 0 ... 254. In
BASIC k‘nnen also 255 verschiedene Zeichenketten definiert und verarbeitet
werden. Zunßchst ist fÂr Zeichenketten keinerlei Speicher reserviert. Der
erforderliche Speicherplatz mu˚ durch die Anweisung STRING[anzahl],[lßnge] re>
serviert werden(Æ Kap. 5.12.1).
In BASIC k‘nnen Zeichenketten auf zweierlei Art zugewiesen werden, nßmlich
durch die LET>Anweisung und durch die INPUT>Anweisung.
Im folgenden werden Operationen und Funktionen fÂr die Stringverarbeitung
beschrieben.
5>108
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.12.1 STRING
Anweisungen
STRING [expr1],[expr2]
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
Die Anweisung STRING [expr1],[expr2] reserviert Speicherbereiche fÂr Zeichen>
ketten (siehe auch Kap.5.12). Zunßchst ist fÂr Zeichenketten kein Speicherplatz
vorgesehen. Nach einem Versuch, eine Zeichenkette durch eine Anweisung wie
z.B. LET §(0) = "HELLO" zu definieren, bevor ein Speicherbereich fÂr Zeichen>
ketten reserviert wurde, wird eine Fehlermeldung ERROR: MEMORY ALLO>
CATION ausgegeben.
Der Ausdruck [expr1] in der Anweisung STRING [expr1],[expr2] erfa˚t die Gesamt>
anzahl der verwendeten Zeichenketten; der zulßssige Wertebereich betrßgt 0 ...
255 inclusive. Der Ausdruck [expr2] gibt die maximale Lßnge der Zeichenketten
an; der zulßssige Wertebereich ist 0 ... 254 inclusive. Diese beiden Zahlen legen
den Speicherbedarf der definierten String>Variablen fest.
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
Nach der Reservierung eines Bereichs fÂr die Abspeicherung von Zeichenketten
k‘nnen Befehle wie NEW oder Anweisungen wie CLEAR diese Speicherreser>
vierung nicht aufheben. Es gibt nur eine M‘glichkeit, einen reservierten Speicher
wieder freizugeben, nßmlich durch AusfÂhrung der Anweisung STRING!0,0.
Durch STRING 0,0 wird kein Speicherbereich fÂr String>Variablen reserviert.
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Hinweis:
Jede AusfÂhrung einer Anweisung STRING [expr],[expr] entspricht in BASIC der
AusfÂhrung einer CLEAR>Anweisung. Dies ist deshalb erforderlich, weil String>
Variablen und numerische Variablen den gleichen externen Speicherbereich
belegen. Nach AusfÂhrung einer STRING>Anweisung sind deshalb alle
Variablen gel‘scht. Aus diesem Grund soll die Reservierung von
Speicherbereichen fÂr Zeichenketten in einem Programm m‘glichst frÂhzeitig
erfolgen (z.B. als erste Anweisung), und der Speicherbereich fÂr Zeichenketten
soll auf keinen Fall wieder freigegeben werden, sofern nicht der Pro>
grammierer in Kauf nimmt, alle definierten Variablen zu zerst‘ren.
EWA 4NEB 812 6071>01
5>109
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
BASIC>Interpreter
5-110
CP 521 BASIC
Beispiel
>10 STRING 2,30
>20 $(0)=”DAS IST EIN STRING, ”
>30 INPUT ”WIE IST IHR NAME? - ”,$(1)
>40 PRINT $(0),$(1)
>RUN
WIE IST IHR NAME? - KLAUS
DAS IST EIN STRING, KLAUS
STRINGS k‘nnen auch durch eine LET>Anweisung einander zugeordnet werden.
Beispiel
$(1)=$(0)
Hierdurch wird der Inhalt des STRING in §(0) dem STRING §(1) zugeordnet.
Hinweis:
Die Anweisung STRING [expr],[expr] l‘scht auch die ONXXXX>Anweisungen.
Deshalb mÂssen ONXXXX>Anweisungen nach der Anweisung STRING stehen.
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.12.2 ∫+∫ (Verkettung zweier Strings)
Funktion
”+”
Betriebsart
COMMAND und/oder RUN
Typ
Eingabe/Ausgabe
Wirkung
Mit der Funktion ∫+∫ k‘nnen Sie zwei Strings miteinander verketten. FÂr die
Strings §(0)...§(2) mu˚ vorher mit der Anweisung ∫STRING [expr],[expr]∫
entsprechender Speicherplatz dafÂr reserviert worden sein.
Beispiel
>10
>20
>30
>40
STRING 3,12
$(0)=”SIEMENS”
$(1)=” AG”
$(2)=$(0)+$(1)
(§ (0) nimmt 7 Zeichen auf)
(§ (1) nimmt 3 Zeichen auf)
(§ (2) nimmt 10 Zeichen auf)
Die Stringvariable §(2) enthßlt nun den String ∫SIEMENS AG∫.
Beispiel
>10 STRING 3,7
>20 $(0)=”PETER ”
>30 $(1)=”MUELLER”
(§ (0) nimmt 6 Zeichen auf)
(§ (1) nimmt 7 Zeichen auf)
-------------------------
>40 $(2)=$(0)+$(1)
>50 PRINT $(2)
>RUN
§ (2) mÂ˚te 13 Zeichen aufnehmen
EXTRA IGNORED
PETER M
(Inhalt von $(2))
Am Bildschirm erscheint die Warnung EXTRA IGNORED.
EWA 4NEB 812 6071>01
5>111
BASIC>Interpreter
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.12.3 MID
Funktion
MID (strvar, expr1, expr2)
Betriebsart
COMMAND und/oder RUN
Typ
Eingabe/Ausgabe
Wirkung
Als Funktionswert wird ein Teilstring der gÂltigen Stringvariablen ∫strvar∫,
beginnend bei der Position ∫expr1∫ mit der Lßnge ∫expr2∫, ermittelt. Die
Zßhlrichtung verlßuft von links nach rechts und beginnt bei 1.
strvar:
expr1:
expr2:
gÂltiger Stringname, z. B. §(0)
gÂltiger Ausdruck, 1eexpr1e254
gÂltiger Ausdruck, 1eexpr1e254
Beispiel
>5 STRING 2,25
>10 REM
12345678901234567890123
>20 $(0)=”Kommunikationsprozessor”
>30 $(1)= MID ($(0), 5, 6)
>40 PRINT $(1)
>RUN
unikat
Die Stringvariable § (1) enthßlt nun den Teilstring ∫unikat∫.
Ist die Lßnge des Teilstrings gr‘˚er als die Anzahl der selektierbaren Zeichen
(position+lßnge >SLEN(strvar)), erfolgt keine Fehlermeldung. Als Funktionswert
wird die maximal m‘gliche Anzahl von Zeichen Âbertragen.
Ist die Stringvariable, der der Funktionswert zugewiesen werden soll, zu klein
dimensioniert, erfolgt ebenfalls keine Fehlermeldung. Die Stringvariable wird bis
zur dimensionierten Gr‘˚e aufgefÂllt.
5>112
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.12.4 FIND
Funktion
FIND strvar1, strvar2
Betriebsart
COMMAND und/oder RUN
Typ
Eingabe/Ausgabe
Wirkung
Als Funktionswert wird die Position des ersten Auftretens des Teilstrings
∫strvar2∫ im String ∫strvar1∫ Âbergeben.
Der Funktionswert ist gleich 0, wenn:
f strvar2 lßnger als strvar1 ist (SLEN(strvar2)>SLEN (strvar))
f strvar2 oder strvar1 keine Zeichen enthßlt (Leerstring)
f strvar2 in strvar1 nicht gefunden wurde.
∫strvar1∫ und ∫strvar2∫ sind gÂltige Stringnamen.
Beispiel
>5 STRING 2,40
>10 REM
1
2
3
4
>20 REM
1234567890123456789012345678901234567890
>30 $(0)=”Dies ist ein Beispiel zu dem Befehl FIND”
>40 $(1)=”Beispiel”
>50 pos=FIND $(0), $(1)
>60 PRINT”Gefunden bei Position”, pos
>70 END
>RUN
Gefunden bei Position 14
EWA 4NEB 812 6071>01
5>113
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
BASIC>Interpreter
5>114
CP 521 BASIC
5.12.5 SLEN
Funktion
SLEN strvar
Betriebsart
COMMAND und/oder RUN
Typ
Eingabe/Ausgabe
Wirkung
Als Funktionswert Âbergibt diese Funktion die Lßnge des Strings ∫strvar∫.
strvar: gÂltiger Stringname
Funktionswert: Integerwert 0...254
Beispiel
>5 STRING 1,30
>10 REM
1
2
>20 REM
1234567890123456789012
>30 $(0)=”Automatisierungsgeraet”
>40 SLAENGE=SLEN $(0)
>50 PRINT ”Die Stringlnge betrgt”,SLAENGE,”ZEICHEN”
>RUN
Die Stringlnge betrgt 22 Zeichen
5.12.6 Die String>Operatoren ASC und CHR
Funktion
ASC(ASCII-Zeichen) und CHR(expr)
Betriebsart
COMMAND und/oder RUN
Typ
Eingabe/Ausgabe
In BASIC k‘nnen zwei Operatoren Strings manipulieren. Diese Operatoren sind
ASC() und CHR(). Zeichenketten k‘nnen mit diesem verfÂgbaren String>
Operatoren auf nahezu jede nur denkbare Weise bearbeitet werden .
EWA 4NEB 812 6071>01
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
Funktion
EWA 4NEB 812 6071>01
BASIC>Interpreter
ASC(ASCII-Zeichen)
Wirkung
Der Operator ASC() gibt den Ganzzahlwert fÂr das ASCII>Zeichen an, das zwischen
den Klammern steht.
Beispiel
>PRINT ASC(A)
65
65 ist das Dezimalßquivalent fÂr das ASCII>Zeichen "A". Au˚erdem k‘nnen mit
dem Operator ASC() auch Einzelzeichen in einer zuvor definierten ASCII>Zeichen>
kette geprÂft werden.
Beispiel
>5 STRING 1,20
>10 $(0)=”DAS IST EIN STRING”
>20 PRINT $(0)
>30 PRINT ASC($(0),1)
>RUN
DAS IST EIN STRING
68
Hinweis:
Die interne Darstellung eines Strings wird von dem Zeichen CR beendet. Mit
Hilfe des Operators ASC darf dieses Zeichen nicht Âberschrieben oder an
anderer Stelle im String hinterlegt werden, da der String sonst nicht mehr
auslesbar ist, bzw. verkÂrzt wird.
Bei der Verwendung des Operators ASC() mÂssen Sie darauf achten, da˚
zwischen dem Operatornamen ∫ASC∫ und dem Klammerausdruck ∫()∫ kein
Blank (Leerzeichen) stehen darf.
5>115
BASIC>Interpreter
CP 521 BASIC
Beim Gebrauch des Operators ASC() in der oben beschriebenen Form gibt
§([expr]) an, welche Zeichenkette geprÂft werden soll, wßhrend mit dem Aus>
druck hinter dem Komma ein einzelnes Zeichen in der Zeichenkette "ausgesucht"
wird. Im obigen Beispiel wurde das erste Zeichen der Zeichenkette gewßhlt, und
68 ist das Dezimalßquivalent fÂr das ASCII>Zeichen "D".
Beispiel
>5 STRING 1,50
>10 $ (0) = ”ABCDEFGHIJKL”
>20 FOR X = 1 TO 12
>30 ? ASC($(0),X), CHR($(0),X)
>40 NEXT X
>RUN
65
66
67
68
69
70
71
72
73
74
75
76
A
B
C
D
E
F
G
H
I
J
K
L
Die im obigen Beispiel ausgegebenen Zahlen sind die Werte, die den ASCII>Zei>
chen A, B, C ... L entsprechen.
Au˚erdem k‘nnen mit dem Operator ASC() auch einzelne Zeichen in einer
definierten Zeichenkette geßndert werden.
5>116
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
Beispiel
>5 STRING 1,15
>10 $(0)=”ABCDEFGHIJKL”
>20 PRINT $(0)
>30 ASC($(0),1)=75
>40 PRINT $(0)
>50 ASC($(0),2)=ASC($(0),3)
>60 PRINT $(0)
>RUN
ABCDEFGHIJKL
KBCDEFGHIJKL
KCCDEFGHIJKL
Mit dem Operator ASC() kann der Programmierer ganz allgemein einzelne
Zeichen in einer Zeichenkette manipulieren. Mit einem einfachen Programm
kann festgestellt werden, ob zwei Zeichenketten identisch sind.
Beispiel
>5 STRING 2,25
>10 $(0)=”GEHEIM” REM GEHEIM IST DAS PASSWORT
>20 INPUT ”WIE IST DAS PASSWORT - ”,$(1)
>30 FOR I=1 TO 6
>40 IF ASC($(0),I)=ASC($(1),I) THEN NEXT I ELSE 70
>50 PRINT ”DU HAST ES ERRATEN”
>60 END
>70 PRINT ”FALSCH, VERSUCH ES NOCH EINMAL” : GOTO 20
>RUN
WIE IST
FALSCH,
WIE IST
DU HAST
DAS PASSWORT - SICHER
VERSUCH ES NOCH EINMAL
DAS PASSWORT - GEHEIM
ES ERRATEN
EWA 4NEB 812 6071>01
5>117
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
BASIC>Interpreter
Funktion
CHR(expr)
Der Operator CHR() ist das GegenstÂck zum Operator ASC(). Er bildet zu einem
numerischen Ausdruck das entsprechende ASCII>Zeichen.
Beispiel
>PRINT CHR(65)
A
Wie der Operator ASC() kann auch der Operator CHR() einzelne Zeichen aus einer
definierten ASCII>Zeichenkette "heraussuchen".
Beispiel
>5 STRING 1,5
>10 $(0)=”BASIC”
>20 FOR I=1 TO 5 : PRINT CHR($(0),I), : NEXT I
>30 PRINT : FOR I=5 TO 1 STEP -1
>40 A=BUFIN CHR($(0),I), : NEXT I
>50 HANDLE -1
>RUN
BASIC
CISAB
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
Im obigen Beispiel haben die AusdrÂcke in den Klammern hinter der Funktion
CHR die gleiche Bedeutung wie die AusdrÂcke im Operator ASC().
Im Gegensatz zum Operator ASC() kann jedoch der Operator CHR() nicht ein Wert
zugeordnet werden. Eine Anweisung wie beispielsweise CHR(§(0),1) = H ist un>
zulßssig und wird mit einer Fehlermeldung ERROR : BAD SYNTAX beantwortet.
Werte in Zeichenketten k‘nnen nur mit dem Operator ASC() verßndert werden.
Der Operator CHR() kann nur innerhalb einer PRINT> oder einer BUFIN>Anwei>
sung verwendet werden.
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
Hinweis:
Bei der Verwendung des Operators CHR() mÂssen Sie darauf achten, da˚
zwischen dem Operatornamen ∫CHR∫ und dem Klammerausdruck ∫()∫ kein
Blank (Leerzeichen) stehen darf.
5-118
EWA 4NEB 812 6071>01
CP 521 BASIC
5.13
BASIC>Interpreter
Funktionen und Anweisungen fÂr Datum und Uhrzeit
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.13.1 SETCLOCK
Funktion
SETCLOCK [strvar]
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Funktionswert:
Integerwert 0..1
0: der Funktionsaufruf verlief fehlerfrei
1: der Funktionsaufruf wurde nicht fehlerfrei
abgearbeitet
Wirkung
Mit der Funktion SETCLOCK stellen Sie die baugruppeneigene Uhr.
∫strvar∫ (Stringkonstante oder Stringvariable) enthßlt die Stellzeit im gewÂnsch>
ten Format. Folgende zwei Formate sind zulßssig:
f
deutsches Format:
Wertebereich:
f
Stunde : Minute : Sekunde
0..23
0..59
0..59
amerikanisches Format:
Tageszeit / Stunde / Minute / Sekunde
Wertebereich:
AM oder PM 1..12
0..59
0..59
Beispiel
>PRINT SETCLOCK ”AM/1/1/0”
0
READY
>
Es wird die Uhrzeit ∫1 Uhr 1 vormittag∫ eingestellt.
Anmerkung
Bei unzulßssiger oder unvollstßndiger Eingabe wird die aktuelle Uhrzeit nicht
verßndert. Es wird der Funktionswert =1 zurÂckgegeben.
Die Stellwerte dÂrfen zusßtzlich durch Blanks getrennt sein.
EWA 4NEB 812 6071>01
5>119
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
BASIC>Interpreter
CP 521 BASIC
5.13.2 RDCLOCK
Anweisung
RDCLOCK [strvar]
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
Der String ∫strvar∫ enthßlt nach dem Aufruf die aktuelle Uhrzeit. Das Format
(deutsch/amerikanisch) der Uhrzeit ist identisch mit dem zuletzt bei SETCLOCK
oder SETDATE verwendeten Format.
Anmerkung
Ist der ebergabestring zu klein dimensioniert, wird der String soweit wie m‘glich
mit der Uhrzeit links beginnend ∫aufgefÂllt∫.
Hinweis:
Das deutsche Zeichenformat ben‘tigt 8 Zeichen. Das amerikanische Zeichen>
format ben‘tigt 11 Zeichen.
5>120
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.13.3 SETDATE
Funktion
SETDATE [strvar]
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Funktionswert:
Integerwert 0...1
0: der Funktionsaufruf verlief fehlerfrei
1: der Funktionsaufruf wurde nicht fehlerfrei
abgearbeitet
Wirkung
Mit der Funktion SETDATE stellen Sie das aktuelle Datum ein, das Âber die
Variable ∫strvar∫ (Stringkonstante oder Stringvariable; enthßlt das Stelldatum)
im gewÂnschten Format Âbergeben wird. Folgende zwei Formate sind zulßssig:
f deutsches Format:
Tag : Monat : Jahr
Wertebereich:
1..31
1..12 (19)90 ... (20)89
f
amerikanisches Format:
Monat / Tag / Jahr
Wertebereich:
1..12
1..31 (19)90 ... (20)89
Anmerkung
Bei unzulßssiger oder unvollstßndiger Eingabe wird das aktuelle Datum nicht
verßndert. Es wird der Funktionswert =1 zurÂckgegeben.
FÂr jeden Wert sind ein oder zwei Ziffern zulßssig.
Die Stellwerte dÂrfen zusßtzlich durch Blanks getrennt sein.
Die Jahreszahl ist zweistellig:
> 90 ... 99 bezieht sich auf das 20. Jahrhundert
> 0 ... 89 bezieht sich auf das 21. Jahrhundert
EWA 4NEB 812 6071>01
5>121
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
BASIC>Interpreter
1:
2:
3:
4:
5:
6:
7:
CP 521 BASIC
5.13.4 RDDATE
Anweisung
RDDATE [strvar]
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
Der String ∫strvar∫ enthßlt nach dem Aufruf das baugruppeneigene Datum.
Das Format (deutsch/amerikanisch) des Datums ist identisch mit dem zuletzt bei
SETCLOCK oder SETDATE verwendeten Format. Vorangestellt ist immmer der
Wochentag mit folgender Bedeutung:
Sonntag
Montag
Dienstag
Mittwoch
Donnerstag
Freitag
Samstag
Anmerkung
Ist der ebergabestring zu klein dimensioniert, wird der String soweit wie m‘glich
mit dem Datum links beginnend ∫aufgefÂllt∫.
Hinweis:
Das komplette Datum ben‘tigt unabhßngig vom Format 11 Zeichen.
5>122
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
a
a
a
a
a
a
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.13.5 T ADJ
Anweisung
T ADJ [expr]
Betriebsart
COMMAND und/oder RUN
Typ
Steuerung
Wirkung
Zur Kompensierung einer z.B. temperaturbedingten Gangabweichung der bau>
gruppeneigenen Uhr wird die Systemzeit in regelmß˚igen Abstßnden korrigiert.
Der m‘gliche Korrekturwert liegt zwischen > 400 und +400, jeweils inclusive und
hat die Einheit s/(30 Tage). Zur Korrektur wird die Uhr pro Stunde um max. 1 s
angehalten oder vorgestellt, die Zeit ∫springt∫ also nicht. Der zuletzt eingegebe>
ne Korrekturfaktor ist batteriegepuffert. Ein positiver Korrekturfaktor verlang>
samt die Uhr.
Varianten
keine
EWA 4NEB 812 6071>01
5>123
BASIC>Interpreter
5.14
CP 521 BASIC
Weitere Funktionen und Systemsteuerwerte
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaaaa
a
5.14.1 Spezielle Funktionsoperatoren
Funktion
XBY([expr])
Betriebsart
COMMAND und/oder RUN
Typ
Eingabe/Ausgabe
Wirkung
Mit der Funktion XBY([expr]) wird ein Wert aus dem externen Datenspeicher
ausgelesen. Das Argument der Funktion XBY([expr]) mu˚ eine zulßssige Ganzzahl
sein (d.h. zwischen 0 und 65.535 (0FFFFH)). Anderenfalls wird eine Fehlermeldung
ERROR: BAD ARGUMENT ausgegeben.
Beispiel
A=XBY(0F000H)
Im Beispiel wird die Variable A gleich dem Wert an der Stelle 0F000H des
externen Speichers gesetzt.
Anmerkung
Mit der Funktion XBY ist es m‘glich, den genauen Fehler bei der Fehlerbehand>
lung mit 0NERR zu bestimmen.
5>124
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
5.14.2 Systemsteuerwerte
Die Systemsteuerwerte legen fest oder geben an, wieviel Speicher belegt wurde.
MTOP
Nach einem Reset formatiert BASIC den externen Speicher und weist dem
Systemsteuerwert MTOP die h‘chste gÂltige Speicheradresse 7FFFH zu. BASIC
verwendet keinen externen RAM>Speicher Âber den Wert hinaus, der MTOP zu>
gewiesen wurde. Weisen Sie MTOP einen Wert zu, der Âber der h‘chsten
gÂltigen Speicheradresse liegt, so wird eine Fehlermeldung ERROR: MEMORY
ALLOCATION ausgegeben.
Zulßssiger Wertebereich: 0E00H ... 7FFFH
Beispiele
>PRINT MTOP
2047
>MTOP=2000
>PRINT MTOP
2000
LEN
Der Systemsteuerwert LEN gibt dem Anwender an, wieviel Speicherraum (in Byte)
das gegenwßrtig gewßhlte Programm belegt. Demzufolge kann LEN kein Wert
zugewiesen werden, sondern es kann nur LEN ausgelesen werden. Ein Programm
NULL (d.h. kein Programm) liefert LEN = 1. Dieses eine Byte entspricht dem
Abschlu˚zeichen der Programmdatei.
FREE
Der Systemsteuerwert FREE gibt Ihnen an, wieviel RAM>Speicher (in Byte) fÂr
Variablen/Strings verfÂgbar ist. Die folgende Beziehung gilt fÂr alle aktuellen
Programme, die im RAM>Speicher abgelegt sind.
FREE = MTOP > LEN > 3583
EWA 4NEB 812 6071>01
5>125
BASIC>Interpreter
5.15
CP 521 BASIC
Fehlermeldungen und Besonderheiten
5.15.1 Fehlermeldungen
BASIC besitzt eine relativ komplexe Fehleranzeige. In der Betriebsart RUN von
BASIC haben Fehlermeldungen die folgende allgemeine Form:
ERROR: XXX - IN LINE YYY
YYY BASIC STATEMENT
-------------X
Hierbei bezeichnen XXX den Fehlertyp und YYY die Nummer der Programmzeile,
in der der Fehler auftrat. Ein spezifisches Beispiel ist:
ERROR: BAD SYNTAX - IN LINE 10
10 PRINT 34*21*
--------------X
X gibt annßhernd die Stelle in der Zeile an, an der der Fehler auftrat. Die spe>
zifische Stelle des Zeichens X kann, je nach Typ des Fehlers und je nach der Stelle,
in der der Fehler im Programm auftrat, um ein oder zwei Zeichen oder AusdrÂcke
neben dem eigentlichen Fehler liegen. Bei einem Fehler im Kommando>Modus
wird nur der Fehlertyp ausgegeben, nicht die Zeilennummer. Dies ist sinnvoll,
weil es im Kommando>Modus keine Zeilennummern gibt. Es sind folgende
Fehlertypen m‘glich:
BAD SYNTAX
Der Fehler BAD SYNTAX bedeutet, da˚ ein fÂr BASIC unzulßssiger Befehl,
Anweisung oder Operator eingegeben wurde und BASIC die Eingabe nicht
verarbeiten kann. Hier mu˚ geprÂft werden, ob alle Eingaben richtig vorge>
nommen wurden.
Insbesondere ist darauf zu achten, da˚ reservierte SchlÂsselworte nicht im
Variablennamen enthalten sind.
5>126
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
BAD ARGUMENT
Der Fehler BAD ARGUMENT wird ausgegeben, wenn das Argument eines
Operators nicht innerhalb der zulßssigen Grenzen liegt, z.B. T ADJ = 500
ARITH. UNDERFLOW
Der Fehler ARITH. UNDERFLOW wird gemeldet, wenn das Ergebnis einer arith>
metischen Operation die untere Grenze einer Gleitpunktzahl in BASIC
unterschreitet. Die kleinste Gleitpunktzahl ist ±1.0E > 127. So liefert beispiels>
weise ±1.0E > 80/1.0E+80 an ein ERROR: ARITH. UNDERFLOW .
ARITH. OVERFLOW
Der Fehler ARITH. OVERFLOW wird gemeldet, wenn das Ergebnis einer arith>
metischen Operation den oberen Grenzwert fÂr eine Gleitpunktzahl
Âberschreitet. Die gr‘˚te zulßssige Gleitpunktzahl ist ±0.99999999E + 127. So
liefert beispielsweise 1.0E + 70*1.0E+57 ein ERROR: ARITH. OVERFLOW .
DIVIDE BY ZERO
Jeder Versuch, eine Division durch Null vorzunehmen, z.B. 12/0, liefert die Fehler>
meldung DIVIDE BY ZERO.
LINE TOO LONG
Bei Eingabe einer Zeile, die mehr als 79 Zeichen enthßlt, werden Sie durch eine
akustische Meldung darauf hingewiesen, da˚ eine Eingabezeile zu lang ist.
NO DATA
Die Fehlermeldung ERROR: NO DATA > IN LINE XXX wird Âber die Konsole
ausgegeben, wenn eine READ>Anweisung ausgefÂhrt wird und keine DATA> An>
weisung vorhanden ist oder aber alle Daten bereits eingelesen wurden und keine
RESTORE>Anweisung vorhanden ist.
CAN'T CONTINUE
Die ProgrammausfÂhrung kann durch Eingabe von CTRL>C Âber die Konsole oder
durch AusfÂhrung einer STOP>Anweisung unterbrochen werden. Normalerweise
kann der Programmablauf durch Eingabe des Befehls CONT fortgesetzt werden.
Wenn jedoch der Anwender das Programm editiert, nachdem er den Ablauf
unterbrochen hat, und dann den Befehl CONT eingibt, wird ein ERROR: CAN'T
CONTINUE gemeldet. Der Befehl CONT kann nur ausgefÂhrt werden, wenn
unmittelbar vorher wßhrend des Programmablaufs CTRL>C eingegeben wurde
oder eine STOP>Anweisung auszufÂhren war.
EWA 4NEB 812 6071>01
5>127
BASIC>Interpreter
CP 521 BASIC
A>STACK
Der Fehler A>STACK (Argumentstapel) wird gemeldet, wenn der Zeiger des
Argumentstacks au˚erhalb der Grenzen gerßt. Dies ist m‘glich, wenn durch PUSH
zu viele AusdrÂcke in den Argumentstack geladen werden oder durch POP
versucht wird, Daten aus einem bereits leeren Stack auszulesen.
C>STACK
Der Fehler C>STACK (Steuerstack) wird gemeldet, wenn der Stackpointer
au˚erhalb der Grenzen gerßt. Der Steuerstack belegt 158 Byte des externen
Speichers. Schleifen FOR>NEXT belegen 17 Byte im Steuerstack, Schleifen DO>
UNTIL, DO>WHILE und GOSUB jeweils 3 Byte des Steuerstacks. Dies bedeutet, da˚
BASIC maximal neun verschachtelte Schleifen FOR>NEXT verarbeiten kann, weil
9!x 17 = 153 ist. Bei einem Versuch des Anwenders, den Steuerstack stßrker zu
belegen, als in BASIC zulßssig ist, wird eine Fehlermeldung C>STACK ausgegeben.
Fehler C>STACK werden auch gemeldet, wenn das Programm ein RETURN vor
dem entsprechenden GOSUB, ein WHILE oder UNTIL vor dem entsprechenden DO
oder ein NEXT vor dem entsprechenden FOR enthßlt.
I>STACK
Die Fehlermeldung I>STACK (interner Stack) wird ausgegeben, wenn BASIC nicht
mehr Âber genÂgend Stackspeicherkapazitßt verfÂgt, um einen Ausdruck
abarbeiten zu k‘nnen.
5>128
EWA 4NEB 812 6071>01
CP 521 BASIC
BASIC>Interpreter
ARRAY SIZE
Der Fehler ARRAY SIZE wird gemeldet, wenn ein Feld durch eine DIM> Anwei>
sung dimensioniert wurde und anschlie˚end versucht wird, eine Variable
aufzurufen, die au˚erhalb der Grenzen der Dimensionierung liegt.
Beispiel
>DIM A(10)
>PRINT A(11)
ERROR ARRAY SIZE
READY
MEMORY ALLOCATION
Der Fehler MEMORY ALLOCATION wird gemeldet, wenn der Anwender versucht,
Strings aufzurufen, die "au˚erhalb" der definierten String>Grenzen liegen. Der
Fehler MEMORY ALLOCATION wird auch gemeldet, wenn dem Systemsteuerwert
MTOP ein Wert zugeordnet wurde, der keinen RAM>Speicher enthßlt.
EWA 4NEB 812 6071>01
5>129
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
BASIC>Interpreter
>2OH=10
>LIST
32
=10
(FALSCH)
CP 521 BASIC
5.15.2 Besonderheiten
Die Angabe von bekannten Besonderheiten soll hier dem Programmierer helfen,
Zeit zu sparen. Die bekannten Besonderheiten behandeln hauptsßchlich die Art,
auf die BASIC das Programm verdichtet. Es sind folgende Besonderheiten
bekannt:
Hinweis:
Nach einer Zeilennummer mu˚ bei Verwendung der Variablen H oder von
SchlÂsselworten, die mit H beginnen, darauf geachtet werden, zwischen der
Zeilennummer und den Buchstaben H ein Blank zu setzen, da BASIC die
Zeilennummer sonst als eine Hex>Zahl ansieht.
Beispiele
>20 H=10
(richtig)
>LIST
20
H=10
Hinweis:
Das Argument des Operators ASC() darf keine Blanks enthalten. Anweisungen
wie beispielsweise PRINT ASC( ) ergibt also einen ERROR: BAD SYNTAX.
Zeichenketten dÂrfen jedoch Blanks enthalten, so da˚ eine Anweisung wie LET
§(0) = ∫HELLO, HOW ARE YOU∫ keine Schwierigkeiten bereitet. Der Grund
hierfÂr, da˚ ASC( ) einen Fehler liefert, liegt daran, da˚ BASIC bei der
Verarbeitung der Zeilen alle Blanks unterdrÂckt, so da˚ ASC( ) in der Form
ASC() abgespeichert wird. Dies sieht BASIC als Fehler an.
5>130
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
CP 521 BASIC
EWA 4NEB 812 6071>01
BASIC>Interpreter
Hinweis:
Das deutsche Zeichenformat ben‘tigt 8 Zeichen. Das amerikanische Zeichen>
format ben‘tigt 11 Zeichen.
Interrupts
BASIC kann zeitgesteuerte Interrupts verarbeiten. Die Anweisungen der
erforderlichen Interrupt>Routinen werden im Anwenderprogramm hinterlegt.
Die ONTIME>Anweisung (Æ Kap. 5.8.19) gibt den Interrupt frei.
5>131
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
6.4
6.4.1
6.4.2
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
6
Kommunikations>Schnittstellen
6.1
Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 >
1
6.2
Inbetriebnahme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 >
2
6.3
6.3.1
6.3.2
6.3.3
6.3.4
6.3.5
Datentransfer CPU>CP 521 BASIC . . . . . . . . . . . . . . . . . . . . .
Datentelegramme an den CP 521 BASIC senden . . . . . . .
Datentelegramme vom CP 521 BASIC empfangen . . . . . .
BASIC>Programme starten . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datenaustausch Âber Direktzugriff . . . . . . . . . . . . . . . . . . .
Uhr stellen (Status des CP 521 BASIC
und aktuelle Uhrendaten) . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6
6
6
6
6 > 29
Datentransfer CP 521 BASIC>Peripheriegerßt . . . . . . . . . .
Bidirektionale serielle Schnittstelle des CP 521 BASIC . . .
Unidirektionale serielle Schnittstelle des CP 521 BASIC .
6 > 34
6 > 34
6 > 40
EWA 4NEB 812 6071>01
>
3
>
5
> 18
> 26
> 28
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
Bilder
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
Senden und Empfangen von Daten . . . . . . . . . . . . . . . . . . .
Datentelegramme senden . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datentelegramme empfangen . . . . . . . . . . . . . . . . . . . . . . .
Ablaufschema beim Senden von Daten . . . . . . . . . . . . . . .
Ablaufschema beim Empfangen von Daten . . . . . . . . . . .
Timing>Diagramm fÂr den Datentransfer zwischen
CP 521 BASIC und Peripheriegerßt . . . . . . . . . . . . . . . . . . . .
Daten Âber die bidirektionale Schnittstelle senden . . . . .
Daten Âber die bidirektionale Schnittstelle
empfangen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Daten Âber die unidirektionale Schnittstelle senden . . .
6
6
6
6
6
>
1
>
3
>
4
>
7
> 19
6 > 37
6 > 38
6 > 39
6 > 40
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Tabellen
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
6.19
6.20
6.21
6.22
6.23
M‘gliche CPU>Auftrßge beim Senden von
Telegrammen (PAA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Koordinierungsauftrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Koordinierungsinformation . . . . . . . . . . . . . . . . . . . . . . . . .
Datentransfer: 1. Datenblock senden . . . . . . . . . . . . . . . . .
Quittierung des 1. Datenblocks . . . . . . . . . . . . . . . . . . . . . .
Datentransfer: 2. Datenblock senden . . . . . . . . . . . . . . . . .
Quittierung des 2. Datenblocks . . . . . . . . . . . . . . . . . . . . . .
Datentransfer: 43. Datenblock senden . . . . . . . . . . . . . . . .
Quittierung des letzten (43.) Datenblocks . . . . . . . . . . . . .
Koordinierungsauftrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Koordinierungsauftrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datentransfer: 1. Datenblock empfangen . . . . . . . . . . . . .
Quittierung des 1. Datenblocks . . . . . . . . . . . . . . . . . . . . . .
Datentransfer: 25. (letzten) Datenblock empfangen . . .
Quittierung des 25. Datenblocks . . . . . . . . . . . . . . . . . . . . .
Abschlie˚ende Koordinierungsinformation . . . . . . . . . . .
CPU>Auftrag ∫Programm starten∫ . . . . . . . . . . . . . . . . . . . .
Daten von der Baugruppe an die CPU . . . . . . . . . . . . . . . . .
Status der Baugruppe (Byte 0 im PAE) . . . . . . . . . . . . . . . .
Datum und Uhrzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zulßssiger Auftrag (Byte 0 im PAA) . . . . . . . . . . . . . . . . . . .
ebergabe von zusßtzliche Angaben beim Auftrag
∫Uhr stellen∫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bedienbare Steuersignale der bidirektionalen
V.24>Schnittstelle im Betrieb mit Modemsignalen . . . . . .
EWA 4NEB 812 6071>01
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
6
9
10
11
12
13
14
15
16
17
20
21
22
23
24
25
27
29
30
31
33
6 > 33
6 > 35
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
CP 521 BASIC
6
Kommunikations>Schnittstellen
Kommunikations>Schnittstellen
In diesem Kapitel des GHB wird theoretisch der Datenaustausch zwischen CPU,
CP!521 BASIC und angeschlossenem Peripheriegerßt beschrieben.
Eine vollstßndige Zusammenstellung aller notwendigen FBs und OB1 fÂr das
fehlerfreie AusfÂhren von Sende> und Empfangsauftrßgen mit dem CP 521 BASIC
finden Sie im Kapitel 8. D.h., insbesondere die folgenden Kapitel 6.3.1 und 6.3.2
braucht der Anwender nur im Fall von Fehlersuche oder zum selbstßndigen
Programmieren von FBs zu lesen.
6.1
Allgemeines
FÂr die Kommunikation des CP 521 BASIC mit Peripheriegerßten Âber die seriellen
Schnittstellen werden parametrierbare Treiber eingesetzt. Die DatenÂbertra>
gung erfolgt interpretierend mit oder ohne HW>Protokoll oder SW>Protokoll.
Die ebertragung der Daten erfolgt in zwei Schritten:
1. CPU N CP 521 BASIC
Die ebertragung eines Telegramms zwischen CPU und CP 521 BASIC erfolgt in
8>Byte>Bl‘cken (6 Byte Nutzdaten).
2. CP 521 BASIC N Peripheriegerßte
Der Datentransfer Âber die seriellen Schnittstellen wird vom CP 521 BASIC
nach einem Ansto˚ Âber das BASIC>Programm selbstßndig abgewickelt.
CPU
1
CP 521 BASIC
AG100>Bus
2
Peripherie>
gerßt
Peripherie>
Schnittstellen
Bild 6.1 Senden und Empfangen von Daten
Die ebertragung hßngt ab
f von der Art der Schnittstelle (TTY oder V.24)
f ob bei Verwendung der V.24>Schnittstelle Handshake parametriert ist (Hand>
shake OFF oder ON).
EWA 4NEB 812 6071>01
6>1
Kommunikations>Schnittstellen
6.2
CP 521 BASIC
Inbetriebnahme
Bevor Sie die Baugruppe in Betrieb nehmen, mÂssen folgende Voraussetzungen
erfÂllt sein:
1. Einstellungen am Peripheriegerßt
Die Einstellungen am Peripheriegerßt und die Parametrierungsdaten des
CP!521!BASIC mÂssen Âbereinstimmen. Wenn zum Beispiel Ihr Peripheriegerßt
Daten mit 2400!Bd Âbertrßgt, mu˚ diese Baudrate auch an der Baugruppe
eingestellt sein.
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
2. Parametrierung des CP 521 BASIC
Sie haben drei M‘glichkeiten, die Baugruppe zu parametrieren:
f Beim Hochlauf des CP 521 BASIC wird mittels der Auto>Baud>Routine die
Schnittstelle mit Default>Einstellungen parametriert, wobei die Baudrate
individuell automatisch erkannt wird.
f Parametrierung des CP 521 BASIC Âber die ∫PROG∫> Befehle (Æ Kap. 5.7.4).
f Sie legen die Parametrierungsdaten Âber den BASIC>Befehl INIT fest
(Æ!Kap.!5.8.3).
Hinweis:
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Nach erstmaligem Einschalten setzt der CP 521 BASIC eine V.24>Schnittstelle,
8!Datenbits, gerades Paritßtsbit, 1 Stoppbit und keine Handshakes voraus. Eine
der Baudraten (110, 200, 300, 600, 1200, 2400, 4800, 9600) Bd wird automatisch
erkannt.
Wollen Sie mit einem Terminal oder PG mit TTY>Schnittstelle arbeiten, mÂssen
Sie die bidirektionale Schnittstelle (Defaulteinstellung V.24) umparametrieren.
Es!wird folgendes Vorgehen empfohlen:
∏ Schlie˚en Sie zuerst ein Terminal oder PG mit V.24>Schnittstelle (PG 7XX) an.
∏ Legen Sie mit INIT die zu ßndernden Schnittstellen>Parameter fest.
∏ Speichern Sie die Parameter in den batteriegepufferten RAM>Speicher mit
PROG1 bzw. PROG2 ab.
∏ NETZ> AUS
∏ Ersetzen Sie angeschlossenes Terminal/PG 7XX durch gewÂnschtes Terminal/
PG mit TTY>Schnittstelle.
∏ NETZ > EIN
6>2
EWA 4NEB 812 6071>01
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
CP 521 BASIC
6.3
Kommunikations>Schnittstellen
Datentransfer CPU > CP 521 BASIC
Hinweis:
Wßhrend laufendem Telegrammverkehr zwischen CPU und CP 521 BASIC sind
keine Proze˚alarme (CPU 103) zulßssig.
SENDEN:
Die CPU Âbertrßgt Telegramme, die maximal 256 Bytes lang sein dÂrfen in 8>Byte>
Bl‘cken. Jeder Block besteht aus 6 Byte Daten und 2 Koordinierungsbytes. Der
Empfang eines jeden Blockes wird vom CP 521 BASIC quittiert.
CPU
CP
Telegramm senden
Telegramm empfangen
EWA 4NEB 812 6071>01
Empfangsfach
Sendefach
Bild 6.2 Datentelegramme senden
1. Sendeansto˚ durch die CPU
Mit dem Auftrag A001H ∫Daten senden∫ st‘˚t die CPU den Datentransfer zum
CP!521 BASIC an. Mit diesem Auftrag wird auch die Sendelßnge (Telegramm>
lßnge) festgelegt.
2.CP>Quittung
Der CP 521 BASIC quittiert der CPU den Auftragseingang mit 5001H.
3. DatenblockÂbergabe
Die CPU wertet die RÂckmeldung aus und beginnt mit der ebergabe der
aktuellen Daten erst dann, wenn keine Fehler festgestellt werden. Eingeleitet
wird die DatenblockÂbergabe mit dem Auftrag B0H und der Angabe der gerade
Âbertagenen Datenblocknummer. Darauf folgen 6 Byte Daten. Der zuletzt
Âbertragene Datenblock braucht nicht unbedingt 6 Bytes zu enthalten.
6>3
Kommunikations>Schnittstellen
CP 521 BASIC
4. CP>Quittung
Der CP 521 BASIC quittiert alle Datenbl‘cke und legt sie solange in einem
Empfangspuffer ab, bis er ein vollstßndiges Telegramm erhalten hat. Ein Tele>
gramm darf h‘chstens 256!Bytes lang sein.
5. TelegrammÂbergabe
Der CP 521 BASIC fa˚t die Datenbl‘cke zu einem Telegramm zusammen. Diese
Daten stehen dem BASIC>Programm zur weiteren Bearbeitung zur VerfÂgung.
EMPFANGEN:
Zur Pufferung der Daten steht ein Sendepuffer zur VerfÂgung, in dem bis
256!Byte Daten zwischengespeichert werden.
Hierzu mÂssen sie von einem BASIC>Programm in den Sendepuffer abgelegt wer>
den. Die DatenÂbergabe vom CP 521 BASIC zur CPU ist im folgenden beschrieben.
Vor der DatenÂbergabe mu˚ das Senden vom BASIC>Programm angesto˚en
worden sein.
CP
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaa
CPU
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaa
Telegramm senden
Telegramm empfangen
Empfangsfach
Sendefach
Bild 6.3 Datentelegramme empfangen
1. Empfangsansto˚
Die CPU sendet einen Auftrag ∫Datenempfang koordinieren∫ (A080H) zum
CP!521!BASIC.
2. CP>Quittung
Der CP 521 BASIC startet die DatenÂbertragung und sendet die ersten sechs Bytes
des Telegramms zusammen mit einer Blocknummer aus dem Sendepuffer zur
CPU (FIFO>Prinzip).
6>4
EWA 4NEB 812 6071>01
CP 521 BASIC
Kommunikations>Schnittstellen
3. CPU>Quittung
Die CPU quittiert die empfangenen Daten mit C0H und der Nummer des
eingegangenen Datenblocks. Die Baugruppe sendet einen weiteren Block usw.,
bis das gesamte Telegramm vom CP 521 BASIC zur CPU Âbertragen ist.
4. Abschlu˚meldung
Auf den Auftrag ∫Datentransfer koordinieren∫ bekommt die CPU sofort die
abschlie˚enden Quittungen:
f 5000H in EW0 und 00XXH in EW2 auf die Auftrßge A001H und A080H,
wenn ein Telegramm vollstßndig Âbertragen wurde und die Daten gÂltig
sind oder
f 5000H in EW0 und FFXXH in EW2 auf den Auftrag A001H,
wenn bereits ein Telegramm im Empfangspuffer vorhanden ist, die Para>
meter fÂr Telegrammlßnge oder Endezeichen falsch sind oder die Daten
ungÂltig sind.
f 5000H in EW0 und FFXXH in EW2 auf den Auftrag A080H,
wenn kein Telegramm im Sendepuffer vorhanden ist oder die Daten ungÂltig
sind.
6.3.1
Datentelegramme an den CP 521 BASIC senden
Die CPU Âbertrßgt Telegramme, die max. 256 Byte lang sein dÂrfen, in acht Byte
gro˚en Bl‘cken. Jeder Block besteht aus einer zwei Byte langen Kopfkennung
und sechs Byte Daten.
1. Die CPU st‘˚t den Datentransfer mit dem Auftrag A001H an. Mit diesem
Auftrag wird auch die Telegrammlßnge festgelegt (—).
2. Der CP 521 BASIC quittiert der CPU den Eingang dieses Auftrags (“).
3. Die CPU wertet die CP>RÂckmeldung aus, und erst wenn kein Fehler festge>
stellt wurde, beginnt die CPU aktuelle Daten zu Âbertragen. Die ebertragung
wird mit dem Auftrag B0H und der Angabe einer Datenblocknummer einge>
leitet (”). Darauf folgen sechs Byte Daten. Der letzte Datenblock darf >
abhßngig von der Sendelßnge oder Endezeichen > auch kleiner als 6 Byte sein.
4. Der CP 521 BASIC schreibt den Block in seinen Empfangspuffer, wo er zu>
nßchst das gesamte Telegramm sammelt. Nach jedem Acht>Byte>Block be>
kommt die CPU von dem CP 521 BASIC eine Quittung (‘).
5. Daraufhin schickt die CPU den nßchsten Datenblock an den CP 521 BASIC,
usw. Diese DatenÂbertragung setzt sich so lange fort, bis alle Datenbl‘cke
eines Telegramms transferiert sind. Ein Telegramm darf maximal 256 Bytes
lang sein.
EWA 4NEB 812 6071>01
6>5
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
Kommunikations>Schnittstellen
Byte 0
f
f
6>6
CP 521 BASIC
6. Nachdem der letzte Datenblock vollstßndig empfangen wurde, quittiert der
CP 521 BASIC mit der Abschlu˚meldung 5000H.
7. Der CP 521 BASIC fa˚t die Datenbl‘cke zu einem Telegramm zusammen. Die
Daten Stehen dem BASIC>Programm zur weiteren Bearbeitung zur VerfÂgung.
Hinweis:
Im Empfangspuffer des CP 521 BASIC kann nur 1 Telegramm gespeichert wer>
den. Erst wenn dieses Telegramm vom BASIC>Programm entsorgt wurde, kann
die CPU das nßchste Sendetelegramm an den CP 521 BASIC Âbergeben.
Telegramme unter Angabe der Lßnge an den CP 521 BASIC senden
Im folgenden ist beschrieben, mit welchen Auftrßgen die CPU den CP 521 BASIC
veranla˚t, Daten zu senden, und wie der CP 521 BASIC diese Auftrßge quittiert.
Tabelle 6.1 M‘gliche CPU>Auftrßge beim Senden von Telegrammen (PAA)
Bedeutung
A0H
Datentransfer koordinieren
B0H
Datentransfer CPU Æ CP 521 BASIC abwickeln
Die DatenÂbertragung Âber den CP 521 BASIC verlßuft in zwei Schritten:
Zunßchst wird der Datentransfer zwischen CPU und CP 521 BASIC koordiniert.
Erst danach werden die Daten Âbertragen.
Den gesamten Ablauf des Datentransfers beim Senden von Daten zeigt das
Schema auf den beiden folgenden Seiten. Eine Beschreibung der dort
aufgefÂhrten Schritte erfolgt im Anschlu˚.
Dargestellt sind Datenbl‘cke von jeweils acht Bytes, wie sie beim Senden von
Telegrammen genutzt werden. Dabei wechseln sich von Block zu Block Auftrag
der CPU und die entsprechende Quittierung des CP 521 BASIC ab.
EWA 4NEB 812 6071>01
CP 521 BASIC
Kommunikations>Schnittstellen
Datentransfer: CPU O CP 521 BASIC
CPU O CP 521 BASIC
Byte
—
0
1
2
3
4
5
6
7
A0H
01H
nnH
nnH
nnH
nnH
xxH
xxH
Koord.
auftr.
Koord.
byte:
SENDEN
Sendelßnge
Endezeichen
irrelevant
CPU M CP 521 BASIC
“
50H
01H
00H
xxH
nnH
Koord.
info.
Koord.
byte
Daten
gÂltig
irrel.
Telegr.
anzahl
xxH
xxH
xxH
irrelelvant
CPU O CP 521 BASIC
”
B0H
01H
nnH
Daten>
trans.
Block>
nummer
nnH
nnH
nnH
nnH
nnH
Daten
CPU M CP 521 BASIC
‘
50H
01H
00H
01H
nnH
Koord.
info.
Koord.
byte
Daten
gÂltig
Block>
nummer
Telegr.
anzahl
xxH
xxH
xxH
irrelelvant
Bild 6.4 Ablaufschema beim Senden von Daten
EWA 4NEB 812 6071>01
6>7
Kommunikations>Schnittstellen
CP 521 BASIC
CPU O CP 521 BASIC
’
B0H
02H
nnH
Daten>
trans.
Block>
nummer
nnH
nnH
nnH
nnH
nnH
Daten
CPU M CP 521 BASIC
÷
50H
01H
00H
02H
nnH
xxH
Koord.
info.
Koord.
byte
Daten
gÂltig
Block>
nummer
Telegr.
anzahl
xxH
xxH
irrelelvant
...
CPU O CP 521 BASIC
◊
B0H
nrH
nnH
Daten>
trans.
Block
nummer
nnH
nnH
nnH
nnH
nnH
letzter Datenblock
CPU M CP 521 BASIC
ÿ
50H
00H
00H
nrH
nnH
Koord.
info.
Koord.
byte
Daten
gÂltig
Block>
nummer
Telegr.
anzahl
xxH
xxH
xxH
irrelelvant
Bild 6.4 Ablaufschema beim Senden von Daten (Fortsetzung)
Die Schritte — bis ÿ sind im folgenden nßher erlßutert.
6>8
EWA 4NEB 812 6071>01
CP 521 BASIC
Kommunikations>Schnittstellen
— CPU>Auftrag: Datentransfer koordinieren (A0H)
Um den Datentransfer zu koordinieren, wird der Auftrag A0H in Byte 0 des PAA
geschrieben. Dadurch ist die Bedeutung der Bytes 1 bis 7 festgelegt.
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
Tabelle 6.2 Koordinierungsauftrag
Byte
Wert
Bedeutung
Auftrag:
Datentransfer koordinieren
0
A0H
1
01H
2
01H
Sendelßnge (hier: 256 Bytes) High>Byte
3
00H
Sendelßnge (hier: 256 Bytes) Low>Byte
4
00H
5
00H
6
irrelevant
7
irrelevant
Telegramm senden
Endezeichen 1, 2; hier ohne Bedeutung
Byte 1:
Sie geben die Sendeerlaubnis fÂr ein Telegramm, indem Sie
Bit!0=1 setzen. Damit ist der Datentransfer angesto˚en. Der
CP!521!BASIC setzt dieses Bit zurÂck, nachdem er das Telegramm an
die CPU weitergegeben hat.
Bytes 2 u. 3:
Byte 2 und 3 geben die Telegrammlßnge an. Sie kann im Bereich
0001H ... 0100H liegen.
Bei der Telegrammlßnge 0 wertet der CP 521 BASIC die Endezeichen aus. Sind
Sendelßnge und Endezeichen 0, liegt ein fehlerhafter Auftrag vor.
Wenn Daten von der CPU zum CP 521 BASIC gesendet werden sollen, so sind die
Parameter ∫Sendelßnge∫ oder ∫Endezeichen∫ dem CP 521 BASIC mit dem Sende>
auftrag zu Âbergeben.
EWA 4NEB 812 6071>01
6>9
Kommunikations>Schnittstellen
CP 521 BASIC
“ CP>RÂckmeldung zum Auftrag A001H
Wenn der CP 521 BASIC den Auftrag A0H ∫Datentransfer koordinieren∫ mit
gesetztem Sendebit 01H (∫Telegramm senden∫) erhßlt, und wenn kein Fehler
vorliegt, quittiert der CP 521 BASIC den Auftrag der CPU wie folgt (PAE):
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaa
a
Tabelle 6.3 Koordinierungsinformation
Byte
Wert
Bedeutung
Quittierung: Koordinierungsinformation
0
50H
1
01H
2
00H / FFH
3
irrelevant
4
00H / 01H
5
irrelevant
6
irrelevant
7
irrelevant
Koordinierungsbit ∫Senden∫ gesetzt
Koordinierungsdaten gÂltig / ungÂltig
Telegramm im CP>Sendepuffer nicht vorhanden/
vorhanden
Byte 0:
Quittierung zum Auftrag: Datentransfer ∫Senden∫ koordinieren.
Im niederwertigen Halbbyte (X) k‘nnen Status> und Fehlermeldun>
gen hinterlegt sein (Æ Kap. 7).
Byte 1:
Koordinierungsbit ∫Senden∫ gesetzt. Sind Koordinierungsdaten
der CPU ungÂltig, so setzt der CP 521 BASIC das ∫Sendebit∫ auf 00H
zurÂck.
Byte 2:
gibt
an,
ob
die
Koordinierungsdaten
gÂltig
(00H
)
oder
ungÂltig
(FFH) sind.
Byte 4:
6>10
meldet, ob ein Telegramm im Sendepuffer des CP 521 BASIC vor>
handen ist.
EWA 4NEB 812 6071>01
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
CP 521 BASIC
Byte
Kommunikations>Schnittstellen
die eigentliche DatenÂbertragung (” bis ÿ).
Sobald der Datentransfer koordiniert ist (— und “), beginnt mit dem Auftrag B0H
Hinweis:
Der CP 521 BASIC Âbertrßgt in den Bytes 1 bis 7 Âblicherweise Datum und
Uhrzeit zur CPU (Æ Kap. 6.3.5). Hat Byte 0 den Wert 50H oder 60H, so dÂrfen Sie
diese Werte jedoch nicht als Uhrzeit interpretieren.
” CPU>Auftrag: ∫Daten senden∫ (B0H)
Nachdem Sie den Auftrag A0H ausgegeben und eine entsprechende Quittierung
vom CP 521 BASIC erhalten haben, geben Sie den Auftrag B001H mit dem 1. Da>
tenblock des Telegramms aus (PAA).
Tabelle 6.4 Datentransfer: 1. Datenblock senden
Wert
0
B0H
1
01H
4
EWA 4NEB 812 6071>01
Bedeutung
Auftrag:
Daten senden
Nummer des 1. Datenblocks
2
3
Daten
5
6
7
6>11
Kommunikations>Schnittstellen
CP 521 BASIC
Byte 0:
Auftrag: Daten senden. Nach diesem Auftrag B0H interpretiert der
CP 521 BASIC die Bytes 2 bis 7 als Daten.
Byte 1:
Gibt die Nummer des Datenblocks an, der gerade Âbertragen wird
(hier: 1). In Ihrem Anwenderprogramm mÂssen Sie diese Block>
nummer > bei 01H beginnend > hochzßhlen, sooft Sie einen Daten>
block zum CP 521 BASIC senden. Das geschieht solange, bis das
gesamte Datentelegramm zum CP 521 BASIC Âbertragen ist.
‘ CP>RÂckmeldung zum Auftrag B001H
Den Auftrag ∫1. Datenblock des Telegramms senden∫ quittiert der CP 521 BASIC
wie folgt (PAE):
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaa
a
Tabelle 6.5 Quittierung des 1. Datenblocks
Byte
Wert
Bedeutung
0
50H
Quittierung zum Auftrag: Daten senden
1
01H
Koordinierungsbit ∫Senden∫ gesetzt, wenn Daten
gÂltig
2
00H
Daten gÂltig
3
01H
Nummer des 1. Datenblocks
4
00H / 01H
Telegramm im CP>Sendepuffer nicht vorhanden/
vorhanden
5
irrelevant
6
irrelevant
7
irrlevant
Byte 3:
6>12
Gibt die Nummer des Datenblocks an, den der CP 521 BASIC gerade
erhalten hat (hier: 1).
EWA 4NEB 812 6071>01
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
CP 521 BASIC
Byte
Kommunikations>Schnittstellen
Hinweis:
Beachten Sie, da˚ der CP 521 BASIC nur auf eine Signalßnderung in Byte 0 oder
1 des PAA reagiert. Da sich der Auftrag B0H in Byte 0 nicht ßndert, solange
Daten eines Telegramms gesendet werden, mÂssen Sie unbedingt in Byte 1 die
Blocknummer hochzßhlen, bis alle Datenbl‘cke des Telegramms Âbertragen
sind. Senden Sie eine falsche Blocknummer, dann wird der Datentransfer mit
der RÂckmeldung 5000H gestoppt, und der CP 521 BASIC meldet bei weiteren
Auftrßgen B0H im Statusbyte 0 der Baugruppe ∫Fehlerhafter Auftrag∫ (40H).
Die Daten werden verworfen.
Senden Sie den nßchsten Auftrag B0H mit hochgezßhltem Byte 1 (’), so quittiert
der CP 521 BASIC mit hochgezßhltem Byte 3 (÷).
’ CPU>Auftrag: B002H
Tabelle 6.6 Datentransfer: 2. Datenblock senden
Wert
0
B0H
1
02H
4
EWA 4NEB 812 6071>01
Bedeutung
Auftrag:
Daten senden
Nummer des 2. Datenblocks
2
3
Daten
5
6
7
6>13
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaa
a
Kommunikations>Schnittstellen
Byte
6>14
Wert
CP 521 BASIC
Tabelle 6.7 Quittierung des 2. Datenblocks
÷ CP>RÂckmeldung zum Auftrag B002H
Bedeutung
0
50H
Quittierung zum Auftrag: Daten senden
1
01H
Koordinierungsbit ∫Senden∫ gesetzt, wenn Daten
gÂltig
2
00H
Daten gÂltig
3
02H
Nummer des 2. Datenblocks
4
00H / 01H
Telegramm im CP>Sendepuffer nicht vorhanden/
vorhanden
5
irrelevant
6
irrelevant
7
irrlevant
EWA 4NEB 812 6071>01
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
CP 521 BASIC
Byte
Kommunikations>Schnittstellen
Senden Sie ein Telegramm mit variabler Lßnge und nutzen die maximale Tele>
grammlßnge, so sehen letzter CPU>Auftrag (◊) und CP>Quittierung (ÿ) folgen>
derma˚en aus:
◊ CPU>Auftrag: B02BH
Tabelle 6.8 Datentransfer: 43. Datenblock senden
Wert
0
B0H
1
2BH
EWA 4NEB 812 6071>01
Bedeutung
Auftrag:
Daten senden
Datenblocknummer 43 (max.)
2
Daten
3
Daten
4
Daten
(Byte 255)
5
Daten
(Byte 256)
6
irrelevant
7
irrelevant
Hinweis:
Da ein Telegramm aus maximal 256 Bytes bestehen darf, k‘nnen Sie h‘chstens
43 Datenbl‘cke in einem Telegramm Âbertragen (42 ° 6 Bytes und 1 ° 4 Bytes).
Somit stehen Ihnen im letzten Datenblock (2BH) nur noch vier Bytes fÂr Daten
zur VerfÂgung.
6>15
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
Kommunikations>Schnittstellen
Byte
6>16
Wert
CP 521 BASIC
ÿ CP>RÂckmeldung zum Auftrag B02BH
Tabelle 6.9 Quittierung des letzten (43.) Datenblocks
Bedeutung
0
50H
Quittierung zum Auftrag: Daten senden
1
00H
Koordinierungsbit ∫Senden∫ rÂckgesetzt, da letzter
Datenblock
2
00H / FFH
Koordinierungsdaten gÂltig / ungÂltig
3
2BH
Nummer des 43. Datenblocks (max.)
4
00H / 01H
Telegramm im CP>Sendepuffer nicht vorhanden/
vorhanden
5
irrelevant
6
irrelevant
7
irrelevant
Telegramme mit Endezeichen senden
Der Datentransfer mit variabler Telegrammlßnge lßuft ßhnlich ab wie der mit
fester Telegrammlßnge. Im Unterschied zu diesem mÂssen Sie beim Senden mit
variabler Lßnge zusammen mit dem Auftrag A001H (vgl.: — Telegramme senden)
ein oder zwei Endezeichen in den Bytes 4 und 5 Âbergeben (ÆTab.6.10).
EWA 4NEB 812 6071>01
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaa
a
CP 521 BASIC
Byte
Kommunikations>Schnittstellen
Tabelle 6.10 Koordinierungsauftrag
Tabelle 6.11 Koordinierungsauftrag
Wert
EWA 4NEB 812 6071>01
Bedeutung
0
A0H
1
01H
2
00H
Telegrammlßnge (hier: variable Lßnge)
3
00H
Telegrammlßnge (hier: variable Lßnge)
4
0DH
Endezeichen (nur wenn Telegrammlßnge = 0)
5
0DH
Endezeichen (nur wenn Telegrammlßnge = 0)
6
irrelevant
7
irrelevant
Auftrag:
Datentransfer koordinieren
Telegramm senden (Sendebit)
Bytes 2 u. 3:
Hier k‘nnen Sie festlegen, wie lang ein Telegramm sein soll (0000H!>
0100H). Wenn sie Telegramme mit variabler Lßnge senden wollen,
programmieren sie hier 0000H = variable Lßnge. Sie mÂssen dann
in den Bytes 4 und 5 noch ein oder zwei Endezeichen festlegen.
Bytes 4 u. 5:
Hier bestimmen Sie Ihre Endezeichen. Wenn Sie zwei Endezeichen
nutzen wollen, belegen Sie beide Bytes. Wenn Sie nur ein Ende>
zeichen nutzen, belegen sie nur Byte 5.
Hinweis:
Ist das Telegramm lßnger als 256 Daten > Bytes (> 0100H), reagiert der
CP!521!BASIC mit der RÂckmeldung 5000H und anschlie˚end mit der Meldung
40H ∫Fehlerhafter Auftrag∫. Mit der gleichen Fehlermeldung reagiert der
CP!521!BASIC, wenn er nach 256 empfangenen Daten>Bytes noch kein(e)
Endezeichen erkannt hat. Die von der CPU gesendeten Daten werden dann
verworfen.
6>17
Kommunikations>Schnittstellen
6.3.2
CP 521 BASIC
Datentelegramme vom CP 521 BASIC empfangen
Das Senden der Telegramme an die CPU wird vom CP 521 BASIC selbstßndig
abgewickelt.
Der CP 521 BASIC sendet Daten an die CPU aus dem 256 Byte gro˚en Sendepuffer.
Sie programmieren die CPU so, da˚ sie das anstehende Telegramm in Acht>Byte>
Bl‘cken (zwei Auftragsbytes und sechs Datenbytes) aus dem Sendefach des
CP!521 BASIC ausliest:
1. Die CPU sendet einen Auftrag: Datentransfer ∫Empfangen∫ koordinieren
CP 521 BASIC.
2. Der CP 521 BASIC startet die DatenÂbertragung. Er sendet die ersten sechs
Bytes aus dem Sendepuffer (FIFO>Speicher).
3. Die CPU quittiert die empfangenen Daten.
4. Der CP 521 BASIC sendet einen weiteren Block usw., bis das gesamte
Telegramm zur CPU Âbertragen ist.
Nach dem Auftrag ∫Empfang koordinieren∫ (A080H) bekommt die CPU sofort die
abschlie˚ende Quittung des gerade empfangenen Telegramms.
Der Datenaustausch Âber den CP 521 BASIC verlßuft in zwei Schritten:
f
f
Zunßchst wird der Datentransfer zwischen CPU und CP 521 BASIC koordiniert.
Erst danach kann der CP 521 BASIC Daten, die er im Sendefach zwischen>
gespeichert hat, an die CPU Âbertragen.
Den gesamten Ablauf der DatenÂbertragung beim Empfangen von Datentele>
grammen zeigt Bild 6.8. Eine Beschreibung der dort aufgefÂhrten Schritte erfolgt
im Anschlu˚.
Dargestellt sind Datenbl‘cke von jeweils acht Bytes, wie sie beim Empfangen von
Telegrammen genutzt werden. Dabei wechseln sich von Block zu Block Auftrag
der CPU und die entsprechende Quittierung des CP 521 BASIC ab.
6>18
EWA 4NEB 812 6071>01
zum
CP 521 BASIC
Kommunikations>Schnittstellen
Datentransfer: CP 521 BASIC O CPU
CPU O CP 521 BASIC
Byte
—
0
1
2
3
4
5
6
7
A0H
80H
xxH
xxH
xxH
xxH
xxH
xxH
Koord.
auftr.
Koord.
byte:
EMPF.
irrelevant
CPU M CP 521 BASIC
“
60H
01H
nnH
Daten>
trans.
Block>
nummer
nnH
nnH
nnH
nnH
nnH
Daten
CPU O CP 521 BASIC
”
C0H
01H
xxH
Quitt.
Block>
nummer
nnH
nnH
nnH
nnH
irrelevant
...
‘
nnH
CPU M CP 521 BASIC
60H
nrH
nnH
Daten>
trans.
Block>
nummer
nnH
nnH
nnH
nnH
nnH
Daten
CPU O CP 521 BASIC
’
C0H
nrH
xxH
Quitt.
Block>
nummer
nnH
nnH
nnH
nnH
irrelevant
...
÷
nnH
CPU M CP 521 BASIC
50H
00H
00H
xxH
nnH
Koord.
info.
Koord.
byte
Daten
gÂltig
irrel.
Telegr.
anzahl
xxH
xxH
xxH
irrelelvant
Bild 6.5 Ablaufschema beim Empfangen von Daten
EWA 4NEB 812 6071>01
6>19
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
Kommunikations Schnittstellen
Byte
Byte 1:
6>20
Wert
0
A0H
1
80H
2
irrelevant
3
irrelevant
4
irrelevant
5
irrelevant
6
irrelevant
7
irrelevant
Auftrag:
CP 521BASIC
— CPU>Auftrag: Datentransfer koordinieren (A0H)
Um den Datentransfer zu koordinieren, schreiben Sie den Auftrag A0H in Byte!0
des PAA. Dadurch ist die Bedeutung der Bytes 1 bis 7 festgelegt.
Tabelle 6.11 Koordinierungsauftrag
Bedeutung
Datentransfer koordinieren
Telegramm empfangen (Empfangsbit)
Sie geben die Empfangserlaubnis fÂr ein Telegramm, indem Sie
Bit!7=1 setzen. Damit ist der Datentransfer angesto˚en. Der
CP!521!BASIC setzt dieses Empfangsbit zurÂck, nachdem ein
komplettes Empfangstelegramm zur CPU geschickt wurde.
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
CP 521 BASIC
Byte
Kommunikations>Schnittstellen
“ CP>RÂckmeldung zum Auftrag A080H
Wenn der CP 521 BASIC den Auftrag A0H (Datentransfer koordinieren) mit
gesetztem Empfangsbit 80H (Telegramm empfangen) erhßlt und wenn kein
Fehler vorliegt, quittiert der CP 521 BASIC den CPU>Auftrag mit 60H in Byte 0:
Tabelle 6.12 Datentransfer: 1. Datenblock empfangen
Wert
4
EWA 4NEB 812 6071>01
Bedeutung
0
60H
Datentransfer CP 521 BASIC O CPU
1
01H
Nummer des 1. Datenblocks
2
3
Daten
5
6
7
Byte 1:
Gibt die Nummer des Datenblocks an, den der CP 521 BASIC an die
CPU Âbergibt. Beginnend mit Block 01H erh‘ht der CP 521 BASIC
die Blocknummer kontinuierlich um 1, sooft er einen Datenblock
an die CPU Âbergibt.
Byte 2 bis 7:
Daten, die vom CP 521 BASIC in das PAE Âbertragen werden.
6>21
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
Kommunikations Schnittstellen
Byte
Byte 1:
6>22
Wert
CP 521BASIC
” CPU>Quittierung (C0H)
Die CPU quittiert den Eingang des Datenblocks mit C0H im Byte 0:
Tabelle 6.13 Quittierung des 1. Datenblocks
Bedeutung
0
C0H
quittiert den Eingang des 1. Datenblocks
1
01H
Nummer des 1. Datenblocks
2
irrelevant
3
irrelevant
4
irrelevant
5
irrelevant
6
irrelevant
7
irrelevant
Nummer des Datenblocks, den die CPU erhalten hat (hier 01H). Die
quittierte Blocknummer mu˚ mit der Nummer des gesandten
Blocks Âbereinstimmen. Ansonsten wird die DatenÂbertragung ab>
gebrochen.
Hinweis:
Der CP 521 BASIC sendet einen Datenblock solange zur CPU, bis er die Quittier>
ung empfßngt. Daher wird die CPU in dem Datenzyklus, in welchem sie
quittiert, vom CP 521 BASIC noch einmal die Daten des soeben quittierten
Blocks empfangen. Darauf mu˚ das CPU>Programm achten, da sonst der
CP!521!BASIC eine Quittierung mit falscher Blocknummer empfßngt und den
Datentransfer abbricht.
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
CP 521 BASIC
Byte
Kommunikations>Schnittstellen
Der Datentransfer setzt sich in der beschriebenen Weise solange fort, bis die CPU
den letzten Datenblock des Telegramms quittiert hat (’). Der CP 521 BASIC
beendet den Datentransfer mit einer letzten abschlie˚enden RÂckmeldung(÷):
‘ CP>RÂckmeldung auf die CPU>Quittierung C0H
Tabelle 6.14 Datentransfer: 25. (letzten) Datenblock empfangen
Wert
4
EWA 4NEB 812 6071>01
Bedeutung
0
60H
Datentransfer CP 521 BASIC O CPU
1
19H
Nummer des letzten Datenblocks: hier 25D
2
3
Daten
5
6
7
6>23
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
Kommunikations Schnittstellen
Byte
6>24
Wert
CP 521BASIC
’ CPU>Quittierung fÂr den 25. Datenblock
Tabelle 6.15 Quittierung des 25. Datenblocks
Bedeutung
0
C0H
quittiert den Eingang des letzten Datenblocks
1
19H
Nummer des 25. Datenblocks
2
irrelevant
3
irrelevant
4
irrelevant
5
irrelevant
6
irrelevant
7
irrelevant
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
CP 521 BASIC
Byte
Kommunikations>Schnittstellen
÷ Abschlie˚ende RÂckmeldung des CP 521 BASIC
Tabelle 6.16 Abschlie˚ende Koordinierungsinformation
Wert
EWA 4NEB 812 6071>01
Bedeutung
0
50H
Koordinierungsinformation
1
00H
Koordinierungsbit zurÂckgesetzt
2
00H / FFH
Daten gÂltig / Daten ungÂltig
3
irrelevant
4
00H
5
irrelevant
6
irrelevant
7
irrelevant
irrelevant
Byte 1:
Das Koordinierungsbit ist zurÂckgesetzt
Byte 2:
Daten gÂltig / Daten ungÂltig
6>25
Kommunikations Schnittstellen
CP 521BASIC
6.3.3 BASIC>Programme starten
Zum Start eines Programmes auf dem CP 521 BASIC gibt es mehrere M‘glich>
keiten:
f
f
f
Im Kommando>Modus durch die BASIC>SchlÂsselworte RUN bzw. RROM.
Ein im RAM oder im externen Speichermodul vorhandenes BASIC>Programm
wird gestartet, wenn sich der Betriebsartenschalter beim Einschalten in Stel>
lung RUN befindet und mit dem letzten Befehl PROG der Parameter 1 oder 2
verwendet wurde.
Automatischer Start durch Definieren eines Startprogramms auf dem
CP!521!BASIC mit Hilfe des Befehls PROG1 oder PROG2.
Start eines Programms mittels des CPU>Auftrags D0H. Dies erfolgt unabhßngig
von der Stellung des Betriebsartenschalters (PROG/RUN).
Die ersten zwei M‘glichkeiten wurden bereits im vorhergehenden Kapitel be>
schrieben.
Im folgenden Abschnitt wird der Start eines BASIC>Programms Âber CPU>Auftrag
erlßutert. Bei Fehlern des BASIC>Programms mit anschlie˚endem STOP lß˚t sich
auf diesem Weg zum Beispiel das Programm neu starten.
Ein laufendes Programm kann mit diesem Auftrag nicht unterbrochen werden.
6>26
EWA 4NEB 812 6071>01
CP 521 BASIC
Kommunikations>Schnittstellen
CPU>Auftrag ∫Programm starten∫ (D0H)
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
Tabelle 6.17 CPU>Auftrag ∫Programm starten∫
Byte
Wert
Bedeutung
0
D0H
Auftrag ∫Programm starten∫
1
Nr.
Nummer des zu startenden Programms
00H
Programm steht im RAM
01H...FEH
Programm >Nummer im Speichermodul
FFH
BASIC>Interpreter rÂcksetzen
2...7
irrelevant
>
Byte 0: Auftrag ∫Programm starten∫
Dies trifft nur zu, wenn kein Programm lßuft.
Byte 1: Enthßlt die Nummer des Programms, das gestartet werden soll.
Nr. = 00H: Das im baugruppeneigenen RAM stehende Programm wird
gestartet. Befindet sich kein Programm im RAM, schaltet der Interpreter
in den Kommando>Modus und wartet auf Eingaben vom Terminal.
Nr. = 01H...FEH: Das im Speichermodul unter der Nr. abgelegte Pro>
gramm wird gestartet. Befindet sich kein Programm mit dieser Nr. im
Modul, schaltet der Interpreter in den Kommando>Modus und wartet
auf Terminaleingaben.
Nr. = FFH: Der CP 521 BASIC wird zurÂckgesetzt und verhßlt sich dann
wie nach NETZ>EIN.
Byte 2...7 sind ohne Bedeutung
EWA 4NEB 812 6071>01
6>27
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa
Kommunikations Schnittstellen
6.3.4
AWL
:
:L
KH
0101
:T
:L
:T
AW
KH
AW
120
3E5F
122
:L
:T
:L
KH
AW
KH
57E8
124
3A97
Wort 2
:T
:
AW
126
Wort 3
CP 521BASIC
Datenaustausch Âber Direktzugriff
bzw. B0H
Die Kommunikation zwischen CPU und CP 521 BASIC wird Âber die Auftrßge A0H
unterstÂtzt. FÂr kurzen Datenaustausch kann es sinnvoll sein, ein
eigenes Protokoll zu programmieren.
Vom BASIC>Interpreter wird dieses Verfahren durch die Befehle SGET bzw.
SPUT!(Æ Kap. 5.9.1 bzw. 5.9.2) unterstÂtzt, die einen Direktzugriff auf die
ebergabeschnittstelle zur CPU zulassen. Es k‘nnen jeweils 8 Byte (4 Worte)
gesendet oder empfangen werden.
Bei einem eigenen Protokoll mu˚ jedoch beachtet werden, da˚ folgende
reservierte Auftragsnummern im Byte 0 nicht verwendet werden:
f A0H
f 10H
Werden Nummern > 0FH (Auftrßge) verwendet, erhßlt man die RÂckmeldung
40H!∫Fehlerhafter Auftrag∫.
Das folgende Beispiel zeigt, wie spezielle Funktionen mit Parametern Âber ein
eigenes Protokoll angesto˚en werden k‘nnen.
Erlßuterung
Kennung fÂr eigenes Protokoll schreiben in:
Wort 0
Wort 1
Diese 4 Worte k‘nnen dann mit SGET W0,...,W3 gelesen werden.
Hinweis:
Zur Annahme von Daten oder Auftrßgen ist ein Flankenwechsel im Wort 0
erforderlich
6>28
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
CP 521 BASIC
6.3.5
Byte
0
Status des CP 521 BASIC
1
Wochentag
2...7
EWA 4NEB 812 6071>01
Kommunikations>Schnittstellen
Uhr stellen
(Status des CP 521 BASIC und aktuelle Uhrendaten)
Der CP 521 BASIC stellt zyklisch Âber das PAE folgende Informationen zur Ver>
fÂgung:
Tabelle 6.18 Daten von der Baugruppe an die CPU
Bedeutung
Datum und Uhrzeit der Uhr des CP 521 BASIC
Die Informationen k‘nnen im Steuerungsprogramm mit Ladeoperationen einge>
lesen und ausgewertet werden.
Status der Baugruppe lesen (Byte 0 im PAE)
Das Byte 0 ∫Status der Baugruppe∫ ist in zwei Halbbytes aufgeteilt. Die Informa>
tionen der Halbbytes sind voneinander unabhßngig. Sie k‘nnen beliebig kombi>
niert sein. Die Signalzustßnde der Bits 4 bis 7 (linkes Halbbyte) des Bytes 0 sind fÂr
die Statusanzeige der Uhr relevant.
6>29
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaa
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaa
a
Kommunikations>Schnittstellen
Bit
Beispiel:
AWL FB 100
NAME
6>30
:FEHLER1
:L
EB 120
:L
:UW
:
KH
000F
:
:L
KH
:><F
0007
:BEB
:
:= A 1.0
:BE
CP 521 BASIC
Tabelle 6.19 Status der Baugruppe (Byte 0 im PAE)
4 bis 7
0 bis 3
Status
nßhere Erlßuterung
1
X
Uhr defekt
2
X
Default>Uhrzeit
eingestellt
Die Uhr ist mit den Werten
Sonntag, 1.1.90, 00.00.00,
gestellt worden.
3
X
Uhrzeit/Datum>Fehler
Mindestens ein Stellwert ist
au˚erhalb des erlaubten
Bereichs. Die Uhr hat die neuen
Uhrendaten nicht Âbernommen
und lßuft mit den aktuellen
Daten weiter.
X: Signalzustand fÂr die andere Bytehßlfte irrelevant
Abfrage des Status der Baugruppe (Byte 0 im PAE)
Die Baugruppe ist auf Steckplatz 7 (Anfangsadresse 120) montiert.
Wenn die Batterie defekt ist, soll Âber den Ausgang A 1.0 ein Signal geschaltet
werden.
Erlßuterung
Einlesen des Byte 0 (Statusbyte) in AKKU 1.
Durch die wortweise UND>VerknÂpfung
mit 000FH werden die Bits 4 bis 7 auf ∫0∫
gesetzt. Die Signalzustßnde der Bits 0 bis 3
bleiben erhalten.
AKKU>Inhalt mit 0007H vergleichen. Wenn
das Statusbyte nicht den Wert 7H enthßlt,
ist die Batterie in Ordnung. Dann wird die
Bearbeitung des Bausteins beendet.
Die Batterie ist defekt. Der Ausgang A 1.0
wird geschaltet.
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
CP 521 BASIC
7
Byte 5
Kommunikations>Schnittstellen
Datum und Uhrzeit (Byte 1 bis 7 im PAE)
Der CP 521 BASIC stellt die aktuellen Uhrendaten im BCD>Format zur VerfÂgung.
Im rechten Halbbyte von Byte 1 ist der aus dem Datum berechneten Wochentag
hinterlegt.
Tabelle 6.20 Datum und Uhrzeit
Byte
Wertebereich
1
1 ... 7
2
01 BCD ... 31BCD
Tag
3
01 BCD ... 12BCD
Monat
4
00 BCD ... 99BCD
Jahr
5
00 BCD ... 23BCD
Stunde in 24 h>Darstellung
6
00 BCD ... 59BCD
Minute
7
00 BCD ... 59BCD
Sekunde
EWA 4NEB 812 6071>01
Bedeutung
Bit 0 bis 3
:
1=Sonntag, 2=Montag,
3=Dienstag, 4=Mittwoch,
5=Donnerstag, 6=Freitag,
7=Samstag
* Hinweis zu Byte 5 ∫Stunde∫:
Bitnummer
6
5
4
3
2
1
0
0
X
X
X
X
X
X
X = 0 oder 1
6>31
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
Kommunikations>Schnittstellen
Beispiel:
AWL FB 100
NAME
:UHRDATEN
:L
EB 121
:T
AB
8
:L
:T
:L
EW
AW
EW
122
9
124
:T
:L
:T
AW
EW
AW
11
126
13
CP 521 BASIC
Lesen der aktuellen Uhrzeit
Die Baugruppe ist auf Steckplatz 7 (Anfangsadresse 120) angebracht.
Die Uhrendaten sollen auf Digital>Ausgabebaugruppen ab Adresse 8 ausgegeben
werden.
Erlßuterung
Auslesen des aktuellen Uhrendaten und
transferieren zu den Digital>Ausgabebau>
gruppen.
:BE
Hinweis:
Sie k‘nnen bei der Handhabung der integrierten Uhr zusßtzlich noch folgende
Meldungen auswerten:
f Uhr defekt (1XH)
Diese Fehlerauswertung ist nur nach dem Anlauf sinnvoll.
f Default>Uhrzeit eingestellt (2XH)
Diese Auswertung ist sinnvoll, wenn Sie Ihren CP 521 BASIC ohne Puffer>
batterie betreiben.
f Uhrzeit> oder Datumfehler (3XH)
Diese Auswertung ist sinnvoll, nachdem Sie die Uhr gestellt haben.
6>32
EWA 4NEB 812 6071>01
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
CP 521 BASIC
Byte 0
Byte
Kommunikations>Schnittstellen
CPU>Auftrag ∫Uhr stellen∫ (10H)
Tabelle 6.21 Zulßssiger Auftrag (Byte 0 im PAA)
Byte 1
10H
EWA 4NEB 812 6071>01
Bedeutung
Uhr stellen, Stellwerte in den Bytes 2 ... 7 angeben
Stellwerte in Byte 2 bis 7 BCD>codiert angeben. Die Wochentage werden aus dem
angegebenen Datum errechnet.
Soll ein Uhrendatum unverßndert bleiben,tragen Sie in das entsprechende Byte
den Wert FFH ein.
Liegt ein Stellwert au˚erhalb der erlaubten Grenzwerte, wird die Uhr nicht ge>
stellt. Der CP 521 BASIC sendet die Fehlermeldung ∫Uhrzeit>/Datumfehler∫.
Tabelle 6.22 ebergabe von zusßtzlichen Angaben beim Auftrag ∫Uhr stellen∫
Bedeutung des Stellwertes
Belegung
2
Tag
01BCD ... 31BCD
3
Monat
01BCD ... 12BCD
4
Jahr
00BCD ... 99BCD
5
Stunde
6
Minute
00BCD ... 59BCD
7
Sekunde
00BCD ... 59BCD
00BCD ... 23BCD bei 24h>Darstellung
* Schaltjahre werden automatisch erkannt
6>33
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
Kommunikations>Schnittstellen
Status
Wochentag
Tag
Monat
6.4
6.4.1
6>34
(Byts 0)
(Byte 1)
(Byte2)
(Byte3)
:
:
:
:
CP 521 BASIC
Hinweis:
Wenn die Datums> und Uhrzeitinformation zum Ausl‘sen von Aktionen
benutzt wird, fÂhren Sie eine PlausibilitßtsprÂfung Âber folgende 4 Bytes
durch:
01BCD ... 07BCD
01BCD ... 31BCD
01BCD ... 12BCD
Datentransfer CP 521 BASIC>Peripheriegerßt
Der Datenverkehr Âber die bidirektionale Schnittstelle des CP 521 BASIC wird
vollduplex abgewickelt.
Bidirektionale serielle Schnittstelle des CP 521 BASIC
Die bidirektionale Schnittstelle des CP 521 BASIC kann mit dem Befehl INIT be>
liebig parametriert werden (Æ Kap 5.8.3).
Bidirektionale V.24>Schnittstelle im Betrieb mit Modemsignalen
Die V.24>Schnittstelle des CP 521 BASIC kann im Betrieb mit Modemsignalen fol>
gende Steuersignale bedienen:
EWA 4NEB 812 6071>01
CP 521 BASIC
Bedienbare Steuersignale der bidirektionalen V.24>Schnittstelle im Betrieb mit Modem>
signalen
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
Tabelle 6.23
Kommunikations>Schnittstellen
Steuersignal
Zustand
Bedeutung
Ausgßnge
TxD
Sendedaten
Sendeleitung wird von dem CP 521 BASIC im
Ruhezustand auf logisch 1 gehalten (Ue>3V).
ON
OFF
Data Terminal Ready
CP eingeschaltet, empfangsbereit
CP nicht eingeschaltet, nicht empfangsbereit
ON
OFF
Request to send
CP im Sendebetrieb
CP sendet nicht
DTR
RTS
Eingßnge
RxD
Empfangsdaten
Empfangsleitung mu˚ vom Peripheriegerßt auf
logisch 1 gehalten werden (Ue>3V).
DSR
ON
OFF
CTS
ON
OFF
EWA 4NEB 812 6071>01
Data set ready
Peripheriegerßt eingeschaltet, empfangsbereit
Peripheriegerßt nicht eingeschaltet, nicht
empfangsbereit
Clear to send
Perpheriegerßt kann Zeichen von dem
CP!521!BASIC empfangen
Der CP 521 BASIC erwartet dies als Antwort auf
∫RTS∫ = ∫ON∫
Peripheriegerßt kann keine Zeichen von dem
CP!521 BASIC empfangen
6>35
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
CP 521 BASIC
6>36
Kommunikations>Schnittstellen
Im Handshake>OFF>Betrieb wertet der CP 521 BASIC nur die RxD>Leitung aus.
Wenn der CP 521 BASIC keine Daten von dem Peripheriegerßt empfßngt, mu˚ das
Peripheriegerßt die RxD>Leitung auf logisch ∫1∫ halten.
Hinweis:
Die Baugruppe nimmt direkt nach dem Anlaufen an, da˚ der ∫Kommunika>
tionspartner∫ empfangsbereit ist, auch wenn kein XON gesendet wird.
Hinweis:
Wenn Sie die Steuersignale im Handshake>ON>Betrieb auswerten, ist kein
XON/XOFF>Protokoll m‘glich.
Der Datentransfer zwischen CP 521 BASIC und Peripheriegerßt lßuft wie folgt ab:
Der CP 521 BASIC setzt nach dem Anlauf den Ausgang ∫DTR∫ = ∫ON∫. Er zeigt
damit an, da˚ er betriebs> und empfangsbereit ist.
Beispiel: CP 521 BASIC will Daten senden
1. CP wartet auf ∫DSR∫ = ∫ON∫
Wenn das Peripheriegerßt ∫DSR∫ nach 20s noch nicht auf ∫ON∫ gesetzt hat,
kann dies mit HSSTAT erkannt werden.
2. CP setzt ∫RTS∫ = ∫ON∫
3. CP wartet auf ∫CTS∫ = ∫ON∫
Wenn das Peripheriegerßt ∫CTS∫ nach 20s noch nicht auf ∫ON∫ gesetzt hat,
kann dies mit HSSTAT erkannt werden.
4. CP sendet Daten
5. CP setzt nach dem Senden der Daten ∫RTS∫ = ∫OFF∫
6. Peripheriegerßt setzt ∫CTS∫ = ∫OFF∫
EWA 4NEB 812 6071>01
CP 521 BASIC
Kommunikations>Schnittstellen
∫1∫
TxD
xxxxxxxx
∫0∫
xxxxxxxx
ON
DTR
Off
ON
RTS
Off
∫1∫
RxD
xxxxxxxx
∫0∫
xxxxxxxx
ON
DSR
OFF
ON
CTS
xxxxxxx
x
OFF
Einschalten
des CP
max:
20s.
Sendeauftrag
abgeschlossen
max:
20s.
Einschalten des
Peripheriegerßtes
Bild 6.6 Timing>Diagramm fÂr den Datentransfer zwischen CP 521 BASIC und Peripheriegerßt
EWA 4NEB 812 6071>01
6>37
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
HANDLE>
Empfangspuffer
6>38
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaa
HANDLE>
Sendepuffer
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaa
Kommunikations>Schnittstellen
CP
CP 521 BASIC
Senden Âber die bidirektionale serielle Schnittstelle
Vom CP 521 BASIC k‘nnen Daten Âber die bidirektionale Schnittstelle zu einem
Peripheriegerßt gesendet werden. Das Peripheriegerßt mu˚ eine V.24> oder TTY>
Schnittstelle besitzen.
Das Senden von Daten Âber die bidirektionale Schnittstelle geschieht mit Hilfe
der Anweisungen LIST, PRINT oder HANDLE, wobei HANDLE denselben HANDLE>
Sendepuffer verwendet wie HANDLE#, der Daten Âber die unidirektionale
Schnittstelle ausgibt.
Die zu sendenden Daten k‘nnen, bevor sie im HANDLE>Sendepuffer abgelegt
werden, durch das BASIC>Programm aufbereitet werden. Dadurch ist es m‘glich,
eigene Protokolle zu implementieren.
Eine Beschreibung der dazu relevanten Befehle finden Sie im Kapitel 5.10.
Peripherie>
gerßt
Daten senden
Daten empfangen
Bild 6.7 Daten Âber die bidirektionale Schnittstelle senden
Hinweis:
Ein Parallelbetrieb von TTY> und V.24>Schnittstelle ist nur eingeschrßnkt
m‘glich, da hierzu immer eine Umparametrierung vorgenommen werden mu˚.
EWA 4NEB 812 6071>01
CP 521 BASIC
Kommunikations>Schnittstellen
Empfangen Âber die bidirektionale serielle Schnittstelle
Der CP 521 BASIC kann Daten von einem Peripheriegerßt empfangen. Das Peri>
pheriegerßt mu˚ dazu eine Schnittstelle nach V.24 oder TTY besitzen. Die
empfangenen Daten k‘nnen nach dem Auslesen aus dem HANDLE>Empfangs>
puffer durch das BASIC>Programm aufbereitet und weiterverarbeitet werden.
Eine Beschreibung der dazu relevanten Befehle finden Sie im Kapitel 5.10.
HANDLE>
Empfangspuffer
Peripherie>
gerßt
Daten senden
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaa
a
HANDLE>
Sendepuffer
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaa
a
CP
Daten empfangen
Bild 6.8 Daten Âber die bidirektionale Schnittstelle empfangen
Die DatenÂbertragung erfolgt interpretierend.
Bis auf wenige Ausnahmen werden > zum Teil in Abhßngigkeit vom parametrier>
ten Handshake > alle empfangenen Zeichen zwischen 00H und FFH in den HANDLE>
Empfangspuffer eingetragen. Von dort k‘nnen sie mit den Anweisungen GET
oder BUFOUT (ÆKap. 5.10) ausgelesen und weiterverarbeitet werden.
Die Zeichen XON (11H) und XOFF (13H) werden bei dem XON/XOFF>Protokoll nicht
in den HANDLE>Empfangspuffer eingetragen. Als solche erkannt und ausge>
wertet werden sie nur, falls XON / XOFF>Protokoll parametriert wurde.
Die Zeichen CTRL>C (03H), CTRL>S (13H) und CTRL>Q (11H) werden immer einge>
tragen und ausgewertet (Æ Kap. 6.4, Hinweise). Soll das Zeichen CTRL>C (03H)
Âbertragen werden, so ist mit BREAK (0) dies zu realisieren, ansonsten wird das
Programm abgebrochen.
EWA 4NEB 812 6071>01
6>39
Kommunikations>Schnittstellen
CP 521 BASIC
Ist XON/XOFF>Protokoll parametriert, wirken sich die Zeichen 11H (XON, CTRL>Q)
und 13H (XOFF, CTRL>S) nur auf die bidirektionale Schnittstelle aus. Zeichen 11H
(XON, CTRL>Q) und 13H (XOFF, CTRL>S) wirken sich immer bei PRINT und LIST aus.
Bei allen anderen Handshakes (keine, Modemsignale, PG>Protokoll) wirken sich
11H und 13H auf die Ausgabe (nach LIST bzw. LIST#) auf beiden seriellen
Schnittstellen (bidirektional, unidirektional) aus.
6.4.2
Unidirektionale serielle Schnittstelle des CP 521 BASIC
Vom CP 521 BASIC k‘nnen auch Âber die unidirektionale serielle Schnittstelle
Daten zu einem Peripheriegerßt (z.B. Drucker) gesendet werden. Ein BUSY>Signal
kann vom CP 521 BASIC nach entsprechender Parametrierung ausgewertet
werden.
Das Senden von Daten Âber die unidirektionale Schnittstelle geschieht mit Hilfe
der Anweisungen LIST#, PRINT# oder HANDLE#, wobei HANDLE# denselben
HANDLE>Sendepuffer verwendet wie HANDLE (ÆKap. 5.10.1).
HANDLE>
Sendepuffer
Peripherie>
gerßt
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaa
CP
Daten senden
Bild 6.9 Daten Âber die unidirektionale Schnittstelle senden
Die unidirektionale Schnittstelle des CP 521 BASIC kann mit dem Befehl INIT#
beliebig parametriert werden (ÆKap. 5.8.4).
6>40
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaa
a
7
CPU>Auftrßge und St‘rverhalten
7.1
CPU>Auftrßge in der Betriebsart BASIC . . . . . . . . . . . . . . .
7 >
1
7.2
7.2.1
St‘rverhalten des BASIC>Interpreters . . . . . . . . . . . . . . . .
Weitere Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . . .
7 >
7 >
2
7
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Tabellen
7.1
7.2
7.3
Zulßssige Auftrßge in der Betriebsart BASIC . . . . . . . . . . .
Fehlermeldungen des BASIC>Interpreters . . . . . . . . . . . . .
Fehlermeldungen in der Betriebsart BASIC . . . . . . . . . . . .
7 >
7 >
7 >
1
3
7
EWA 4NEB 812 6071>01
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
CP 521 BASIC
Byte 0
CPU>Auftrßge und Fehlermeldungen
7.
CPU>Auftrßge und St‘rverhalten
7.1
CPU>Auftrßge in der Betriebsart BASIC
In diesem Abschnitt sind alle in der Betriebsart BASIC zulßssigen CPU>Auftrßge
zusammengestellt.
Tabelle 7.1 Zulßssige Auftrßge in der Betriebsart BASIC
Byte 1
10H
D0H
00H
01H ... 0FEH
FFH
EWA 4NEB 812 6071>01
Auftrßge
00H
Stellen der baugruppeneigenen Uhr
A0H
01H
Datentransfer ∫Senden∫ koordinieren
A0H
80H
Datentransfer ∫Empfangen∫ koordinieren
B0H
Block>Nr.
Blocktransfer ∫CPU O CP 521 BASIC∫ koordinieren
C0H
Block>Nr.
Datenblockquittierung
Byte 0:
Auftrags>Nr. zum Start eines BASIC>Programms
Byte 1:
BASIC>Programm im RAM starten
BASIC>Programm auf Speichermodul mit Nr. 1H ... FEH
starten
RÂcksetzen des BASIC>Interpreters wie nach dem
Einschalten der Baugruppe
HINWEIS:
Ein laufendes BASIC>Programm kann von der CPU aus nicht abgebrochen
werden.
7>1
CPU>Auftrßge und Fehlermeldungen
7.2
CP 521 BASIC
St‘rverhalten des BASIC>Interpreters
Der CP 521 BASIC bietet programmß˚ig eine komfortable Fehlererkennung und
Fehlerbehandlung.
Bei syntaktischen oder arithmetischen Fehlern, die wßhrend der Laufzeit erkannt
werden, haben Sie die M‘glichkeit, mit dem Befehl ONERR [ln num],
(Æ!Kap.!5.8.18) eine definierte Reaktion auf einen arithmetischen Fehler zu
programmieren. Wird dies nicht gemacht, geht der Interpreter in STOP und gibt
eine Fehlermeldung am Bildschirm aus.
Wird das Programm durch einen Programmfehler, durch den Befehl END, durch
die Befehle STOP bzw. CTRL>C abgebrochen, verlß˚t der Interpreter den RUN>
Modus und wartet nun im Kommando>Modus auf Eingaben.
Auf CPU>Seite ist ebenfalls eine Fehlerauswertung m‘glich. Fehlermeldungen
werden zur CPU auf Anforderung durch den Auftrag A080H, (Datentransfer
koordinieren; Daten empfangen) rÂckgemeldet.
Die RÂckmeldung 7XH, die im Byte 0 Âbergeben wird, wird der CPU mitgeteilt.
Byte 1 enthßlt die Fehlernummer. Die Bytes 2 bis 7 enthalten weitere Angaben
zum Ort des aufgetretenen Fehlers. Die Zuordnung von Fehlernummer und
Fehlerart zeigt die folgende Tabelle.
7>2
EWA 4NEB 812 6071>01
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
CP 521 BASIC
EWA 4NEB 812 6071>01
CPU>Auftrßge und Fehlermeldungen
Tabelle 7.2 Fehlermeldungen des BASIC>Interpreters
Byte
Wert
Bedeutung
0
7XH
Programmabbruch durch SW>Fehler oder
END>Befehl; der CP 521 BASIC befindet
sich in der Betriebsart PROG.
1
00H
BASIC>Programm fehlerfrei beendet oder
durch STOP oder CTRL>C abgebrochen.
01H
DIVIDE BY ZERO*
02H
ARITH. OVERFLOW*
03H
ARITH. UNDERFLOW*
04H
BAD ARGUMENT*
05H
BAD SYNTAX
06H
NO DATA
07H
A>STACK
08H
C>STACK
09H
I>STACK OVERFLOW
0BH
ARRAY SIZE
0CH
MEMORY ALLOCATION
0DH ... 0FH
reserviert fÂr weitere Systemmeldungen
* Nur wenn diese Fehler nicht durch ONERR abgefangen werden
7>3
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaa
a
CPU>Auftrßge und Fehlermeldungen
Byte
2
0
1...0FEH
7>4
CP 521 BASIC
Tabelle 7.2 Fehlermeldungen des BASIC>Interpreters (Fortsetzung)
Wert
Bedeutung
enthßlt die Programmnummer des
zuletzt bearbeiteten Programms
Programm befindet sich im RAM
Programmnummer im Speichermodul
3
00H
4+5
0...0FFH
6
00H
nicht belegt
7
00H
nicht belegt
nicht belegt
Programmzeilennummer des
aufgetretenen Fehlers (HIGH>BYTE FIRST)
Nach einem aufgetretenen Fehler kann von der CPU ein Programm mit dem
Auftrag ∫D0H∫ neu gestartet werden.
Eine Korrektur des fehlerhaften Programms ist von der CPU aus nicht m‘glich.
EWA 4NEB 812 6071>01
CP 521 BASIC
CPU>Auftrßge und Fehlermeldungen
Erlßuterung einiger Fehlerarten
Die Fehlerarten 01H bis 04H k‘nnen mit dem Befehl ONERR im BASIC>Programm
abgefangen werden, so da˚ sie nicht zum Programmabbruch fÂhren.
DIVISION BY ZERO (01H)
Jeder Versuch, eine Division durch Null vorzunehmen, z.B. 12/0, liefert eine
Fehlermeldung DIVIDE BY ZERO.
ARITH. OVERFLOW (02H)
Ein Fehler ARITH. OVERFLOW wird gemeldet, wenn das Ergebnis einer arith>
metischen Operation den oberen Grenzwert fÂr eine Gleitpunktzahl in BASIC
Âberschreitet. Die gr‘˚te zulßssige Gleitpunktzahl ist ±0.9999999E +127. So
liefert beispielsweise 1.0E + 70*1.E+70 einen ARITH. OVERFLOW ERROR.
ARITH. UNDERFLOW (03H)
Ein Fehler ARITH. UNDERFLOW wird gemeldet, wenn das Ergebnis einer arith>
metischen Operation die untere Grenze einer Gleitpunktzahl in BASIC unter>
schreitet. Die kleinste Gleitpunktzahl ist ±1.0E > 127. So liefert beispielsweise
1.0E!> 80/1.0E +80 einen ARITH. UNDERFLOW ERROR.
BAD ARGUMENT (04H)
Ein Fehler BAD ARGUMENT wird ausgegeben, wenn das Argument eines
Operators nicht innerhalb der fÂr diesen Operator zulßssigen Grenzen liegt.
BAD SYNTAX (05H)
Ein Fehler BAD SYNTAX bedeutet, da˚ ein fÂr den CP 521 BASIC unzulßssiger
Befehl, Anweisung oder Operator eingegeben wurde und BASIC die Eingabe
nicht verarbeiten kann. Hier mu˚ geprÂft werden, da˚ alle Eingaben richtig
vorgenommen wurden. Ein BAD SYNTAX ERROR wird auch dann ausgegeben,
wenn Sie versucht haben, ein reserviertes SchlÂsselwort als Teil einer Variablen
zu verwenden.
NO DATA (06H)
Die Fehlermeldung ERROR: NO DATA > IN LINE XXX wird Âber die Konsole
ausgegeben, wenn eine Read>Anweisung ausgefÂhrt wird und keine DATA>
Anweisung vorhanden ist oder aber alle Argumente der DATA>Anweisung
bereits eingelesen wurden und keine Restore>Anweisung vorhanden ist.
EWA 4NEB 812 6071>01
7>5
CPU>Auftrßge und Fehlermeldungen
CP 521 BASIC
A>STACK (07H)
Ein Fehler A>STACK (Argumentstack) wird gemeldet, wenn durch einen Befehl
versucht wird, den A>STACK>POINTER auf einen unzulßssigen Wert zu setzen.
Dies ist m‘glich, wenn durch PUSH zu viele AusdrÂcke in den Argumentstack
geladen werden oder durch POP versucht wird, Daten aus einem bereits leeren
Speicher auszulesen.
C>STACK (08H)
Ein Fehler C>STACK (Control>Stack) wird gemeldet, wenn der C>Stack Âberlßuft.
Der C>Stack belegt 158 Bytes des baugruppeneigenen RAM. Schleifen FOR>NEXT
belegen 17 Byte im C>Stack, Schleifen DO>UNTIL, DO>WHILE und GOSUB jeweils 3
Byte des C>Stacks. Dies bedeutet, da˚ der CP!521!BASIC maximal neun verschach>
telte Schleifen FOR>NEXT verarbeiten kann, weil 9 x 17=153 ergibt. Bei einem
Versuch des Anwenders, eine gr‘˚ere Schachtelungstiefe anzuwenden, als fÂr
den CP 521 BASIC zulßssig ist, wird eine Fehlermeldung C>STACK ausgegeben.
Fehler C>STACK werden auch gemeldet, wenn das Programm ein RETURN vor
dem entsprechenden GOSUB, ein WHILE oder UNTIL vor dem entsprechenden DO
oder ein NEXT vor dem entsprechenden FOR enthßlt.
I>STACK (09H)
Eine Fehlermeldung I>STACK (Interner Stack) wird ausgegeben, wenn der
CP!521!BASIC nicht mehr Âber genÂgend Stackspeicherkapazitßt verfÂgt, um
einen numerischen Ausdruck abarbeiten zu k‘nnen. Fehlermeldungen I>STACK
k‘nnen normalerweise auftreten. Beim Auftreten des I>STACK>Fehlers kann
durch das VerkÂrzen extrem langer AusdrÂcke in einer Zuweisung Abhilfe
geschaffen werden (evtl. Aufteilen in kleinere AusdrÂcke).
ARRAY SIZE (0BH)
Ein Fehler ARRAY SIZE wird gemeldet, wenn ein Feld durch eine DIM> Anweisung
dimensioniert wurde und anschlie˚end versucht wird, eine Variable aufzurufen,
die au˚erhalb der Grenzen der Dimensionierung liegt (Default>Dimensionierung
max. 10 Elemente).
MEMORY ALLOCATION (0CH)
Fehler MEMORY ALLOCATION werden gemeldet, wenn der Anwender versucht,
STRINGS aufzurufen, die "au˚erhalb" der definierten String>Grenzen liegen. Der
gleiche Fehler wird gemeldet, wenn die noch verfÂgbare Speicherkapazitßt nicht
ausreicht, um weitere Variablen zuzuweisen bzw. zu deklarieren;
z. B. String 250,250 , oder wenn MTOP ein unzulßssiger Wert zugewiesen wird.
7>6
EWA 4NEB 812 6071>01
CP 521 BASIC
7.2.1
CPU>Auftrßge und Fehlermeldungen
Weitere Fehlermeldungen
Der CP 521 BASIC meldet weitere Fehler, die im Byte 0 der Baugruppe abgelegt
sind.
Dieses Byte 0, das den Status der Baugruppe dokumentiert, ist in zwei Halbbytes
unterteilt, deren Werte untereinander frei kombinierbar sind. So ist eine
detaillierte Fehlerauswertung m‘glich. Beim gleichzeitigen Auftreten von
mehreren Fehlern werden diese ihrer Prioritßt nach ausgegeben. Fehler mit
h‘chster Nummer Âberschreibt alle anderen Fehler im jeweiligen Halbbyte.
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaa
a
Tabelle 7.3 Fehlermeldungen in der Betriebsart BASIC
Byte 0
Bit 4 bis 7 Bit 0 bis 3
Status
X
0
kein Fehler
X
7
Batteriepufferung fehlerhaft
X
F
Baugruppe beschßftigt; CPU>Auftrag kann nicht
entgegengenommen werden
1
X
Uhr defekt
2
X
Default>Uhrzeit eingestellt
3
X
Uhrzeit/Datum>Fehler
4
X
Unzulßssiger Auftrag
5
X
Koordinationsinformation (Senden > Empfangen)
6
X
Datentransfer CP 521 BASIC O CPU
7
X
BASIC>Fehlermeldung (Æ Kap.7.2)
8
X
Hardware>Fehler
X= Signalzustand fÂr die andere Bytehßlfte irrelevant
EWA 4NEB 812 6071>01
7>7
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
8
Programme
8.1
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 >
1
8.2
Gerßteaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 >
2
8.3
Schnittstellenparametrierung . . . . . . . . . . . . . . . . . . . . . . .
8 >
2
8.4
CP 521 BASIC programmieren . . . . . . . . . . . . . . . . . . . . . . . .
8 >
3
8.5
8.5.1
8.5.2
8.5.3
8.5.4
AG programmieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
eberblick Âber die Programmier>Bausteine . . . . . . . . . . .
Programmstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufbau des Statusbyte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Eingabe Programmier>Bausteine OB 1 und
FB 10 ∫IMPULS∫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Eingabe Funktionsbaustein FB 11 ∫VERTEILE∫ . . . . . . . . .
Eingabe Funktionsbaustein FB 1
Telegramm mit fester Lßnge senden . . . . . . . . . . . . . . . . . .
Eingabe Funktionsbaustein FB 2 (nur fÂr CPU 103)
Telegramm mit Endezeichen senden . . . . . . . . . . . . . . . . .
Eingabe Funktionsbaustein FB 3
Telegramm mit fester Lßnge empfangen . . . . . . . . . . . . . .
Handhabung und Eingabe des parametrierbaren
Funktionsbausteins FB 200 ∫SENDEN∫ . . . . . . . . . . . . . . . .
Handhabung und Eingabe des parametrierbaren
Funktionsbausteins FB 201 ∫EMPFANG∫ . . . . . . . . . . . . . .
8
8
8
8
8.5.5
8.5.6
8.5.7
8.5.8
8.5.9
8.5.10
EWA 4NEB 812 6071>01
>
7
>
7
>
9
> 10
8 > 11
8 > 12
8 > 13
8 > 16
8 > 20
8 > 23
8 > 33
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Bilder
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
8.1
8.2
8.3
8.4
Aufbauschema CPU und CP 521 BASIC programmieren .
Programmstruktur des BASIC>Programms . . . . . . . . . . . . .
Flu˚diagramm Empfang . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flu˚diagramm Senden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programmstruktur Programmier>Bausteine . . . . . . . . . . .
Aufbau des Statusbyte (MB 80) . . . . . . . . . . . . . . . . . . . . . .
Schematischer Ablauf ∫Telegramm senden∫
(FB 200) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schematischer Ablauf ∫Telegramm empfangen∫
(FB 201) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bausteinparameter des FB 200 ∫SENDEN∫ . . . . . . . . . . . . .
ebersicht Âber die vom FB 200 ∫SENDEN∫ benutzten
Merker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bausteinparameter des FB 201∫EMPFANG∫ . . . . . . . . . . .
ebersicht Âber die vom FB 201 ∫EMPFANG∫ benutzten
Merker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
8
8
8
8
8
>
2
>
3
>
4
>
5
>
9
> 10
8 > 24
8 > 34
Tabellen
8 > 23
8 > 26
8 > 33
8 > 36
EWA 4NEB 812 6071>01
CP 521 BASIC
8
Programme
8.1
Einleitung
Programme
Dieses Kapitel bietet Ihnen eine komfortable Anwenderoberflßche, die die
Handhabung der Auftrßge ∫Telegramm an den CP 521 BASIC senden∫ (A001H)
und ∫Telegramm vom CP 512 BASIC empfangen∫ (A080H) stark vereinfacht.
Au˚erdem finden Sie Hinweise, wie Sie beim Programmieren des Automa>
tisierungsgerßtes (AG) und des CP 521 BASIC vorgehen sollten.
Wir haben fÂr Sie Funktionsbausteine fÂr das Senden und Empfangen von
Telegrammen mit Endezeichen oder mit fester Lßnge sowie parametrierbare
Funktionsbausteine programmiert (Æ Kap. 8.5.6 bis Kap.!8.5.10).
Neben den Sende> und Empfangsprogrammen stellen wir Ihnen weiterhin
∫Hilfs∫> Programme zur VerfÂgung, die einen problemlosen und fehlerfreien
Datenaustausch zwischen CPU und CP 521 BASIC erm‘glichen (ÆKap. 8.5.4 und
Kap.!8.5.5).
An einem BASIC>Programm wird demonstriert, wie Sie den CP 521 BASIC
programmieren k‘nnen, um Telegramme von der CPU zu empfangen und Daten
zur CPU zu senden (Æ Kap. 8.4).
FÂr den Transfer eines Datentelegramms mÂssen Sie lediglich noch
∏ die betreffenden Programme am PG bzw. Terminal eingeben,
∏ Programmier>Bausteine in das Automatisierungsgerßt und BASIC>Programm
in den CP 521 BASIC Âbertragen,
∏ Telegramme im Datenbaustein ablegen und gegebenenfalls
∏ Sende> bzw. Empfangs>FB parametrieren.
Sie k‘nnen selbstverstßndlich auch selbst Sende> und Empfangsprogramme
entwickeln. Hinweise hierzu sowie fÂr die Fehlersuche sind im Kapitel
∫Kommunikationsschnittstellen∫ nachzulesen (Æ Kap. 6).
EWA 4NEB 812 6071>01
8>1
Programme
8.2
CP 521 BASIC
Gerßteaufbau
Simul.
DE
DE
DA
a
a
a
aa
aa
a
a
aa
aa
aa
a
Simul.
BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
CP 521
DA
aaaaaaaaaa
aaaaaaaaaa
CPU 103
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaa
a
a
a
a
a
a
a
a
a
a
aaaa
a
Der Gerßteaufbau ist schematisch in Bild 8.1 dargestellt. Der CP 521 BASIC ist auf
Steckplatz 0 montiert. Zur Programmierung des AGs ist ein PG an die CPU
anzuschlie˚en. CP 521 BASIC und Terminal sind durch ein V.24>Kabel miteinander
verbunden. Beispiele fÂr die Anschlu˚belegungen finden Sie im Kapitel
∫Allgemeine Aufbaubeispiele∫ (Æ Kap. 3.5).
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaa
PG
TERMINAL
Bild 8.1 Aufbauschema CPU und CP 521 BASIC programmieren
8.3
Schnittstellenparametrierung
Gehen Sie bei der Parametrierung der seriellen Schnittstelle wie im Kapitel
∫Inbetriebnahme∫ beschrieben vor (Æ Kap. 6.2). Nach dem erstmaligen Einschal>
ten des CP 521 BASIC mÂssen Sie zunßchst die Leerschritt>Taste (Space)
betßtigen.
8>2
EWA 4NEB 812 6071>01
CP 521 BASIC
8.4
Programme
CP 521 BASIC programmieren
Nach dem Einschalten des CP 521 BASIC kann, wenn er sich gemeldet hat (Anlauf>
verhalten Æ Kap. 5.2), mit der Eingabe des BASIC>Programms begonnen werden.
Die Baugruppe befindet sich im Kommando>Modus.
Mit folgendem BASIC>Programm dimensionieren Sie Empfangs> und Sende>
variablen. Sie lassen sich den Status des letzten Sende> oder Empfangsauftrages
am Terminal anzeigen. Es wird angenommen, da˚ der CP 521 BASIC 12 Byte
lange Datentelegramme an die CPU sendet . Die CPU sendet 12 Byte Daten zum
CP 521 BASIC .
Dieses BASIC>Programm ist nur ein Beispiel>Programm. Sie k‘nnen es ent>
prechend Ihren AnsprÂchen modifizieren.
Schematischer Ablauf des BASIC>Programms
START
Variablen>Definition
Unterprogramm
Empfang
Empfang
auswerten
Unterprogramm
Senden
Senden
auswerten
Bild 8.2 Programmstruktur BASIC>Programm
EWA 4NEB 812 6071>01
8>3
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
aa
aa
a
aa
aa
aa
aa
a
ja
ja
Weitere Daten
vorhanden?
8>4
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
aa
aa
a
aa
aa
aa
aa
a
Programme
CP 521 BASIC
Schematischer Ablauf > Unterprogramm Empfang
Status lesen
∫Statuswert∫=0?
nein
∫Statuswert∫<0?
nein
Daten einlesen und
in Feldvariable ablegen
ja
nein
RETURN
Bild 8.3 Flu˚diagramm Empfang
Hinweis:
Daten k‘nnen nur eingelesen werden, wenn vorher der CP 521 BASIC ein
Telegramm von der CPU erhalten hat.
EWA 4NEB 812 6071>01
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaa
aaaaaaaa
aaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
aa
aa
a
aa
aa
aa
aa
a
ja
ja
Weitere Daten
vorhanden?
EWA 4NEB 812 6071>01
aaaaaaaaaa
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
aa
aa
aa
a
a
aa
aa
aa
aa
a
CP 521 BASIC
Programme
Schematischer Ablauf > Unterprogramm Senden
Status lesen
∫Statuswert∫>0
nein
∫Statuswert∫<0
nein
Daten in den Sen>
depuffer schreiben
ja
nein
Senden ansto˚en
RETURN
Bild 8.4 Flu˚diagramm Senden
Hinweis:
Erst wenn der Sendevorgang beendet ist > das AG alle Sendedaten mittels
Telegrammm abgeholt hat > kann ein weiterer Sendevorgang angesto˚en
werden.
8>5
Programme
CP 521 BASIC
BASIC > Programm > Status des letzten Datentransfers
>10
>11
>20
>100
>110
>120
>130
>140
>150
>160
>200
>210
>220
>230
>240
>250
>300
>1000
DIM EVAR (254), SVAR (254)
REM DIMENSIONIEREN DER EMPFANGSVARIABLEN UND
SENDEVARIABLEN
MAX = 12 : REM ANZAHL DER BYTES ZUM SENDEN
REM HAUPTPROGRAMM
GOSUB 1000 : REM EMPFANGEN VON DATEN VOM AG
IF RS =
0 PRINT ”KEINE DATEN VORHANDEN”
IF RS = - 1 PRINT ”S5-BUS INAKTIV”
IF RS = - 2 PRINT ”AG SENDET NOCH DATEN”
IF RS = - 3 PRINT ”FEHLER BEIM EMPFANG DER TELEGRAMME”
IF RS >
0 PRINT RS ”BYTES EMPFANGEN”
GOSUB 2000 : REM SENDEN VON DATEN ZUM AG
IF SS >
0 PRINT ”LETZTER SENDEAUFTRAG NOCH NICHT
BEENDET”
IF SS = - 1 PRINT ”S5-BUS INAKTIV”
IF SS = - 2 PRINT ”FEHLER BEIM SENDEN ZUM AG (WARTEZEIT
UEBERZOGEN)”
IF SS = - 3 PRINT ”FEHLERHAFTE QUITTUNG VON DER CPU”
IF SS =
0 PRINT MAX, ”BYTES KOENNEN VON DER CPU
EMPFANGEN WERDEN”
GOTO 100
>1050
>1060
>1070
REM UNTERPROGRAMM ZUM EMPFANGEN VON BYTEVARIABLEN VOM
AG
RS = RSTAT : IF RS = 0 GOTO 1070 : REM EMPFANGSSTATUS
LESEN
IF RS < 0 GOTO 1070
FOR I = 0 TO (RS-1)
: REM EMPFANGSVARIABLEN VON
0 BIS (RS-1)
BR=BUFREAD 1, EVAR (I)
: REM AUS DEM EMPFANGSPUFFER
AUSLESEN
IF BR < > 0 THEN STOP
NEXT I
RETURN
>2000
>2010
REM UNTERPROGRAMM ZUM SENDEN VON BYTEVARIABLEN ZUM AG
SS = SSTAT : IF SS > 0 GOTO 2080 : REM SENDESTATUS
>1010
>1020
>1030
>1040
8>6
EWA 4NEB 812 6071>01
CP 521 BASIC
8.5
AG programmieren
8.5.1
eberblick Âber die Programmier > Bausteine
Programme
Bevor Sie folgende Anweisungslisten am PG eingeben und in das AG Âbertragen,
m‘chten wir Ihnen die Grundeinstellung des Steuerungsprogramms erlßutern.
200
ms>Takt
abwechselnd
Es ist so konzipiert, da˚ das AG im
empfangsbereit ist. Eine fehlerfreie ebertragung von Telegrammen zwischen
CPU und CP 521 BASIC ist nur gegeben, wenn der letzte Sende> oder Empfangs>
auftrag vollstßndig abgeschlossen ist, d. h., Sende> und Empfangsvorgßnge sind
gegeneinander zu ∫verriegeln∫.
Wir stellen Ihnen demnach folgende Programmier > Bausteine zur VerfÂgung:
f
Organisationsbaustein OB 1 (Æ Kap. 8.5.4):
Im OB1 aufgerufene Bausteine werden zyklisch bearbeitet.
f
Funktionsbaustein FB 10 ∫IMPULS∫ (Æ Kap. 8.5.4):
In periodischen Zeitabstßnden (200 ms) wird ein Impulsmerker (M 100.0)
gesetzt. Zu Beginn des nßchsten Programmzyklus wird dieser wieder
freigegeben.
f
Funktionsbaustein FB 11 ∫VERTEILE∫ (Æ Kap. 8.5.5):
Im 200 ms>Takt (Abfrage des M 100.0 auf Signalzustand ∫1∫), wird abwech>
selnd Sende> oder Empfangserlaubnis erteilt.
f
nichtparametrierbare FBs fÂr Senden und Empfangen:
> FB 1 (Æ Kap. 8.5.6): Telegramm mit fester Lßnge senden
> FB 2 (Æ Kap. 8.5.7): Telegramm mit Endezeichen senden
> FB 3 (Æ Kap. 8.5.8): Telegramm mit fester Lßnge empfangen
f
parametrierbare FBs fÂr Senden und Empfangen:
> FB 200 ∫SENDEN∫: Telegramm mit einstellbarer Lßnge senden
(parametrierbar, Æ Kap. 8.5.9)
> FB 201 ∫EMPFANG∫: Telegramm mit einstellbarer Lßnge empfangen
(parametrierbar, Æ Kap. 8.5.10)
EWA 4NEB 812 6071>01
8>7
sende>
oder
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
CP 521 BASIC
f
f
f
8>8
Programme
Hinweis:
FB 2, FB 200 ∫SENDEN∫ und FB 201 ∫EMPFANG∫ laufen nur auf der CPU 103.
Die Operation ∫Merkerwort bearbeiten∫ (B MW) geh‘rt nicht zum Operations>
vorrat der CPU 100 und CPU 102.
Bei der Eingabe der Programmier>Bausteine zu beachten:
Die Programmier>Bausteine OB1, FB10 ∫IMPULS∫ und FB 11 ∫VERTEILE∫
haben universellen Charakter.
Hinweis:
Tauschen Sie die von uns programmierten Sende> und Empfangs>FBs unter>
einander aus oder m‘chten Sie mit selbstprogrammierten Sende> und
Empfangs>FBs arbeiten, mÂssen Sie im FB 11 ∫VERTEILE∫ in den Anweisungen
∫Bausteinaufrufe∫ lediglich die Bausteinnummern korrigieren (Æ Bild 8.5).
Vor dem Aufruf eines Sendeprogramms mÂssen Sie das zu Âbertragende Tele>
gramm in einem Datenbaustein (Quell>Datenbaustein) ablegen.
Hinweis:
Die Bausteinnummer des Quell>Datenbausteins mu˚ mit der Bausteinnummer
in den Anweisungen ∫Datenbaustein aufschlagen∫ Âbereinstimmen.
In allen nun folgenden FBs ist das Merkerbyte 80 (MB 80) fÂr die
Statusanzeige des Datenaustausches reserviert.
EWA 4NEB 812 6071>01
FB 3*
SPA FB 3*
BE
SPA FB 10
BE
Ebene 1
*
EWA 4NEB 812 6071>01
Ebene 2
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
SPA FB 11
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
FB 11
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
Name: VERTEILE
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
OB 1
FB 10
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
8.5.2
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
CP 521 BASIC
Programme
Programmstruktur
Unser Steuerungsprogramm besteht aus 3 Schachtelungsebenen.
Die vom OB 1 aufgerufenen Funktionsbausteine werden zyklisch bearbeitet.
FB 1*
Name: SENDEN
SPA FB 1*
BE
Name: EMPFANG
BE
Name: IMPULS
BE
Ebene 3
FB 1 und FB 3 k‘nnen mit anderen FBs fÂr Senden und Empfangen (FB 2, FB 200, FB 201
oder vom Anwender selbst programmierten FBs) ausgetauscht werden.
Bild 8.5 Programmstruktur Programmier>Bausteine
8>9
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
Programme
8.5.3
Bit 7
8>10
CP 521 BASIC
Aufbau des Statusbyte
Das Merkerbyte 80 ist das Statusbyte aller im Kapitel 8 aufgefÂhrten FBs fÂr
Senden und Empfangen.
Das Statusbyte (MB 80) gibt Auskunft darÂber, ob
f ein Sende> oder Empfangsauftrag angesto˚en wurde
(Bit 0=1 bzw. Bit 4=1).
f ein Sende> oder Empfangsauftrag aktiv ist
(Bit 2=1 bzw. Bit 6=1).
f Fehler aufgetreten sind
Wenn Bit 1 oder Bit 5 gesetzt sind, wurde der Auftrag abgewiesen. (Es
konnten keine Daten gesendet oder empfangen werden).
Wenn Bit 3 oder Bit 4 gesetzt sind, liegen Parameterfehler (FB200, FB201) vor.
Statusbyte (MB 80)
Empfangen
Bit 6
Senden
Bit 5
Bit 4
Parameter>
fehler
Bit 3
Empfangen
aktiv
Bit 2
Auftrag
angesto˚en
Auftrag
abgewiesen
Bit 1
Bit 0
Auftrag
angesto˚en
Auftrag
abgewiesen
Senden
aktiv
Parameter>
fehler
Bild 8.6 Aufbau des Statusbyte (MB 80)
EWA 4NEB 812 6071>01
aaaaa
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
aaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaa
a
CP 521 BASIC
8.5.4
NAME
:R
Programme
Eingabe Programmier>Bausteine OB 1 und FB 10 ∫IMPULS∫
AWL OB 1
NAME
:SPB FB 11
:VERTEILE
NAME
:
:SPA FB 10
:IMPULS
EWA 4NEB 812 6071>01
Erlßuterung
NETZWERK 1
Aufruf der Hilfs>FBs:
Erteilung der Sende> oder Empfangs>
erlaubnis
:
:BE
Impulsgeber
AWL FB 10
Erlßuterung
NETZWERK 1
:IMPULS
:U
M
100.0
Abfrage und RÂcksetzen des Impuls>
merkers 100.0 zu Beginn jedes
neuen Programmzykluses
100.0
M
:
4.0
20.0
4.0
4.0
:
:UN
M
:L
KT
:SI
T
4
:UN
:UN
T
M
4
:=
M
:S
M
Vorgabe der Zeitdauer; hier 200 ms
Starten einer Zeit als Impuls
Setzen des Impulsmerkers 100.0 nach
Ablauf der eingestellten Zeit (200 ms).
100.0
:BE
8>11
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaa
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
Programme
8.5.5
*
CP 521 BASIC
Eingabe Funktionsbaustein FB 11 ∫VERTEILE∫
AWL FB 11
NETZWERK 1
NAME
:VERTEILE
:U
M 100.0
:UN
:S
:S
M
M
M
100.1
100.1
80.2
:BEB
:U
M
:U
M
100.0
100.1
:R
M
:S
M
:BEB
100.1
80.6
:
:UN M 80.2
:SPB =M001
:
NAME
:SPA FB
:SENDEN
:BEA
M001
:
:UN M 80.6
:SPB =M002
¡mpfangserlaubnis erteilt,
Ist E
wird der Empfangs>FB bearbeitet.
Aufruf Empfangs>FB
NAME
:
:SPA FB 3*
:EMPFANG
M002
:
:BE
1*
Erlßuterung
Impulsmerker (M 100.0) gibt die
ebertragung von Telegrammen frei.
Senden aktiv
Empfangen aktiv
Ist Sendeerlaubnis erteilt,
wird der Sende>FB bearbeitet.
Aufruf Sende>FB
FB 1 und FB 3 k‘nnen durch andere FBs (FB 2, FB 200 ∫SENDEN∫ und FB 201 ∫EMPFANG∫ oder
vom Anwender selbst programmierten FBs) ersetzt werden.
Hinweis:
Wßhrend laufendem Telegrammverkehr zwischen CPU und CP 521 BASIC sind
keine Proze˚alarme (CPU 103) zulßssig.
8>12
EWA 4NEB 812 6071>01
CP 521 BASIC
8.5.6
Programme
Eingabe Funktionsbaustein FB 1
Telegramm mit fester Lßnge senden
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
Angenommen, Sie haben den CP 521 BASIC auf Steckplatz 7 (Anfangsadresse 120)
angebracht und wollen ein Telegramm mit fester Lßnge (12 Byte) von der CPU
zum CP 521 BASIC Âbertragen. Die Daten fÂr das Telegramm haben Sie im AG im
Datenbaustein (DB) 20 hinterlegt.
AWL FB 1
Erlßuterung
:
NAME
:SENDEN
:A
DB
:
20
:U
M
80.0
:
:SPB =M001
Merker 80.0 kennzeichnet einen bereits
angesto˚enen Sendeauftrag.
:
:L
:T
KH A001
AW 120
:
:
:L
A001H wird an den CP 521 BASIC (Wort!0)
geschickt, damit wird der Sendeauftrag
angesto˚en.
KH 000C
In Wort 1 wird dem CP 521 BASIC die
Sendelßnge (hier 12 Byte) Âbermittelt.
:T
:
:S
M001
Senden mit fester Lßnge (12 Byte)
Quell>DB aufschlagen
AW
122
M
80.0
:R
M
:BEA
:
80.1
:L
:L
:UW
EW 120
KH F00F
:L
KH 5001
:><F
:
:SPB =M002
:
:L
EW 122
:L
KH 0000
:><F
EWA 4NEB 812 6071>01
Merker 80.0 wird gesetzt:
d.h.der Auftragsansto˚ wurde
abgesendet; der Sendeauftrag lßuft.
Auswertung der RÂckmeldung des
CP 521!BASIC:
> Ist die RÂckmeldung nicht positiv
(5001H), dann Sprung zur Marke 002.
> Sind die Koordinierungsdaten ungÂltig
oder wird ein Datenblock quittiert,
8>13
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
Programme
AWL FB 1 (Fortsetzung)
Erlßuterung (Fortsetzung)
:
dann Sprung zur Marke 003.
:SPB =M003
:
:
:L
:T
:L
KH B001
AW 120
DW
0
:T
:L
:T
AW
DW
AW
:L
DW
:T
AW
:BEA
:
M003
wenn gÂltig, RÂckmeldung ist 5001H:
> Kennung fÂr 1. Datenblock (B001H) in
Wort 0 schreiben.
> Nettodaten des 1. Datenblocks in
Wort 1 ... 3 schreiben.
122
1
124
2
126
:L
EW 122
:L
KH 0001
:><F
Wurde der Datenblock Nr. 1 vom
CP!521!BASIC noch nicht quittiert,
dann Sprung zur Marke 002.
:
:SPB =M002
:
M002
:L
:T
:L
KH B002
AW 120
DW
3
:T
:L
:T
AW
DW
AW
122
4
124
:L
DW
:T
AW
:BEA
5
126
:
:L
:L
EW
KH
:UW
:L
:><
KH 5000
F
120
F00F
RÂckmeldung auf 1. Datenblock erfolgt,
> Kennung fÂr 2. Datenblock (B002H) in
Wort 0 schreiben.
> Nettodaten des 2. Datenblocks in
Wort 1 ... 3 schreiben.
RÂckmeldung prÂfen
Ist es eine Abschlu˚meldung?
:
:SPB =M004
8>14
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
:L
:L
:UW
M005
M004
Programme
AWL FB 1 (Fortsetzung)
EW
KH
:BE
EWA 4NEB 812 6071>01
122
FF00
:!=
:S
:L
F
M
KH
80.1
0000
:T
:
:R
:R
AW
120
M
M
80.2
80.0
Erlßuterung (Fortsetzung)
:
Wurde der Sendeauftrag abgewiesen?
:L
KH
FF00
:>< F
:SPB =M005
Abschlie˚end wird Leerauftrag 0000H an
den CP 521 BASIC gesendet.
Der Sendeauftrag wird wieder
freigegeben.
Der Auftrag ist beendet.
8>15
Programme
CP 521 BASIC
8.5.7 Eingabe Funktionsbaustein FB 2 (nur fÂr CPU 103)
Telegramm mit Endezeichen senden
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
Sie haben den CP 521 BASIC auf Steckplatz 7 (Anfangsadresse 120) angebracht
und wollen ein Telegramm mit unbestimmter Lßnge von der CPU zum
CP!521!BASIC Âbertragen. Die Daten fÂr das Telegramm werden aus dem DB 21
entnommen. Die beiden Endezeichen kennzeichnen das letzte Wort das
Âbertragen wird.
AWL FB 2
Erlßuterung
:
NAME
:A
:
:
:U M
:
:SPB
:
:
:U
:
:SPB
:
:L
:T
:
:
:L
:T
:L
:T
:
:S
:R
:
:
8>16
:SENDEN
DB 21
90.0
=M001
M
80.0
Senden mit Endekennung
Quell>DB aufschlagen
Wurden alle Daten bereits an den
CP!521!BASIC Âbergeben, dann Sprung
zur Marke 001. Æ Auswertung der
RÂckmeldung des CP 521 BASIC
Merker 80.0 kennzeichnet einen bereits
angesto˚enen Sendeauftrag.
=M002
KH A001
AW 120
A001H wird an den CP 521 BASIC (Wort!0)
geschickt, damit wird der Sendeauftrag
angesto˚en.
KH 0000
AW 122
KH 0D0D
AW 124
Telegrammlßnge: d.h. 0000H
M
M
Merker 80.0 wird gesetzt: d.h. der
Auftragsansto˚ wurde abgesendet,
der Sendeauftrag lßuft.
80.0
80.1
Endekennzeichen
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
:
:L
:T
:L
:T
:L
:T
:L
:T
:L
:T
:BEA
:
M002
:
:L
:L
:UW
:L
:><F
:SPB
:
:L
:L
:><F
:SPB
:
:L
:T
:B
:L
:T
:B
:L
:T
:B
:L
:T
Programme
AWL FB 2
KH
MW
KH
MW
KF
MW
KF
MW
KF
MW
EW
MW
MW
AW
MW
DW
AW
MW
DW
AW
MW
DW
AW
EWA 4NEB 812 6071>01
0000
22
B001
24
+0
30
+1
32
+2
34
EW 120
KH F00F
122
22
24
120
30
0
122
32
0
124
34
0
126
Erlßuterung
Vorbelegen der Hilfsregister
Blockquittung rÂcksetzen
ebergabe des ersten Datenblocks
Zeiger im Quell>DB auf ihre
Anfangswerte setzen
Hat der CP 521 BASIC den Âbertragenen
Datenblock quittiert?
KH 5001
=M001
eberprÂfung der Nummer des
quittierten Datenblocks
=M001
Transfer des nßchsten Datenblocks
mit entsprechender Nummer
Zu Âbertragende Daten>Bytes
aus dem Quell>DB auslesen und
an den CP 521 BASIC Âbergeben.
8>17
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
Programme
8>18
CP 521 BASIC
AWL FB 2 (Fortsetzung)
:
:L
:L
:!=F
:S
:L
:L
:!=F
:S
:L
:L
:!=F
:S
:
:
:L
:L
:+F
:T
:L
:L
:+F
:T
:
:L
:L
:+F
:T
:L
:L
:+F
:T
:L
:L
:+F
:T
:BEA
:
AW 122
KH 0D0D
M
90.0
AW 124
KH 0D0D
M
MW 22
KF +1
MW 22
MW 24
KF +1
MW
MW 30
KF +3
MW
Erlßuterung (Fortsetzung)
War in dem zu Âbertragenden Daten>
Byte die Endekennung ∫0D0D∫
enthalten, dann warten auf die Quittung
5000H vom CP 521 BASIC.
M
90.0
AW 126
KH 0D0D
90.0
Hilfsregister fÂr den nßchsten Daten>
block vorbelegen:
Blocknummer in der Blockquittung
(MW 22) und Blocknummer im Auftrag
∫Daten senden∫ (MW 24) um 1 erh‘hen.
24
Zeiger im Quell>DB um 1 erh‘hen.
MW 30
MW 32
KF +3
MW 32
MW 34
KF +3
34
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
AWL FB 2 (Fortsetzung)
M001
M004
M003
:
:L
EW 120
:L
KH F00F
:UW
:L
KH 5000
:><F
:SPB=M003
:
:L
EW 122
:L
KH FF00
:UW
:L
KH FF00
:><F
:SPB=M004
:!=F
:S
M 80.1
:L
KM 0000
:T
AW 120
:
:R
M 80.2
:R
M 80.0
:R
M 90.0
:BE
EWA 4NEB 812 6071>01
Programme
Erlßuterung (Fortsetzung)
RÂckmeldung prÂfen
Ist es eine Abschlu˚meldung?
Wurde der Sendeauftrag abgewiesen?
Abschlie˚end wird Leerauftrag 0000H
an den CP 521 BASIC gesendet.
Sendeauftrag wird wieder
freigegeben.
Der Auftrag ist beendet.
8>19
Programme
8.5.8
CP 521 BASIC
Eingabe Funktionsbaustein FB 3
Telegramm mit fester Lßnge empfangen
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Sie haben die Baugruppe auf Steckplatz 7 (Anfangsadresse 120) angebracht und
wollen zw‘lf Byte lange Datentelegramme vom CP 521 BASIC zur CPU Âber>
tragen. Die ankommenden Daten hinterlegen Sie im Datenbaustein (DB) 3.
AWL FB 3
NAME
Erlßuterung
:
:EMPFANG
:A
DB 3
:
:L
:L
Empfangen mit fester Lßnge (12 Byte)
Ziel>DB aufschlagen
EW 120
KH 0F00
:UW
:L
KH 0F00
:!=F
Ist der CP 521 BASIC noch beschßftigt?
:
:BEB
:
:U
M
80.4
:
:SPB =M001
:
:L
:T
:
:S
:
M001
Merker 80.4 kennzeichnet einen ange>
sto˚enen Empfangsauftrag.
KH A080
AW 120
Empfangsauftrag an den CP 521 BASIC
Âbergeben
M
Empfangsauftrag ist Âbergeben, Merker
80.4 wird gesetzt.
80.4
:BEA
:
:L
EW 120
:L
KH F00F
Empfangsauftrag lßuft.
RÂckmeldung prÂfen
:UW
:L
KH 6001
:><F
RÂckmeldung nicht 6001H, dann
Sprung zur Marke 002.
:
:SPB =M002
:
8>20
EWA 4NEB 812 6071>01
Programme
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
AWL FB 3
M002
Erlßuterung
:L
EW
122
:T
:L
:T
DW
EW
DW
0
124
1
:L
:T
:L
EW
DW
EW
126
2
120
:L
:T
:
KH C001
AW 120
:BEA
:
:L
EW 120
:L
KH 6002
RÂckmeldung ist 6001H:
> Wort 1 ... 3 enthßlt die Nettodaten
des ersten Blocks des Empfangstele>
gramms.
Quittierung des ersten Blocks an den
CP!521 BASIC schicken.
Ist die RÂckmeldung nicht 6002H,
dann Sprung zur Marke 003.
:><F
:
:SPB =M003
:
:L
:T
EW
DW
122
3
:L
:T
:L
EW
DW
EW
124
4
126
:T
:
:L
DW
5
KH C002
:T
AW
:
:BEA
M003
:
:L
:L
120
RÂckmeldung ist 6002H:
> Wort 1 ... 3 enthßlt die Nettodaten
des zweiten Blocks des Empfangstele>
gramms.
Quittierung des zweiten Blocks an den
CP!521 BASIC schicken. Der nßchste
Auftrag kann angesto˚en werden.
EW 120
KH F000
:UW
:L
KH 5000
:><F
Ist es eine Abschlu˚meldung?
:SPB =M004
:
EWA 4NEB 812 6071>01
8>21
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
Programme
M005
M004
8>22
CP 521 BASIC
AWL FB 3
:L
:L
:UW
:T
:
:R
:R
:BE
EW 122
KH FF00
:!=F
:S
M 80.5
:L
KH 0000
AW
M
M
120
80.6
80.4
Erlßuterung
:
Wurde der Empfangsauftrag
abgewiesen?
:L
KH FF00
:<>F
:SPB =M005
Abschlie˚end wird Leerauftrag 0000H an
den CP 521 BASIC gesendet.
Merker 80.6 und 80.4 werden zurÂck>
gesetzt.
Der Auftrag ist beendet.
EWA 4NEB 812 6071>01
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
aaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
CP 521 BASIC
8.5.9
f
f
f
f
Programme
Handhabung und Eingabe des parametrierbaren
Funktionsbausteins FB 200 ∫SENDEN∫
Der FB 200 ∫SENDEN∫ Âbertrßgt ein Telegramm mit einstellbarer Lßnge von der
CPU zum CP 521 BASIC. Sie mÂssen vor dem Aufruf des FB 200 ∫SENDEN∫ das zu
Âbertragende Telegramm in einem Datenbaustein ablegen (Quell>
Datenbaustein). Beim Aufruf des FB 200 ∫SENDEN∫ mÂssen Sie angeben:
die Anfangsadresse des CP 521 BASIC
des
Quell>Datenbausteins,
aus
dem
die
Nummer
CP 521 BASIC Âbertragen werden soll
die Nummer des Quell>Datenwortes, ab der das Telegramm abgelegt ist
die Lßnge des zu Âbertragenden Telegramms (Anzahl der Quell>Datenbytes)
Hinweis:
FB 200 ∫SENDEN∫ ist nur auf der CPU 103 ablauffßhig.
Aufruf und Parametrierung des FB 200 ∫SENDEN∫*
AWL
EWA 4NEB 812 6071>01
KOP/FUP
:SPA FB
200
NAME
BEZ.
BEZ.
:SENDEN
:BGAD
:Q-DB
:KF
:B
BEZ.
BEZ.
:QANF
:QLAE
:KF
:KF
FB 200
BGAD
Q>DB
QANF
QLAE
Tabelle 8.1 Bausteinparameter des FB 200 ∫SENDEN∫
Name
(Bezeichner )
Art
Typ
Beschreibung
BGAD
Q>DB
QANF
QLAE
D
B
D
D
KF
Anfangsadresse der Baugruppe
Nummer des Quell>Datenbausteins
Nummer des ersten Quell>Datenwortes
Anzahl der zu Âbertragenden Datenbytes
KF
KF
* bitte beachten, da˚ im FB 200 Schmiermerker verwendet werden.
8>23
das
Telegramm
auf
d
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
Programme
8>24
CP 521 BASIC
Schematische Funktionsweise des FB 200 ∫SENDEN∫
Hinweis:
Dieser Abschnitt dient zum besseren Verstßndnis der Funktionsweise des
FB 200 ∫SENDEN∫. Zur Bedienung des FB 200 ∫SENDEN∫ sind diese Informa>
tionen nicht erforderlich.
ANFANG
ja
ja
nein
nein
ENDE
Ist Baugruppe
beschßftigt?
ENDE
Fehlermeldung in
Statusbyte ablegen
Netzwerk 2
nein
Wurde Blockanzahl
schon ermittelt?
nein
Errechnen der Blockanzahl
Ist Quell>DB
vorhanden?
ja
Hat Quell>DB die
richtige Lßnge?
ja
1
Bild 8.7 Schematischer Ablauf ∫Telegramm senden∫ (FB 200)
EWA 4NEB 812 6071>01
CP 521 BASIC
Programme
1
Adre˚zeiger stellen
Netzwerk 3
Sendeauftrag A001H ansto˚en
Netzwerk 4
Zeiger auf Quelldaten stellen
nein
Wurde Auftrag
angenommen ?
Netzwerk 5
ja
Block Âbertragen
Datenwortzeiger neu stellen
nein
Ist Auftrag
abgeschlossen?
ja
Merker setzen
bzw. rÂcksetzen
ENDE
Bild 8.7 Schematischer Ablauf ∫Telegramm senden∫ (Fortsetzung)
EWA 4NEB 812 6071>01
8>25
Programme
CP 521 BASIC
Merker im FB 200 ∫SENDEN∫
Erklßrung zu den vom FB 200 ∫SENDEN∫ benutzen Merkern:
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
Tabelle 8.2 ebersicht Âber die vom FB 200 ∫SENDEN∫ benutzten Merker
Merker
Bedeutung
MW 230
Hilfsmerkerwort zum Zwischenspeichern der Quell>DB>Lßnge
MW 234
Baugruppenadre˚register ∫Wort 0∫
MW 236
Baugruppenadre˚register ∫Wort 1∫
MW 238
Baugruppenadre˚register ∫Wort 2∫
MW 240
Baugruppenadre˚register ∫Wort 3∫
MW 242
Muster fÂr die BlockankÂndigung (Welcher Block wird belegt?)
MW 244
Vergleichsmuster Blocknummer
MW 246
Datenwortzeiger ∫Wort 0∫
MW 248
Datenwortzeiger ∫Wort 1∫
MW 250
Datenwortzeiger ∫Wort 2∫
MB 252
Hilfsregister fÂr Blockanzahl
MB 253
Blockzßhler fÂr Quelldaten
M 80.0
Merker: Auftrag angesto˚en
M 80.1
Merker: Auftrag abgewiesen
M 80.2
Merker: Senden aktiv
M 80.3
Merker: Parameterfehler
8>26
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
BLK
Programme
FB 200
NETZWERK 1
NAME :SENDEN
BEZ :BGAD
BEZ :Q-DB
BEZ :QANF
BEZ :QLAE
NETZWERK 2
:LW
:T
:
:B
:L
:SPB
:
:LW
:T
:L
:ADD
:T
:L
E/A/D/B/T/Z:
E/A/D/B/T/Z:
E/A/D/B/T/Z:
E/A/D/B/T/Z:
AWL FB 200
:L
EW
0
:L
KH 0F00
:UW
:L
KH 0F00
:!=F
:BEB
:
:
MB 252
:L
KB 0
:><F
=QLAE
MB 253
MB 252
KF +1
MB 252
MB 253
:ADD KF -6
:T
MB 253
:L
KF +0
:<=F
:SPB =BLDA
:
EWA 4NEB 812 6071>01
LAE = 282
D
B
D
D
KM/KH/KY/KC/KF/KT/KZ/KG: KF
KM/KH/KY/KC/KF/KT/KZ/KG: KF
KM/KH/KY/KC/KF/KT/KZ/KG: KF
Erlßuterung
=BGAD
MW 234
Baugruppenadresse laden
und abspeichern.
beschßftigt?
MW 234
Ist der CP 521 BASIC
Wenn ja, Bausteinende.
Blockanzahl:
Berechnung der
einmal
Wenn die Blockanzahl
ermittelt ist, wird keine Be>
rechnung mehr
durchgefÂhrt.
=BLDA
Lßnge zwischenspeichern.
Blockzßhler erh‘hen und
Bytean>
von der Lßnge sooft die
subtrahieren,
zahl eines Blockes
bis Null erreicht ist.
Blockanzahl steht fest.
8>27
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Programme
AWL FB 200
Erlßuterung
:LW =Q-DB
:SLW
8
:SRW
7
:L
KH E400
Parameter Q>DB laden,
DB>Nummer isolieren
:+F
:LIR
0
:
:L
KH 0000
ermitteln.
und Anfangsadresse des Q>
DB
Ist der Quell>DB
vorhanden?
:!=F
:SPB
:
:TAK
:L
:+F
:LIR
:L
:+F
:T
:
:
∫FEHLER∫
=FEHL
DB>Lßnge ermitteln
KF -2
0
KF -5
MW 230
und zwischenspeichern.
eberprÂfung der Lßnge des
Quell>DB:
:L
KF +255
:>F
:SPB =FEHL
:
:LW =QANF
Ist der Quell>DB zu lang?
∫FEHLER∫
eberprÂfen, ob QANF < 0
ist?
:L
KH 0000
:<F
:SPB =FEHL
:
:LW =QANF
∫FEHLER∫
eberprÂfen, ob QANF +
QLAE >
:LW
:SRW
:ADD
:+F
:L
:>F
:SPB
:
:LW
8>28
Quell>DB>Lßnge ist ?
=QLAE
1
KF +1
MW 230
=FEHL
∫FEHLER∫
=QLAE
eberprÂfen, ob QLAE >
EWA 4NEB 812 6071>01
Programme
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
CP 521 BASIC
AWL FB 200
FEHL
WEIT
:
:L
MB 80
:L
KH 0008
:OW
:T
MB 80
:BEA
:***
NETZWERK 3
:LW
:T
:L
:+F
:T
:L
:+F
:T
:L
:+F
:T
:
:***
NETZWERK 4
:U
Erlßuterung
Parameterfehler eintragen.
Adre˚zeiger stellen:
=BGAD
MW 234
KF +2
Basisadresse
(Wort 0)
MW 236
KF +2
Basisadresse + 2 (Wort 1)
MW 238
KF +2
Basisadresse + 4 (Wort 2)
MW 240
Basisadresse + 6 (Wort 3)
M
Merker: Auftrag
80.0
angesto˚en
:SPB =AUFS
Ist der Merker gesetzt,
:
keinen neuen Auftrag
dann
ansto˚en.
:L
:B
KH A001
MW 234
Auftrag in Wort 0
AW
0
=QLAE
MW 236
Lßnge in Wort 1
schreiben.
:T
:LW
:B
hinterlegen.
:T
:
:L
AW
0
KH B001
Kennung fÂr die
Blockquittung>
:T
:L
:T
MW 242
KF +0
MW 244
EWA 4NEB 812 6071>01
erster Block> speichern.
Vergleichswert >
Block 1> speichern.
8>29
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Programme
AWL FB200
:
:L
:+F
:T
:L
:+F
:T
:
:UN
Erlßuterung
KF +1
MW 248
KF +1
Anfang + 1
MW 250
Anfang + 2
M
80.0
Merker: ∫Sendeauftrag
:S
M
:R
M
:BEA
:***
80.0
80.1
setzen
Fehlermerker rÂcksetzen
Bausteinende
angesto˚en∫
AUFS
NETZWERK 5
:B
:L
:L
MW 234
EW
0
KH F00F
Eingangswort ∫0∫ laden
und ÂberprÂfen, ob der
Auftrag angenommen
wurde.
:UW
:L
:><F
:SPB
:
:B
:L
KH 5001
=KAUF
MW 236
EW
0
eberprÂfen, ob der richtige
Block entgegengenommen
KH 00FF
kann.
werden
:L
:UW
:L
:><F
:BEB
:
:B
:
:L
:B
:T
:
:B
:L
:B
8>30
MW 244
=Q-DB
Quell>DB aufschlagen,
MW 242
MW 234
AW
0
Block ankÂndigen
und Âbertragen.
MW 246
DW
0
MW 236
Wort 0
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
CP 521 BASIC
:
:B
:L
:B
:T
:
:B
:L
:B
:T
:
:L
:L
:+F
:T
:L
:UW
:L
:+F
:T
:
:L
:L
:+F
:T
:
:L
:L
:+F
:T
:
:L
:L
:+F
:T
:
Programme
AWL FB200
MW 242
KH 00FF
:L
MB 252
:>F
:SPB =ENDE
:
:L
MW 244
MW 246
KF +3
MW 248
KF +3
MW 250
KF +3
EWA 4NEB 812 6071>01
Erlßuterung
MW 248
DW
0
MW 238
AW
0
Wort 1
MW 250
DW
0
MW 240
AW
0
Wort 2
aktualisieren
MW 242
Blockquittung
KF +1
und ÂberprÂfen, ob die
zu Âbertragende
Blockanzahl
erreicht ist.
aktualisieren.
Blocknummer
KF +1
MW 244
Datenwortzeiger erh‘hen:
Wort 0
MW 246
Wort 1
MW 248
Wort 2
MW 250
8>31
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Programme
KAUF
RESE
8>32
CP 521 BASIC
AWL FB200
:
:B
:L
:L
:UW
:L
:><F
:SPB
:
:B
:L
:L
:UW
:L
:><F
:SPB
:!=F
:S
:L
:B
:T
:R
:R
MW 234
EW
0
MW 236
EW
0
KH FF00
freigegeben
M
80.1
KH 0000
MW 234
AW
0
M
80.2
Auftrag wurde abgelehnt.
M
werden.
80.0
Erlßuterung
eberprÂfen, ob ein neuer
Auftrag gestartet werden
kann
KH F00F
KH 5000
=ENDE
eberprÂfen, ob ein Auftrag
abgeschlossen wurde
KH FF00
=RESE
Auftrag kann wieder
EWA 4NEB 812 6071>01
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaa
a
CP 521 BASIC
f
f
f
Programme
8.5.10 Handhabung und Eingabe des parametrierbaren Funktions>
bausteins FB 201 ∫EMPFANG∫
Der FB201 ∫EMPFANG∫ Âbertrßgt Telegramme vom CP 521 BASIC zur CPU.
Beim Aufruf des FB201 ∫EMPFANG∫ mÂssen Sie angeben:
die Anfangsadresse des CP 521 BASIC
die Nummer des Ziel>Datenbausteins, in dem das Telegramm vom
CP!521!BASIC abgelegt werden soll
die Nummer des Ziel>Datenworts, ab der das Telegramm abgelegt werden
soll.
Hinweis:
FB 201 ∫EMPFANG∫ ist nur auf der CPU 103 ablauffßhig.
Aufruf und Parametrierung des FB 201 ∫EMPFANG∫*
AWL
EWA 4NEB 812 6071>01
KOP / FUP
NAME
:SPA FB 201
:EMPFANG
BEZ.
BEZ.
BEZ.
:BGAD
:Z-DB
:ZANF
FB 201
:KF
:B
:KF
BGAD
Z>DB
ZANF
Tabelle 8.3 Bausteinparameter des FB 201 ∫EMPFANG∫
Name
(Bezeichner )
Art
Typ
BGAD
Z>DB
ZANF
D
B
D
KF
KF
Beschreibung
Anfangsadresse der Baugruppe
Nummer des Ziel>Datenbausteins
Nummer des ersten Ziel>Datenwortes
* bitte beachten, da˚ im FB 201 Schmiermerker verwendet werden.
8>33
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaa
a
Programme
8>34
CP 521 BASIC
Schematische Funktionsweise des FB 201 ∫EMPFANG∫.
Hinweis:
Dieser Abschnitt dient zum besseren Verstßndnis der Funktionsweise des
FB 201 ∫EMPFANG∫. Zur Bedienung des FB 201 ∫EMPFANG∫ sind diese Infor>
mationen nicht erforderlich.
ANFANG
ja
nein
nein
Fehlermeldung in
Statusbyte ablegen
ENDE
Ist Baugruppe
beschßftigt?
Netzwerk 2
ENDE
nein
Ist Ziel>DB
vorhanden?
ja
Hat Ziel>DB die
richtige Lßnge?
ja
Adre˚zeiger stellen
Netzwerk 3
Empfangsauftrag A080H
ansto˚en
Netzwerk 4
1
Bild 8.8 Schematischer Ablauf ∫Telegramm empfangen∫ (FB 201)
EWA 4NEB 812 6071>01
CP 521 BASIC
Programme
1
Zeiger auf Zieldaten stellen
nein
Wurde Auftrag
angenommen ?
Netzwerk 5
ja
Block im Empfangs>DB eintragen
Datenwortzeiger neu stellen
nein
Ist Auftrag
abgeschlossen?
ja
Merker setzen
bzw. rÂcksetzen
ENDE
Bild 8.8 Schematischer Ablauf ∫Telegramm empfangen∫ (Fortsetzung)
EWA 4NEB 812 6071>01
8>35
Programme
CP 521 BASIC
Merker im FB201 ∫EMPFANG∫
Erklßrung zu den vom FB ∫EMPFANG∫ benutzten Merkern:
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
Tabelle 8.4 ebersicht Âber die vom FB201 ∫EMPFANG∫ benutzten Merker
Merker
Bedeutung
MW 230
Zwischenspeicher fÂr DB>Lßnge
MW 234
Baugruppenadre˚register∫Wort 0∫
MW 236
Baugruppenadre˚register ∫Wort 1∫
MW 238
Baugruppenadre˚register ∫Wort 2∫
MW 240
Baugruppenadre˚register ∫Wort 3∫
MW 242
Vergleichsmuster CP>Block>Quittung
MW 244
Blockquittung von der CPU
MW 246
Datenwortzeiger ∫Wort 0∫
MW 248
Datenwortzeiger ∫Wort 1∫
MW 250
Datenwortzeiger ∫Wort 2∫
M 232.0
Hilfsmerker Fehler: DB>Grenze Âberschritten
M 80.4
Merker: Auftrag angesto˚en
M 80.5
Merker: Auftrag abgewiesen
M 80.6
Merker: Empfang aktiv
M 80.7
Merker: Parameterfehler
8>36
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaa
a
CP 521 BASIC
Programme
FB 201
NETZWERK 1
NAME :EMPF.
BEZ :BGAD
BEZ :Z-DB
BEZ :ZANF
E/A/D/B/T/Z: D
E/A/D/B/T/Z: B
E/A/D/B/T/Z: D
NETZWERK 2
:LW =BGAD
:T
MW 234
:
:B
MW 234
:L
:L
:UW
:L
:!=F
:BEB
:
:
:LW
:SLW
:SRW
EW
0
KH 0F00
:L
KH E400
=Z-DB
8
7
EWA 4NEB 812 6071>01
LAE=236
KM/KH/KY/KC/KF/KT/KZ/KG: KF
KM/KH/KY/KC/KF/KT/KZ/KG: KF
AWL FB 201
Erlßuterung
Baugruppenadresse laden
und abspeichern
beschßftigt?
Ist der CP 521 BASIC
KH 0F00
Wenn ja, Bausteinende
eberprÂfen, ob der Ziel>DB
vorhanden ist.
Parameter Z>DB laden,
DB>Nummer isolieren
DB
:+F
und Anfangsadresse des Z>
:LIR
0
:
:
:L
KH 0000
:!=F
:SPB =FEHL
:
:TAK
ermitteln
Ist der Ziel>DB vorhanden?
∫FEHLER∫
DB>Lßnge ermitteln
:L
KF -2
:+F
:LIR
0
:L
KF -5
:+F
8>37
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Programme
AWL FB 201
:SPB =FEHL
:
:LW =ZANF
Erlßuterung
∫FEHLER∫
eberprÂfen, ob ZANF < 0
ist?
:L
KH 0000
:<F
:SPB =FEHL
:SPA =WEIT
∫FEHLER∫
Ansonsten weiter im
Programm
FEHL
WEIT
:
:L
:L
:OW
:T
:BEA
:***
:
:LW
:T
:L
:+F
:T
:L
:+F
:T
:L
:+F
:T
:
:***
NETZWERK 4
:
:
:U
MB 80
KH 0080
MB
∫FEHLER∫
80
Adre˚zeiger stellen:
=BGAD
MW 234
KF +2
Basisadresse
(Wort 0)
MW 236
KF +2
Basisadresse + 2 (Wort 1)
MW 238
KF +2
Basisadresse + 4 (Wort 2)
MW 240
Basisadresse + 6 (Wort 3)
M
Merker: Auftrag ansto˚en
Ist der Merker gesetzt,
80.4
dann
:SPB =AUSP
keinen neuen Auftrag
ansto˚en.
:
:L
KH A080
Auftrag in Wort 0
schreiben.
:B
8>38
MW 234
EWA 4NEB 812 6071>01
Programme
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
CP 521 BASIC
AWL FB 201
:
:L
Erlßuterung
KH C001
Blockquittung >erster
:T
:
:
MW 244
speichern
:LW
:T
:L
:+F
:T
:L
:+F
:T
:
:
:S
:
:BEA
:***
=ZANF
MW 246
KF +1
Zielanfang
MW 248
KF +1
Anfang + 1
MW 250
Anfang + 2
M
Merker: ∫Empfangsauftrag
angesto˚en∫ setzen
Bausteinende
Block>
Zeiger auf Zieldaten
stellen:
AUSP
80.4
NETZWERK 5
:
Wenn die
Datenbausteingrenze
:U
:BEB
:
:B
:L
:L
M
232.0
MW 234
EW
0
MW 242
Âberschritten wurde, wird
der Eintrag abgebrochen
Eingangswort "0" laden
und ÂberprÂfen, ob der
Auftrag angenommen
wurde
:><F
:SPB
:
:B
:
:B
:L
:B
:T
:
:B
=KAUF
=Z-DB
Ziel>DB aufschlagen
MW 236
EW
0
MW 246
DW
0
Wort 0,
MW 238
Wort 1 und
EWA 4NEB 812 6071>01
8>39
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Programme
8>40
CP 521 BASIC
AWL FB 201
:
:B
Âbertragen
:L
:B
:T
:
:L
:B
:T
:
:L
:L
:+F
:T
:
:L
:L
:+F
:T
:
:L
:L
:+F
:T
:
:L
:L
:+F
:T
:
:L
:L
:+F
:T
:L
MW 240
MW 244
MW 242
KF +1
MW 244
MW 246
KF +3
MW 248
KF +3
Âberschritten
Erlßuterung
Wort 2 in den DB
EW
0
MW 250
DW
0
quittieren
DatenÂbernahme
MW 234
AW
0
Blockmeldung und
MW 242
aktualisieren
Blockquittung
KF +1
MW 244
Datenwortzeiger
Wort 0
MW 246
Wort 1
MW 248
MW 250
KF +3
Wort 2
erh‘hen
MW 250
MW 230
die
und ÂberprÂfen, ob dabei
:<=F
DB>Obergrenze
:SPB =KAUF
:UN M 232.0
:S
M 232.0
wird
Fehlermerker setzen und
EWA 4NEB 812 6071>01
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
CP 521 BASIC
KAUF
RESE
Programme
AWL FB 201
:
:OW
:T
MB 80
:BEA
:
:
:B
MW 234
Auftrag
:L
:L
:UW
:L
:><F
:SPB
:B
EW
0
KH F000
:L
:L
:UW
:L
:><F
:SPB
:!=F
:S
:L
:B
:T
:R
EW
0
KH FF00
=ENDE
MW 236
M
80.5
KH 0000
MW 234
AW
0
M
80.6
EWA 4NEB 812 6071>01
Erlßuterung
Meldung eintragen
Bausteinende
Auftrag
eberprÂfen, ob der
abgeschlossen wurde
KH 5000
eberprÂfen, ob der
abgelehnt worden ist
KH FF00
=RESE
Auftrag wurde abgelehnt.
freigegeben
Auftrag kann wieder
8>41
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaaaa
a
Anhang A: Befehle, Anweisungen und Funktionen
A.1
Zusammenstellung aller Befehle, Anweisungen,
Funktionen und Operatoren . . . . . . . . . . . . . . . . . . . . . . . . .
EWA 4NEB 812 6071>01
A >
1
EWA 4NEB 812 6071>01
CP 521 BASIC
Zusammenstellung aller Befehle, Funktionen,
Anweisungen und Operatoren
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaa
a
A.1
Befehle, Anweisungen und Funktionen
Befehl, Funktion,
Anweisung
Bedeutung
Beispiel
ASC (ASCII>Zeichen)
(Æ Kap.5.12.6)
Einzelne Zeichen eines Strings manipu>
lieren, Wandlung eines Zeichens in den
ASCII>Code
PRINT ASC(A)
BREAK ([integer])
(Æ Kap.5.8.5)
Ein>/Abschalten der Programmunter>
brechbarkeit durch <CTRL C>
BREAK (1)
BUFIN [strvar(,expr)]
(Æ Kap.5.10.3)
schreibt den Variableninhalt in den
Sendepuffer zur Peripherie
Als Funktionswert wird ein Fehlerstatus
Âbergeben
X=BUFIN §(0), 250
BUFOUT [strvar(,expr)]
(Æ Kap.5.10.6)
liest aus dem Empfangspuffer von der
Peripherie Zeichen in die Variable
Als Funktionswert wird ein Fehlerstatus
Âbergeben
X=BUFOUT S(0), 6
BUFREAD datentyp, var
{, lßnge}
(Æ Kap.5.9.5)
liest aus dem Empfangspuffer von der
CPU den angegebenen Datentyp in die
Variable
Ein Fehler beim Lesen bzw. Wandeln
wird als Funktionswert zurÂckgegeben
X=BUFREAD 4, §(0), 10
BUFWRITE datentyp, var
{, lßnge}
(Æ Kap.5.9.6)
wandelt die Variable in den angege>
benen Datentyp und Âbertrßgt den
Wert in den Sendepuffer zur CPU
Ein Fehler beim Lesen bzw. Wandeln
wird als Funktionswert zurÂckgegeben
X=BUFWRITE 1, name
CHR (expr)
(Æ Kap.5.12.6)
Einzelne Zeichen eines Strings manipu>
lieren, Wandlung einer Zahl zum zuge>
h‘rigen Zeichen
X=CHR(35H)
CLEAR
(Æ Kap.5.8.1)
l‘scht alle internen Puffer, numerischen
Variablen und setzt Stacks zurÂck
CLEAR
CLEARI (Æ Kap.5.8.2)
l‘scht alle aufgerufenen Interrupts
CLEARI
CLEARS (Æ Kap.5.8.2)
initialisiert alle Stacks
CLEARS
CLOCK0 (Æ Kap.5.8.20)
sperrt den Timer
CLOCK0
CLOCK1 (Æ Kap.5.8.20)
gibt den Timer frei
CLOCK1
CONT
(Æ Kap.5.6.2)
setzt ein durch STOP oder <CTRL C>
angehaltenes Programm fort
CONT
DATA [expr] {, [expr], ...}
(Æ Kap.5.8.6)
spezifiziert AusdrÂcke und Daten, die
mit READ eingelesen werden
DATA 50, 70, >5, PI/2
EWA 4NEB 812 6071>01
A>1
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaa
a
Befehle, Anweisungen und Funktionen
Befehl, Funktion,
Anweisung
Bedeutung
Beispiel
DIM [var(integer)]
(Æ Kap. 5.8.7)
reserviert Speicherplatz fÂr Arrays
DIM A (20)
DO>UNTIL [rel expr]
(Æ Kap. 5.8.8)
Anweisungen zwischen DO und UNTIL
werden solange ausgefÂhrt, bis der
Ausdruck hinter UNTIL TRUE wird
DO A=A+1
UNTIL A=4
DO>WHILE [rel expr]
(Æ Kap. 5.8.9)
Anweisungen zwischen DO und WHILE
werden solange ausgefÂhrt, solange
der Ausdruck hinter WHILE TRUE ist
DO A=A+1
WHILE A<4
END (Æ Kap. 5.8.10)
beendet die ProgrammausfÂhrung
END
ERASE [integer]
(Æ Kap. 5.7.5)
l‘scht das angegebene Programm vom
Speichermodul
ERASE 15
FIND strvar1, strvar2
(Æ Kap. 5.12.4)
Als Funktionswert wird die Position des
ersten Auftretens von strvar2 in strvar1
Âbergeben
POS=FIND §(0),∫Beispiel∫
FOR>TO>{STEP}>NEXT
(Æ Kap. 5.8.11)
erlaubt die Mehrfachverarbeitung einer
Folge von Befehlen, Anweisungen und/
oder Funktionen in einer Schleife mit
einer definierten Zahl von Durchlßufen
FOR A=B TO C STEP D
NEXT A
FREE
(Æ Kap. 5.14.2)
Abfrage des fÂr Variable verfÂgbaren
Speichers
X=FREE
GET
(Æ Kap. 5.10.5)
liest ein Zeichen aus dem Empfangs>
puffer von der Peripherie
A=GET
GOSUB [ln num]
(Æ Kap. 5.8.12)
Programmverzweigung in die
Subroutine ab ∫ln num∫
GOSUB 1000
GOTO [ln num]
(Æ Kap. 5.8.13)
Programmverzweigung zu einer be>
stimmten Programmzeile
GOTO 150
HANDLE [expr]
(Æ Kap. 5.10.1)
gibt die mit ∫expr∫ vorgegebene
Anzahl von Zeichen aus dem
Sendepuffer zur Peripherie an der
bidirektionalen Schnittstelle
HANDLE 10
HANDLE# [expr]
(Æ Kap. 5.10.1)
gibt die mit ∫expr∫ vorgegebene
Anzahl von Zeichen aus dem
Sendepuffer zur Peripherie an der
unidirektionalen Schnittstelle
HANDLE# >1
HRSTAT
(Æ Kap. 5.10.4)
liefert als Funktionswert den Status des
Empfangspuffers von der Peripherie
bzw. Fehler bei Empfang
EMP=HRSTAT
HSSTAT
(Æ Kap. 5.10.2)
liefert als Funktionswert den Status des
letzten Sendeauftrags
SEN=HSSTAT
A>2
EWA 4NEB 812 6071>01
Befehle, Anweisungen und Funktionen
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaa
a
CP 521 BASIC
Befehl, Funktion,
Anweisung
Bedeutung
Beispiel
IF>THEN>{ELSE}
(Æ Kap. 5.8.15)
erlaubt die Verzweigung in verschiede>
ne Programmteile, abhßngig vom logi>
schen Wahrheitsgehalt eines numeri>
schen Ausdrucks
IF A=100 THEN A=0
ELSE A=A+1
INIT (#) [integer]
(Æ Kap. 5.8.3, 5.8.4)
initialisiert die bidirektionale bzw.
unidirektionale Schnittstelle mit den
angegebenen Werten
INIT 61241
INIT# 7001
INPUT [var]
(Æ Kap. 5.8.16)
Eingabe einer Zeichenkette oder Va>
riablen
INPUT A
LET [var] = [expr]
(Æ Kap. 5.8.17)
weist den Wert eines beliebigen Aus>
drucks einer Variablen oder Zeichen>
kette zu
LET A=50
LEN
(Æ Kap. 5.14.2)
Abfrage der Lßnge des in RAM abge>
legten Programms
PRINT LEN
LIST {ln num{> ln num}}
(Æ Kap. 5.6.3)
gibt ein Programm am Bildschirm aus
LIST
LIST # {ln num{> ln num}}
(Æ Kap. 5.6.4)
gibt ein Programm Âber die unidirek>
tionale Schnittstelle aus
LIST # 50>100
MID (strvar, expr1,expr2)
(Æ Kap. 5.12.3)
als Funktionswert wird einer Stringva>
riablen ein Teilstring der Lßnge ∫expr2∫
beginnend bei ∫expr1∫ zugewiesen
§(0)=MID (§(1), 1,5)
MTOP
(Æ Kap. 5.14.2)
Belegung des Speichers abfragen bzw.
festlegen
PRINT MTOP
NEW
(Æ Kap. 5.6.5)
l‘scht alle Pufferinhalte sowie ein im
RAM befindliches BASIC>Programm
NEW
ONERR [ln num]
(Æ Kap. 5.8.18)
Das Programm verzweigt zu einer ange>
gebenen Zeilennummer, sobald der In>
terpreter eine Fehlermeldung absetzen
will
ONERR 250
ONTIME [expr], [ln num]
(Æ Kap. 5.8.19)
Bildung eines Interrupts, wenn TIME
mindestens gleich dem Argument
∫expr∫ ist und Sprung zu der Interrupt>
Subroutine, die in der angegebenen
Zeilennummer beginnt
ONTIME 10, 1000
ON [expr] GOSUB [ln num]
{, (ln num],...[ln num]}
ON [expr] GOTO [ln num] {,
[ln num],...[ln num]}
(Æ Kap. 5.8.14)
Der Wert des Ausdrucks hinter der An>
weisung ON ist ein Index auf die Liste
der Zeilennummern, mit der das Pro>
gramm fortgesetzt wird (bedingte
Verzweigung)
ON A GOSUB 20, 60
EWA 4NEB 812 6071>01
ON A GOTO 100, 200, 300
A>3
CP 521 BASIC
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaa
a
Befehle, Anweisungen und Funktionen
Befehl, Funktion,
Anweisung
Bedeutung
Beispiel
PH 0.
PH 1.
(Æ Kap. 5.8.24)
gleiche Wirkung wie PRINT, jedoch
Ausgabe der Werte im Hexadezimalfor>
mat mit bzw. ohne UnterdrÂckung vor>
angestellter Nullen
PH 0. 1000
PH 0.#
PH 1.#
(Æ Kap. 5.8.24)
Gleiche Wirkung wie PH0. UND PH1., je>
doch Ausgabe der Werte an die
unidirektionale Schnittstelle
PH 0.# 500
POP [var]
(Æ Kap. 5.8.26)
weist die obersten Werte des Argu>
mentstacks den Variablen zu, die hinter
der Anweisung POP stehen
POP A, B, C
PRINT [Liste von Aus>
drÂcken] (Æ Kap. 5.8.22)
gibt Werte der Liste von AusdrÂcken
Âber die bidirektionale Schnittstelle aus
PRINT ∫CP 521 BASIC∫
PRINT # [Liste von Aus>
drÂcken](Æ Kap. 5.8.23)
gibt Werte der Liste von AusdrÂcken an
die unidirektionale Schnittstelle aus
PRINT # ∫CP 521 BASIC∫
PROG
(Æ Kap. 5.7.3)
speichert das aktuelle Programm vom
RAM im Speichermodul ab
PROG
PROG 1
(Æ Kap. 5.7.4)
wie PROG, speichert jedoch zusßtzlich
die Angaben zur Baudrate ab. Im An>
lauf startet das Programm in RAM, falls
der Betriebsartenschalter auf RUN steht
PROG 1
PROG 2
(Æ Kap. 5.7.4)
wie PROG1, startet jedoch das Pro>
gramm Nr. 1 vom Speichermodul
PROG 2
PUSH [expr]
(Æ Kap. 5.8.25)
Die arithmetischen AusdrÂcke hinter
der PUSH>Anweisung werden auf den
Argumentstack geschrieben
PUSH C, B, A
RAM
(Æ Kap. 5.7.1)
wßhlt als aktuelles Programm das
Programm aus dem RAM>Speicher
RAM
RDCLOCK [strvar]
RDDATE [strvar]
(Æ Kap. 5.13.2, 5.13.4)
∫strvar∫ enthßlt nach dem Aufruf die
aktuelle Uhrzeit bzw. das aktuelle
Datum. Als Funktionswert wird ein
Fehler beim Lesen zurÂckgegeben
X=RDCLOCK §(0)
READ [var] {, [var], ...}
(Æ Kap. 5.8.6)
liest Daten aus einer DATA>Anweisungs>
zeile und weist sie einer Variablen zu
READ A
REM (Æ Kap. 5.8.27)
kennzeichnet Kommentarzeilen
REM PRINT THE ANSWER
REORG
(Æ Kap. 5.7.6)
entfernt durch ERASE gel‘schte Pro>
gramme und reiht verbleibende Pro>
gramme lÂckenlos aneinander
REORG
RESTORE
(Æ Kap. 5.8.6)
setzt internen Lesezeiger auf den An>
fang der mit DATA definierten Daten
zurÂck, soda˚ diese erneut eingelesen
werden k‘nnen
RESTORE
A>4
EWA 4NEB 812 6071>01
Befehle, Anweisungen und Funktionen
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaa
a
CP 521 BASIC
Befehl, Funktion,
Anweisung
Bedeutung
Beispiel
RETI (Æ Kap. 5.8.28)
beendet Interrupt>Routinen
RETI
RETURN
(Æ Kap. 5.8.12)
Beenden eines Unterprogramms und
RÂcksprung zum Hauptpropgramm
RETURN
ROM [integer]
(Æ Kap. 5.7.1)
wßhlt als aktuelles Programm das Pro>
gramm mit der angegebenen Nr. im
Speichermodul
ROM 15
RROM [integer]
(Æ Kap. 5.8.30)
startet das Programm mit der angege>
benen Nr. vom Speichermodul
RROM 5
RSTAT
(Æ Kap. 5.9.4)
liefert einen numerischen Wert, der den
Status des Empfangspuffers darstellt
X=RSTAT
IF X>0 THEN PRINT
∫Zeichen vorhanden∫
RUN
(Æ Kap. 5.6.1)
setzt alle Variablen gleich 0 und das
Programm startet bei der 1. Zeilen>
nummer
RUN
SEND [expr]
(Æ Kap. 5.9.7)
gibt die Sendedaten zum Abholen frei
SEND 210
SETCLOCK [strvar]
SETDATE [strvar]
(Æ Kap. 5.13.1, 5.13.3)
∫strvar∫ enthßlt die Uhrzeit bzw. das
Datum
Als Funktionswert wird ein Fehlerstatus
Âbergeben.
X=SETCLOCK §(0)
SGET [var1], ... ,[var4]
(Æ Kap. 5.9.1)
liest 4 Worte aus dem Peripheriebereich
des CP 521 BASIC und weist sie den
angegebenen Variablen zu. Die Werte
wurden von der CPU Âbergeben.
SGET W0, W1, W2, W3
SLEN strvar
(Æ Kap. 5.12.5)
liefert als Funktionswert die Lßnge des
Strings ∫strvar∫
LNG=SLEN §(1)
SPUT [expr1], ... ,[expr4]
(Æ Kap. 5.9.2)
weist den Wert der AusdrÂcke dem
Peripheriebereich des CP 521 BASIC zu.
Diese Werte k‘nnen in der CPU
ausgelesen werden.
SPUT W0, W1, W2, W3
SSTAT
(Æ Kap. 5.9.3)
liefert einen numerischen Wert, der den
Status des Empfangspuffers darstellt
X=SSTAT
STOP (Æ Kap. 5.8.29)
unterbricht die ProgrammausfÂhrung
STOP
STRING [expr] , [expr]
(Æ Kap. 5.12.1)
reserviert Speicherplatz fÂr Zeichenket>
ten
STRING 50, 10
EWA 4NEB 812 6071>01
A>5
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaa
a
Befehle, Anweisungen und Funktionen
Befehl, Funktion,
Anweisung
A>6
CP 521 BASIC
Bedeutung
Beispiel
T_ADJ [expr]
(Æ Kap. 5.13.5)
korrigiert die Systemzeit in
regelmß˚igen Abstßnden
T_ADJ 100
TIME
(Æ Kap. 5.8.21)
Zuweisung eines Wertes fÂr den Timer
bzw. Abfrage des aktuellen Timewertes
TIME=0
PRINT TIME
XBY ([expr])
(Æ Kap. 5.14.1)
Auslesen des Inhalts bestimmter Adres>
sen
A=XBY (0F000H)
XFER
(Æ Kap. 5.7.2)
Âbertrßgt das aktuelle Programm zur
Bearbeitung in den RAM>Speicher
XFER
∫+∫
(Æ Kap. 5.12.2)
Verkettung zweier Strings
§(1)=§(0)+∫ENDE∫
EWA 4NEB 812 6071>01
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaaaaaa
a
CP 521 BASIC
+
**
PI
COS
TAN
ATN
EWA 4NEB 812 6071>01
Befehle, Anweisungen und Funktionen
Vorhandene Funktionen und Operatoren
Funktion /
Operator
Beschreibung
SIN
Trigonometrische
Funktionen
Beispiel
Addition
X=A+B
>
Substraktion
PRINT A > B
*
Multiplikation
A=B * X
/
Division
X=5 / A
Exponentialfunktion
X=2**4
.AND.
logisches Und
X=26.AND.2
.OR.
logisches Oder
X=25.OR.0AH
.XOR.
logisches Exclusiv>Oder
X=A.XOR.C
NOT
logische Negation
X=NOT(X)
ABS
Absolutwert des Operanden
X=ABS(B)
INT
ganzzahliger Anteil oder Zahl
X=INT(X)
SGN
Vorzeichen (Signum der Zahl)
X=SGN(X)
SQR
Wurzelfunktion
X=SQR(C)
RND
Pseudozufallzahl zwischen 0 und 1
X=RND
LOG
natÂrlicher Logarithmus
X=LOG(PI)
EXP
e>Funktion
X=EXP(X)
Konstante s=3,14 ...
X=PI**PI
Sinus
X=SIN (PI / 4)
Cosinus
X=COS (PI)
Tangens
X=TAN (A)
Arcustangens
X= ATN (C)
A>7
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aaaaaa
a
Stichwortverzeichnis
EWA 4NEB 812 6071>01
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
CP 521 BASIC
Stichwortverzeichnis
Stichwortverzeichnis
A
BASIC>Programm
1>1
6>5, 6>16,
> l‘schen
6>25
> Programmstruktur
8>3
Adre˚bereich
4>6
> sichern
5>10
Adressierung
4>6
> starten
6>26
> Âbertragen
5>30, 5>31
> unterbrechen
5>41
Abschlu˚meldung
AG
> programmieren
8>7
Alarm
6>3, 8>12
5>27, 5>34
Batterie
Alternativverzweigung
5>54
> Ausfall
Anlaufverhalten
4>3, 5>2, 5>3
> Puffer
2>4, 2>5
Anschlu˚plan
3>6
> eberprÂfung
4>4
> Wechsel
2>4
> TTY>Schnittstelle
3>9 > 3>11
> V.24>Schnittstelle
3>6 > 3>8
Anweisung
Betriebsartenschalter
Argumentstack
2>4
AusdrÂcke
> relational
Auto>Baud>Routine
4>5
Bidirektionale Schnittstelle
5>22, 5>74,
> Empfangen von Daten
5>90
5>76
> Datenausgabe
5>67
> Senden von Daten
5>90, 5>91
Arrays (Felder)
> dimensionieren
5>2, 5>33,
5>37, 5>39
5>17, 5>35
Anzeige
> LED
Baudrate
4>4
5>44
Bidirektionale TTY>Schnittstelle 2>3
5>21
> Daten empfangen
5>21
> Daten senden
6>38
5>2, 5>34, 6>2
> parametrieren
5>37
6>39
Bidirektionale V.24>Schnittstelle 2>3
> bedienbare Steuersignale 6>35
B
BASIC>Befehl
> zusßtzlich
BASIC>Interpreter
> Fehlermeldung
> St‘rverhalten
5>23, 5>28
> Daten empfangen
6>39
5>82
> Daten senden
6>38
1>1, 5>1, 5>17
> parametrieren
5>126, 7>3
BUSY>Signal
7>2
1>1
C
> ausgeben
5>25
COM>Software
> fortsetzen
5>24, 5>52,
BASIC>Programm
> laden
EWA 4NEB 812 6071>01
5>37
5>40, 6>40
> Maske INHALT
5>5
5>16
5>53
> Maske LADEN
5>13
5>12
> Maske SICHERN
5>11
1
Stichwortverzeichnis
CP 521 BASIC
COM>Software
Daten
> Maske TERMINAL>
EMULATION
5>9
> eingeben
5>56
> empfangen
6>38, 6>39
> Maske VOREINSTELLUNG 5>7
> freigeben
5>89
> starten
5>5
> lesen aus dem PAA
5>85
> Startmaske
5>6
> Typ
5>87
> Âbertragen
5>5
> ebertragung
CP 521 BASIC
> programmieren
CP>Quittung
> 1. Datenblock
6>12
> 2. Datenblock
6>14
6>21
> Koordinierungs>
6>10
6>11
Datenausgabe
> bidirektionale Schnitt>
stelle
5>67
5>86
> unidirektionale Schnitt>
stelle
6>15, 7>1
> 1. Datenblock senden
6>11
> 2. Datenblock senden
6>13
> (43.) letzten Datenblock
senden
6>38 > 6>40
> CPU>Auftrag
> an das PAE
> (43.) letzter Datenblock
CPU>Auftrag
6>34,
8>3
6>3, 6>4
> Empfangsauftrag
information
6>1
Daten senden
5>72
Datenaustausch
4>2, 6>1
> Direktzugriff
6>28
Datenblock
6>3, 6>4, 6>21
> Nummer
6>3, 6>4,
6>15
> BASIC>Programm starten
6>27
> Daten senden
6>11
> Datentransfer koor>
6>12, 6>21
Datenformat
5>18, 5>38,
5>40, 5>69
> Ganzzahldarstellung
5>18
6>9, 6>20
> Gleitpunktdarstellung
5>18
> Telegramm senden
6>3
> Konstante
5>18
> Uhr stellen
6>33
dinieren
CPU>Quittung
> 1. Datenblock
> empfangen vom CP
6>18
6>22
> senden an CP
6>6
empfangen
Datentransfer
4>1, 6>1
> 1. Datenblock
> 25. (letzen) Datenblock
empfangen
Datentelegramm
6>5
6>24
empfangen
6>21
> 1. Datenblock senden
6>11
D
> 2. Datenblock senden
6>13
D>Sub>Buchse
> 25. (letzten) Datenblock
> Pin>Belegung
2
3>5
empfangen
6>23
EWA 4NEB 812 6071>01
CP 521 BASIC
Stichwortverzeichnis
Datentransfer
> (43.) letzten Datenblock
senden
6>15
Empfangsauftrag
6>4
Empfangsfach
4>1, 6>3, 6>4
Empfangs>FB
> bidirektionale Schnitt>
stelle
6>34
> CP 521 BASIC>Peripherie>
gerßt
> FB 3
8>20
> FB 201 ∫Empfang∫
8>33
Empfangspuffer
> HANDLE
6>34
5>83, 5>88
4>1, 5>84,
> CPU>CP 521 BASIC
6>3
> Daten empfangen
6>20
5>95 > 5>97,
> Daten senden
6>6
6>38, 6>39
> Fehlermeldung
6>13, 6>17
> koordinieren
5>90,
Endezeichen
6>6, 6>9,
6>9, 6>16,
6>17
6>10, 6>17,
> senden mit Endezeichen
6>20
F
6>16
Fehlerarten
> unidirektionale
> Betriebsart BASIC
Schnittstelle
Datum
7>5
Fehlermeldung
> BASIC>Interpreter
6>31
Default>Einstellung
5>33, 5>126,
7>3
> Schnittstelle
5>37, 5>38
> Betriebsart BASIC
> Uhr
6>30
> Datentransfer
6>13, 6>17
5>98
> Uhr
4>4
Dyadischer Operator
FB 1
7>7
8>13
E
FB 2
8>16
Echtzeituhr
FB 3
8>20
> aktuelle Uhrzeit anzeigen 5>120
FB 200 ∫Senden∫
8>23
> Datum anzeigen
FB 201 ∫Empfang∫
8>33
5>122
> Datum stellen
5>121
FB ∫IMPULS∫
8>11
> Default>Wert
4>4
FB ∫VERTEILE∫
8>12
Formatanweisungen
5>18
2>3, 4>1
Funktionsbaustein
> Fehlermeldung
> integriert
> stellen
6>33
> FB ∫IMPULS∫
8>11
> Test
4>4
> FB ∫VERTEILE∫
8>12
> Uhrzeitkorrektur
5>123
Empfangen
6>4, 6>18
G
Ganzzahldarstellung
5>18
6>39, 5>90
Gleitpunktdarstellung
5>18
> bidirektionale Schnitt>
stelle
> Daten
6>38, 6>39
> Telegramm
6>4, 6>18
EWA 4NEB 812 6071>01
3
Stichwortverzeichnis
CP 521 BASIC
H
Maske
> LADEN
5>13
4>1, 5>84,
> SICHERN
5>11
5>90,
> Startmaske
5>6
5>95 > 5>97,
> TERMINALEMULATION
5>9
HANDLE
> Empfangspuffer
> VOREINSTELLUNG
6>38, 6>39
> Sendepuffer
4>1, 5>83,
Montage
5>7
3>1
5>90, 5>91,
Handshake
5>93,
O
6>38 > 6>40
Operator
5>38, 5>40
5>19
> dyadisch
5>98
5>100
> OFF>Betrieb
6>36
> logisch
> ON>Betrieb
6>36
> Rangfolge
5>106
> unßr
5>101, 5>103,
I
5>104
Inbetriebnahme
6>2
Interrupt
5>62
P
> beenden
5>79
PAAÆProze˚abbild der
> l‘schen
5>36
> Routine
5>62, 5>79
Ausgßnge
PAEÆProze˚abbild der
Eingßnge
K
Proze˚abbild der Ausgßnge
Kommando>Modus
5>3, 5>4
Kommunikations>Schnittstellen 6>1
Koordinierungsauftrag
6>9, 6>17,
6>20
Koordinierungsdaten
6>10
Konstante
5>18
> Daten lesen
4>6
5>85
Proze˚abbild der Eingßnge
4>6
> Daten ausgeben
5>86
Parametrierung
> bidirektionale Schnitt>
stelle
5>37, 5>38
> bidirektionale TTY>Schnitt>
L
stelle
LED>Anzeige
2>4
5>37
> bidirektionale V.24>
Schnittstelle
5>37
Leerschritt>Taste (Space)
5>2, 5>34
LeitungsfÂhrung
3>3
> Schnittstelle
5>37
Logarithmusfunktion
5>103
> serielle Schnittstelle
5>90, 6>2
Logischer Operator
5>100
> unidirektionale V.24>
Schnittstelle
M
Paritßt
5>39, 5>40
5>37, 5>40
Maske
> INHALT
4
5>16
EWA 4NEB 812 6071>01
CP 521 BASIC
Peripheriegerßte
> Daten empfangen
> m‘gliche
Pin>Belegung
> D>Sub>Buchse
∫PROG∫>Befehl
Stichwortverzeichnis
6>34, 6>38,
S
6>40
Schnittstelle
5>33
4>3
> Kommunikations>
6>1
3>5
> Parameter
5>3,
8>1
Programmablauf
> abbrechen
> Parametrierung
> anhalten
5>80
5>47
> fortsetzen
5>24
> starten
5>37, 5>90,
6>2
> seriell
1>1, 2>3, 6>1
> TTY
1>1, 2>3, 3>5,
5>23
> beenden
5>2, 5>3,
5>37 > 5>40
3>5
5>31 > 5>33
Programm
4>2
> initialisieren
6>39
6>38
> V.24
1>1, 2>3, 3>5,
5>2, 6>38
Sende>FB
5>81
> FB 1
8>13
Progammier>Baustein
8>7, 8>11
> FB 2
8>16
Programmierung
5>4
> FB 200 ∫Senden∫
8>23
> AG
8>7
Sendeauftrag
6>3
> CP 521 BASIC
8>3
Sendefach
4>1, 6>3, 6>4
5>14
Senden
> Speichermodule
Programmschleifen
> abbrechen
5>45, 5>46,
> bidirektionale Schnitt>
5>48
stelle
6>38
5>36
> Daten
6>34,
8>3
> Telegramm
6>3, 6>5, 6>9
8>9
> unidirektionale V.24>
6>38 > 6>40
Programmstruktur
> BASIC>Programm
> Programmier>Baustein
Programmzeile
5>17
Proze˚alarm
6>3, 8>12
Pufferbatterie
2>4, 2>5
> bidirektionale Schnittstelle5>90, 5>91
Pufferbefehl
5>83
> unidirektionale V.24>
Schnittstelle
Schnittstelle
R
Relationaler Ausdruck
Sendepuffer
5>107
6>40
Senden von Daten
> HANDLE
5>90, 5>91
5>83, 5>89,
4>1, 5>83,
RESET
5>2, 5>34
5>90, 5>91,
RUN>Modus
5>4
5>93
Serielle Schnittstelle
> Parametrierung
1>1, 2>3, 6>1
5>90, 6>2
Spannungsschnittstelle
> V.24
EWA 4NEB 812 6071>01
1>1
5
Stichwortverzeichnis
CP 521 BASIC
Speicherbefehl
5>28
Speichermodul
2>2, 2>5, 5>33
> senden
6>3, 6>5, 6>9
> Dateninhalt anzeigen
5>15
> senden mit Endezeichen
6>16
> Programmierung
5>14
> ebertragung
6>1
5>22
Terminalemulation
5>8
Timer
Stack
Telegramm
> Argumentstack
5>22
> Aufbau
5>22
> abschalten
5>65
> Steuerstack
5>22
> freigeben
5>64
> zurÂcksetzen
5>36
> Wert auslesen
5>66
Status
Trigonometrische Funktion
5>104
TTY>Schnittstelle
1>1, 3>5, 6>38
> Byte
8>10
> letzter Empfangsauftrag
5>87, 5>95
> Anschlu˚plan
3>9 > 3>11
> letzter Sendeauftrag
5>86, 5>92
> bidirektional
2>3
Steckplatz
3>1, 4>6
TTY>Stromschnittstelle
1>1
Steuersignale
> bidirektionale V.24>
Schnittstelle
Steuerstack
U
6>35
> Batterie
4>4
ebertragung
St‘rverhalten
> BASIC>Interpreter
eberprÂfung
5>22
> Telegramm
7>2
String
6>1
Uhr
> Lßnge
5>114
> aktuelle Uhrzeit anzeigen 5>120, 6>32
> manipulieren
5>114
> Datum anzeigen
5>122
> Teilstring
5>112, 5>113
> Datum stellen
5>121
> Variable
5>108, 5>109
> Default>Einstellung
6>30, 4>4
> verketten
5>111
> Default>Wert
4>4, 6>30
> Fehlermeldung
4>4
1>1
> integriert
2>3, 4>1
5>50, 5>74,
> Status
6>29
5>77
> stellen
6>33
Stromschnittstelle
> TTY
Subroutine
Systemsteuerwert
5>21, 5>125
> Test
Uhrzeit
T
Technische Daten
2>1
Telegramm
6>3, 6>4
> empfangen
6>4, 6>18,
4>4
6>31
> stellen
5>119
> Korrektur
5>123
Unßrer Operator
5>101, 5>103,
5>104
6>20
> Lßnge
6
6>9, 6>17
EWA 4NEB 812 6071>01
CP 521 BASIC
Stichwortverzeichnis
Unidirektionale V.24>Schnitt>
stelle
> Datenausgabe
2>3
5>90, 5>91,
6>40, 5>72
V
V.24>Schnittstelle
1>1, 2>3, 3>5,
5>2, 6>38
> Anschlu˚plan
3>6 > 3>8
> birektional
2>3
> unidirektional
1>1, 2>3
V.24>Spannungsschnittstelle
1>1
Variable
5>19, 5>56,
5>57, 5>76
> l‘schen
5>35
> String
5>108, 5>109
> Wert zuweisen
5>59
W
WagenrÂcklauf
5>69
Z
Zeichenkette
EWA 4NEB 812 6071>01
5>108
7
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
Siemens AG
AUT E1114B
Postfach 1963
Werner>von>Siemens>Str. 50
Vorschlßge
Korrekturen
fÂr Druckschrift oder Handbuch:
D>92209 Amberg
Titel: CP 521 BASIC
Absender:
Bestell>Nr.: 6ES5 998>0UW11
Name
Ausgabe:
Firma/Dienststelle
1
Sollten Sie beim Lesen dieser Unterlage auf
Druckfehler gesto˚en sein, bitten wir Sie, uns
diese mit diesem Vordruck mitzuteilen.
Anschrift
Ebenso sind wir fÂr Anregungen, Hinweise
und Verbesserungsvorschlßge dankbar.
Telefon
Vorschlßge und/oder Korrekturen:
EWA 4NEB 812 6071>01
/
CP 521 BASIC
Programme
EWA 4NEB 812 6040>01a
Zugehörige Unterlagen
Herunterladen