diff options
Diffstat (limited to 'doc/prozess')
-rw-r--r-- | doc/prozess/Anhang Prozess | 92 | ||||
-rw-r--r-- | doc/prozess/Inhalt Prozess | 84 | ||||
-rw-r--r-- | doc/prozess/gs-Prozess handbuch.impressum | 104 | ||||
-rw-r--r-- | doc/prozess/gs-Prozess-2 | 255 | ||||
-rw-r--r-- | doc/prozess/gs-Prozess-3 | 346 | ||||
-rw-r--r-- | doc/prozess/gs-Prozess-4 | 173 | ||||
-rw-r--r-- | doc/prozess/gs-prozess-1 | 99 | ||||
-rw-r--r-- | doc/prozess/gs-prozess-5 | 819 | ||||
-rw-r--r-- | doc/prozess/gs-prozess-6 | 641 | ||||
-rw-r--r-- | doc/prozess/gs-prozess-7 | 1121 | ||||
-rw-r--r-- | doc/prozess/gs-prozess-8 | 377 | ||||
-rw-r--r-- | doc/prozess/gs-prozess-9 | 477 |
12 files changed, 0 insertions, 4588 deletions
diff --git a/doc/prozess/Anhang Prozess b/doc/prozess/Anhang Prozess deleted file mode 100644 index 8415268..0000000 --- a/doc/prozess/Anhang Prozess +++ /dev/null @@ -1,92 +0,0 @@ -limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (1)# -#headodd# -#center#gs-Prozess#right#% - -#end# -#headeven# -%#center#gs-Prozess - -#end# -#center#1 - -#center##on("b")#Anhang#off("b")# - -#center##on("b")#Bezugsquellenverzeichnis#off("b")# - - - - AKTRONIK - Elektronik-Großhandel - A. Kaup - Teichstraße 9 - 4401 Saerbeck - Tel.: 02574/8008 - 8009 - - - - - BICOS Computer GmbH - Werkering 6 - Postfach 1229 - 4800 Bielefeld 1 - Tel.: 0521/34011 - - - - - lattasoft - Eva Latta-Weber - Software- und - Hardware-Systeme - Brehmstraße 7 - 4800 Bielefeld 1 - Tel.: 0521/38919 - - - - - Landesinstitut für Schule - und Weiterbildung - Paradieser Weg 64 - 4770 Soest - Tel.: 02921/683-1 - -#page# -#on("b")#Anhang#off("b")# - -#on("b")#Verzeichnis der Abbildungen#off("b")# - -Abb. 1: MUFI geöffnet -Abb. 2: Mögliche DIP-Schalter-Stellung beim MUFI -Abb. 3: Einbau des MUFIs in den Terminalkanal -Abb. 4: RS232-Adapter geöffnet -Abb. 5: Mögliche Jumperposition beim RS232-Adapter -Abb. 6: Auswahl der Interface-Anpassung -Abb. 7: Anschluß Leuchtdiodenanzeige -Kombikarte -Abb. 8: Pinbelegung auf der E/A-Karte -Abb. 9: Eingangsbildschirm ls-Prozess -Abb.10: Menubildschirm zum Oberbegriff 'Interface' -Abb.11: Information bei unkonfiguriertem System -Abb.12: Auswahl der Steckplatzart -Abb.13: Compact-Box: Belegung der Kanäle -Abb.14: Auswahl einer Interfacekarte -Abb.15: Kanalbelegung D/A-Karte (Einzelsteckplatz) -Abb.16: A/D-Karte: Angabe der Schalterstellung -Abb.17: A/D-Karte: Kanalbel./Spannungsber.(Bspl.) -Abb.18: Ausgabetest - Einblendung -Abb.19: Eingabetest - Einblendung -Abb.20: Beispiellochkarte -Abb.21: Aufbau eines Drehpotentiometers -Abb.22: Eingangsbildschirm ls-Prozess -Abb.23: Befehlsübersicht -Abb.24: Auswahl Ausgabebefehle -Abb.25: Auswahl Eingabebefehle -Abb.26: Auswahl Testbefehle -Abb.27: Auswahl 'Weitere Befehle' -Abb.28: Menubildschirm zum Oberbegriff 'Interface' -Abb.29: Menubildschirm zum Oberbegriff 'Programm' -Abb.30: Informationsauswahl zum EUMEL-Editor -Abb.31: Menubildschirm zum Oberbegriff 'Archiv' -Abb.32: Auswahl der Archiv-Formate -Abb.33: Auswahl der Zieltask - - - diff --git a/doc/prozess/Inhalt Prozess b/doc/prozess/Inhalt Prozess deleted file mode 100644 index ab9616a..0000000 --- a/doc/prozess/Inhalt Prozess +++ /dev/null @@ -1,84 +0,0 @@ -limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (1)# -#headodd# -#center#gs-Prozess#right#% - -#end# -#headeven# -%#center#gs-Prozess - -#end# -#center#1 - -#center##on("b")#Inhaltsverzeichnis#off("b")# - -1 Was kann gs-Prozess - -2 Allgemeines zur Prozeßdatenverarbeitung -2.1 Welche Hardware-Lösungen gibt es zur Zeit ? -2.2 Die besonderen Probleme unter EUMEL -2.3 Die Wahl des Interface-Systems - -3 Installation des Interface-Systems -3.1 Das MUFI der Firma BICOS als Adapter -3.1.1 Einstellung der DIP-Schalter am MUFI -3.1.2 Einbau des MUFIs in den Terminalkanal -3.1.3 Das MUFI an separater serieller Schnittstelle -3.2 Der RS232-Adapter der Firma AKTRONIK -3.3 Verbindung Adapter - Interface-System -3.4 Bereitstellung des Interface-Systems - -4 Installation von gs-Prozess -4.1 Voraussetzungen -4.2 Lieferumfang -4.3 Installation -4.4 Anmerkungen zur Erstinstallation - -5 Konfiguration von gs-Prozess -5.1 Kontrolle der Konfigurationen/Anschlüsse -5.2 Vorbereitungen für den Ein-/Ausgabetest -5.2.1 Anschluß einer Leuchtdiodenanzeige an die Kombikarte -5.2.2 Anschluß des Codekartenlesers (Drahtstück) -5.3 Konfiguration von gs-Prozess -5.3.1 Auswahl der Steckplatzart/Interfacekarte -5.3.2 Bedeutung der Kanalnummern -5.4 Aus- und Eingabetest -5.5 Mögliche Fehlerfälle - -6 Arbeiten mit gs-Prozess -6.1 Kleine Beispiele zur digitalen Ausgabe -6.1.1 Möglichkeit eines Programmabbruchs -6.1.2 Die "sonstigen" Befehle -6.1.3 Schreibweise für Bitmuster/Bitsymbole -6.1.4 Befehle für die digitale Ausgabe -6.1.5 Befehle für die analoge Ausgabe -6.2 Kleine Beispiele zur digitalen Eingabe -6.2.1 Befehle für die digitale Eingabe -6.2.2 Eingabetests -6.2.3 Befehle für die analoge Eingabe -6.3 Hinweise auf Aufgabenmaterial - -7 Beschreibung der Menufunktionen -7.1 Kurzhinweise zur Bedienung der Menus -7.2 Menufunktionen zum Oberbegriff 'Info' -7.3 Menufunktionen zum Oberbegriff 'Interface' -7.4 Menufunktionen zum Oberbegriff 'Programm' -7.5 Menufunktionen zum Oberbegriff 'Archiv' - -8 Detailbeschreibung der Basisbefehle und Tests - -9 Hinweise für den Systembetreuer/ Programmierer -9.1 Vergabe der Kanäle/Organisation des Tasksystems -9.2 Informationsprozeduren -9.3 Neufestlegung des Interfacekanals -9.4 Fixieren der Konfiguration -9.5 Mögliche Fehlerfälle -9.6 Weitere Möglichkeiten - -Anhang: Bezugsquellenverzeichnis - Verzeichnis der Abbildungen - - - - diff --git a/doc/prozess/gs-Prozess handbuch.impressum b/doc/prozess/gs-Prozess handbuch.impressum deleted file mode 100644 index ca22b10..0000000 --- a/doc/prozess/gs-Prozess handbuch.impressum +++ /dev/null @@ -1,104 +0,0 @@ -____________________________________________________________________________ - - -#on("b")##on ("u")# -#center#Betriebssystem E U M E L -#off ("u")# - - -#center#gs-Prozess - - - - -#off("b")# -#center#Lizenzfreie Software der -#on ("b")# - -#center#Gesellschaft für Mathematik und Datenverarbeitung mbH, -#center#5205 Sankt Augustin - - -#off("b")# -#center#Die Nutzung der Software ist nur im Schul- und Hochschulbereich für -#center#nichtkommerzielle Zwecke gestattet. - -#center#Gewährleistung und Haftung werden ausgeschlossen - - -____________________________________________________________________________ -#page# - -#free (4.0)##on("b")# -#center#gs-Prozess - - -#center#Benutzerhandbuch - - -#center#Version 1.0 - - -#off("b")##center#copyright -#center#Eva Latta-Weber -#center#Software- und Hardware-Systeme, 1988 -#center#ERGOS GmbH, 1990 -#page# -#block# -#center#____________________________________________________________________________ - - -Copyright: ERGOS GmbH März 1990 - - Alle Rechte vorbehalten. Insbesondere ist die Überführung in - maschinenlesbare Form sowie das Speichern in Informations - systemen, auch auszugsweise, nur mit schriftlicher Einwilligung - der ERGOS GmbH gestattet. - - -#center#____________________________________________________________________________ - -Es kann keine Gewähr übernommen werden, daß das Programm für eine -bestimmte Anwendung geeignet ist. Die Verantwortung dafür liegt beim -Anwender. - -Das Handbuch wurde mit größter Sorgfalt erstellt. Für die Korrektheit und -Vollständigkeit der Angaben kann keine Gewähr übernommen werden. Das -Handbuch kann jederzeit ohne Ankündigung geändert werden. - -Texterstellung : Dieser Text wurde mit der ERGOS-L3 Textverarbeitung - erstellt und aufbereitet und auf einem Kyocera Laser - drucker gedruckt. - - - - -#center#___________________________________________________________________________ - - - -Ergonomic Office Software GmbH - -Bergstr. 7 Telefon: (02241) 63075 -5200 Siegburg Teletex: 2627-2241413=ERGOS - Telefax: (02241) 63078 - - -#center#____________________________________________________________________________ - - - - - - - - - - - - - - - - - diff --git a/doc/prozess/gs-Prozess-2 b/doc/prozess/gs-Prozess-2 deleted file mode 100644 index 376143e..0000000 --- a/doc/prozess/gs-Prozess-2 +++ /dev/null @@ -1,255 +0,0 @@ -limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (1)# -#headodd# -#center#gs-Prozess#right#% - -#end# -#headeven# -%#center#gs-Prozess - -#end# -#center#1 - -#on("b")#2 Allgemeines zur Prozeßdatenverarbeitung#off("b")# - -In diesem Kapitel erfahren Sie, warum unter EUMEL/ELAN die Prozeßdatenver -arbeitung bisher kaum Berücksichtigung gefunden hat und welche Probleme zu -überwinden waren. Es wird aufgezeigt, warum unter EUMEL/ELAN nicht jedes Inter -facesystem verwendet werden kann; außerdem werden die Gründe für die Wahl eines -bestimmten Interfacesystems genannt. - - -#on("b")#2.1 Welche Hardware-Lösungen gibt es zur Zeit ?#off("b")# - -Wie schon in Kapitel 1 erwähnt, ist zum Messen, Steuern und Regeln mit dem -Computer ein Hardware-Interface notwendig, über das der "Kontakt zur Außenwelt" -hergestellt wird. - - -#on("b")# - Computer <--------> Interface <--------> Modell -#off("b")# - - -Interfaces (zu deutsch etwas mißverständlich: Schnittstellen) verbinden innerhalb -eines Systems Teilsysteme und einzelne Funktionseinheiten miteinander. Dabei -werden z.B. #on("b")#Hardware-Schnittstellen#off("b")# (Um diese geht es vornehmlich in diesem -Kapitel), #on("b")#Hardware-Software-Schnittstellen#off("b")# (Nach Festlegung, welche Funktionen -eines Rechnersystems von der Hardware und welche von der Software übernommen -werden, erfolgt hierüber die Verknüpfung der beiden Komponenten), #on("b")#Software- -Schnittstellen#off("b")# (zwischen Programmoduln), #on("b")#Mensch-Maschine-Schnittstellen#off("b")# -(Benutzerschnittstellen - wie z.B. #on("b")#gs-DIALOG#off("b")#) unterschieden. - -Wenn wir im folgenden von 'Interface' reden, ist damit immer eine 'Hardware- -Schnittstelle' gemeint. - -Über ein solches Interface (eine Hardware-Schnittstelle) können an den Computer -externe Geräte/Modelle angeschlossen werden, die vom Computer aus gesteuert -werden. Dabei setzt das Interface die vergleichsweise schwachen Signale des -Computers in Ströme und Spannungen um, mit denen z.B. eine Lampe oder ein -Motor betrieben werden kann. Umgekehrt senden externe Geräte/Modelle über das -Interface Signale an den Computer, die von ihm ausgewertet werden. So müssen z.B. -Widerstandsveränderungen eines Temperaturfühlers oder die Stellung eines Schalters -in eine vom Computer erfaßbare Form umgewandelt werden. - -Inzwischen bieten verschiedene Hersteller (FISCHER, LEGO, AKTRONIK, PHYWE, -etc.) und Lehrmittelverlage (METZLER, CVK, etc.) eine Reihe von Lösungen an. -Leider sind die meisten Lösungen auf ganz spezielle Computertypen zugeschnitten -und somit nicht an anderen Computertypen verwendbar - außerdem unterscheiden -sich die verschiedenen Lösungen z.T. ganz erheblich im Leistungsumfang. - -Einzellösungen, insbesondere an den gängigen Homecomputern, gibt es schon seit -langem. Voraussetzung ist zumeist, daß der Computer über einen speziellen -Anschluß ('Userport' oder 'Joystick-Eingang') verfügt. Oder es werden Platinen -geliefert, die in spezielle Steckplätze (Slots) einzustecken sind, wo sie vom Computer -aus angesprochen werden können. - -Bei all diesen Lösungen konnten wir 'EUMELaner' nur neidvoll zuschauen. Der -Vorteil, den wir sonst so zu schätzen wissen, ein einheitliches Betriebssystem auf ganz -unterschiedlicher Hardware zur Verfügung zu haben, wird hier zum Nachteil. Eine -einheitliche Lösung schien zu Anfang völlig aussichtslos zu sein. - - -#on("b")#2.2 Die besonderen Probleme unter EUMEL#off("b")# - -Das Betriebssystem EUMEL gestattet es nicht, beliebig auf Hardwarekomponenten des -Rechners zuzugreifen - und das aus gutem Grund, denn sonst wäre ein reibungsloser -Multi-User-Betrieb nicht gewährleistet. Man kann aber den Zugriff auf neue Hard -warekomponenten im EUMEL-System etablieren. Allerdings ist das etwas aufwendiger -als in anderen Systemen, denn das sogenannte 'Shard', die 'Software-Hardware- -Schnittstelle', muß angepaßt werden. - -Unsere ersten "Gehversuche" mit der Prozeßdatenverarbeitung unter EUMEL haben -so angefangen. Es ist aber leicht einzusehen, daß dieser Weg nicht sinnvoll ist. Denn -dann müßten alle EUMEL-Shards (es gibt ja für jeden Rechnertyp mindestens eines) -entsprechend geändert werden, ggf. müßten für verschiedene Lösungen verschiedene -Versionen entwickelt werden - eine Aufgabe, die niemand bereit wäre zu überneh -men. - - -#on("b")#2.3 Die Wahl des Interface-Systems#off("b")# - -Unser Ziel war klar: Wir wollten ein gängiges, käuflich zu erwerbendes Hardware- -Interface möglichst universell an Computern verschiedener Hersteller unter dem -Betriebssystem EUMEL ansprechen können. - -Nach Sichtung der angebotenen Systeme kamen nur drei in die engere Wahl: das -LEGO-Interface, das FISCHER-Technik-Interface und das AKTRONIK-Interface (Soft -ware-kompatibel dazu ist das PHYWE-Interface). - -Bei der Auswahl hielten wir es für sinnvoll, die Empfehlung des Landesinstituts für -Schule und Weiterbildung in Soest zu berücksichtigen, in der folgende Anforderungen -an Interfaces formuliert sind: - - - 8 digitale Eingänge - - 8 digitale Ausgänge - - optional: analoge Ein- und Ausgabe. - -Allen gestellten Anforderungen wird nur das AKTRONIK-Interface gerecht. Das System -ist modular aufgebaut, je nach Anforderungen kann mit verschiedenen Steckkarten -gearbeitet werden. Es gibt eine "Kompaktlösung", bei der die wichtigsten Funktionen -bereitgestellt werden (8 digitale Eingänge, 8 digitale Ausgänge, 2 analoge Eingänge). -Darüber hinaus kann auch noch mit dem sog. 'Modul-Bus' gearbeitet werden, bei -dem gleichzeitig mehrere Steckkarten angesprochen werden können. Mit ent -sprechender Steckkarte ist auch die analoge Ausgabe möglich. - -Die beiden anderen Interfaces erfüllen die oben genannten Anforderungen nicht: Das -LEGO-Interface verfügt über nur 6 digitale Ausgänge und 2 digitale Eingänge; analoge -Ein- und Ausgabe ist gar nicht möglich. - -Das FISCHER-Technik-Inteface verfügt über 8 digitale Ausgänge und 8 digitale Ein -gänge. Das Interface verfügt auch über einen analogen Eingang - allerdings nicht -über einen Analog-Digital-Wandler-Baustein! Das bedeutet, daß der angeschlossene -Rechner die Auswertung der eingehenden Daten übernehmen muß - ein zeit -kritischer Prozeß, der in einem Multi-User-System nicht garantiert werden kann. Die -analoge Ausgabe ist grundsätzlich nicht möglich, das System ist in sich abgeschlossen -und kann sich ändernden Anforderungen ebensowenig angepaßt werden wie das -LEGO-Interface. - - -Wir entschieden uns also dafür, die weitere Entwicklung auf der Basis des -AKTRONIK-Interfaces zu betreiben. Es galt jedoch noch, dieses Interface mit dem -Computer zu verbinden - und das möglichst universell: möglichst unabhängig von der -verwendeten Computerhardware. - -Dieses Ziel ist nur dann zu erreichen, wenn man die 'Standardschittstellen' des -Computers berücksichtigt, die unter EUMEL problemlos ansprechbar sind: die -parallelen (Centronics) und seriellen (V24) Schnittstellen. Diese 'Standardschnitt -stellen' sind zwar nicht für den direkten Anschluß der Modelle/Interfaces geeignet, -über einen "Adapter" aber ist ein Anschluß möglich. - -Die Entscheidung fiel schnell gegen eine Verwendung der parallelen (Centronics) -Schnittstelle. Die meisten Computer verfügen nur über eine dieser Schnittstellen, die -zumeist auch schon durch den Drucker belegt ist. Außerdem handelt es sich dabei in -der Regel um eine unidirektionale Schnittstelle - d.h. die Daten können vom -Computer zum Endgerät (z.B. Drucker) gelangen, nicht aber vom Endgerät zum -Computer. Somit wären zwar Steuerungsvorgänge, nicht aber Meß- und Regelungs -vorgänge über die Schnittstelle möglich. - -Einige Hersteller nutzen die Datenleitungen, über die z.B. der Drucker dem Rechner -mitteilt, daß der interne Speicher voll bzw. das Papier zuende ist. Über diese Leitung -werden Daten seriell übertragen und vom Rechner ausgewertet. Unter EUMEL -scheidet diese Lösung aber aus, denn um hier eine sichere Auswertung zu gewähr -leisten, müßten Maschinenspracheprogramme eingebunden werden; das ist aber -unter EUMEL nicht möglich. - -Damit war festgelegt, daß die weitere Entwicklung auf der Basis des AKTRONIK-Inter -faces über die serielle Schnittstelle erfolgen sollte. Wie schon erwähnt, ist das Inter -face auf keinen Fall direkt an die serielle Schnittstelle anschließbar. Wie der Name -schon sagt, werden die Daten bei einer seriellen Schnittstelle seriell übertragen - um -Prozeßdatenverarbeitung zu betreiben, müssen die Daten aber parallel vorliegen. - -Notwendig ist also ein "Adapter", der einen Seriell-Parallel-/Parallel-Seriell-Wandler -beinhaltet, so daß die Verbindung zwischen Computer und Interface hergestellt -werden kann. - -Inzwischen sind uns hier zwei (käuflich zu erwerbende) Lösungen bekannt - der -"RS232-Adapter" der Firma AKTRONIK und das "MUFI" (Multifunktionales Interface) -der Firma BICOS: - -Das MUFI ist sicherlich der universeller verwendbare "Adapter" (leider aber auch die -kostspieligere Lösung). Einerseits kann es ebenso wie der "RS232-Adapter" an eine -separate serielle Schnittstelle angeschlossen werden, andererseits verfügt es über -einen zweiten - den eigentlich interessanten Betriebsmodus: Es kann nämlich auch -in den Terminalkanal eingebaut werden. - -Die Idee, die dahintersteckt, ist folgende: Das MUFI verfügt (neben der eigentlich -wichtigen bidirektionalen parallelen Schnittstelle) über einen (seriellen) Eingang und -einen (seriellen) Ausgang. So kann das MUFI einfach in eine Leitung zwischen -Computer und Terminal eingebaut werden. In ausgeschaltetem Zustand hat es -keinen Einfluß auf den Datenaustausch zwischen Rechner und Terminal - als ob es -gar nicht vorhanden wäre. In eingeschaltetem Zustand dagegen "horcht es den -Datenfluß zwischen Rechner und Terminal ab". Auf eine vereinbarte Parole -(Zeichenkombination) hin, "weiß es", daß die folgenden Daten nicht für das -Terminal, sondern eben für sich bestimmt sind. Diese, und nur diese Daten werden -aus dem Datenstrom vom MUFI "herausgefischt" und intern sachgerecht weiterver -arbeitet. Alle anderen Daten werden unbeeinflußt an das Terminal weitergeleitet, -damit ja nicht der reibungslose Betrieb gestört wird. Natürlich ist das MUFI ebenso in -der Lage, die gerade extern anliegenden Daten zu ermitteln und in den Datenstrom -zum Computer "einzuschleusen". - -Um diese Aufgaben bewältigen zu können, wurde das MUFI mit einem eigenen, -schnellen Mikroprozessor ausgestattet, der in der Lage ist, den Datenfluß zu -bewältigen. Zudem wurde versucht, das MUFI mit soviel Intelligenz (Firmware) -auszustatten, daß alle zeitkritischen Prozesse bei der Ansteuerung des Interface- -Systems vom MUFI selbst erledigt und die Daten vom MUFI so aufbereitet werden, -daß sie möglichst einfach weitergegeben und verarbeitet werden können. - -Durch die Beschränkung der Baud-Rate auf maximal 19200 ist die Verarbeitungs -geschwindigkeit allerdings auch beschränkt. Die rechnerisch maximale Ausgabetakt -rate von 320 Hz bei 19200 Baud und 160 Hz bei 9600 Baud wird von #on("b")#gs-Prozess#off("b")# auf -einem 80386-Rechner im Alleinbetrieb tatsächlich erreicht. Natürlich bedeuten -mehrere gleichzeitig betriebene MUFIs an einem Rechner Geschwindigkeitseinbußen. -Ebenso sinkt die Ausgabetaktrate bei Prozessoren mit geringerem Durchsatz (8088: -maximal 120 Hz). Für die Anwendungen in der Schule sind diese Geschwindigkeiten -aber hinreichend. - -Die Vorteile des MUFI für diejenigen, die EUMEL im Multi-User-Betrieb nutzen, liegen -dennoch klar auf der Hand: - - - Es werden keine weiteren seriellen Schnittstellen benötigt. (Die vorhandenen - sind sowieso schon weitgehend belegt. Gegebenenfalls würden zusätzliche - Kosten verursacht.) - - - Es sind keine weiteren Kabelverlegungen zwischen Rechner und Arbeitsplatz - notwendig, trotzdem befindet sich das MUFI direkt am Bildschirmarbeits - platz. - - - Das beim Anschluß an eine separate Schnittstelle notwendige, zeitauf - wendige Ansteuern des Interface-Kanals entfällt. - - -Arbeiten Sie an einem Einzelplatz-System (z.B. IBM-kompatibler Rechner nur mit -Monitor) so ist ein Betrieb des MUFIs im Terminal-Kanal nicht möglich. Hier bleibt -nur der Betrieb des Interface-Systems an einer separaten seriellen Schnittstelle. -Sinnvoll ist aber auch ein solcher Betrieb, wenn (zunächst) nur die Hardware für -einen Arbeitsplatz zur Verfügung steht. Das Interface kann dann nämlich von meh -reren Tasks abwechselnd angesprochen werden. - -Beim Anschluß an eine separate serielle Schnittstelle sind die Leistungen des MUFIs -und des RS232-Adapters gleichwertig. Da das abwechselnde Ansprechen einer -seriellen Schnittstelle und der Tastatur/des Monitors unter EUMEL relativ zeitauf -wendig ist, sind hier keine hohe Ausgabegeschwindigkeiten zu erwarten: bei einem -8088-Rechner ca. 40 Hz, bei Prozessoren mit höherem Durchsatz eben entsprechend -mehr. Dennoch ist das für die meisten Anwendungen in der Schule schnell genug. - -Für Spezialanwendungen ist auch die direkte Ansprache der Schnittstelle möglich. -Hierbei sind Ausgabetaktraten von 960 Hz bei 19200 Baud bzw. 480 Hz bei 9600 -Baud möglich. Für die schulische Praxis (in der Sekundarstufe I) ist diese "direkte -Ansprache" aber ungeeignet, da weitergehende Programmierkenntnisse erforderlich -sind. Zudem kann bei Programmierfehlern "die Task am Kanal hängenbleiben". -Genaueres dazu sehen Sie bitte im Kapitel 'Hinweise für den Systembetreuer/ -Programmierer'. - -Die Hardware-Konstellation stellt sich im Überblick also folgendermaßen dar: -#on("b")# - - Computer <---> Adapter <---> Interface <---> Modell - - (mit se- ('MUFI' (AKTRONIK) - rieller oder - Schnitt- 'RS232- - stelle) Adapter') -#off("b")# - diff --git a/doc/prozess/gs-Prozess-3 b/doc/prozess/gs-Prozess-3 deleted file mode 100644 index 3fae1bd..0000000 --- a/doc/prozess/gs-Prozess-3 +++ /dev/null @@ -1,346 +0,0 @@ -limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (1)# -#headodd# -#center#gs-Prozess#right#% - -#end# -#headeven# -%#center#gs-Prozess - -#end# -#center#1 - -#on("b")#3 Installation des Interface-Systems#off("b")# - -In diesem Kapitel erfahren Sie, wie Sie Ihr Interface-System an den Rechner an -schließen und welche Einstellungen noch vorzunehmen sind. Für Details und weiter -gehende Informationen sehen Sie bitte in den Handbüchern / Begleitmaterialien der -Firmen BICOS bzw. AKTRONIK nach. - -Am Ende des Kapitels 2 haben wir festgestellt, daß das Interface-System über einen -Adapter mit dem Computer verbunden werden muß. An das Interface-System lassen -sich dann entsprechende Modelle anschließen: - -#on("b")# Computer <----> Adapter <----> Interface <----> Modell - - (mit se- ('MUFI' (AKTRONIK) - rieller oder - Schnitt- 'RS232- - stelle) Adapter') #off("b")# - -Wir möchten Ihnen zuerst erklären, wie Sie den jeweiligen Adapter mit dem -Computer verbinden und welche Einstellungen am Adapter vorzunehmen sind. An -schließend beschreiben wir, wie Sie das Interface-System an den Adapter anschlie -ßen. - -Wie schon in Kapitel 2 erwähnt, können Sie zwischen zwei Adaptern wählen - dem -MUFI der Firma BICOS und dem RS232-Adapter der Firma AKTRONIK. Letztge -nannter kann nur an einer separaten seriellen Schnittstelle betrieben werden, -während das MUFI zusätzlich auch in den Terminalkanal eingebaut werden kann. - - -#on("b")#3.1 Das MUFI der Firma BICOS als Adapter#off("b")# - -Für den Betrieb in einem Terminalkanal sollte das MUFI über eine sog. "Schnitt -stellen-Automatik" verfügen, die verhindert, daß das MUFI in ausgeschaltetem -Zustand oder mit abgezogenem Netzstecker den Datenfluß zwischen Rechner und -Terminal unterbricht. Diese sehr sinnvolle Automatik wird von BICOS #on("b")#nicht -standardmäßig#off("b")# eingebaut. Sie sollten bei eventuellen Bestellungen darauf achten. -Bevor Sie das MUFI in den Terminalkanal einbauen oder an eine separate serielle -Schnittstelle anschließen, ist noch die Einstellung der DIP-Schalter zu kontrollieren -bzw. eine Neueinstellung vorzunehmen. - - -#on("b")#3.1.1 Einstellung der DIP-Schalter am MUFI#off("b")# - -Versichern Sie sich, daß das MUFI noch nicht an das Netz angeschlossen ist. Öffnen -Sie dann das Gehäuse, indem Sie die vier Schrauben an der Unterseite des MUFIs -(direkt neben den Füßen) lösen. Heben Sie nun #on("b")##on("b")#vorsichtig#off("b")##off("b")# den hellen Deckel des -Gehäuses ab. Aber Achtung! Der Deckel bleibt über Kabel mit dem Fußteil ver -bunden! Legen Sie vorsichtig den Deckel neben das MUFI, so daß die Kabelver -bindungen nicht belastet werden. - - +---------------------------------------------------+ - | +-------+ +------------+ | - | | | | | +---------+ | - | +-------+ | | | DIP- | | - | +-------+ | | | Schalter| | -Rück- | | | | | +---------+ | Vorder- -seite | +-------+ | | +--------------+ | seite - | +-------+ | SCN68000 | | | | - | | | | | +--------------+ | - | +-------+ | | | - | +-------+ | | | - | | | | | | - | +-------+ +------------+ | - +---------------------------------------------------+ - - - -#center#Abb.1: MUFI geöffnet - - -Im Inneren des Fußteiles fällt Ihnen sofort der größte CHIP auf, der u.a. die -Bezeichnung 'SCN68000' trägt. Drehen Sie das MUFI so vor sich, daß an der linken -Seite dieses Chips die vier gleichen, mittelgroßen Chips zu liegen kommen. Dann -sehen Sie rechts vom großen Chip, ganz hinten im Gehäuse eine kleine Plastikbox -mit DIP-Schaltern, die die folgende Aufschrift trägt: - -#on("b")# - O N - 1 2 3 4 -#off("b")# - -Den durchsichtigen Deckel dieser kleinen Plastikbox müssen Sie nun öffnen, um die -Stellung der DIP-Schalter einsehen zu können. Dazu verwenden Sie am besten einen -Kugelschreiber oder einen kleinen Schraubendreher. Heben Sie damit den Deckel an -der rechten Seite leicht an, dann läßt sich der Deckel nach links herüberlegen. Weist -ein Schalter nach hinten (in dieser Lage des MUFIs von Ihrem Körper weg), so hat er -die Stellung 'ON', weist er nach vorn (zu Ihrem Körper hin), so hat er die Stellung -'OFF'. - - -Beispiel: - - +---------------------------------------+ - | +-----+ +-----+ +-----+ +-----+ | - | |+++++| | | | | | | | - | |+++++| | | | | | | | ON - | |+++++| | | | | | | | - | |+++++| | | | | | | | - | | | | | | | | | | - | | | | | | | | | | - | | | | | | | | | | - | | | |+++++| |+++++| |+++++| | - | | | |+++++| |+++++| |+++++| | - | | | |+++++| |+++++| |+++++| | OFF - | | | |+++++| |+++++| |+++++| | - | +-----+ +-----+ +-----+ +-----+ | - +---------------------------------------+ - - 1 2 3 4 - -#center#Abb.2: Mögliche DIP-Schalter-Stellung beim MUFI - - -Dabei haben die DIP-Schalter folgende Bedeutung: - -#on("b")# - 1 ON : Modulbusbetrieb - OFF : Parallelportbetrieb - - 2 ON : RTS/CTS Hardware Handshake - OFF : XON-/XOFF-Protokoll - - 3 ON : 9600 Baud - OFF : 19200 Baud - - 4 ON : Even Parity - OFF : No Parity - -#off("b")# -Wenn Sie das MUFI im Terminalkanal betreiben wollen, müssen Sie je nachdem, wie -Sie Ihr Terminal konfiguriert haben, die entsprechende Einstellung vornehmen. - -Betreiben Sie das Terminal mit einer Übertragungsrate von 19200 Baud, so sollten -Sie unbedingt mit XON/XOFF-Protokoll arbeiten - es sei denn, das Terminal unter -stützt RTS/CTS! In jedem Falle muß der DIP-Schalter 1 in die Stellung ON gebracht -werden (der Betrieb des Interface-Systems der Firma AKTRONIK wird hier "Modul -busbetrieb" genannt). - -Wenn Sie das MUFI an einer separaten seriellen Schnittstelle betreiben wollen, #on("b")#muß#off("b")# -der Datenaustausch mit dem RTS/CTS-Protokoll abgewickelt werden. Versichern Sie -sich, daß Ihr Kabel darauf ausgelegt ist! - -Nach dieser Einstellung der DIP-Schalter ist das MUFI betriebsbereit. Schrauben Sie -bitte den Gehäusedeckel mit den vier Schrauben wieder fest. - - -#on("b")#3.1.2 Einbau des MUFIs in den Terminalkanal#off("b")# - -Um das MUFI in den Terminalkanal einbauen zu können, müssen Sie zunächst die -Zuleitung vom Rechner zum Terminal am Terminal lösen. Auf der Rückseite des -MUFIs befinden sich zwei Stecker, die mit V24/1 und V24/2 bezeichnet sind. Ver -inden Sie nun das Kabel, was ursprünglich vom Computer zum Terminal führte, mit -dem MUFI, indem Sie es an den mit V24/2 gekennzeichneten Stecker anstecken. Sie -benötigen jetzt noch ein weiteres (kurzes) V24-Kabel, um das MUFI mit dem -Terminal zu verbinden. Es wird einerseits auf den mit V24/1 gekennzeichneten -Stecker am MUFI aufgesteckt; das andere Ende wird mit dem Terminal in gleicher -Weise verbunden, wie das ursprüngliche Kabel zwischen Rechner und Terminal. - - - +--------------------------+ - | +----------------------+ | - | | V24/1 V24/2 | | - | | | | | | - | +----|-----------|-----+ | - +------|-----------|-------+ - | | - | | - ZUM <-----+ +-----> ZUM - TERMINAL COMPUTER - - -#center#Abb.3: Einbau des MUFIs in den Terminalkanal - - -Beachten Sie bitte, daß die V24-Schnittstellen des MUFIs auf 8 Datenbits und 1 Stop -bit fest eingestellt sind - ggf. müssen Sie Ihre Terminalkonfiguration hieran anpassen. -Kontrollieren Sie aber in jedem Falle, ob die Konfiguration mit diesen Daten überein -stimmt! - -Koppeln Sie dazu die Task 'configurator' an Ihr Terminal (mit 'continue -("configurator") <RETURN>') und geben Sie dann das Kommando 'configurate -<RETURN>'. Für alle vorhandenen Kanäle werden Sie nun nacheinander gefragt, -ob Sie eine Konfiguration vornehmen wollen. Bei den "interessanten Kanälen" ant -worten Sie mit 'ja' (<j>). - -Wollen Sie sich nur die aktuelle Konfiguration ansehen, so beantworten Sie alle dann -gestellten Fragen zum Kanal mit 'ja' (<j>), dann bleibt die aktuelle Einstellung -erhalten. Der Konfigurationsdialog ist im EUMEL-Systemhandbuch auf den Seiten 6 - -8 detailliert beschrieben. - -Die Verschaltung der V24-Kabel ist in der Bedienungsanweisung zum MUFI erläutert, -ggf. können Sie entsprechende Kabel von der Firma BICOS beziehen. - -Wenn alle Kabelverbindungen gesteckt sind, sollten Sie auf alle Fälle erst einmal #on("b")#bei -ausgeschaltetem MUFI#off("b")# prüfen, ob das Terminal sich noch bedienen läßt. Wenn das -Terminal keine Reaktion mehr zeigt, obwohl es vorher (ohne MUFI) reibungslos -funktioniert hat, dann haben Sie entweder ein MUFI ohne "Schnittstellen-Automatik" -vor sich (vergl. Sie dazu Kap. 3.1), oder an den Kabelverbindungen stimmt irgend -etwas nicht. In diesem Falle sollten Sie noch einmal alle Anschlüsse und eventuell -auch die interne Verschaltung der Kabel überprüfen. - - -#on("b")#3.1.3 Das MUFI an separater serieller Schnittstelle#off("b")# - -Wenn Sie das MUFI als Endgerät an einer separaten seriellen Schnittstelle betreiben, -dann stecken Sie das vom Computer kommende Kabel auf den mit V24/2 -bezeichneten Stecker an der Rückseite des MUFIs. Damit ein einwandfreier Betrieb -gewährleistet ist, sollten Sie einen sog. "Kurzschlußstecker" auf die dann freie -25polige D-Subminiatur-Buchse (V24/1) am MUFI aufstecken. Haben Sie eine solche -nicht zur Hand, können Sie zwei kleine Brücken einsetzen: Nehmen Sie dazu zwei -kleine Drahtstücke und verbinden Sie einmal Pin (Öffnung) 2 mit Pin 3 und außer -dem Pin 4 mit Pin 5. - -In der Task 'configurator' muß der Kanal, an dem das MUFI angeschlossen ist, auf -'transparent, 8 Bit, 1 Stopbit, RTS/CTS-Protokoll' eingestellt werden, weiterhin je nach -MUFI-DIP-Schalter-Stellung auf '9600' bzw. '19200 Baud' und 'no parity' bzw. 'even -parity'. - - -#on("b")#3.2 Der RS232-Adapter der Firma AKTRONIK#off("b")# - -Bevor Sie den Adapter an die serielle Schnittstelle anschließen, ist noch die einge -stellte Baudrate zu überprüfen bzw. eine Neueinstellung vorzunehmen. - -Öffnen Sie das Gehäuse des Adapters, indem Sie die vier Schrauben an der Unterseite -lösen. Drehen Sie den Adapter so vor sich, daß die 25polige D-Subminiatur-Buchse -von Ihrem Körper wegzeigt. Vorn rechts sind dann zwei parallele 8polige Pfosten -steckerleisten sichtbar. - -#center#25-pol. D-Subminiatur-Stecker - - +---------------+ - | | - +---+ +---+ - | +------+ | - | | | | - | | | | - | | | | - | | | | - | +------+ | - | +------+ | - | | | +-------+ | - | +------+ | | | - | +------+ +-------+ | - | | | +-------+ | - | +------+ | <-|---------Jumper-Leiste - | +-------+ | - +---+ +---+ - | Baudrate | - +---------------+ - - -#center#Abb.4: RS232-Adapter geöffnet - - -Auf einem Paar steckt ein 'Jumper', mit dem die Baudrate eingestellt wird. -Gegebenenfalls ist dieser Jumper umzustecken. Anschließend schrauben Sie das -Gehäuse mit den vier entfernten Schrauben wieder zu. - - +---------+ - | o o | 300 - | o o | 600 - | o o | 1200 - | o o | 2400 - | o o | 4800 - | o o | 9600 - Jumper ---> | o o | 19200 - | o o | 38400 - +---------+ - Baudrate - - -#center#Abb.5: Mögliche Jumperposition beim RS232-Adapter - - -Nun muß noch in der Task 'configurator' der entsprechende Kanal konfiguriert -werden. Koppeln Sie dazu die Task 'configurator' an Ihr Terminal (mit 'continue -("configurator") <RETURN>') und geben Sie dann das Kommando 'configurate -<RETURN>'. Für alle vorhandenen Kanäle werden Sie nun nacheinander gefragt, -ob Sie eine Konfiguration vornehmen wollen. Beim vorgesehenen Kanal antworten Sie -mit 'ja' (<j>). - -Wollen Sie sich nur die aktuelle Konfiguration ansehen, so beantworten Sie alle dann -gestellten Fragen zum Kanal mit 'ja' (<j>), dann bleibt die aktuelle Einstellung -erhalten. Der Konfigurationsdialog ist im EUMEL-Systemhandbuch auf den Seiten 6 - -8 detailliert beschrieben. - -Folgende Konfigurationsmerkmale müssen eingestellt werden: - - transparent, 8 Bit, 2 Stopbit, no Parity, #on("b")#kein#off("b")# Protokoll - -Die Baudrate ist entsprechend der Jumper-Stellung einzustellen. - -Am Adapter ist ein Kabel mit 25poligem D-Subminiatur-Stecker bereits fest montiert. -Sollte der Stecker nicht an Ihren Rechner passen, so müßten Sie ein entsprechendes -Adapterkabel basteln oder kaufen. - - - -#on("b")#3.3 Verbindung Adapter - Interface-System#off("b")# - -Nachdem Sie nun den Adapter (MUFI oder RS232-Adapter) an den Rechner ange -schlossen haben, müssen Sie noch die Verbindung zum Interface-System herstellen. -Dabei ist es gleichgültig, ob Sie eine Compact-Box, einen Einzelsteckplatz oder einen -Mehrfachsteckplatz benutzen, denn alle diese Geräte verfügen über den gleichen -Anschlußstecker. Den RS232-Adapter können Sie direkt an das Interface-System -anschließen, denn er verfügt bereits über einen entsprechenden Stecker. - -Für das MUFI benötigen Sie ein Anschlußkabel, das auf der einen Seite einen -36poligen Centronics-Stecker und auf der anderen Seite einen 25poligen D-Sub -miniatur-Stecker besitzt (von der Firma BICOS zu beziehen). - - -#on("b")#3.4 Bereitstellung des Interface-Systems#off("b")# - -Sofern Sie eine Compact-Box angeschlossen haben, brauchen Sie nur noch das mitge -lieferte Netzteil mit der Compact-Box und dem Netz zu verbinden und die ent -sprechende Spannung laut beiliegender Bedienungsanweisung der Fa. AKTRONIK -einzustellen. - -Wenn Sie mit einem Einzelsteckplatz oder einem Mehrfachsteckplatz arbeiten, -müssen Sie zunächst noch eine Interface-Karte einstecken. Für einen anschließenden -Test des Systems (sehen Sie dazu Kapitel 5) empfiehlt es sich, eine Kombikarte oder -eine E/A-Karte zu verwenden. Nach dem Einstecken der Interface-Karte ist der Steck -platz noch mit dem Netzstecker an das Stromnetz anzuschließen, um eine -Spannungsversorgung zu gewährleisten. - - - - - - - diff --git a/doc/prozess/gs-Prozess-4 b/doc/prozess/gs-Prozess-4 deleted file mode 100644 index e106df1..0000000 --- a/doc/prozess/gs-Prozess-4 +++ /dev/null @@ -1,173 +0,0 @@ -limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (1)# -#headodd# -#center#gs-Prozess#right#% - -#end# -#headeven# -%#center#gs-Prozess - -#end# -#center#1 - -#on("b")#4 Installation von gs-Prozess#off("b")# - - -Bevor Sie #on("b")#gs-Prozess#off("b")# auf Ihrem Computer benutzen können, müssen Sie das -Programm zunächst installieren. Wenn #on("b")#gs-Prozess#off("b")# auf Ihrem System schon zur -Verfügung steht, können Sie dieses Kapitel ruhig überspringen. - - - -#on("b")#4.1 Voraussetzungen#off("b")# - - -Um #on("b")#gs-Prozess#off("b")# auf Ihrem Computer betreiben zu können, muß das EUMEL- -Betriebssystem installiert sein. #on("b")#gs-Prozess#off("b")# setzt die Multi-User-Version voraus und ist -lauffähig ab Version 1.8.x. #on("b")#gs-Prozess#off("b")# setzt weiterhin voraus, daß auf Ihrem -Computer bereits das Programm #on("b")#gs-DIALOG#off("b")# (Version 1.1) installiert ist. - - - -#on("b")#4.2 Lieferumfang#off("b")# - - -#on("b")#gs-Prozess#off("b")# wird auf einer Diskette geliefert, die alle notwendigen Programme ent -hält (die Installation von #on("b")#gs-DIALOG#off("b")# wird dabei vorausgesetzt!). Um den Inhalt der -Diskette feststellen zu können, starten Sie Ihr System und bringen es dazu, daß 'gib -kommando:' erscheint. Dann legen Sie die Diskette ein und geben das Kommando: - - -#on("b")##center#archive("gs-Prozess");list(archive);release(archive) <RETURN>#off("b")# -#page# -Anschließend erscheint eine Übersicht der auf dem Archiv vorhandenen Programme. -Folgende Programme sollten sich in der Übersicht befinden: - - - "gs-Prozess 1 für MUFI im Terminalkanal" - "gs-Prozess 1 für MUFI als Endgerät" - "gs-Prozess 1 für AKTRONIK Adapter" - "gs-Prozess 2" - "gs-Prozess 3" - "gs-Prozess 4" - "gs-Prozess 5" - "gs-MENUKARTE:Prozess" - "gs-Prozess/gen" - - -Eventuell können noch weitere Namen auf der Diskette vorhanden sein. Wenn Sie den -Inhalt der Diskette kontrolliert haben und diese Programme auf der Diskette vor -handen sind, können Sie #on("b")#gs-Prozess#off("b")# installieren. - -Sollten Sie statt der Übersicht eine Fehlermeldung erhalten, überprüfen Sie bitte, ob -die Diskette das richtige Format besitzt oder ob Ihr Diskettenlaufwerk Probleme -macht. Sollten dagegen Programme fehlen, so reklamieren Sie die Diskette. - - -#on("b")#4.3 Installation#off("b")# - -#on("b")#gs-Prozess#off("b")# muß in einer Task installiert werden, in der bereits das Programm -#on("b")#gs-DIALOG#off("b")# zur Verfügung steht. Alle Söhne und Enkel der neuen Task können -anschließend mit #on("b")#gs-Prozess#off("b")# arbeiten. Richten Sie also eine Task als Sohn der Task -ein, in der auf Ihrem Computer bereits #on("b")#gs-DIALOG#off("b")# installiert ist. Wir nehmen hier -an, daß #on("b")#gs-DIALOG#off("b")# in der Task 'MENU' installiert ist und die neue Task den Namen -'PDV' erhalten soll. (Sie können für die Task auch einen beliebigen anderen Namen -wählen): - -#on("b")# - <SV> (Supervisor - Taste) - - --> gib supervisor kommando: - - begin ("PDV","MENU") <RETURN> - - --> gib kommando: - - -#off("b")# -(Arbeiten mehrere Personen mit dem Computer, dann ist es sinnvoll, diese Task vor -unbefugtem Zugriff durch ein Passwort zu schützen. Wie das gemacht wird, können -Sie in Ihrem EUMEL-Benutzerhandbuch erfahren.) - - -Legen Sie dann die Archivdiskette ein, auf der sich #on("b")#gs-Prozess#off("b")# befindet, und geben -Sie das folgende Kommando: - - -#on("b")# - archive("gs-Prozess") <RETURN> - - fetch("gs-Prozess/gen",archive) <RETURN> - - run <RETURN> - -#off("b")# - -Sie haben damit das Generatorprogramm gestartet. Bevor die Generierung allerdings -ausgeführt werden kann, müssen Sie dem System noch Angaben über den ver -wendeten Adapter machen. Die zur Verfügung stehenden Anpassungen werden Ihnen -zur Auswahl angeboten: - +--------------------------------------------------------+ - | Auswahl der Interface-Anpassung | - | Bitte gewünschte Anpassung ankreuzen! | - |--------------------------------------------------------| - | Auswahl e i n e r Datei durch Ankreuzen | - |--------------------------------------------------------| - |==> > gs-Prozess 1 für MUFI im Terminalkanal | - | > gs-Prozess 1 für MUFI als Endgerät | - | > gs-Prozess 1 für AKTRONIC-Adapter | - | | - +--------------------------------------------------------| - | Info: <?> Fertig: <ESC><q> Abbrechen: <ESC><h> | - +--------------------------------------------------------+ -#center#Abb.6: Auswahl der Interface-Anpassung - - -Bringen Sie den Pfeil mit den Pfeiltasten vor die gewünschte Anpassung und drücken -Sie die <RETURN>-Taste. - -Haben Sie als Anpassung "gs-Prozess für AKTRONIK Adapter" oder "gs-Prozess für -MUFI als Endgerät" gewählt, so erscheint als nächstes die Aufforderung: - -#center##on("b")#'Gib Interface-Kanal:'#off("b")# - -Geben Sie hier die Kanalnummer der seriellen Schnittstelle ein, an der der Adapter -betrieben werden soll. - -Die Installation wird automatisch durchgeführt. Lassen Sie während des gesamten -Vorgangs die Archivdiskette eingelegt. Die Generierung ist beendet, wenn der -EUMEL-Eingangsbildschirm erscheint. Die Task, in der die Generierung stattfin -det, wird automatisch zur Managertask, das heißt, daß Söhne von ihr eingerichtet -werden können. - - -#on("b")#4.4 Anmerkungen zur Erstinstallation#off("b")# - -Mit der Installation der Software ist das Gesamtsystem allerdings noch nicht betriebs -bereit. Dazu fehlen #on("b")#gs-Prozess#off("b")# noch einige Informationen. Bisher ist #on("b")#gs-Prozess#off("b")# -nämlich nur bekannt, welchen Adapter Sie verwenden und ob Sie ihn im Terminal -kanal oder an einer separaten Schnittstelle betreiben wollen. - -Um das angeschlossene Interface-System sachgerecht ansteuern zu können, benötigt -#on("b")#gs-Prozess#off("b")# aber noch Informationen über die Hardware-Konstellation. Diese Mit -teilungen, die noch gemacht werden müssen, nennen wir "Konfiguration von -#on("b")#gs-Prozess#off("b")#". Wie diese Konfiguration vorgenommen wird und wie Sie anschließend -Ihr Interface-System testen, ist im Kapitel 5 detailliert beschrieben. - -#on("b")#gs-Prozess#off("b")# bietet Ihnen eine Reihe von Möglichkeiten, die vorhandene Hardware -möglichst effektiv zu nutzen. So ist es möglich, wenn Sie Ihre(n) Adapter an -separater/separaten Schnittstelle(n) betreiben, von verschiedenen Tasks aus auf -einen Adapter zuzugreifen. Gerade in der Anschaffungsphase, wenn noch nicht -genügend Hardware zur Verfügung steht, ist das eine sinnvolle/preiswerte Möglich -keit, von verschiedenen Arbeitsplätzen aus Prozeßdatenverarbeitung zu betreiben. - -Zu diesem Zeitpunkt würde es aber zu weit führen, hierzu Details zu erläutern. -Beschreibungen dieser Möglichkeiten finden Sie im Kapitel "Hinweise für den -Systembetreuer/ Programmierer". - -#on("b")# -Sie sollten sich zunächst darauf beschränken, ein Interface-System "zum -Laufen zu bringen". Verfahren Sie dazu bitte genau, wie im Kapitel 5 -beschrieben.#off("b")# - diff --git a/doc/prozess/gs-prozess-1 b/doc/prozess/gs-prozess-1 deleted file mode 100644 index f6a3696..0000000 --- a/doc/prozess/gs-prozess-1 +++ /dev/null @@ -1,99 +0,0 @@ -limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (1)# -#headodd# -#center#gs-Prozess#right#% - -#end# -#headeven# -%#center#gs-Prozess - -#end# -#center#1 - -#on("b")#1 Was kann gs-Prozess#off("b")# - -#on("b")#gs-Prozess#off("b")# ist ein Programmsystem unter dem Betriebssystem EUMEL, mit dem ein -Anwendungsbereich erschlossen werden kann, der bisher in der Schule zumeist sehr -stiefmütterlich behandelt wurde: die Prozeßdatenverarbeitung - das Messen, Steuern -und Regeln mit dem Computer. - -Es wird dadurch möglich, externe Modelle/Geräte (z.B. eine Ampelanlage) zu steuern -oder von externen Meßfühlern (z.B. einem Temperaturfühler) oder Eingabeeinheiten -(z.B. einem Lochkartenleser) Daten aufzunehmen. Durch die Kombination der -beiden Vorgänge können sogar komplexe geregelte Systeme in Modellen nachgebildet -werden. - -Eigentlich ist eine solch stiefmütterliche Behandlung dieses Anwendungsbereiches -von Computern in der Schule gar nicht einzusehen, denn in der Forschung, im -Dienstleistungsbereich, im privaten Bereich und vor allem in der Produktion gibt es -eine Vielzahl von Anwendungen, z.B.: - - Meßdatenerfassung und -auswertung bei Experimenten, Wetterbeobachtung, - seismologische Untersuchungen, ..., Ampelsteuerungen, Verkehrsleitsysteme, ..., - Scannerkassen, Scheckkartenleser, Geldautomaten, ..., Waschmaschinen, - Heizungsanlagen, Modelleisenbahnen, ..., CNC-Maschinen, Universalhand - habungsautomaten (Roboter),... - -In den meisten Fällen werden Computer eingesetzt, die speziell für diesen -Anwendungsbereich entwickelt wurden. Insbesondere an die Verarbeitungsge -schwindigkeit solcher Systeme werden sehr hohe Anforderungen gestellt. Solche -Systeme sind für die schulische Verwendung viel zu teuer. Zumeist sind auch die in -der Realität ablaufenden Vorgänge so komplex, daß sie als Ganzes gar nicht im -Unterricht nachgebildet werden können. - -Das aber kann auch nicht Ziel einer Auseinandersetzung mit diesem Anwendungs -bereich in der Schule sein. Hier gilt es, unter didaktisch-methodischen Gesichts -punkten, Grundprinzipen der Prozeßdatenverarbeitung zu vermitteln und beispiel -hafte Anwendungen an Modellen zu erarbeiten und zu erproben. In einem zeitge -mäßen Informatikunterricht darf dieser wichtige Anwendungsbereich von Computern -nicht ausgespart bleiben. - -Bisher scheiterte das Messen, Steuern und Regeln mit dem Computer in der Schule -meistens daran, daß es keine standardisierten Software- und Hardware-Systeme und -auch keine geeigneten Modelle gab. Das aber hat sich inzwischen geändert. -Verschiedene Hersteller bieten Interface-Systeme und Modelle an, die gut verwendet -werden können. - -Auch #on("b")#gs-Prozess#off("b")# greift auf ein solches Interface-System zu, das aus mehreren -Einzelkomponenten besteht (mehr dazu in den folgenden Kapiteln). Das sind Geräte, -über die der Computer "Kontakt" mit den 'Endgeräten' (z.B. Modellen) aufnimmt: -Hier werden Ausgaben des Computers in "elektrische Impulse" umgesetzt, mit denen -Modelle angesprochen werden können (z.B. Lämpchen ein- und ausgeschaltet, -Motoren zu Drehungen nach links oder rechts veranlaßt werden können). Ein -gehende "Impulse" werden in "computerangemessene Form" umgewandelt und an -den Computer weitergegeben. - -Der Aufwand, der betrieben werden muß, um ein Interfacesystem sachgerecht anzu -steuern, ist erheblich. Es kostet einige Mühe und vor allem viel Zeit, um alle Details -des Interfacesystems und seiner Programmierung kennenzulernen, und es gehört -eine gehörige Portion Erfahrung und vor allem viel Geduld dazu, um Fehlfunktionen -zu analysieren und letztlich zu beheben. Das alles ist einem Anwender, dem es z.B. -darum geht, ein bestimmtes Modell anzusteuern, nicht zumutbar. - -Hier schafft nun #on("b")#gs-Prozess#off("b")# Abhilfe! #on("b")#gs-Prozess#off("b")# ist eingebettet in die komfortable -Benutzerschnittstelle #on("b")#gs-DIALOG#off("b")#, so daß der Einarbeitungsaufwand in das -Programmsystem gering und eine einfache Bedienung des Systems gewährleistet ist. - -Ähnlich wie bei #on("b")#gs-Herbert und Robbi#off("b")# wird eine komplette Programmier -umgebung zur Verfügung gestellt, die alle Funtionen enthält (Informationen, -Konfiguration des Systems, Erstellung und Ausführung von Programmen, Archiv -handling), die bei der Arbeit von Bedeutung sein können - natürlich jetzt auf das -Messen, Steuern und Regeln bezogen. Durch diese Programmierumgebung wird -selbst dem Computerneuling ermöglicht, einen einfachen, eingängigen Zugang zu -diesem Anwendungsbereich zu finden. - -#on("b")#gs-Prozess#off("b")# stellt einen Basisbefehlssatz (Eingabe-, Ausgabebefehle und Tests) zur -Verfügung, mit dessen Hilfe Lösungsalgorithmen aus diesem Anwendungsbereich -angemessen formuliert werden können. Dabei kann sich der Anwender ganz auf sein -Problem konzentrieren, da er sich um die spezifische Ansteuerung des Interfaces -nicht zu kümmern braucht - das erledigt #on("b")#gs-Prozess#off("b")#. - -Der Basisbefehlssatz besteht aus nur wenigen Befehlen, um das Erlernen und den -Umgang damit möglichst einfach zu gestalten. Andererseits ist der Befehlssatz so -umfangreich und universell, daß alle schulisch relevanten Problemstellungen aus -diesem Anwendungsbereich angemessen bearbeitet werden können. - - - - diff --git a/doc/prozess/gs-prozess-5 b/doc/prozess/gs-prozess-5 deleted file mode 100644 index 5c44f29..0000000 --- a/doc/prozess/gs-prozess-5 +++ /dev/null @@ -1,819 +0,0 @@ -limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (1)# -#headodd# -#center#gs-Prozess#right#% - -#end# -#headeven# -%#center#gs-Prozess - -#end# -#center#1 - -#on("b")#5 Konfiguration von gs-Prozess#off("b")# -#on("b")# Test des Interface-Systems#off("b")# - -In diesem Kapitel erfahren Sie, wie Sie #on("b")#gs-Prozess#off("b")# entsprechend der angeschlossenen -Hardware konfigurieren müssen. Anschließend zeigen wir Ihnen, wie Sie Ihr Inter -face-System testen können. - -Wir gehen hier davon aus, daß die Hardware-Voraussetzungen erfüllt, das Interface- -System über einen Adapter (MUFI / RS232-Adapter) angeschlossen und #on("b")#gs-Prozess#off("b")# -auf dem Rechner installiert sind. - - -#on("b")#5.1 Kontrolle der Konfigurationen/Anschlüsse#off("b")# - -Bevor Sie mit der Arbeit beginnen, überzeugen Sie sich unbedingt (noch einmal) -davon, daß die Konfigurationen und die Steckverbindungen den Vorgaben ent -sprechen: - -- #on("b")#MUFI im Terminalkanal:#off("b")# - - Sind die beiden Kabel zum Rechner und zum Terminal an der Rückseite des - MUFIs korrekt aufgesteckt (sehen Sie Abb.3)? Haben Sie die notwendigen - Konfigurationen vorgenommen (Task 'configurator', MUFI-DIP-Schalter, Ter - minal)? Ist das Netzkabel des MUFIs mit dem Stromnetz verbunden? Ist das - Verbindungskabel zwischen MUFI und Interface-System an der Vorderseite des - MUFIs und am Interface-System (Compact-Box, Einzel- oder Mehrfachsteck - platz) aufgesteckt? -#page# -- #on("b")#MUFI als Endgerät:#off("b")# - - Ist das vom Computer kommende Kabel auf den mit V24/2 gekennzeichneten - Stecker aufgesteckt? Haben Sie auf den freien Stecker (V24/1) einen "Kurz - schlußstecker" aufgesteckt? Haben Sie ein Kabel verwendet, über welches das - RTS/CTS-Protokoll abgewickelt werden kann? Haben Sie den Kanal, an dem das - MUFI betrieben wird, den Anweisungen in Kapitel 3.1.3 entsprechend kon - figuriert? Sind die DIP-Schalter im MUFI entsprechend eingestellt? Ist das - Netzkabel des MUFIs mit dem Stromnetz verbunden? Ist das Verbindungskabel - zwischen MUFI und Interface-System an der Vorderseite des MUFIs und am - Interface-System (Compact-Box, Einzel- oder Mehrfachsteckplatz) aufgesteckt? - - -- #on("b")#RS232-Adapter:#off("b")# - - Ist das Schnittstellen-Kabel korrekt am Computer angeschlossen? Haben Sie den - Kanal, an dem der RS232-Adapter betrieben wird, den Anweisungen in Kapitel - 3.2 entsprechend konfiguriert? Ist der Jumper im RS232-Adapter korrekt aufge - steckt? Ist der RS232-Adapter an das Interface-System (Compact-Box, Einzel- - oder Mehrfachsteckplatz) angesteckt? Ist der 3polige Platinenstecker des - Adapters in die 12V-Spannungsversorgungs-Buchse des Interface-Systems - eingesteckt? - - -- #on("b")#Compact-Box#off("b")# - - Ist die Compact-Box an das zugehörige Netzgerät angeschlossen? Ist der Stecker - wirklich richtig herum eingesteckt? Ist das Netzteil mit dem Stromnetz ver - bunden? - -- #on("b")#Einzelsteckplatz#off("b")# - - Ist eine Kombi-Karte oder eine E/A-Karte eingesteckt? Ist das Netzkabel des - Steckplatz-Netzgerätes mit dem Stromnetz verbunden? -#page# -- #on("b")#Mehrfachsteckplatz#off("b")# - - Ist ein passendes Netzteil an den Mehrfachsteckplatz angeschlossen? Ist das - zugehörige Netzkabel mit dem Stromnetz verbunden? Ist eine Kombi- oder - E/A-Karte in einen Steckplatz eingesteckt? - - -#on("b")#5.2 Vorbereitungen für den Ein-/Ausgabetest#off("b")# - -Für den Ausgabetest sollte eine 8elementige Leuchtdiodenanzeige zur Verfügung -stehen, um am Interface-System die Ausgaben kontrollieren zu können. Sofern Sie -mit der Compact-Box arbeiten oder eine E/A-Karte verwenden, brauchen Sie sich -darum nicht weiter zu kümmern, denn in diese Systeme ist eine Leuchtdioden -anzeige integriert. Wenn Sie dagegen mit einer Kombikarte arbeiten, muß eine -gesonderte Anzeige (kann leicht selbst gebaut werden oder ist fertig zu kaufen bei der -Fa. AKTRONIK) angeschlossen werden. - -Für den Eingabetest reicht ein kleines Drahtstück, an dem zwei kleine Lötschuhe -angelötet sind - schön wäre es, wenn ein Codekarten-Leser zur Verfügung stünde. - - -#on("b")#5.2.1 Anschluß einer Leuchtdiodenanzeige an die Kombikarte#off("b")# - -Stecken Sie den 8poligen Platinenstecker, der an der Leuchtdiodenanzeige befestigt -ist, auf die mit "AUSG." gekennzeichnte Buchse der Kombikarte. Den Lötschuh des -einzelnen Drahtes an der Leuchtdiodenanzeige stecken Sie auf den Masse-Lötstift -direkt neben der "Ausgangs-Buchse" der Kombikarte (sehen Sie Abb. 7). Da die -Leuchtdiodenanzeige mit Spannung versorgt werden muß, müssen jetzt noch zwei -Kabel - wie in der Abb. 7 dargestellt (Kabel 1 und Kabel 2) - aufgesteckt werden. -#page# - - - - +---------------------------------------------------------------+ - | 4-7 o----------+ | - | +-+-----------+-+ | | - | | | O | | GMD o | | - | | | | | | Kabel 1 | - | | | | | | | - | v | | O | | | | - | | | | | | | - | E| | | | | | - | | | O | | | | - | +-+-------------+ ___________| | - | o -----------| | - | Ausg. | | - | +---------------+ O 0 | | - | | +-----------+ | 1 O | | - ---+---|-|---| | | O 2 | | - ---+---|-|---| | | 3 O | | - ---+---|-|---| | | O 4 | | - ---|---|-|---| | | 5 O | | - ---|---|-|---| | | O 6 | | - ---|---|-|---| | | 7 O | | - | | +-----------+ | | | - | +---------------+ | | -<-----------------o | Kabel 2 | - Zur Leuchtdiodenanzeige | | - | +---------------+ | | - | | O | O 0 | | - | | O | 1 O | | - | | O | O 2 | | - | | O | 3 O | | - | | O | O 4 | | - | | O | 5 O | | - | | O | O 6 | | - | | O | 7 O | | - | +---------------+ | | - | GMD o o +5V | | - | | | | - | +----------------------------+ | - | | - | +---------------+ | - | | O | + O | - | | O | O E2 | - | | O | GMD O | - | +---------------+ | - | | - | +---------------+ | - | | O | + O | - | | O | O E2 | - | | O | GMD O | - | +---------------+ | - | o o o o o o o o o o | - | | | | | | | | | | | | - | +-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+ | - | | | | - +----------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+----------+ - | | | | | | | | | | | | | | | | | | | | | - | | | | | | | | | | | | | | | | | | | | | - -#center#Abb.7: Anschluß Leuchtdiodenanzeige - Kombikarte - -#on("b")#ACHTUNG!#off("b")# Bei dieser Spannungversorgung auf der Kombikarte (+5V) darf #on("b")#auf -keinen Fall#off("b")# eine größere Last (z.B. Motor oder auch nur eine Glühbirne) ange -schlossen werden, da dadurch die Interfacekarte bzw. das Netzteil im Einzelsteck -platz beschädigt werden könnte. -#page# -Möchten Sie eine größere Last anschließen, so benötigen Sie ein stabilisiertes Netzteil -mit "ordentlich geglättetem" Gleichstrom. Die Masse (Minuspol) des Netztteils be -festigen Sie an dem Lötschuh (oder der davorliegenden Klemme), der zwischen den -beiden Lötstiften liegt, an denen in der Abb.7 das Kabel 1 befestigt ist. Den Pluspol -des Netzteiles verbinden Sie mit mit einem der Lötstifte (bzw. an der davorliegenden -Klemme), auf dem jetzt das Kabel 1 befestigt ist. Damit alle 8 Ausgänge mit Span -nung versorgt werden, müssen Sie auch hier ebenfalls eine Brücke zum zweiten -Lötschuh (oder der Klemme davor), an dem in der Zeichnung Kabel 1 befestigt ist, -anbringen. - -Da die Compact-Box ohnehin durch das Netzteil versorgt wird, kann es hier nicht zu -Komplikationen kommen. Wollen Sie eine größere Last an die E/A-Karte anschließen, -so benötigen Sie z.B. eine Relais-Box. - - - -#on("b")#5.2.2 Anschluß des Codekartenlesers (Drahtstück)#off("b")# - -Stecken Sie den 8poligen Platinenstecker, der am Codekartenleser befestigt ist, auf -die Eingangsbuchse an Ihrem Interface-System. Dann muß noch der 3polige -Platinenstecker, der ebenfalls am Codekartenleser befestigt ist, an die 12V-Span -nungsversorgungs-Buchse an Ihrem Interface-System aufgesteckt werden. - -haben Sie keinen Codekartenleser zur Hand, so reicht für den Eingabetest auch ein -kleines Kabelstück aus, an dessen Enden jeweils ein Lötschuh angelötet sein sollte. -Stecken Sie den einen Lötschuh auf einen +5V-Lötstift Ihres Interface-Systems. Das -andere Ende des Kabels wird zunächst noch nicht befestigt. - -Auf der Kombikarte sind die +5V-Lötstifte beschriftet und damit leicht zu finden. Wo -Sie einen +5V-Lötstift auf der E/A-Karte finden, können Sie der folgenden Abbildung -entnehmen: -#page# - Leuchtdiodenanzeige - | - +---------------------------------------+------------+ - | +---------------+ | | - | | O | O 0 V | -Digital- | | O | 1 O o o o o o o o o | -Ausgang | | O | O 2 | - | | O | 3 O | - | | O | O 4 | - | | O | 5 O | - | | O | O 6 | - | | O | 7 O | - | +---------------+ | - | +---------------+ | - | | O | O 0 | -Digital- | | O | 1 O | -Eingang | | O | O 2 | - | | O | 3 O | - | | O | O 4 | - | | O | 5 O | - | | O | O 6 | - | | O | 7 O | - | +---------------+ | - | +---------------+ | - | | O | O 0 | -Versorgungs- | | O | 1 O | -und | | O | O 2 | -Steuer- | | O | 3 O | -leitung | | O | O 4 | - | | O | 5 O | - | | O---5V------O 6 | - | | O | 7 O | - | +-------|-------+ | | - | | | | - | +---------------+ | - | | | - | GMD | - | | - | o o o o o o o o o o | - | | | | | | | | | | | | - | +-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+ | - | | | | - +----+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+---+ - | | | | | | | | | | | | | | | | | | | | | - | | | | | | | | | | | | | | | | | | | | | - - -#center#Abb.8: Pinbelegung auf der E/A-Karte - - -#on("b")#5.3 Konfiguration von gs-Prozess#off("b")# - -Normalerweise kann in jeder Task, in der #on("b")#gs-Prozess#off("b")# zur Verfügung steht, die -Konfiguration vorgenommen werden (beachten Sie aber bitte die Bemerkungen im -Kapitel "Hinweise für den Systembetreuer/Programmierer"). - -Richten Sie eine Sohntask der Task ein, in der #on("b")#gs-Prozess#off("b")# installiert ist - in unserem -Fall soll das die Task 'PDV' sein. Die Sohntask soll den Namen 'pdvtest' erhalten: -#page# -#on("b")# - <SV> (Supervisor - Taste) -#off("b")# - --> gib supervisor kommando: -#on("b")# - begin ("pdvtest","PDV") <RETURN> -#off("b")# - --> gib kommando: -#on("b")# - pdv <RETURN> -#off("b")# - -Daraufhin erscheint der in Abb.9 dargestellte Menubildschirm. Über die Menupunkte -im dann sichtbaren Pull-Down-Menu können Sie diverse Informationen zu -#on("b")#gs-Prozess#off("b")# abrufen, auf die wir hier allerdings nicht weiter eingehen wollen. Statt -dessen drücken Sie bitte die 'Pfeiltaste rechts'. Sie gelangen so zum Menu unter dem -Oberbegriff "Interface" (Abb. 10). - - -+---------------------------------------------------------------------+ -| PDV: Info Interface Programm Archiv | -|-------+------------------------+------------------------------------+ -| | u Übersicht Befehle | | -| | --------------------- | | -| | a Ausgabebefehle | | -| | e Eingabebefehle | | -| | t Testbefehle | | -| | w Weitere Befehle | | -| | --------------------- | | -| | b Bitmuster | | -| | s Symbole/Zeichen | | -| | d Digital-/Analogwerte| | -| +------------------------+ | -| | -| +----------------------------------------+ | -| | gs-Prozess | | -| | Version 1.0 | | -| | | | -| | Copyright Ρ 1988 bei Eva Latta-Weber, | | -| | Bielefeld | | -| +----------------------------------------+ | -+---------------------------------------------------------------------+ -|Info:<ESC><?>/<?> Wahl:<Pfeile> Ausführen:<RETURN> Verlassen:<ESC><q>| -+---------------------------------------------------------------------+ - - - Abb.9: Eingangsbildschirm #on("b")#gs-Prozess#off("b")# -#page# - -+-----------------------------------------------------------------------+ -| PDV: Info Interface Programm Archiv | -+-------+-------------------+-------------------------------------------+ -| | i Informationen | | -| | ---------------- | | -| | k Konfigurieren | | -| | ---------------- | | -| | a Ausgabetest | | -| | e Eingabetest | | -| +-------------------+ | -| | -| | -| | -+---------------------------------------------------------------------- + -| Info:<ESC><?>/<?> Wahl:<Pfeile> Ausführen:<RETURN> Verlassen:<ESC><q> | -+-----------------------------------------------------------------------+ - - #center#Abb.10: Menubildschirm zum Oberbegriff 'Interface' - - -Über den ersten Menupunkt ("Informationen") kann die aktuelle Konfiguration des -Interfaces erfragt werden. Wenn Sie diesen Menupunkt aktivieren und es ist weder in -dieser Task noch in einer übergeordneten Task eine Konfiguration vorgenommen -worden, erhalten Sie die folgende Warnung: - - +----------------------------------------+ - | Interface ist noch nicht konfiguriert! | - +----------------------------------------+ -#center#Abb.11: Information bei unkonfiguriertem System - - -Ist schon eine Konfiguration, z.B. in der Vatertask vorgenommen worden, so wird -Ihnen die aktuellen Einstellung angezeigt (s.u.). -#page# -#on("b")#5.3.1 Auswahl der Steckplatzart/Interfacekarte#off("b")# - -Da Sie in jedem Falle eine Konfiguration von #on("b")#gs-Prozess#off("b")# vornehmen sollen, -aktivieren Sie jetzt bitte den Menupunkt "Konfigurieren". Daraufhin erscheint die -folgende Auswahl: - +-----------------------------+ - | Auswahl der Steckplatzart | - | | - | c Compactbox | - | e Einzelsteckplatz | - | m Mehrfachsteckplatz | - | | - | Compact Einzel Mehrfach | - +-----------------------------+ - -#center#Abb.12: Auswahl der Steckplatzart - - -Haben Sie eine Compact-Box angeschlossen, so ist die Konfiguration schnell erledigt: -Sie tippen die Taste <c>. Daraufhin wird die komplette Konfiguration ausgeführt -und die Einstellung eingeblendet. - +------------------------------------+ - | Eingestellt: Compactbox | - | | - | Belegung der Kanäle: | - | | - | Kanal 1: Analogeingang 1 (E1) | - | | - | Kanal 2: Analogeingang 2 (E2) | - | | - | Kanal 3: Digitaleingang | - | | - | Kanal 4: Digitalausgang | - +------------------------------------+ - -#center#Abb.13: Compact-Box: Belegung der Kanäle -#page# -Die Anzeige verschwindet, wenn Sie eine beliebige Taste tippen. - -Anders dagegen, wenn Sie zuvor dem System mitgeteilt haben, daß ein Einzelsteck -platz bzw. ein Mehrfachsteckplatz angeschlossen ist. In diesem Fall müssen Sie -#on("b")#gs-Prozess#off("b")# noch mitteilen, welche Steckkarten Sie verwenden. Dazu wird Ihnen die -folgende Auswahl angeboten: - - +----------------------------------+ - | Angabe der Interfacekarte: | - | | - | k Kombikarte | - | e E/A - Karte | - | d D/A - Wandler - Karte | - | a A/D - Wandler - Karte | - | 0 Keine Steckkarte | - | | - | Kombi E/A D/A A/D Keine | - +----------------------------------+ - - -#center#Abb.14: Auswahl einer Interfacekarte - - -Wenn Sie eine Kombikarte, eine E/A-Karte oder eine D/A-Wandler-Karte verwenden, -ist durch die jeweilige Angabe der Einstellvorgang abgeschlossen. #on("b")#gs-Prozess#off("b")# teilt -Ihnen daraufhin - ähnlich wie bei der Compact-Box - jeweils die Belegung der Kanäle -mit. Bei Nutzung der D/A-Wandler-Karte wird zusätzlich der gültige Spannungs -bereich angezeigt. -#page# - - +------------------------------------------------------+ - | Einzelsteckplatz mit D/A - Karte: | - | | - | Belegung der Kanäle: | - | | - | Die Karte stellt einen Analogausgang zur Verfügung, | - | der auf zwei Arten angesprochen werden kann: | - | | - | Kanal 1: Spannungsbereich -5 V - +5 V | - | | - | Kanal 2: Spannungsbereich 0 V - +5 V | - | | - +------------------------------------------------------+ - -#center#Abb.15: Kanalbelegung D/A-Karte (Einzelsteckplatz) - - -Haben Sie dagegen eine A/D-Wandler-Karte angegeben, so erfragt #on("b")#gs-Prozess#off("b")# noch -die Schalterstellung der DIP-Schalter auf der A/D-Wandler-Karte. Über diese Schalter -stellung kann der Spannungsbereich der Analogeingänge festgelegt werden. Das -erfolgt nach folgendem Prinzip: - -Das Spannungsintervall wird jeweils über 3 Schalter festgelegt. Für den Eingang 1 -stehen die Schalter 1, 2 und 3 zur Verfügung, für denn Eingang 2 die Schalter 4, 5 -und 6. Im folgenden werden wir die Einstellung für den Eingang 1 aufzeigen - für den -Eingang 2 ist mit den drei genannten Schaltern synonym zu verfahren. - -Steht Schalter 1 in der Position 'ON', so ist ein Spannungsintervall von 0V - 25V einge -stellt (Fall 1) - unabhängig von der Stellung der anderen beiden Schalter. Innerhalb -eines Schaltertripletts "dominiert" nämlich ein Schalter mit kleinerer Nummer über -den/die mit größerer Nummer. Ist Schalter 1 in Stellung 'OFF' und Schalter 2 in -Stellung 'ON', so ist ein Spannungsbereich von 0V - 2,5V eingestellt (Fall 2). Sind die -beiden ersten Schalter in der Position 'OFF' und nur der Schalter 3 in der Position -'ON', so ist ein Spannungsintervall von 0V - 0,25V eingestellt (Fall 3). -#page# -Eine besondere Bedeutung kommt noch den Schaltern 7 und 8 zu, denn sie beein -flussen noch die eben genannten Intervalle. Dabei ist überraschenderweise der -Schalter 7 für den Eingang 2 und der Schalter 8 für den Eingang 1 zuständig. Die drei -oben genannten Fälle gelten nämlich nur, wenn Schalter 8 in der Position 'OFF' steht. -In der Position 'ON' werden die durch das Schaltertriplett eingestellten Spannungs -intervalle dagegen symmmetrisch um 0V angelegt: im Fall 1 also der Bereich von --12,5V - +12,5V, im Fall 2 von -1,25V - +1,25V und im Fall 3 von -0,125V - -+0,125V. - +----------------------------------------------------+ - | Angabe der Schalterstellungen auf der A/D - Karte: | - | | - | Bitte die aktuelle Schalterstellung eintragen: | - | | - | Es bedeutet: 1 - Schalterstellung "on" | - | 0 - Schalterstellung "off" | - | | - | Nummer: 12345678 | - | | - | Eingabe: 10010010 | - +----------------------------------------------------+ -#center#Abb.16: A/D-Karte: Angabe der Schalterstellung - - -Der Spannungsbereich wird von #on("b")#gs-Prozess#off("b")# aus der Schalterstellung automatisch -ermittelt und neben den festgelegten Kanalnummer angezeigt. Die obige Schalter -stellung führt somit zu folgender Meldung: - - +----------------------------------------------------------------+ - | Einzelsteckplatz mit A/D - Karte: | - | | - | Zwei analoge Einträge stehen zur Vefügung: | - | | - | Kanal 1: (E1) Spannungsbereich 0.000 V - +25.000 V | - | | - | Kanal 2: (E2) Spannungsbereich -12.500 V - +12.500 V | - | | - +----------------------------------------------------------------+ -#center#Abb.17: A/D-Karte: Kanalbel./Spannungsber.(Bspl.) -#page# -Während Sie bei Verwendung eines Einzelsteckplatzes nur einmal nach all diesen -Angaben gefragt werden, erfolgt die Abfrage bei einem Mehrfachsteckplatz viermal -hintereinander. Haben Sie einen Steckplatz nicht belegt, so tippen Sie bei der Angabe -der Interfacekarte die Taste <0> (keine Steckkarte). - - -#on("b")#5.3.2 Bedeutung der Kanalnummern#off("b")# - -Nachdem Sie #on("b")#gs-Prozess#off("b")# die Angaben zur Konfiguration (Steckplatzart/Interface -kartenart) mitgeteilt haben, teilt Ihnen das System jeweils die Kanalnummern mit. -Diese Nummern sollten Sie sich merken, denn wenn Sie mit dem von #on("b")#gs-Prozess#off("b")# zur -Verfügung gestellten Befehlen programmieren wollen, müssen Sie jeweils diese -Kanalnummern angeben. Fordern Sie von einem Kanal eine Aktion, die nicht ausge -führt werden kann/nicht sinnvoll ist, so kann Ihnen dadurch eine Fehlermeldung -zugestellt werden. - -Auf der Compact-Box bzw. der Kombikarte an einem Einzelsteckplatz ist die -Numerierung identisch: die beiden Analogeingänge haben die Kanalnummern 1 und -2, der Digitaleingang hat die Nummer 3 und der Digitalausgang die Nummer 4. - -Die E/A-Karte verfügt nur über je einen digitalen Eingang und digitalen Ausgang, die -über die Kanäle 1 und 2 angesprochen werden können. Damit nun aber auch -Programme, die für die Compact-Box bzw. eine Kombikarte geschrieben sind, auch -auf der E/A-Karte laufen, können diese beiden Kanäle auch unter der Kanalnummer -3 (Eingang) bzw. 4 (Ausgang) angesprochen werden. Natürlich ist ein solches -Programm nur dann auf der E/A-Karte lauffähig, wenn keine Analogeingänge ange -sprochen werden, denn die sind ja auf der E/A-Karte gar nicht vorhanden! - -Die Kanalnummern auf einem Mehrfachsteckplatz werden nach folgendem System -vergeben: Die Kanalnummern sind immer zweistellig. Über die erste Ziffer wird der -Steckplatz (1 - 4) identifiziert, über die zweite Ziffer der eigentliche Kanal auf der -Steckkarte. Steckt also z.B. in Steckplatz 3 eine Kombikarte (4 mögliche Kanäle) und -möchten Sie hier den Digitalausgang (Kanal 4) ansprechen, so muß als Kanal die -Nummer 34 angegeben werden. -#page# -Aber auch hier gibt es eine zusätzliche Vereinbarung: Der erste Steckplatz eines -Mehrfachsteckplatzes kann (zusätzlich) wie ein Einzelsteckplatz angesprochen -werden. Bei Belegung des ersten Steckplatzes mit einer Kombikarte, können Sie die -Karte also über die Kanalnummern 11, 12, 13 und 14 ansprechen und zusätzlich -über die Nummern 1, 2, 3 und 4. Der Sinn der dahintersteckt ist Ihnen sicher sofort -klar geworden: Dadurch kann ein Programm, das z.B. für die Compact-Box ge -schrieben wurde, ohne Änderung übernommen werden, wenn eine Kombikarte auf -Steckplatz 1 des Mehrfachsteckplatzes steckt etc.. - - -#on("b")#5.4 Aus- und Eingabetest#off("b")# - -Nun wird es spannend, denn Sie sollen jetzt testen, ob Sie mit Ihrem Interface-System -arbeiten können. Sofern Sie mit dem MUFI als Adapter arbeiten, schalten Sie das -MUFI mit dem Schalter an der Vorderseite ein. - -Wenn Sie das MUFI im Terminalkanal betreiben, kann das Einschalten dazu führen, -daß eine unsinnige Zeichenkette auf dem Bildschirm erscheint. Diese Zeichen -werden durch den "Einschaltknack" verursacht und haben eigentlich nichts zu -bedeuten. Allerdings läßt sich die Ausgabe auch nicht verhindern. Die Zeichen ver -schwinden bei der nächsten Menubedienung. - -Wenn Sie alle Hinweise in Kapitel 5.1 beachtet haben, müßte spätestens jetzt das -Interface-System betriebsbereit sein - gleichgültig, welchen Adapter und welche -Interface-Komponenten Sie verwenden. - -Aktivieren Sie nun den Menupunkt 'Ausgabetest', indem Sie z.B. die Taste <a> -tippen. Wenn Sie eine Compact-Box angeschlossen haben, müßte die folgende Ein -blendung in Ihrem Menubildschirm erscheinen: -#page# - +-------------------------------------------------------------+ - | Ausgabetest | - | | - | Ausgabe an Kanal 4 (= Digitalausgang der Compact-Box) | - |-------------------------------------------------------------| - | | - | | - | | - | Ausgabewert: 129 | - | | - |-------------------------------------------------------------| - | Bitte einen Wert zwischen 0 und 255 eingeben! | - | | - +-------------------------------------------------------------+ -#center#Abb.18: Ausgabetest - Einblendung - - -Eine nahezu identische Einblendung erhalten Sie, wenn Sie einen Einzelsteckplatz -mit Kombi- oder E/A-Karte angeschlossen haben. - -Da beim Ausgabetest nur die Ausgänge einer Karte angesprochen werden, ist ein -Ausgabetest an einer A/D-Wandler-Karte nicht möglich! An einer D/A-Wandler-Karte -kann zwar prinzipiell ein Ausgabetest erfolgen - ist aber nicht sinnvoll, da die zur -Kontrolle notwendige Leuchtdiodenanzeige hier nicht angeschlossen werden kann. - -Wenn Sie einen Mehrfachsteckplatz angeschlossen haben, werden Sie zuvor noch -gefragt, welchen Steckplatz Sie testen wollen. Bitte beachten Sie hier das im vorigen -Abschnitt Gesagte. Ansonsten ist auch hier die anschließende Einblendung nahezu -identisch. - -Zum Testen geben Sie jetzt einige Werte zwischen 0 und 255 ein. Nach jeder Eingabe -tippen Sie bitte die <RETURN>-Taste. Bei Eingabe der '0' müßten alle Leucht -dioden dunkel sein. Bei '1' dürfte nur die letzte Leuchtdiode (rechts) aufleuchten, -bei 128 nur die erste (links); bei 255 müßten alle 8 Leuchtdioden der Anzeige auf -leuchten. -#page# -Sollten wider Erwarten Fehler aufgetreten sein, lesen Sie bitte im Kapitel 5.5 nach. -Wenn alles wie beschrieben funktioniert hat, gehen Sie gleich zum Eingabetest über. -Verlassen Sie dazu den Ausgabetest durch die Tastenfolge <ESC><q> und -aktivieren Sie anschließend den Menupunkt 'Eingabetest' indem Sie z.B. die Taste -<e> tippen. - -Außer bei der E/A-Karte im Einzelsteckplatz werden Sie hier zusätzlich nach der -Nummer des Kanals gefragt, über den der Einlesetest erfolgen soll. Das liegt daran, -daß sich auf den meisten Interfacesystemen mehrere Eingänge befinden. Beim -Einzelsteckplatz werden die Auswahlmöglichkeiten vorgegeben; beim Mehrfachsteck -platz erfolgt eine freie Eingabe der Kanalnummern. - -Wenn Sie eine Compact-Box angeschlossen haben, müßte die folgende Einblendung -in Ihrem Menubildschirm erscheinen: - - +-------------------------------------------------------------+ - | Eingabetest | - | | - | Eingabe von Kanal 3 (= Digitaleingang der Compact-Box) | - | | - |-------------------------------------------------------------| - | | - | | - | Eingelesener Wert: 129 | - |-------------------------------------------------------------| - | | - +-------------------------------------------------------------+ - -#center#Abb.19: Eingabetest - Einblendung - - -Wenn Sie den Codekartenleser am Digitaleingang angeschlossen haben und alles -korrekt funktioniert, müßte als eingelesener Wert die Zahl 255 erscheinen. Legen Sie -eine Lochkarte ein oder legen Sie einen Finger zwischen Beleuchtung und Licht -sensoren. Daraufhin müßte sich die Anzeige auf dem Bildschirm ändern. Nun -können Sie versuchen, durch Abdecken der Sensoren die bei der Ausgabe schon -angesprochenen Testwerte zu erhalten. -#page# -Wenn Sie über keinen Codekartenleser verfügen, so benutzen Sie jetzt bitte das kleine -Kabelstück, das Sie auf den +5V-Lötschuh aufgesteckt haben und dessen anderes -Ende bisher noch nirgendwo aufgesteckt ist. Berühren Sie nun mit diesem freien -Ende die Stifte, die im 8poligen Eingangs-Platinenstecker sichbar sind. Wird kein Pin -berührt, müßte auf dem Bildschirm der Wert '0' erscheinen. Berühren Sie einen der -Pins an der Seite, müßte der Wert '1', berühren Sie den an der anderen Seite, müßte -der Wert '128' erscheinen. Wenn Sie also nacheinander die Pins berühren, müßten -die Zahlenwerte 1, 2, 4, 8, 16, 32, 64, 128 erscheinen. - -Wenn sowohl Ausgabe- als auch Eingabetest korrekt abgewickelt werden konnten, -brauchen Sie das Kapitel 5.5 nicht zu lesen, denn das beschäftigt sich nur mit -Fehlern, die bisher aufgetreten sein könnten. Den Eingabetest verlassen Sie bitte -durch die Tastenfolge <ESC><q>. - - -#on("b")#5.5 Mögliche Fehlerfälle#off("b")# - -#on("b")# -- Das MUFI wurde in den Terminalkanal eingebaut. Selbst beim vom Netz - getrennten MUFI ist kein Terminalbetrieb möglich: -#off("b")# - - --> Das neu eingefügte Kabel ist unzureichend oder falsch verdrahtet. Bitte - Hinweise im MUFI-Handbuch lesen bzw. Informationen von BICOS ein - holen. - - -#on("b")# -- Das MUFI wurde in den Terminalkanal eingebaut. Beim Einschalten des - MUFIs erscheinen unsinnige Zeichenketten auf dem Bildschirm bzw. das - Einschalten hat noch schwerwiegendere Folgen: #off("b")# - - --> Der "Einschaltknack" des MUFI "schlägt auf andere Systemkomponenten - durch". Sofern nur Zeichen auf dem Bildscchirm erscheinen, ist das weit - gehend unproblematisch - kann auch nicht beseitigt werden. Ansonsten - erst das MUFI, dann das Terminal bzw. den Rechner einschalten. Ggf. - Rücksprache mit BICOS. -#page# -#on("b")# -- Das MUFI wurde in den Terminalkanal eingebaut. Bei ausgeschaltetem - MUFI ist ein einwandfreier Terminalbetrieb möglich, bei einge - schaltetem MUFI reagiert das Terminal nicht mehr: -#off("b")# - - --> MUFI- und Terminalkonfiguration passen nicht zueinander (Baudrate, - Protokoll, Anzahl der Stopbits). Einstellungen am Terminal, in der Task - 'configurator' und die DIP-Schalter-Stellung im MUFI kontrollieren; ggf. - Neueinstellung. - - --> MUFI defekt - Rücksprache mit BICOS. - - -#on("b")# -- Beim Austest erscheint die Einblendung "Interface ist noch nicht - konfiguriert!": -#off("b")# - - --> #on("b")#gs-Prozess#off("b")# wurde noch nicht konfiguriert. Unter dem Oberbegriff 'Inter - face' den Menupunkt 'Konfigurieren' aktivieren und den Ausführungen in - Kapitel 5.3 folgend die Konfiguration vornehmen. - - --> Bei Betrieb des Interface Systems an separater serieller Schnittstelle werden - unbenannte Sohntasks eingerichtet (unter der eigenen Task bzw. unter - einer "zentralen Abwicklungstask"). Diese unbenannte Sohntask wurde - irrtümlich gelöscht. Abhilfe: Neukonfiguration vornehmen. #on("b")#*)#off("b")# - - --> Bei Betrieb des Interface-Systems an separater serieller Schnittstelle und - "zentraler Abwicklungstask" wurde in der "zentralen Abwicklungs-Task" - eine Neukonfiguration von #on("b")#gs-Prozess#off("b")# vorgenommen. Die dabei ent - standene unbenannte Sohntask wird von den "alten" Sohntasks nicht mehr - erkannt. Abhilfe: Alle Sohntasks, die auf die "zentrale Abwicklungstask" - zugreifen, löschen und neu einrichten. #on("b")#*)#off("b")# -#page# -#on("b")# -- Es erscheint die Fehlermeldung "Interface meldet sich nicht!": -#off("b")# - - --> Der angeschlossene Adapter ist ohne Spannungsversorgung. Netzstecker - des Adapters überprüfen. Beim MUFI den Schalter an der Vorderseite in - Stellung 'Ein' bringen. Beim RS232-Adapter den 3poligen Platinenstecker - in die 12V-Spannungsversorgungsbuchse am Interface-System einstecken. - - --> Es wurde bei der Installation von #on("b")#gs-Prozess#off("b")# eine falsche Interface- - Kanal-Nummer angegeben. Die Kanalnummer kann mit 'put(interface - kanal) <RETURN>' erfragt werden. Kanalnummer überprüfen. Ggf. neue - Kanalnummer angeben. Dafür steht die Prozedur 'PROC interfacekanal - (INT CONST nummer)' zur Verfügung. - - --> Speziell beim MUFI: Das MUFI wurde zwischenzeitlich (versehentlich) - ausgeschaltet oder es kam zu einem "ungeregeltem Bedienungsabbruch" - z.B. durch Drücken der SV-Taste im laufenden Betrieb. Die interne Ein - stellung des MUFIs ist verändert. Abhilfe: Menupunkt verlassen, MUFI - ausschalten, einige Sekunden warten, MUFI anschalten, Menupunkt neu - anwählen. - - -#on("b")# -- Es erscheint die Fehlermeldung "Interface-Kanal ist belegt!: -#off("b")# - - --> Das Interface-System ist an einer separaten seriellen Schnittstelle ange - schlossen. Am Kanal wurden schon andere Geräte betrieben, die nicht - ordentlich abgemeldet wurden. Mit 'taskinfo (2) <RETURN>' kann die - Belegung der Kanäle eingesehen werden. Ggf. erst ein Terminal an den - Kanal anschließen (Kanal umkonfigurieren!) und dort 'break - <RETURN>' geben. Oder von einer privilegierten Task aus die ange - koppelte Task "abschießen". - - --> Das Interface-System ist an einer separaten seriellen Schnittstelle ange - schlossen. Eine andere Task greift bereits auf das Interface-System am - eingestellten Kanal zu. Benutzer bitten, den Kanal freizugeben. #on("b")#*)#off("b")# -#page# -#on("b")# -- Es erscheint die Fehlermeldung "Interface-Task ist besetzt!": -#off("b")# - - --> Das Interface-System ist an einer separaten seriellen Schnittstelle ange - schlossen. Die Kommunikation erfolgt über eine "zentrale Abwicklungs - task". Auf diese Task greift zur Zeit ein anderer Benutzer zu. Mit dem - anderen Benutzer verständigen und warten, bis die Task freigegeben wird. - #on("b")#*)#off("b")# - - -#on("b")# -- Es erschient die Fehlermeldung "An Kanal ... ist keine Digitaleingabe - (Digiatalausgabe, Analogeingabe, Analogausgabe) möglich!": -#off("b")# - - --> Laut Konfiguration ist die gewünschte Leistung am angegebenen Kanal auf - der angeschlossenen Interfacekarte nicht möglich. Kanal neu konfigurieren - oder anderen Kanal ansprechen bzw. Interface-Karte wechseln und neu - konfigurieren. - - -#on("b")# -- Es erschient die Fehlermeldung "Kanalnummer ... ist unzulässig!": -#off("b")# - - --> Es wurde eine - bezogen auf das angeschlossene Interface-System - un - sinnige Kanalnummer angegeben. Diese Fehlermeldung erscheint in jedem - Falle, wenn die Kanalnummer kleiner als 1 oder größer als 49 ist! Abhilfe: - korrekte Kanalnummer angeben. - - -#on("b")# -- Es erschient die Fehlermeldung "Interface kann nicht geöffnet werden!": -#off("b")# - - --> Interessanter Fehler! Bitte alle Details der Fehlersituation notieren und an - ERGOS einsenden! -#page# -#on("b")# -- Beim Austest erscheint zwar keine Fehlermeldung, aber die Leucht - diodenanzeige zeigt auf verschiedene Ausgabewerte keine Reaktion - (bleibt dunkel oder unsinnige fixe Anzeige): -#off("b")# - - --> Die angeschlossene Leuchtdiodenanzeige ist nicht korrekt angeschlossen. - Platinenstecker (Digitalausgang) überprüfen; Massekabel überprüfen; die - beiden Überbrückungskabel (Abb.7) überprüfen. - - --> Steckplatz/Compact-Box wird nicht mit Spannung versorgt. Netzkabel/An - schluß zum Netzteil überprüfen. - - --> Verbindungskabel Adapter - Interface-System nicht richtig aufgesteckt oder - intern falsch verdrahtet. - - -#on("b")# -- Beim Austest erscheinen verschiedene Ausgabemuster an den Leucht - dioden, die Muster sind aber nicht korrekt: -#off("b")# - - --> Kabel vom Adapter zum Interface ist falsch verdrahtet. - - --> Kabel in der Leuchtdiodenanzeige (Selbstbau ?) sind falsch verdrahtet. - - -#on("b")#*)#off("b")# Die hier genannten Fehlermeldungen sind bei der oben beschriebenen Erst - installation (noch) nicht möglich. Sie können erst auftreten, wenn weiter - gehende Installationen erfolgt sind (z.B. Installation einer "zentralen Abwick - lungs-Task" etc.). Zum Verständnis lesen Sie bitte das Kapitel "Hinweise für den - Systembetreuer/Programmierer". - - - - - - - - diff --git a/doc/prozess/gs-prozess-6 b/doc/prozess/gs-prozess-6 deleted file mode 100644 index a3835cd..0000000 --- a/doc/prozess/gs-prozess-6 +++ /dev/null @@ -1,641 +0,0 @@ -limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (1)# -#headodd# -#center#gs-Prozess#right#% - -#end# -#headeven# -%#center#gs-Prozess - -#end# -#center#1 - -#on("b")#6 Arbeiten mit gs-Prozess#off("b")# - -In diesem Kapitel werden wir Ihnen die Basisbefehle von #on("b")#gs-Prozess#off("b")# vorstellen und -erläutern, was die einzelnen Befehle bewirken. Dabei werden wir an einfachen -Beispielen aufzeigen, wie Sie mit #on("b")#gs-Prozess#off("b")# arbeiten können. - -Wir gehen hier davon aus, daß die Hardware-Voraussetzungen erfüllt, das Interface- -System angeschlossen und die Software (#on("b")#gs-Prozess#off("b")#) auf dem Rechner installiert -sind. Sie sollten #on("b")#gs-Prozess#off("b")# bereits konfiguriert und einen Ein- und Ausgabetest -durchgeführt haben. - -In unserer Beschreibung gehen wir weiterhin davon aus, daß als Interface-System -eine Compact-Box verwendet wird. Alle hier beschriebenen Beispiele gelten ganz -genauso für einen Einzelsteckplatz mit Kombikarte (hier müssen Sie nur zusätzlich -eine Leuchtdiodenanzeige anschließen - aber Sie wissen ja schon, wie das gemacht -wird.) Bei anderen Hardware-Konfigurationen ist darauf zu achten, daß ggf. andere -Kanalnummern anzugeben sind. - -Die Compact-Box verfügt - genau wie die Kombikarte - über zwei analoge Eingänge -(Kanal 1 und Kanal 2), über einen digitalen Eingang (Kanal 3) sowie über einen -digitalen Ausgang (Kanal 4). Wie Sie schon bei der Konfiguration von #on("b")#gs-Prozess#off("b")# -gesehen haben, haben Sie keinen Einfluß auf die Numerierung der Kanäle - die wird -vom #on("b")#gs-Prozess#off("b")# vorgegeben. Diese Kanalnummer müssen Sie kennen, wenn Sie das -System ansprechen (programmieren) wollen (ggf. können Sie die Kanalnummern -durch Aktivieren des Menupunktes 'Information' unter dem Oberbegriff 'Interface' -erfragen). - - -#on("b")#6.1 Kleine Beispiele zur digitalen Ausgabe#off("b")# - -Bei diesem Einführungsbeispiel wollen wir uns zunächst ausschließlich auf die -digitale Ausgabe beschränken. Wenn Sie die Compact-Box (oder eine E/A-Karte) -angeschlossen haben, benötigen Sie hierzu keine zusätzliche Hardware, ansonsten -schließen Sie bitte an Ihren digitalen Ausgang eine 8-elementige Leuchtdiodenanzeige -an. -#page# -Sie haben sicher schon an einer Autobahnbaustelle ein sogenanntes "Lauflicht" -gesehen. Es erscheint, als ob ein Licht über die aufgestellten Barken hinwegläuft. -Dadurch soll auf die Baustellenein- bzw. -ausfahrt hingewiesen werden. Dieser Effekt -wird dadurch erreicht, daß die Lampen, die an den Barken angebracht sind, nach -einander ein- und auch wieder ausgeschaltet werden. - -Wir wollen jetzt auf unserer 8-elementigen Leuchtdiodenanzeige ein solches Lauflicht -nachbilden. Dabei soll das "Licht von rechts nach links über die Anzeige wandern". - -Um das Programm zu schreiben, aktivieren Sie im #on("b")#gs-Prozess#off("b")#-Menu unter dem -Oberbegriff "Programm" den Menupunkt "Neu erstellen". Sie werden dann nach -einem Namen gefragt, den Sie der Programmdatei geben wollen. Tragen Sie hier -einen beliebigen Namen ein, und tippen Sie anschließend die <RETURN>-Taste. -Notieren Sie dann das folgende ELAN-Programm: - -#on("b")# - initialisiere interface; - REP - lauflichtdurchgang; - warte (2.0) - UNTIL abbruch gewuenscht PER. - - lauflichtdurchgang: - bitmuster ausgeben (4, "OOOOOOOI"); - bitmuster ausgeben (4, "OOOOOOIO"); - bitmuster ausgeben (4, "OOOOOIOO"); - bitmuster ausgeben (4, "OOOOIOOO"); - bitmuster ausgeben (4, "OOOIOOOO"); - bitmuster ausgeben (4, "OOIOOOOO"); - bitmuster ausgeben (4, "OIOOOOOO"); - bitmuster ausgeben (4, "IOOOOOOO") -#off("b")# - - -Wenn Sie das Programm fertiggeschrieben haben, verlassen Sie die Datei durch die -Tastenfolge <ESC><q>. Sie gelangen wieder zum Menu und aktivieren jetzt den -Menupunkt "Starten". Daraufhin wird das Programm übersetzt und ausgeführt. -#page# -#on("b")#6.1.1 Möglichkeit eines Programmabbruchs#off("b")# - -Wir hoffen natürlich, daß das Programm genau die Ausgabe an der Leuchtdioden -anzeige erzeugt, die Sie erwartet haben. - -Als Ausgangsbedingung der Schleife haben wir den Testbefehl 'abbruch gewuenscht' -verwendet. Dieser Befehl wird von #on("b")#gs-Prozess#off("b")# zur Verfügung gestellt. Durch den -Testbefehl wird überprüft, ab zwischenzeitlich die Tastenkombination <ESC><q> -eingegeben wurde. Ist das bei unserem Programm der Fall, so wird die Schleife -('regulär') beendet. - -Aber bitte etwas Geduld: Das Programm wird nicht sofort nach Eingabe der Tasten -folge "abgebrochen". Hat nämlich gerade ein neuer 'lauflichtdurchgang' begonnen, -so wird das Refinement natürlich erst vollständig abgearbeitet. Erst dann wird -geprüft, ob die Tastenfolge zwischenzeitlich eingegeben wurde. - -Sollten Sie einmal in einer Situation sein, in der Sie ein Programm tatsächlich -abbrechen müssen, so ist das (in den meisten Fällen) über die Tastenfolge -<ESC><h> möglich. Diese Tastenkombination sollten Sie sich für "Notfälle" -merken. Vielleicht probieren Sie sie gleich an unserem Beispiel aus. - - -#on("b")#6.1.2 Die "sonstigen" Befehle#off("b")# - -Gehen wir zunächst auf die beiden Befehle 'initialisiere interface' und 'warte' sowie -auf den Testbefehl 'abbruch gewuenscht ein: - -#on("b")# -PROC initialisiere interface -#off("b")# - - Jedes Programm zur Prozeßdatenverarbeitung, das auf das Interface-System - zugreift, sollte mit diesem Befehl beginnen. Durch diesen Befehl wird das System - in einen definierten Anfangszustand versetzt; systeminterne Variablen werden - initialisiert, so daß vom Programm aus darauf zugegriffen werden kann. -#page# -#on("b")# -PROC warte (REAL CONST wert) -PROC warte (INT CONST wert) -#off("b")# - - Der Befehl 'warte' ähnelt dem Ihnen sicher bekannten Befehl 'pause'. Allerdings - wird hier als Parameter (INT oder REAL) die Wartezeit in Sekunden angegeben - - bei 'pause' dagegen die Anzahl der Zehntelsekunden. Der eigentliche Unterschied - besteht aber darin, daß 'warte' im Gegensatz zu 'pause' ein "Nothalt" - d.h. die - Tastenkombination <ESC><h>, die wir im vorigen Kapitel beschrieben haben - - registriert. Aus diesem Grunde sollte in Prozeßdatenverarbeitungsprogrammen - mit 'warte' statt mit 'pause' gearbeitet werden. - - -#on("b")# -BOOL PROC abbruch gewuenscht -#off("b")# - - Die Prozedur liefert den Wert 'TRUE', wenn zwischenzeitlich die Tasten - kombination <ESC><q> eingegeben wurde, sonst den Wert 'FALSE'. - - -#on("b")#6.1.3 Schreibweise für Bitmuster/Bitsymbole#off("b")# - -Beim Befehl 'bitmuster ausgeben', wird eine Zeichenkette, die aus 8 Zeichen besteht, -übergeben - das sog. Bitmsuster. In unserem Falle kommen hier nur die Zeichen 'I' -und 'O' vor. Ihnen ist sicher die Bedeutung sofort klar gewesen: - - 'I' bedeutet, daß an der entsprechenden Position ein High-Pegel (5V) angelegt - werden soll; 'O' bedeutet, daß an der entsprechenden Position ein Low- - Pegel (0V) angelegt werden soll. - -So werden über den ersten Befehl im Refinement 'lauflichtdurchgang' alle Leucht -dioden ausgeschaltet, nur die Leuchtdiode ganz rechts wird angeschaltet. Über den -zweiten Befehl wird diese wieder ausgeschaltet und dafür aber die zweite von rechts -eingeschaltet usw. -#page# -Neben den Zeichen 'I' und 'O' dürfen auch die Zeichen 'X' und 'T' in der über -gebenen Zeichenkette auftauchen. Um die Bedeutung zu verstehen, muß man -wissen, daß #on("b")#gs-Prozess#off("b")# den jeweils letzten Zustand des digitalen Ausgangs speichert -(durch 'initialisiere interface' werden alle Ausgänge auf 'O' gesetzt). - - 'X' bedeutet, daß an der entsprechenden Position der zuletzt dagewesene - Zustand erhalten bleibt, d.h. durch diese Ausgabe nicht beeinflußt wird. - - 'T' bedeutet, daß an der entsprechenden Position der zuletzt dagewesene - Zustand "umgekehrt" wird. Lag zuletzt ein Low-Pegel (O) an, so wird - daraus ein High-Pegel (I) und umgekehrt. - -Sie können sich nun sicher sofort erklären, was das folgende Programm bewirkt: - - -#on("b")# - initialisiere interface; - bitmuster ausgeben (4, "OIOIOIOI"); - REP - bitmuster ausgeben (4, "TTTTTTTT"); - warte (1) - UNTIL abbruch gewuenscht PER -#off("b")# - - -Durch den ersten Befehl 'bitmuster ausgeben' wird jede zweite Leuchtdiode ange -schaltet, die anderen werden ausgeschaltet. Durch den zweiten Befehl in der Schleife -wird nun jeweils jeder Zustand in "das Gegenteil umgekehrt", so daß ein Blinklicht -entsteht, bei dem abwechselnd einmal die einen vier, dann die anderen vier Leucht -dioden aufleuchten - und das jeweils für eine Sekunde. - - -#on("b")#6.1.4 Befehle für die digitale Ausgabe#off("b")# - -Einen Befehl, mit dem der digitale Ausgang des Interfaces angesprochen werden -kann, haben Sie schon in Kapitel 6.1 kennengelernt: -#page# -#on("b")# -PROC bitmuster ausgeben (INT CONST kanal, - TEXT CONST zeichenkette) -#off("b")# - -Über den ersten Parameter wird der Kanal angegeben, über den der digitale Ausgang -angesprochen werden kann; bei uns ist das der Kanal 4 auf der Compact-Box. Über -den zweiten Parameter wird das sogenannte Bitmuster übergeben; ein Text, der aus -genau 8 Zeichen besteht. Dabei dürfen die Zeichen "I, O, X und T verwendet werden -(sehen Sie dazu auch Kapitel 6.1.3). - -#on("b")#gs-Prozess#off("b")# stellt noch zwei weitere Befehle für die digitale Ausgabe zur Verfügung. -Um die Wirkungsweise der Befehle zu verdeutlichen, hier das erste Beispiel (das -Lauflicht) in einer zweiten Version: - -#on("b")# - initialisiere interface; - REP - lauflichtdurchgang; - warte (2.0) - UNTIL abbruch gewuenscht PER. - - lauflichtdurchgang: - INT VAR zeiger; - FOR zeiger FROM 0 UPTO 7 REP - schalte aktuelle leichtdiode an; - schalte vorgaenger aus - PER. - - schalte aktuelle leuchtdiode an: - bitsymbol ausgeben (4, zeiger, "I"). - - schalte vorgaenger aus: - IF zeiger = 0 - THEN bitsymbol ausgeben (4, 7, "O") - ELSE bitsymbol ausgeben (4, zeiger - 1, "O") - FI. -#off("b")# - -#on("b")# -PROC bitsymbol ausgeben (INT CONST kanal, bitnummer, - TEXT CONST zeichen) -#off("b")# -#page# -Während durch den Befehl 'bitmuster ausgeben' auf alle 8 Ausgänge gleichzeitig -Einfluß genommen werden kann, wird mit dem Befehl 'bitsymbol ausgeben' gezielt -nur genau einer der 8 Ausgänge, d.h. eines der 8 Bits manipuliert. Welcher Ausgang / -welches Bit manipuliert werden soll, wird über den zweiten Parameter festgelegt: hier -kann einer der Werte 0...7 angegeben werden (Beachten Sie die Numerierung der -Ausgänge (!)). - -Als dritter Parameter wird ein Text übergeben, der aus genau einem Zeichen -bestehen muß. Ebenso wie beim Befehl 'bitmuster ausgeben' sind hier die Zeichen I, -O, X und T zulässig. Sie haben hier auch die gleiche Bedeutung. - -Mit dem dritten Ausgabebefehl für den digitalen Ausgang können wir das Beispiel -noch in einer dritten Version notieren: - -#on("b")# - initialisiere interface; - REP - lauflichtdurchgang; - warte (2.0) - UNTIL abbruch gewuenscht PER. - - lauflichtdurchgang: - INT VAR wert :: 1; - REP - dezimalwert ausgeben (4, wert); - wert := 2 * wert - UNTIL wert > 128 PER. -#off("b")# - -#on("b")# -PROC dezimalwert ausgeben (INT CONST kanal, wert) -#off("b")# - -'wert' kann Werte zwischen 0 und 255 annehmen. Das zugehörige Bitmuster wird -dann am angegebenen Kanal ausgegeben. Anhand dieses Befehls wird Ihnen sicher -auch klar, warum gerade die oben beschriebene Numerierung der Bits gewählt -wurde. -#page# -#on("b")#6.1.5 Befehle für die analoge Ausgabe#off("b")# - -Neben der 'digitalen' Ausgabe ist auch eine 'analoge' Ausgabe möglich. Allerdings -wollen wir die Beschreibung der Befehle an dieser Stelle sehr kurz halten, denn eine -"analoge" Ausgabe ist nur möglich, wenn Sie eine D/A-Karte besitzen. - -Auf der D/A-Karte steht nur ein physikalischer Ausgabekanal zur Verfügung, der von -#on("b")#gs-Prozess#off("b")# jedoch über zwei Kanalnummern angesprochen werden kann. - -Über den Ausgabekanal 1 können Spannungswerte zwischen -5V und +5V aus -gegeben werden, über den Ausgabekanal 2 Spannungswerte zwischen 0V und +5V. - -Dafür stellt #on("b")#gs-Prozess#off("b")# zwei Befehle bereit: - -#on("b")# -PROC spannungswert ausgeben (INT CONST kanal, - REAL CONST wert) -#off("b")# - -'wert' kann, in Abhängigkeit vom angegebenen Kanal, Werte zwischen -5.0 und +5.0 -(bei Kanal 1) bzw. 0.0 und +5.0 (bei Kanal 2) annehmen. Bei dem Versuch, Werte -außerhalb dieser Grenzen anzugeben, erhalten Sie die Fehlermeldung "Der -Spannungswert ... ist nicht zulässig!". - - -#on("b")# -PROC wert an analogausgang ausgeben (INT CONST kanal, wert) -#off("b")# - -Für 'wert' kann eine Zahl zwischen 0 und 255 angegeben werden. Dabei wird 0 auf -den kleinstmöglichen Spannungswert am jeweilgen Kanal (bei Kanal 1 also auf -5V, -bei Kanal 2 auf 0V) und 255 auf den größtmöglichen Spannungswert am jeweilgen -Kanal (bei beiden Kanälen auf +5V) abgebildet. Das Intervall zwischen kleinst- und -größtmöglichem Spannungswert wird in 255 gleichgroße Teilintervalle eingeteilt. Es -wird nun die Spannung ausgegeben, die der Intervallnummer entspricht. -Anmerkung: Dieser Befehl hat nur einen "geringen praktischen Nutzwert"; er dient - vornehmlich dazu, den Wandlungsprozeß zu verdeutlichen. -#page# -#on("b")#6.2 Kleine Beispiele zur digitalen Eingabe#off("b")# - -Für die im folgenden beschriebenen kleinen Beispiele benötigen Sie einen Code -kartenleser und einige Codekarten (können auch von der Fa. AKTRONIK bezogen -werden). Der Anschluß des Codekartenlesers an Ihr Interface-System ist denkbar -einfach. Stecken Sie den 8poligen Platinenstecker des Codekartenlesers in die Buchse -des Digitaleinganges der Steckkarte bzw. der Compact-Box und den 3poligen -Platinenstecker in die passende Spannungsversorgungsbuchse (12V) am Steckplatz -bzw. auf der Compact-Box - fertig! Bei eingeschalteter Betriebsspannung müßte nun -der Codekartenleser beleuchtet sein. - -Auf den Lochkarten sind bis zu 8 Löcher eingestanzt. Dabei können bestimmte -Löcher (Bits) für die Erfassung definierter Merkmale verwendet werden. Dazu kann -eine Karte in bestimmte Bereiche aufgeteilt werden. - -In unserem kleinen Beispiel stellen wir uns vor, daß eine (Modell-)Sparkasse zwei -Filialen hat. Sie hat an Ihre "Kunden" Codekarten verteilt. Die Filialen sind durch -Farben gekennzeichnet. Die oberen (höchstwertigen) zwei Bits der Karte sollen diese -Farbe kodiert enthalten, damit auch der "Sparkassen-Computer" die Farbe schnell -ermitteln kann. Die Karte soll folgenden Aufbau haben: - - +---------------------------------+ - | O o o O o o O | - | | | - | Farbbits| Kundennummer | - | | | - | | | - | | | - | | - +---------------------------------+ - - -#center#Abb.20 Beispiellochkarte -#page# -Bit 7 sei für rote, Bit 6 für grüne Farbe gesetzt, d.h. gelocht. Wie wollen jetzt ein -Programm erstellen, das auf Eingabe einer Karte deren Farbe und den durch die -ersten 6 Bits bestimmten Wert (Kundennummer) ausgibt: - -#on("b")# - initialisiere interface; - REP - erfasse lochkarte - UNTIL abbruch gewuenscht PER. - - erfasse lochkarte: - warte bis karte im leser; - gib farbe aus; - gib kundennummer aus; - warte bis keine karte im leser. - - warte bis karte im leser: - put ("Bitte eine Codekarte einlegen!"); line; - WHILE NOT alles abgedunkelt REP - tue nichts - END REP; - WHILE alles abgedunkelt REP - tue nichts - END REP; - warte (1). - - warte bis keine karte im leser: - put ("Bitte die Karte entnehmen!"); - REP - tue nichts - UNTIL alles beleuchtet PER. - - alles abgedunkelt: - bitmuster (3) = "OOOOOOOO". - - alles beleuchtet: - bitmuster (3) = "IIIIIIII". - - gib farbe aus: - IF bitsymbol (3, 7) = "I" - THEN put ("rote Karte"); line - ELSE put ("grüne Karte");line - FI; -#page# - gib kundennummer aus: - INT VAR kundennummer :: 0, bitnummer; - FOR bitnummer FROM 0 UPTO 5 REP - registriere gesetztes bit - PER; - put ("Kundennummer:"); put (kundennummer): line. - - registriere gesetztes bit: - IF bit ist gesetzt (3, bitnummer) - THEN kundennummer INCR (2 ** bitnummer) - FI. - - -#off("b")# - (Hinweis: Es handelt sich hier um ein Beispielprogramm, an dem diverse - Befehle erläutert werden sollen - die Programmierung ist nicht - optimal! Im Refinement 'warte bis karte im leser' ist es z.B. - günstiger, solange einzulesen, bis der eingelesene Wert "stabil" ist. - Auch das Refinement 'registriere gesetztes bit' würde man so nicht - programmieren, sondern nach einem Einlesevorgang (Bitmuster) - über Textoperationen aus dem Bitmuster die 'kundennummer' - ermitteln...). - -Bevor wir Ihnen die Funktionsweise der von #on("b")#gs-Prozess#off("b")# bereitgestellten Prozeduren -im Detail erläutern, möchten wir Ihnen noch ein paar kurze Erläuterungen zum -obigen Programm geben. - -Besondere Aufmerksamkeit sollten Sie den Refinements 'warte bis karte im leser' und -'warte bis keine karte im leser' schenken. Im erstgenannten Refinement ist sicherzu -stellen, daß das Einschieben der Karte (erst muß alles abgedunkelt werden - dann -müssen einige Positionen beleuchtet sein) registriert wird. Um Fehlauswertungen der -Karte zu vermeiden (z.B. beim Verkanten einer Karte) wird zur Sicherheit vor der -Auswertung eine Sekunde gewartet. Am Ende des Lesevorgangs soll sichergestellt -werden, daß die Karte auch entnommen worden ist (alle Positionen wieder beleuchtet -sind). -#page# -Wir prüfen im Refinement 'gib farbe aus' nur das 7. Bit (sehen Sie die Erklärung zu -'bitsymbol'). Ist das Bit gesetzt (die Karte hier gelocht), so identifizieren wir die Farbe -Rot, sonst Grün. Natürlich ist es möglich, mit 2 "Farbbits" vier Farben zu ver -schlüsseln: z.B. Rot, wenn nur Bit 7 gesetzt ist; Grün, wenn nur Bit 6 gesetzt ist; Blau, -wenn Bit 7 und Bit 6 gesetzt sind; Gelb, wenn weder Bit 7 noch Bit 6 gesetzt sind. -Dadurch wird der Auswertalgorithmus aber etwas aufwendiger. Vielleicht probieren -Sie es nacher einmal. - -Die Prozedur 'tue nichts' wird schon von #on("b")#gs-Prozess#off("b")# bereitgestellt. Es wird keine -Aktion ausgeführt - jedoch überprüft, ob zwischenzeitlich die Tastenfolge -<ESC><h> ("Notbremse") eingegeben wurde. Es empfiehlt sich, diese Prozedur -gerade in Schleifenrümpfen einzusetzten, damit die Möglichkeit besteht, bei einer -"Endlosschleife" einen Abbruch herbeizuführen (sonst "hängt" die Task ggf. am -Interfacekanal)! - - -#on("b")#6.2.1 Befehle für die digitale Eingabe#off("b")# - -In Kapitel 6.1.4 haben Sie die Befehle für die digitale Ausgabe kennengelernt, die -Ihnen #on("b")#gs-Prozess#off("b")# zur Verfügung stellt. Zu jedem dieser drei Befehle gibt es das -"Gegenstück" auch als Eingabebefehl. Alle Eingabebefehle sind als werteliefernde -Prozeduren (Funktionen) ausgelegt. - -In den Refinements 'alles abgedunkelt' und 'alles beleuchtet' benutzen wir den -Befehl: - -#on("b")# -TEXT PROC bitmuster (INT CONST kanal) -#off("b")# - -Über den Parameter wird der Kanal angegeben, über den der digitale Eingang ange -sprochen werden kann; bei uns ist das der Kanal 3 auf der Compact-Box. Die -Prozedur liefert einen Text, der aus acht Zeichen besteht. Dabei können nur die -Zeichen "I und "O" auftreten (sehen Sie dazu auch Kapitel 6.1.3). -#page# -Die beiden gerade genannten Refinements hätten aber auch so notiert werden -können: - -#on("b")# - alles abgedunkelt: - dezimalwert (3) = 0. - - alles beleuchtet: - dezimalwert (3) = 255. -#off("b")# - -#on("b")# -INT PROC dezimalwert (INT CONST kanal) -#off("b")# - -Über den Parameter wird der Kanal angegeben, über den der digitale Eingang ange -sprochen werden kann; bei uns ist das wieder der Kanal 3 auf der Compact-Box. Die -Prozedur liefert einen Integer-Wert zwischen 0 und 255 (sehen Sie dazu auch unter -'dezimalwert ausgeben' im Kapitel 6.1.4). - -Den dritten Eingabebefehl für den Digitaleingang, den #on("b")#gs-Prozess#off("b")# bereitstellt, finden -Sie im Refinement 'gib farbe aus': - -#on("b")# -TEXT PROC bitsymbol (INT CONST kanal, bitnummer) -#off("b")# - -Wie schon bei den anderen beiden Eingabebefehlen wird hier über den ersten -Parameter der Eingabekanal festgelegt; bei uns auf der Compact-Box ist das wieder -der Kanal 3. Über den zweiten Parameter wird die Nummer des Bits angegeben, -dessen Wert ermittelt werden soll. Ist das betreffende Bit gesetzt, so liefert die -Prozedur das Zeichen "I", sonst das Zeichen "O" (sehen Sie dazu auch das Kapitel -6.1.3 'Schreibweise für Bitmuster/Bitsymbole'). - - -#on("b")#6.2.2 Eingabetests#off("b")# - -Neben diesen drei Eingabebefehlen stellt #on("b")#gs-Prozess#off("b")# noch zwei Testbefehle zur -Verfügung, die man häufig gut verwenden kann. Auf einen greifen wir schon im -Refinement 'registriere gesetztes bit' zurück: -#page# -#on("b")# -BOOL PROC bit ist gesetzt (INT CONST kanal, bitnummer) -#off("b")# - -Die Parameter sind die gleichen wie beim Befehl 'bitsymbol'. Zunächst liest die -Prozedur die aktuelle Einstellung am angegebenen Digitaleingang ('kanal') ein und -untersucht dann das Bit mit der angegebenen Bitnummer (0, ..., 7). Die Prozedur -liefert den Wert 'TRUE', wenn das Bit mit der entsprechenden Bitnummer gesetzt ist -(die Prozedur bitsymbol' mit gleichen Parametern also den Wert "I" liefern würde), -sonst 'FALSE' (die Prozedur bitsymbol' mit gleichen Parametern also den Wert "O" -liefern würde). - -Den zweiten Testbefehl haben wir im obigen Programm noch nicht verwendet. Wir -könnten damit aber auch die Refinements 'alles abgedunkelt' und 'alles beleuchtet' -folgendermaßen notieren: - -#on("b")# - alles abgedunkelt: - bitmuster gleich (3, "OOOOOOOO"). - - alles beleuchtet: - bitmuster gleich (3, "IIIIIIII"). -#off("b")# - - -#on("b")# -BOOL PROC bitmuster gleich (INT CONST kanal, - TEXT CONST vorgabe) -#off("b")# - -Wie bereits zuvor wird über den ersten Parameter der Kanal angegeben, über den der -Digitaleingang angesprochen werden kann. Zunächst liest die Prozedur am ange -gebenen Kanal die aktuelle Einstellung ein und vergleicht es mit der 'vorgabe'. Der -eigentliche Vorteil der Prozedur liegt darin, daß bei der Beschreibung der 'vorgabe' -neben den Zeichen "I" und "O" auch das Zeichen "X" verwendet werden darf. z.B. -"IOXXXXX". Entspricht das eingelesene Bitmuster der 'vorgabe', so liefert die Prozedur -den Wert 'TRUE', sonst den Wert 'FALSE'. In gerade genannten Beispiel liefert die -Prozedur also immer dann 'TRUE', wenn eine Karte mit der Markierung für Rot -eingeschoben wurde - gleichgültig, welche Kundennummer eingestanzt ist. -#page# -#on("b")#6.2.3 Befehle für die analoge Eingabe#off("b")# - -Die analoge Eingabe möchten wir Ihnen an einem ganz einfachen Beispiel vor Augen -führen. Sie brauchen dazu nur ein ganz normales Drehpotentiometer (ca. 5kOhm), -das Sie in jedem Elektronik-Fachgeschäft für wenig Geld erhalten können. Ein -solches Drehpotentiometer verfügt über drei Anschlüsse. Wenn man sich den inneren -Aufbau vor Augen führt, ist die Belegung der drei Anschlüsse auch recht einsichtig. - - - siehe Physikbuch!! - - - -#on("b")##center#Abb.21 Aufbau eines Drehpotentiometers#off("b")# - -Löten Sie ggf. auf die drei Anschlüsse je einen Lötschuh, um eine einfache Steckver -bindung zur Kombikarte/Compact-Box herstellen zu können. Wichtig ist vor allem, -daß der mittlere Anschluß am Drehpotentiometer auf den mittleren Stecksockel am -Analogeingang auf der Kombikarte/Compact-Box aufgesteckt wird. Die beiden -anderen Anschlüsse können können Sie beliebig auf die beiden dann noch freien -Lötstifte (+ und �) des gleichen Analogeingangs aufstecken. - -Starten Sie dann das folgende Programm: - -#on("b")# - initialisiere interface; - page; - REP - notiere potentiometerwert - UNTIL abbruch gewuenscht PER. - - notiere potentiometerwert: - put (wert von analogeingang (1)); - line. -#off("b")# -#page# -Nach dem Start des Programms müßten auf dem Bildschirm untereinander immer -wieder die gleiche Zahl (ein Wert zwischen 0 und 255) auftauchen. Wenn Sie dann -am Potentiometer drehen, müßten sich auch die Werte auf dem Bildschirm ändern. - -Sie hätten das Refinement 'notiere potentiometerwert' auch folgendermaßen notieren -können: - -#on("b")# - notiere potentiometerwert: - put (spannungswert (1)); - line. -#off("b")# - -Statt Wert zwischen 0 und 255 zu erhalten, müßten Sie jetzt Werte zwischen 0.0 und -5.0 erhalten. - - -#on("b")# -REAL PROC spannungswert (INT CONST kanal) -#off("b")# - -Über den Parameter wird der Kanal angegeben, über den der analoge Eingang ange -sprochen werden kann; bei uns ist das der Kanal 1 (oder 2) auf der Kombikarte/ -Compact-Box. Auf der Kombikarte/Compact-Box können nur Spannungswerte -zwischen 0.0V und 5.0V eingelesen werden. Auf der A/D-Karte kann der Bereich für -die einzulesenden Sapnnungwerte durch die Schalterstellung auf der Karte eingestellt -werden (Sehen Sie dazu auch Kapitel 5.3.1). - - -#on("b")# -REAL PROC wert von analogeingang (INT CONST kanal) -#off("b")# - -Über den Parameter wird der Kanal angegeben, über den der analoge Eingang ange -sprochen werden kann; bei uns ist das der Kanal 1 (oder 2) auf der Kombikarte/ -Compact-Box. Geliefert werden Werte zwischen 0 und 255. - -Tatsächlich wird aber ein Spannungswert vom Analogeingang eingelesen. Dieser -Spannungswert wird vom Analog-Digital-Wandler auf der Karte nach folgendem -Verfahren gewandelt: -#page# -Dem größtmöglichen Spannungswert an diesem Eingang wird der Wert 255, dem -kleinstmöglichen der Wert 0 zugeordnet. Das Intervall zwischen dem kleinst- und -größtmöglichen Spannungswert wird in 255 gleichgroße Teilintervalle eingeteilt. Es -wird nun die Nummer des Intervalls geliefert, in das die eingelesene Spannung fällt. -Kleinst- und größtmögliche Spannungswerte sind abhängig von der aktuellen Steck -karte, Interface-Konfiguration). - - -#on("b")#6.3 Hinweise auf Aufgabenmaterial#off("b")# - -Eine Fülle von Beispielanwendungen sind beschrieben in: - - Landesinstitut für Schule und Weiterbildung (Hrsg.), Materialien zur Lehrerfort - bildung in Nordrhein-Westfalen, Heft 2, Neue Technologien - Informations - technologische Inhalte im Wahlpflichtunterricht der Klassen 9/10, 2. über - arbeitete Auflage 1987 - diff --git a/doc/prozess/gs-prozess-7 b/doc/prozess/gs-prozess-7 deleted file mode 100644 index db3b9d1..0000000 --- a/doc/prozess/gs-prozess-7 +++ /dev/null @@ -1,1121 +0,0 @@ -limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (1)# -#headodd# -#center#gs-Prozess#right#% - -#end# -#headeven# -%#center#gs-Prozess - -#end# -#center#1 - -#on("b")#7 Beschreibung der Menufunktionen#off("b")# - -Nach Aufruf meldet sich #on("b")#gs-Prozess#off("b")# zunächst mit dem #on("b")#gs-DIALOG#off("b")#-Emblem. Kurze -Zeit später erscheint das folgende Menu auf dem Bildschirm: - -+---------------------------------------------------------------------+ -| PDV: Info Interface Programm Archiv | -|-------+------------------------+------------------------------------+ -| | u Übersicht Befehle | | -| | --------------------- | | -| | a Ausgabebefehle | | -| | e Eingabebefehle | | -| | t Testbefehle | | -| | w Weitere Befehle | | -| | --------------------- | | -| | b Bitmuster | | -| | s Symbole/Zeichen | | -| | d Digital-/Analogwerte| | -| +------------------------+ | -| | -| +----------------------------------------+ | -| | gs-Prozess | | -| | Version 1.0 | | -| | | | -| | Copyright Ρ 1988 bei Eva Latta-Weber, | | -| | Bielefeld | | -| +----------------------------------------+ | -+---------------------------------------------------------------------+ -|Info:<ESC><?>/<?> Wahl:<Pfeile> Ausführen:<RETURN> Verlassen:<ESC><q>| -+---------------------------------------------------------------------+ - -#center#Abb.22: Eingangsbildschirm #on("b")#gs-Prozess#off("b")# - - -Bevor wir Ihnen die Bedeutung der einzelnen Menupunkte erklären, geben wir erst -noch einige grundsätzliche Hinweise zur Bedienung des Menusystems für diejenigen -Leser, die im Umgang mit Menus unter #on("b")#gs-DIALOG#off("b")# nicht geübt sind. -#page# -#on("b")#7.1 Kurzhinweise zur Bedienung der Menus#off("b")# - -Die Bedienung des Menus ist sehr einfach. Eine ausführliche Beschreibung dazu -finden Sie in den Unterlagen zum Programmsystem #on("b")#gs-DIALOG#off("b")#. An dieser Stelle -sollen nur die wesentlichen Bedienungsvorgänge beschrieben werden. - -- Mit der Tastenfolge <ESC><?> können Sie sich Informationen zur Bedienung - des Menusystems in das Menu einblenden lassen. - -- Mit den Pfeiltasten <rechts> und <links> können Sie zwischen den "Ober - begriffen" in der Kopfzeile wählen. Der aktuelle Oberbegriff ist jeweils invers - dargestellt. Das ausgeklappte 'Pull-Down-Menu' bezieht sich auf diesen invers - dargestellten Oberbegriff. - -- Mit den Pfeiltasten <hoch> und <runter> können Sie zwischen den Menu - funktionen wählen, die Ihnen im aktuellen Pull-Down-Menu zur Auswahl ange - boten werden. Die aktuell angewählte Menufunktion wird jeweils invers darge - stellt. Die Trennlinien, die in einigen Pull-Down-Menus sichtbar sind, dienen nur - der optischen Untergliederung; sie können nicht angewählt werden und werden - deshalb automatisch übersprungen. Die einzelnen Menupunkte sind "zyklisch - miteinander verknüpft", das heißt, man gelangt vom untersten Menupunkt - wieder zum obersten und umgekehrt. Menupunkte, vor denen ein Minuszeichen - steht ('-'), sind (zur Zeit) nicht aktivierbar; auch sie können nicht angewählt - werden und werden einfach übersprungen. - -- Durch Tippen der Fragezeichentaste (<?>) können Sie sich jeweils zur - aktuellen Menufunktion (invers im Pull-Down-Menu) Informationen in das - Menu einblenden lassen. - -- Um eine Menufunktion ausführen zu lassen, bewegen Sie sich mit den Pfeiltasten - auf die gewünschte Menufunktion im aktuellen Pull-Down-Menu und tippen - dann die <RETURN>-Taste. Steht vor dem gewünschten Menupunkt ein -#page# - einzelner Buchstabe oder eine Ziffer, so kann durch Tippen der entsprechenden - Taste diese Menufunktion dadurch direkt aufgerufen werden. Sobald eine Menu - funktion aufgerufen worden ist, erscheint davor ein Stern ('*'). Daraus können - Sie entnehmen, daß das System bereits den Auftrag ausführt. - -- An verschiedenen Stellen werden Fragen an Sie gerichtet, die Sie mit 'ja' oder - 'nein' beantworten müssen. Tippen Sie dazu entsprechend der Entscheidung die - Taste <j> (für 'ja') bzw. <n> (für 'nein'). - -- Werden Ihnen vom Menu aus Dateinamen zur Auswahl angeboten, so können Sie - den auf dem Bildschirm sichtbaren Pfeil vor den gewünschten Namen - positionieren. Mit den Tasten <x> oder <RETURN> können Sie den Namen - ankreuzen. Ist die Auswahl mehrerer Dateinamen möglich, so können Sie den - Vorgang wiederholen. Mit den Tasten <o> oder <RUBOUT> können Sie auch - ein Kreuz vor einem Namen wieder löschen. Daneben gibt es noch einige Ta - stenfunktionen, die für die Bedienung recht hilfreich sein können. Tippen Sie - während der Auswahl die Fragezeichentaste (<?>), so werden Ihnen alle - Bedienungsmöglichkeiten auf dem Bildschirm angezeigt. Eine Auswahl, in der - mehrere Dateien angekreuzt werden dürfen, wird durch die Tastenfolge - <ESC><q> verlassen. Anschließend wird die eingestellte Operation mit den - angekreuzten Dateien ausgeführt. Sind Sie versehentlich in eine solche Auswahl - gelangt, so können Sie den Vorgang durch die Tastenkombination <ESC><h> - abbrechen. - -- An einigen Stellen werden Sie aufgefordert, eine Eingabe zu machen (z.B. einen - Dateinamen einzugeben). Wird Ihnen hier ein Vorschlag gemacht, den Sie - akzeptieren, so brauchen Sie zur Bestätigung nur die <RETURN>-Taste zu - tippen. Gefällt Ihnen der Vorschlag nicht oder wird Ihnen kein Vorschlag ge - macht, so machen Sie bitte die gewünschte Eingabe. Zum Schreiben stehen - Ihnen alle aus dem Editor bekannten Funktionen zur Verfügung. Mit der Taste - <RUBOUT> können Sie Buchstaben löschen, mit <RUBIN> einfügen. Die -#page# - Eingabe wird durch Tippen der <RETURN>-Taste abgeschlossen. Ist der von - Ihnen gewünschte Name schon in Ihrer Task vorhanden und steht in der Fußzeile - der Hinweis 'Zeigen: <ESC><z>', dann können Sie sich auch alle vor - handenen Namen zur Auswahl anbieten lassen und durch Ankreuzen den beab - sichtigten Namen auswählen. - -- Ihnen können auch mehrere Alternativen angeboten werden, zwischen denen Sie - wählen müssen. In der untersten Zeile eines solchen Kastens, in denen Ihnen die - Alternativen auf dem Bildschirm eingeblendet werden, sind die Möglichkeiten - aufgeführt, die darüber beschrieben sind. Mit den Pfeiltasten können sie die - Markierung auf die gewünschte Alternative positionieren und dann durch die - <RETURN>-Taste zur Ausführung bringen. (Manchmal ist das auch durch - Tippen der den Alternativen vorangestellten Buchstaben oder Ziffern möglich). - -- Durch die Tastenfolge <ESC><q> kann das Menu insgesamt verlassen - werden. Damit das nicht versehentlich geschieht, wird jeweils die Frage gestellt, - ob Sie das Menu tatsächlich verlassen wollen. Diese Frage beantworten Sie bitte je - nach Wunsch mit 'ja' oder 'nein' durch Tippen der Tasten <j> bzw. <n>. - - -#on("b")#7.2 Menufunktionen zum Oberbegriff 'Info'#off("b")# - -Das auf dem Bildschirm sichtbare Pull-Down-Menu ist oben abgebildet. - -#on("b")#u Übersicht Befehle#off("b")# - -Mit dieser Funktion können Sie sich eine Übersicht der Befehle, die Ihnen -#on("b")#gs-Prozess#off("b")# zur Verfügung stellt, in den aktuellen Bildschirm einblenden lassen: -#page# -#free(2.0)# - +------------------------------------------------------------+ - | Ausgabebefehle: Eingabebefehle: | - | | - | dezimalwert ausgeben dezimalwert | - | bitmuster ausgeben bitmuster | - | bitsymbol ausgeben bitsymbol | - | spannungswert ausgeben spannungswert | - | wert an analogausgang ausgeben wert von analogeingang | - | | - | | - | Testbefehle: Weitere Befehle: | - | | - | bitmuster gleich initialisiere interface | - | bit ist gesetzt warte | - | | - +------------------------------------------------------------+ -#center#Abb.23: Befehlsübersicht - - Es werden 'Eingabebefehle', 'Ausgabebefehle' und 'Testbefehle' unterschieden. - Darüberhinaus werden 'Weitere Befehle' angegeben. Eine ausführliche - Beschreibung der einzelnen Befehle ist unter den gleichnamigen Menupunkten - abrufbar. - - -#on("b")#a Ausgabebefehle#off("b")# - - Mit dieser Funktion können Sie sich die zur Verfügung stehenden Ausgabe - befehle detailliert erläutern lassen. Zuerst gelangen Sie in eine Auswahl, von - der aus zu jedem einzelnen Ausgabebefehl eine Informationstafel abgerufen - werden kann: -#page# -#free(2.0)# - +-------------------------------------+ - | Ausgabebefehle: | - | | - | 1 dezimalwert ausgeben | - | | - | 2 bitmuster ausgeben | - | 3 bitsymbol ausgeben | - | | - | 4 spannungswert ausgeben | - | 5 wert an analogausgang ausgeben | - | | - | z Zurück in das Menu | - | | - | 1 2 3 4 5 z | - +-------------------------------------+ - -#center#Abb.24: Auswahl Ausgabebefehle - - Auf jeder Informationstafel ist ein kleines Beispiel zur Verwendung des Befehls - angegeben, das auch erläutert wird. Anschließend wird ausführlich auf die - Parameter der Befehle eingegangen (Datentyp, Wertebereich, etc.). Aus den - einzelnen Informationstafeln gelangen Sie immer wieder zur Auswahl zurück. - Wird die Auswahl selbst verlassen, gelangen Sie zurück ins Ausgangsmenu. - - -#on("b")#e Eingabebefehle#off("b")# - - Mit dieser Funktion können Sie sich die zur Verfügung stehenden Eingabe - befehle detailliert erläutern lassen. Zuerst gelangen Sie in eine Auswahl, von - der aus zu jedem einzelnen Eingabebefehl eine Informationstafel abgerufen - werden kann: -#page# -#free(1.0)# - +------------------------------+ - | Eingabebefehle: | - | | - | 1 dezimalwert | - | | - | 2 bitmuster | - | 3 bitsymbol | - | | - | 4 spannungswert | - | 5 wert von analogeingang | - | | - | z Zurück in das Menu | - | | - | 1 2 3 4 5 z | - +------------------------------+ - - -#center#Abb.25: Auswahl Eingabebefehle - - Auf jeder Informationstafel ist ein kleines Beispiel zur Verwendung des Befehls - angegeben, das auch erläutert wird. Anschließend wird ausführlich auf die - Parameter der Befehle (Datentyp, Wertebereich, etc.) und die Werte, die - geliefert werden, eingegangen. - - Aus den einzelnen Informationstafeln gelangen Sie immer wieder zur Auswahl - zurück. Wird die Auswahl selbst verlassen, gelangen Sie zurück ins Ausgangs - menu. - - -#on("b")#t Testbefehle#off("b")# - - Mit dieser Funktion können Sie sich die zur Verfügung stehenden Testbefehle - detailliert erläutern lassen. Zuerst gelangen Sie in eine Auswahl, von der aus zu - jedem einzelnen Testbefehl eine Informationstafel abgerufen werden kann: -#page# - +------------------------+ - | Testbefehle: | - | | - | 1 bitmuster gleich | - | 2 bit ist gesetzt | - | | - | z Zurück in das Menu | - | | - | 1 2 z | - +------------------------+ - -#center#Abb.26: Auswahl Testbefehle - - Auf jeder Informationstafel ist ein kleines Beispiel zur Verwendung des Befehls - angegeben, das auch erläutert wird. Anschließend wird ausführlich auf die - Parameter der Befehle (Datentyp, Wertebereich, etc.) und die Werte, die ge - liefert werden, eingegangen. - Aus den einzelnen Informationstafeln gelangen Sie immer wieder zur Auswahl - zurück. Wird die Auswahl selbst verlassen, gelangen Sie zurück ins Ausgangs - menu. - - -#on("b")#w Weitere Befehle#off("b")# - - Hier werden noch weitere zur Verfügung stehende Befehle erläutert, die für die - Programmierung ganz hilfreich sind. Zuerst gelangen Sie in eine Auswahl, von - der aus zu jedem Befehl eine Informationstafel abgerufen werden kann: - - - +----------------------------+ - | Weitere Befehle: | - | | - | 1 initialisiere interface | - | 2 warte | - | | - | z Zurück in das Menu | - | | - | 1 2 z | - +----------------------------+ - -#center#Abb.27: Auswahl 'Weitere Befehle' -#page# - Aus den einzelnen Informationstafeln gelangen Sie immer wieder zur Auswahl - zurück. Wird die Auswahl selbst verlassen, gelangen Sie zurück ins Ausgangs - menu. - - -#on("b")#b Bitmuster#off("b")# - - Nach Aufruf dieser Funktion wird der Aufbau der Bitmuster erläutert, die als - Parameter übergeben oder auch von Prozeduren geliefert werden. - - Insbesondere wird auf die Numerierung der einzelnen Bits eingegangen. - - -#on("b")#s Symbole/Zeichen#off("b")# - - Nach Aufruf der Funktion werden die Zeichen erläutert, die bei der Be - schreibung von Bitmustern und Bitsymbolen Verwendung finden. - - -#on("b")#d Digital-/Analogwerte#off("b")# - - Bei den beiden Befehlen 'wert an analogausgang ausgeben' und 'wert von - analogeingang', wird ein Wert zwischen 0 und 255 als Parameter übergeben - bzw. von der Prozedur geliefert. Am Analogausgang wird aber eine Spannung - ausgegeben bzw. eingelesen. Hier wird erläutert, wie die Spannungswerte - innerhalb der Prozeduren gewandelt werden. - - -#on("b")#7.3 Menufunktionen zum Oberbegriff 'Interface'#off("b")# - -Über die Menufunktionen unter diesem Oberbegriff nehmen Sie die Konfiguration -von #on("b")#gs-Prozess#off("b")# vor. Ebenso ist von hier aus ein Test des Interface-Systems möglich. -#page# - -+-----------------------------------------------------------------------+ -| PDV: Info Interface Programm Archiv | -+-------+-------------------+-------------------------------------------+ -| | i Informationen | | -| | ---------------- | | -| | k Konfigurieren | | -| | ---------------- | | -| | a Ausgabetest | | -| | e Eingabetest | | -| +-------------------+ | -| | -| | -| | -+---------------------------------------------------------------------- + -| Info:<ESC><?>/<?> Wahl:<Pfeile> Ausführen:<RETURN> Verlassen:<ESC><q> | -+-----------------------------------------------------------------------+ - -#center#Abb.28: Menubildschirm zum Oberbegriff 'Interface' - - -#on("b")#i Informationen#off("b")# - - Mit dieser Menufunktion können Sie sich zu jedem Zeitpunkt die aktuell - eingestellte Konfiguration von #on("b")#gs-Prozess#off("b")# anzeigen lassen. Sie können er - sehen, welches Interface-System eingestellt ist, wie die Kanäle belegt und - numeriert sind (sehen Sie das Beispiel in Abb.13). - - Ist eine Compact-Box oder ein Einzelsteckplatz eingestellt, erhalten Sie die - Informationen direkt eingeblendet. Ist dagegen ein Mehrfachsteckplatz einge - stellt, gelangen Sie in eine Auswahl. Von hier aus können Sie Informationen zu - jedem einzelnen Steckplatz getrennt abrufen. - - Fehlerfälle: - - Wurde #on("b")#gs-Prozess#off("b")# bisher noch nicht konfiguriert, so erhalten Sie eine - Warnung (sehen Sie Abb.11). In diesem Falle ist zunächst eine Konfigura - tion von #on("b")#gs-Prozess#off("b")# vorzunehmen (sehen Sie die Beschreibung zur - nächsten Menufunktion). -#page# -#on("b")#k Konfigurieren#off("b")# - - Mit dieser Menufunktion können Sie #on("b")#gs-Prozess#off("b")# auf das aktuell angeschlos - sene Interface-System einstellen. Dazu haben Sie verschiedene Angaben zu - machen. - - Zunächst wird Ihnen eine Auswahl der Steckplatzart angeboten (sehen Sie - dazu Abb.12). Hier können Sie zur Zeit zwischen Compact-Box, Einzelsteck - platz und Mehrfachsteckplatz wählen. - - Ist eine Compact-Box angeschlossen, ist mit der hier gemachten Angabe die - Konfiguration abgeschlossen; die aktuelle Kanalbelegung wird Ihnen dann nur - noch zur Information eingeblendet. - - Bei Einzel- und Mehrfachsteckplatz haben Sie noch anzugeben, welche Inter - facekarte eingesteckt ist. Beim Einzelsteckplatz ist diese Angabe nur einmal zu - machen, beim Mehrfachsteckplatz halt mehrfach. Hierzu wird Ihnen aber - ebenfalls eine Auswahl angeboten (sehen Sie Abb.14). Nach jeder vorge - nommenen Einstellung wird Ihnen zur Information die Kanalbelegung mitge - teilt. Sofern Sie eine A/D-Karte verwenden, wird noch die Schalterstellung auf - der Karte erfragt, denn daraus kann #on("b")#gs-Prozess#off("b")# die eingestellte Eingangsem - pfindlichkeit ermitteln. - - -#on("b")#a Ausgabetest#off("b")# - - Mit dieser Menufunktion können Sie auf einfache Weise testen, ob Ihr Inter - face-System korrekte Ausgaben erzeugt. Nach Aktivieren der Menufunktion - erhalten Sie die Möglichkeit, Ausgabewerte einzutragen (sehen Sie Abb.18). - Jede Eintragung ist durch <RETURN> abzuschließen. - - Für den Ausgabetest sollte eine Leuchtdiodenanzeige zur Verfügung stehen, um - die Ausgaben am Interface kontrollieren zu können. Für detailliertere Informa - tionen lesen Sie bitte unbedingt Kapitel 5. -#page# - Fehlerfälle: - - Interface meldet sich nicht! - Abhilfe: Überprüfen, ob der Adapter ordnungsgemäß angeschlossen - und eingeschlatet ist (sehen Sie Kapitel 5). Wenn ein MUFI - verwendet wird, MUFI aus- und nach kurzer Pause wieder - einschalten. Noch einmal den Ausgabetest versuchen. - - Interface-Kanal belegt! - (Kann nur beim Betrieb von MUFI als Endgerät oder bei RS232-Adapter - auftreten!) - Abhilfe: Feststellen, welche Task an den Interface-Kanal gekoppelt ist - ('taskinfo (2) <RETURN>') und diese dann abmelden - ('break' oder 'end'). Die Nummer des Interfacekanals kann - mit dem Kommando 'put (interfacekanal) <RETURN>' - erfragt werden. - - Sehen Sie bitte die detaillierte Fehlerliste in Kapitel 5.5. - - -#on("b")#e Eingabetest#off("b")# - - Mit dieser Menufunktion können Sie auf einfache Weise testen, ob über Ihr - Interface-System korrekte Eingaben möglich sind. Nach Aktivieren der Menu - funktion erhalten Sie die Möglichkeit, am Interface angelegte Eingabewerte - abzulesen (sehen Sie Abb.19). - - Für den Eingabetest sollte ein Codekartenleser oder zumindest ein kurzer - Draht zur Verfügung stehen. Für detailliertere Informationen lesen Sie bitte - unbedingt Kapitel 5. - - Fehlerfälle: - - Interface meldet sich nicht! - Abhilfe: Überprüfen, ob der Adapter ordnungsgemäß angeschlossen - und eingeschlatet ist (sehen Sie Kapitel 5). Wenn ein MUFI - verwendet wird, MUFI aus- und nach kurzer Pause wieder - einschalten. Noch einmal den Ausgabetest versuchen. -#page# - - Interface-Kanal belegt! - (Kann nur beim Betrieb von MUFI als Endgerät oder bei RS232-Adapter - auftreten!) - Abhilfe: Feststellen, welche Task an den Interface-Kanal gekoppelt ist - ('taskinfo (2) <RETURN>') und diese dann abmelden - ('break' oder 'end'). Die Nummer des Interfacekanals kann - mit dem Kommando 'put (interfacekanal) <RETURN>' - erfragt werden. - - Sehen Sie bitte die detaillierte Fehlerliste in Kapitel 5.5. - - -#on("b")#7.4 Menufunktionen zum Oberbegriff 'Programm'#off("b")# - - -+-------------------------------------------------------------------------+ -| PDV: Info Interface Programm Archiv | -|---------------------+---------------------+-----------------------------| -| | n Neu erstellen | | -| | a Ansehen/Ändern | | -| | | | -| | s Starten | | -| | w Wiederholen | | -| | | | -| | v Verzeichnis | | -| | | | -| | l Löschen | | -| | d Drucken | | -| | | | -| | k Kopieren | | -| | u Umbenennen | | -| +---------------------+ | -|-------------------------------------------------------------------------| -| Info:<ESC><?>/<?> Wahl:<Pfeile> Ausführen:<RETURN> Verlassen:<ESC><q> | -+-------------------------------------------------------------------------+ - -#center#Abb.29: Menubildschirm zum Oberbegriff 'Programm' -#page# -#on("b")#n Neu erstellen#off("b")# - - Mit dieser Funktion können Sie eine neue Programmdatei anlegen und be - schreiben. - - Sie werden zunächst nach einem Namen für die #on("b")#neue#off("b")# Programmdatei gefragt. - Geben Sie einen beliebigen Namen (#on("b")#ohne Anführungszeichen (!)#off("b")#) ein und - schließen Sie die Eingabe durch <RETURN> ab. Daraufhin wird Ihnen auf - dem Bildschirm eine neue Datei zum beschreiben angeboten. - - Sollte schon eine Programmdatei mit diesem Namen in der Task vorhanden - sein, so werden Sie darauf aufmerksam gemacht. - - Sie können sich während des Schreibens die wichtigsten Tastenfunktionen des - Editors einblenden lassen. Tippen Sie dazu die Tastenfolge <ESC><?>. Es - erscheint dann das folgende Angebot aus dem Sie auswählen können: - - - +------------------------------------------------+ - | Der EUMEL - Editor | - | | - | b ... Beschreibung desEditors | - | w ... Wichtige Tasten | - | p ... Positionieren der Schreibmarke | - | k ... Korrigieren im Text (Einfügen/Löschen) | - | m ... Markierte Textpassagen bearbeiten | - | l ... Lernen im Editor | - | a ... Anweisungen im Editor (Kommandodialog) | - | | - | z ... Zurück in den Schreibmodus | - | | - | b w p k m l a z | - | | - +------------------------------------------------+ - -#center#Abb.30: Informationsauswahl zum EUMEL-Editor -#page# - Fehlerfälle: - - Eine Datei mit dem vorgeschlagenen Namen existiert schon. - - -#on("b")#a Ansehen/Ändern#off("b")# - - Mit dieser Funktion können Sie sich Dateien, die schon in Ihrer Task - existieren, ansehen oder auch verändern. - - Sie werden zunächst gefragt, ob Sie #on("b")#die zuletzt bearbeitete Programmdatei#off("b")# - ansehen bzw. verändern möchten (sofern Sie schon vorher mit #on("b")#gs-Prozess#off("b")# in - der Task gearbeitet haben). - - Bejahen Sie diese Frage, dann wird Ihnen diese Programmdatei zur Be - arbeitung angeboten. Verneinen Sie die Frage dagegen, so gelangen Sie in die - 'Auswahl' (d.h es werden Ihnen alle Programmdateien in der Task zur Auswahl - angeboten). Nachdem Sie einen der Namen angekreuzt haben, wird Ihnen die - ausgewählte Programmdatei zur Bearbeitung auf dem Bildschirm angebo - ten. - - Fehlerfälle: - - In der Task existiert noch keine Programmdatei. - - -#on("b")#s Starten#off("b")# - - Mit dieser Menufunktion können Sie eine Programmdatei übersetzen und - ausführen lassen. - - Sie werden zunächst gefragt, ob #on("b")#das zuletzt bearbeitete Programm#off("b")# ausgeführt - werden soll. Bejahen Sie die Frage, so wird dieses Programm gestartet; ver - neinen Sie die Frage dagegen, so gelangen Sie in die 'Auswahl'. Nach An - kreuzen des gewünschten Programmnamens wird das ausgewählte Programm - ausgeführt. -#page# - Sind im Programm noch Fehler enthalten, so werden das Programm und die - Fehlermeldungen gleichzeitig auf dem Bildschirm dargestellt (Paralleleditor) - und zur Korrektur angeboten. Für die Programmkorrektur stehen ebenfalls alle - Editorfunktionen zur Verfügung. - - Sollte Ihnen beim Programmieren ein Fehler unterlaufen sein (z.B. eine - Endlosschleife), so kann mit der Tastenfolge <ESC><h> der Programmlauf - abgebrochen werden ("Notbremse"). - - -#on("b")##on("b")#w Wiederholen#off("b")# - - Mit dieser Funktion können Sie den Ablauf des zuletzt ausgeführten - Programms wiederholen, ohne daß das Programm neu übersetzt wird. - - Beachten Sie aber bitte, daß Veränderungen am Programmtext, die seit dem - letzten Prtogrammlauf vorgenommen wurden, #on("b")#nicht#off("b")# berücksichtigt werden; - dazu muß das Programm erneut mit der Menufunktion 's Starten' übersetzt - werden. - - Ist die Wiederholung eines Programmlaufs nicht möglich, so erfolgt ein Hin - weis darauf. - - -#on("b")#v Verzeichnis#off("b")# - - Mit dieser Funktion können Sie sich einen Überblick über die in Ihrer Task - vorhandenen Programmdateien verschaffen. - - Nach Aufruf dieser Funktion wird eine Liste der Programmdateien auf dem - Bildschirm ausgegeben, die sich in Ihrer Task befinden. Da die Liste selbst - eine Datei ist, kann Sie mit der Tastenkombination <ESC><q> verlassen - werden - hierauf wird auch in der Kopfzeile der Datei hingewiesen. Falls nicht - alle Namen auf den Bildschirm passen, können Sie das Fenster mit - <HOP><runter> und <HOP><hoch> verschieben. -#page# -#on("b")#l Löschen#off("b")# - - Mit dieser Funktion können Sie Programmdateien, die Sie nicht mehr - benötigen, die unnötig Platz belegen, löschen. Aber Vorsicht! Die Programm - dateien verschwinden durch diese Funktion unwiederbringlich! - - Nach Aufruf dieser Funktion werden Ihnen alle Programmdateien, die sich in - Ihrer Task befinden, zur Auswahl angeboten. Hier können Sie die gewünschten - Namen ankreuzen. Die Auswahl wird dann durch die Tastenfolge - <ESC><q> verlassen. - - Für jede einzelne Programmdatei wird noch einmal zur Sicherheit gefragt, ob - sie auch tatsächlich gelöscht werden soll. Zur Bestätigung tippen Sie bitte die - Taste <j> ('ja') - zur Verhinderung <n> ('nein'). - - Fehlerfälle: - - In der Task exsitiert noch keine Programmdatei. - - -#on("b")#d Drucken#off("b")# - - Mit dieser Funktion können Sie Programmdateien über einen angeschlossenen - Drucker ausgeben lassen. - - Nach Aufruf dieser Funktion werden Ihnen alle Programmdateien, die sich in - Ihrer Task befinden, zur Auswahl angeboten. Hier können Sie die gewünschten - Namen ankreuzen. Die Auswahl wird dann durch die Tastenfolge - <ESC><q> verlassen. - - Die angekreuzten Programmdateien werden anschließend zum Drucker ge - schickt. Der Vorgang wird auf dem Bildschirm protokolliert. -#page# - Fehlerfälle: - - In der Task existiert noch keine Programmdatei. - - Der Drucker ist nicht funktionsbereit. - - Der Drucker wird nicht über die Task 'PRINTER' betrieben. - - Auf Ihrem System werden die Druckkosten abgerechnet. Sie müssen sich - mit einer Codenummer identifizieren. - - -#on("b")#k Kopieren#off("b")# - - Mit dieser Funktion können Sie sich eine Kopie einer bereits in der Task - vorhandenen Programmdatei anlegen. Das ist z.B. dann sinnvoll, wenn Sie sich - einen bestimmten 'Stand' aufbewahren wollen oder wenn Sie ein Programm - schreiben wollen, das einem bereits vorhandenen ähnelt. - - Nach Aufruf dieser Funktion werden Ihnen alle Programmdateien, die sich in - Ihrer Task befinden, zur Auswahl angeboten. Nach Ankreuzen eines Namens - wird die Auswahl automatisch verlassen. - - Anschließend wird der angekreuzte Name angezeigt und der Name für die - Kopie erfragt. Es muß ein Name eingetragen werden, der in dieser Task noch - nicht für eine Programmdatei vergeben wurde; ansonsten erfolgt ein Hinweis - darauf und es wird nicht kopiert! - - Da man aber oft für die Kopie einen ähnlichen Namen wie für das Original - wählt, wird der 'alte' Name vorgeschlagen. Aus genannten Gründen muß er - aber verändert werden. Sie können diesen Namen mit den üblichen Editier - funktionen verändern oder mit <HOP><RUBOUT> löschen und ganz neu - eingeben. Sie sparen aber eine Menge Tipparbeit, wenn Sie einen langen - Namen nur an einer Stelle ändern wollen. - - Fehlerfälle: - - Eine Programmdatei mit dem gewünschten Namen existiert bereits in der - Task. -#page# -#on("b")#u Umbenennen#off("b")# - - Mit dieser Funktion können Sie einer bereits vorhandenen Programmdatei - einen neuen Namen geben. - - Nach Aufruf dieser Funktion werden Ihnen alle Programmdateien, die sich in - Ihrer Task befinden, zur Auswahl angeboten. Nach Ankreuzen eines Namens - wird die Auswahl automatisch verlassen. - - Anschließend wird dieser Name angezeigt und der zukünftige Name für die - Programmdatei erfragt. Es muß ein Name eingetragen werden, der in dieser - Task noch nicht für eine Programmdatei vergeben wurde - ansonsten erfolgt - ein Hinweis darauf und die Programmdatei wird nicht umbenannt! - - Da man aber oft den 'neuen' Namen in Anlehnung an den 'alten' Namen - wählt, wird der 'alte' Name vorgeschlagen. Aus genannten Gründen muß er - aber verändert werden. Sie können diesen Namen mit den üblichen Editier - funktionen verändern oder mit <HOP><RUBOUT> löschen und ganz neu - eingeben. Sie sparen aber eine Menge Tipparbeit, wenn Sie einen langen - Namen nur an einer Stelle ändern wollen. - - Fehlerfälle: - - Eine Programmdatei mit dem gewünschten Namen existiert bereits in der - Task. -#page# -#on("b")#7.5 Menufunktionen zum Oberbegriff 'Archiv'#off("b")# - - -+-----------------------------------------------------------------------+ -| PDV: Info Interface Programm Archiv | -|------------------+------------------------+---------------------------| -| | r Reservieren | | -| | - Neue Diskette | | -| | | | -| | - Schreiben | | -| | - Checken | | -| | - Kombination | | -| | - Holen/Lesen | | -| | - Löschen | | -| | | | -| | - Verzeichnis | | -| | - Drucken | | -| | | +---------------------+ | -| | i Initialisieren | | Dateiaustausch mit:| | -| | z Zieltask einstellen | | Archiv | | -| +------------------------+ | Archivname: | | -| | __________ | | -| +---------------------+ | -|-----------------------------------------------------------------------| -| Info:<ESC><?>/<?> Wahl:<Pfeile> Ausführen:<RETURN> Verlassen:<ESC><q> | -+-----------------------------------------------------------------------+ - -#center#Abb.31: Menubildschirm zum Oberbegriff 'Archiv' - - -In diesem Kapitel werden alle die Menufunktionen beschrieben, die Ihnen unter dem -Oberbegriff 'Archiv' im Menu angeboten werden. Mit den Funktionen in diesem Menu -können Sie aber nicht nur Dateien auf dem Archiv behandeln, sondern auch in -anderen Tasks im Multi-User-System oder über das EUMEL-Netz sogar auf anderen -Rechnern! - -Wenn Sie dieses Pull-Down-Menu gerade aufgeschlagen haben, sind nicht alle Funk -tionen aktivierbar! Um weitere Funktionen zu aktivieren, muß erst einer der aktivier -baren Menupunkte gewählt werden. -#page# -#on("b")#r Reservieren#off("b")# (des Archivlaufwerks) - - Im EUMEL-Multi-User-System haben normalerweise mehrere Personen das - Zugriffsrecht auf das Archivlaufwerk. Allerdings muß der Zugriff so geregelt - werden, daß sich die Beteiligten dabei nicht gegenseitig "in die Quere - kommen". Ein Zugriff auf das Archivlaufwerk erfordert zunächst eine An - meldung. Ist diese Anmeldung erfolgt, kann von den anderen Beteiligten so - lange nicht mehr auf das Laufwerk zugegriffen werden, bis es wieder freige - geben worden ist. - - Diese Anmeldung des Archivlaufwerkes erfolgt über die Menufunktion 'r Reser - vieren'. Greift bereits eine andere Task auf das Laufwerk zu, so erhalten Sie - darüber einen Hinweis auf dem Bildschirm. Ansonsten wird an Sie die Frage - gestellt, ob die Diskette eingelegt und das Laufwerk geschlossen ist. - - Erst zu diesem Zeitpunkt ist sichergestellt, daß Sie den alleinigen Zugriff auf - das Laufwerk haben. Deshalb sollten Sie, wenn Sie mit mehreren Personen am - Computer arbeiten, erst zum Zeitpunkt der Fragestellung die Diskette ins - Laufwerk einlegen. - - Nachdem Sie die Diskette eingelegt und die Frage bejaht haben, ermittelt das - System selbständig den Namen der eingelegten Diskette, zeigt den Namen auf - dem Bildschirm (im kleinen Kasten unten) an und aktiviert die anderen - Menupunkte des Pull-Down-Menus. - - Beim Verlassen des Pull-Down-Menus, wenn eine andere Zieltask eingestellt - wird oder wenn das Menu gänzlich verlassen wird, wird die Reservierung - automatisch aufgehoben! -#page# - Fehlerfälle: - - Das Laufwerk ist von einer anderen Task belegt. - - Die Diskette ist falsch eingelegt oder das Laufwerk ist nicht richtig ge - schlossen. - - Die Diskette ist nicht formatiert bzw. initialisiert. - - Die Diskette kann nicht gelesen werden (keine EUMEL-Diskette, Diskette - hat ein falsches Format, Diskette ist verschmutzt...). - - -#on("b")#n Neue Diskette#off("b")# (anmelden) - - Der Dateiaustausch mit einer Diskette ist nur dann möglich, wenn der im - System eingestellte Diskettenname (auf dem Bildschirm im kleinen Kasten - unten sichtbar) mit dem tatsächlichen Namen der Diskette übereinstimmt. - Nach einem Diskettenwechsel ist das aber in der Regel nicht mehr der Fall. - Greift man dann auf die neu eingelegte Diskette zu, so erscheint die Fehlermel - dung: 'Falscher Archivname! Bitte neue Diskette anmelden!'. - - Das Anmelden einer neuen Diskette - ohne einen neuen Reservierungsvorgang - - wird durch diese Menufunktion ermöglicht. Nach Aktivieren dieses Menu - punktes wird der Name der eingelegten Diskette ermittelt, im System eingestellt - und auf dem Bildschirm angezeigt. - - Im Gegensatz zur Menufunktion 'r Reservieren' greift das System ohne Anfrage - an den Benutzer auf das Archivlaufwerk zu (die Reservierung bleibt ja - bestehen). Ist das Archivlaufwerk reserviert, so ist die Neuanmeldung einer - Diskette über diese Menufunktion weniger zeitaufwendig. - - Fehlerfälle: - - wie unter 'r Reservieren'. -#page# -#on("b")#s Schreiben#off("b")# (Kopieren) - - Alle Dateien der eigenen Task werden zur Auswahl angeboten. Wenn Sie die - Auswahl durch die Tastenfolge <ESC><q> verlassen, überprüft das System - zunächst, ob die Dateien in der eingestellten Zieltask schon vorhanden sind. Ist - das der Fall, wird erfragt, ob die dort vorhandenen Dateien überschrieben, d.h. - gelöscht werden dürfen (s.u.). Anschließend werden alle angekreuzten Dateien - in der Reihenfolge, in der Sie sie angekreuzt haben, in die eingestellte Zieltask - kopiert. Der Vorgang wird auf dem Bildschirm protokolliert. Die Original - dateien in der eigenen Task bleiben dabei erhalten. - - Wenn in der Zieltask schon eine Datei existiert, die den gleichen Namen hat - wie eine Datei, die Sie dorthin kopieren möchten, so wird angefragt, ob die - vorher schon existierende Datei überschrieben (gelöscht!) werden soll. Bejahen - Sie diese Frage, so wird die bereits in der Zieltask existierende Datei (un - wiederbringlich) gelöscht und die gewünschte Datei dorthin transportiert. Ein - Überschreiben aus Versehen ist nicht möglich, wenn Sie die an Sie gestellte - Frage sorgfältig beantworten. - - Verneinen Sie die Frage, so wird die Datei auch nicht hinübertransportiert! Sie - können die Datei aber umbenennen (Menufunktion 'u Umbenennen' unter - den Oberbegriffen 'Landschaft'/Arbeitsfeld' bzw. 'Programm') und an - schließend mit anderem Namen hinüberschreiben. - - Beachten Sie, daß beim Überschreiben einer Datei auf einer Archivdiskette der - Speicherplatz der alten (überschriebenen) Version im allgemeinen nicht - wiederverwendet werden kann. In einem solchen Fall könnte die Diskette voll - geschrieben werden, obwohl eigentlich genügend Platz vorhanden wäre. Zur - Optimierung wird deshalb zuerst überprüft, ob die angekreuzten Dateien - schon in der Zieltask vorhanden sind und löscht diese, wenn Sie Ihr Einver - ständnis geben. Erst anschließend werden die Dateien insgesamt kopiert. -#page# - Normalerweise ist als Zieltask das Archivlaufwerk der eigenen Station einge - stellt. Mit der Menufunktion 'z Zieltask einstellen' kann diese Einstellung aber - verändert werden. - - Fehlerfälle: - - Die Diskette ist falsch eingelegt oder beschädigt. - - Die Diskette kann nicht beschrieben werden (Schreibfehler). - - Die Diskette ist voll. - - Sehen Sie auch unter 'r Reservieren' - 'z Zieltask einstellen'. - - -#on("b")#c Checken#off("b")# - - Diese Menufunktion kann nur ausgeführt werden, wenn der Dateiaustausch - mit einem Archiv(manager) erfolgt - ansonsten ist diese Menufunktion auch - nicht aktivierbar. Die Menufunktion dient dazu, auf Diskette geschriebene - Dateien auf Lesefehler hin zu prüfen. Es empfiehlt sich, diese Prüfroutine auf - neu auf die Diskette geschriebene Dateien anzuwenden. Sehen Sie dazu auch - 'k Kombination'. - - Alle Dateien der eingestellten Zieltask (Archiv) werden zur Auswahl angeboten. - Wenn Sie die Auswahl durch die Tastenfolge <ESC><q> verlassen, werden - alle angekreuzten Dateien in der Reihenfolge, in der Sie sie angekreuzt haben, - "gecheckt", d.h. auf Lesefehler hin überprüft. Der Vorgang wird auf dem Bild - schirm protokolliert. - - Fehlerfälle: - - Lesefehler auf dem Archiv. - - Sehen Sie auch unter 'r Reservieren'. - -#page# -#on("b")#k Kombination#off("b")# - - Diese Menufunktion ist eine Kombination aus den beiden Menufunktionen 's - Schreiben' und 'c Checken' (Sehen Sie weitere Informationen auch dort!). - - Alle Dateien der eigenen Task werden zur Auswahl angeboten. Wenn Sie die - Auswahl durch die Tastenfolge <ESC><q> verlassen, werden alle ange - kreuzten Dateien in der Reihenfolge, in der Sie sie angekreuzt haben, in die - eingestellte Zieltask kopiert (gegebenenfalls müssen bereits vorhandene - Dateien gleichen Namens in der Zieltask gelöscht werden). Anschließend - werden alle Dateien, die gerade geschrieben wurden, gecheckt, d.h. auf Lese - fehler hin untersucht. Beide Vorgänge werden auf dem Bildschirm - protokolliert. - - Da die 'Check' - Operation nur bei Archivmanagern zulässig ist, ist diese Menu - funktionen ebenfalls nur bei Archivmanagern aktivierbar. Zur Erläuterung - sehen Sie bitte auch unter 'z Zieltask einstellen'. - - -#on("b")#h Holen/Lesen#off("b")# - - Die Menufunktion dient dazu, Dateien, die bereits auf einer Archivdiskette oder - in einer anderen Task existieren, in die eigene Task zu kopieren. - - Alle Dateien der eingestellten Zieltask werden zur Auswahl angeboten. An - schließend werden Kopien der angekreuzten Dateien in der Reihenfolge des - Ankreuzens in die eigene Task geholt. Das Original in der Zieltask bleibt dabei - unverändert! Der Vorgang wird auf dem Bildschirm protokolliert. - - Sind in der eigenen Task schon Dateien mit gleichem Namen vorhanden, so - wird gefragt, ob die 'alten' Dateien überschrieben (gelöscht) werden dürfen. - Nur wenn Sie zustimmen, werden die in Ihrer Task existierenden Dateien - (unwiederbringlich!) gelöscht und Kopien der gleichnamigen Dateien aus der - Zieltask angefertigt. -#page# - Stimmen Sie dem Löschvorgang nicht zu, dann bleiben die bisherigen Dateien - in Ihrer Task erhalten - die Dateien aus der Zieltask werden dann aber auch - nicht in Ihre Task kopiert! Um dennoch die Kopien zu erhalten, können Sie die - namensgleichen Dateien in Ihrer Task umbenennen und dann erst die Dateien - aus der anderen Task anfordern. - - Normalerweise werden die Dateien vom Archiv der eigenen Station geholt. Mit - dem Menupunkt 'z Zieltask einstellen' kann diese Einstellung verändert - werden. - - Fehlerfälle: - - Lesefehler auf dem Archiv. - - Sehen Sie auch unter 'r Reservieren' - 's Schreiben' - 'z Zieltask einstellen'. - - -#on("b")#l Löschen#off("b")# - - Die Menufunktion dient dazu, Dateien in der Zieltask (unwiederbringlich!) zu - löschen. Dazu werden alle Dateien der eingestellten Zieltask zur Auswahl ange - boten. Anschließend werden die angekreuzten Dateien in der Reihenfolge ihres - Ankreuzens gelöscht. Zur Sicherheit muß noch einmal für jede einzelne Datei - bestätigt werden, daß sie auch tatsächlich gelöscht werden soll. - - Beachten Sie, daß beim Löschen einer Datei auf einer Archivdiskette der - Speicherplatz im allgemeinen nicht wieder verwendet werden kann. In einem - solchen Fall könnte die Diskette voll geschrieben werden, obwohl eigentlich - genügend Platz vorhanden wäre. Diese Probleme treten bei anderen Tasks, die - keine Archivmanager sind, nicht auf, da deren Speicherplatz intelligenter - verwaltet wird. -#page# - Normalerweise ist als Zieltask das Archiv der eigenen Station eingestellt. Mit - dem Menupunkt 'z Zieltask einstellen' kann diese Einstellung verändert - werden. - - Fehlerfälle: - - Sehen Sie auch unter 'r Reservieren' - 's Schreiben' - 'z Zieltask einstellen'. - - -#on("b")#v Verzeichnis#off("b")# - - Mit dieser Menufunktion können Sie sich einen Überblick über die in der - Zieltask (z.B. auf dem Archiv) vorhandenen Dateien verschaffen. - - Nach Aufruf der Funktion wird eine Liste der Dateien auf dem Bildschirm - ausgegeben, die sich in der Zieltask (z.B. auf dem Archiv) befinden. Ist die - Zieltask ein Archiv(manager), so wird auch angezeigt, wieviel Platz auf der - Diskette belegt ist. Da die Liste selbst eine Datei ist, kann sie mit der Tasten - kombination <ESC><q> verlassen werden. Falls nicht alle Dateinamen auf - den Bildschirm passen, können Sie das Fenster mit <HOP><hoch> und - <HOP><runter> verschieben. - - Fehlerfälle: - - Sehen Sie unter 'z Zieltask einstellen'. - - -#on("b")#d Drucken#off("b")# - - Das Verzeichnis der Dateien in der Zieltask, das man mit der Menufunktion 'v - Verzeichnis' auf dem Bildschirm angezeigt bekommt, kann mit dieser Menu - funktion ausgedruckt werden. -#page# - Zur Sicherheit wird angefragt, ob wirklich ein solches Dateiverzeichnis der - Zieltask gedruckt werden soll. Bejaht man die Frage, so wird ein Dateiver - zeichnis erstellt und zum Drucker geschickt. - - Fehlerfälle: - - Der Drucker ist nicht funktionsbereit. - - Der Drucker wird nicht über die Task 'PRINTER' betrieben. - - Auf Ihrem System werden die Druckkosten abgerechnet. Sie müssen sich - mit einer Codenummer identifizieren. - - -#on("b")#i Initialisieren#off("b")# - - Diese Menufunktion gestattet es, frische Disketten zu formatieren, zu - initialisieren bzw. beschriebene Disketten vollständig zu löschen und ggf. dabei - umzubenennen. Bei Aufruf dieser Menufunktion wird - sofern noch nicht - geschehen - das Archivlaufwerk automatisch reserviert. - - Wenn Sie eine fabrikneue Diskette aus der Verpackung nehmen, müssen Sie - diese zunächst #on("b")#formatieren#off("b")#. Dabei wird die Diskette auf ein festgelegtes - physikalisches Format eingestellt. Ohne daß diese Operation vorausgegangen - ist, kann eine Diskette weder beschrieben noch gelesen werden. - - Prinzipiell braucht eine Diskette nur ein einziges Mal formatiert zu werden. Sie - können Sie jedoch jederzeit wieder formatieren - z.B. wenn Sie Disketten ha - ben, von denen Sie nicht genau wissen, für welche Zwecke sie zuvor verwendet - wurden. - - Wenn Sie diese Menufunktion aktivieren, werden Sie so zunächst gefragt, ob Sie - die Diskette auch formatieren wollen. Bejahen Sie die Frage, so werden Ihnen - mehrere Formate zur Auswahl angeboten: -#page# - +----------------------------------+ - | Formatieren einer Diskette | - | | - | Dies sind die möglichen Formate: | - | | - | 1 .... 40 Spur - 360 KB | - | 2 .... 80 Spur - 720 KB | - | 3 .... 5 1/4" - 1,2 MB | - | 4 .... 3 1/2" - 1,4 MB | - | s .... Standard - Format | - | | - | | - | 1 2 3 4 s | - +----------------------------------+ - -#center#Abb.32: Auswahl der Archiv-Formate - - Erkundigen Sie sich bei Ihrem Händler, welches Format Sie bei Ihrem Rechner - und den von Ihnen verwendeten Disketten einstellen müssen. Manche Rechner - unterstützen diese Operation innerhalb des EUMEL-Systems auch gar nicht, - das Formatieren muß dann irgendwie anders außerhalb des EUMEL-Systems - geschehen. - - Wenn Sie die Formatierung abgeschlossen oder auch übersprungen haben, - beginnt die eigentliche Initialisierung der Diskette. Dabei wird als erstes der - Archivname auf die Diskette geschrieben. Alle alten Daten, die sich ggf. auf der - Diskette befinden, werden bei diesem Vorgang unwiederbringlich (!) gelöscht. - - Zur Sicherheit überprüft das System in jedem Falle, ob es sich um eine EUMEL - - Diskette handelt, und erfragt Ihr Einverständnis, ob die Diskette wirklich - initialisiert werden soll. Geben Sie hierzu Ihr Einverständnis, dann wird noch - der (neue) Archivname erfragt. Hatte die Diskette schon einen Namen, dann - wird dieser zum Überschreiben angeboten. Wollen Sie den alten Archivnamen - beibehalten, so brauchen Sie nur die <RETURN>-Taste zu tippen, ansonsten - können Sie den Namen auch zuvor verändern oder einen ganz neuen Namen - hinschreiben. Anhand des ausgegebenen Namens können Sie auch über - prüfen, ob Sie die richtige Diskette eingelegt haben. -#page# - Das Initialisieren funktioniert natürlich nur, wenn Sie als Zieltask einen - Archivmanager eingestellt haben - ansonsten ist diese Menufunktion gesperrt - (nicht aktivierbar!). - - Fehlerfälle: - - Formatieren ist nicht auf dem System möglich. - - Sehen Sie auch unter 'r Reservieren' - 'z Zieltask einstellen'. - - -#on("b")#z Zieltask einstellen#off("b")# - - Mit dieser Menufunktion können Sie festlegen, mit welcher Zieltask Sie - kommunizieren, d.h. z.B. Dateien austauschen möchten. Normalerweise ist hier - das Archiv am eigenen Rechner eingestellt. Das wird auch nach Aufklappen des - Pull-Down-Menus im Kasten unten angezeigt. - - Diese Menufunktion kann im Unterricht z.B. dazu genutzt werden, um fertig - gestellte Hausaufgaben in eine bestimmte Task zu schicken (Vatertask) oder um - von dort z.B. vorgefertigte Landschaften oder/und Programme abzuholen. - - Sie können aber auch eine andere Task einstellen (z.B. die Vatertask oder die - Task 'PUBLIC'), um mit diesen Dateien auszutauschen oder um sich auch nur - einen Überblick über die dort vorhandenen Dateien zu verschaffen. Wenn Sie - mit Ihrem Rechner in ein EUMEL-Netz integriert sind, können Sie auch auf - Tasks anderer Rechner zugreifen oder auch Disketten von Laufwerken anderer - Rechner einlesen (z.B. wenn Sie Disketten anderer Formate haben, die von - Ihrem Rechner nicht gelesen werden können). - - Dabei werden zwei Anforderungen an die Zieltask gestellt: Sie muß existieren - und bereit für den Dateiaustausch sein, d.h es muß eine Managertask sein, auf - die Sie Zugriff haben. Versuchen Sie auf andere Tasks zuzugreifen, so erhalten - Sie entsprechende (Fehler-)Meldungen. -#page# - Zu beachten ist noch, daß es im EUMEL-System verschiedene Arten von - Managertasks gibt - Archivmanager und normale Dateimanager. Der Unter - schied besteht darin, daß ein Archivmanager vom Benutzer vor dem Zugriff - reserviert werden muß - anschließend hat nur dieser Benutzer (bis zur Aufgabe - der Reservierung) ein Zugriffsrecht auf den Manager. Normale Dateimanager - können dagegen von mehreren Benutzern in beliebiger Reihenfolge ange - sprochen werden. - - Ein Archivmanager kann auch auf bestimmte Diskettenformate spezialisert sein - (z.B. auf das Lesen von DOS-Disketten). Manche Rechner haben auch mehrere - Archivmanager für verschiedene Laufwerke etc. Durch Einstellen unterschied - licher Archivmanager können Sie dann auf verschiedenen Laufwerken - archivieren. - - Nach Aktivieren dieses Menupunktes werden Ihnen die folgenden Alternativen - angeboten: - - - +-----------------------------------------+ - | Dateiaustausch gewünscht mit: | - | | - | a ... Archiv (Eigene Station) | - | | - | v ... Vatertask | - | | - | p ... 'PUBLIC' (Eigene Station) | - | | - | s ... Sonstige Task | - | | - | Archiv Vatertask PUBLIC Sonstige | - +-----------------------------------------+ - -#center#Abb.33: Auswahl der Zieltask - - Da der Dateiaustausch mit dem Standardarchiv der eigenen Station (Task: - 'ARCHIVE'), mit der Vatertask und der Task 'PUBLIC' recht häufig in Anspruch - genommen wird, sind diese drei Optionen unter den Alternativen direkt ange -#page# - geben. Entscheiden Sie sich für eine dieser drei Tasks, so nimmt das System - alle notwendigen Einstellungen vor. Möchten Sie dagegen in Kontakt mit einer - anderen Task treten, so wählen Sie die Alternative 's ... Sonstige Task'. In - diesem Falle haben Sie noch 3 Angaben zu machen: - - - Zunächst werden Sie nach dem Namen der Zieltask gefragt. Geben Sie den - Namen der Zieltask - ohne Anführungsstriche (!) - ein und schließen Sie - die Eingabe mit der <RETURN>-Taste ab. (Den ausgegebenen Namen der - z.Z. eingestellten Task können Sie dabei verändern bzw. überschreiben.) - - - Dann wird die Nummer der Station im EUMEL-Netz erfragt, auf der sich - die Zieltask befindet. Die Nummer Ihrer Station wird als Vorschlag ausge - geben. Wollen Sie mit einer Task auf Ihrem Rechner kommunizieren, so - brauchen Sie diesen Vorschlag nur durch Drücken der <RETURN>-Taste - bestätigen - ansonsten tragen Sie zuvor die entsprechende Stationsnummer - ein. Ist Ihr Rechner nicht in ein EUMEL-Netz integriert, so wird die - Stationsnummer 0 (Null) ausgegeben. Bitte bestätigen Sie diese Stations - nummer durch Tippen der <RETURN>-Taste. - - - Zum Abschluß müssen Sie noch angeben, ob die eingestellte Zieltask ein - Archivmanager ist oder nicht. - - Das System versucht dann den Kontakt herzustellen. Je nachdem, welche - Einstellung Sie vorgenommen haben, sind bestimmte Funktionen innerhalb - des Menus nicht aktivierbar. Das System läßt nur die Funktionen zu, die - aufgrund Ihrer Einstellungen zulässig sind. - - Im Kasten unten auf dem Bildschirm wird jeweils angezeigt, welche Zieltask - eingestellt ist. Erscheint in diesem Kasten auch ein Hinweis auf den Archiv - namen, so haben Sie einen Archivmanager eingestellt. Ist dagegen vor dem - Namen der Zieltask noch eine Zahl und ein Schrägstrich angegeben, so haben - Sie eine Zieltask auf einem anderen Rechner eingestellt. -#page# - Bedenken Sie, daß Operationen mit Tasks auf anderen Stationen länger an - dauern können - werden Sie nicht ungeduldig! - - Sie können die Einstellung der Zieltask jederzeit wieder verändern! - - Fehlerfälle: - - Die eingestellte Zieltask existiert nicht. - - Die eingestellte Zieltask existiert zwar, ist aber nicht empfangsbereit, d.h. - ein Zugriff von Ihrer Task aus ist nicht möglich! - - Das Netz ist nicht funktionsbereit (Collector-Task fehlt). - - Die Kommunikation war nicht erfolgreich. - - Die gewünschte Operation kann mit der eingestellten Zieltask nicht ausge - führt werden (Zieltask ist z.B. gar kein Archivmanager - Sie aber ver - suchen, das Laufwerk zu reservieren). - diff --git a/doc/prozess/gs-prozess-8 b/doc/prozess/gs-prozess-8 deleted file mode 100644 index c36ccc9..0000000 --- a/doc/prozess/gs-prozess-8 +++ /dev/null @@ -1,377 +0,0 @@ -limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (1)# -#headodd# -#center#gs-Prozess#right#% - -#end# -#headeven# -%#center#gs-Prozess - -#end# -#center#1 - -#on("b")#8 Detailbeschreibung der Basisbefehle und Tests#off("b")# - - -#on("b")# -BOOL PROC abbruch gewuenscht -#off("b")# - - - erfragt, ob inzwischen durch einen Basisbefehl die Tastenfolge <ESC><q> - im Eingabestrom registriert worden ist. Ist das der Fall, liefert die Prozedur - den Wert 'TRUE', sonst 'FALSE'. - - -#on("b")# -BOOL PROC bit ist gesetzt (INT CONST kanal, bitnummer) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". - - untersucht, ob am angegebenen Kanal laut Konfiguration eine digitale Ein - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Digital-Eingabe möglich!". - - untersucht, ob die angegebene Bitnummer zulässig ist (0 #on("b")#<#off("b")# 'bitnummer' #on("b")#<#off("b")# - 7). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehlermeldung "Bit - nummer ... ist nicht zulässig!". - - liest den aktuell anliegenden Wert am angegebenen Kanal. - - liefert den Wert 'TRUE', wenn in der binären Darstellung das Bit mit der - angegebenen Bitnummer gesetzt ist ("I"), sonst den Wert 'FALSE'. - -#on("b")# -TEXT PROC bitmuster (INT CONST kanal) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". -#page# - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". - - untersucht, ob am angegebenen Kanal laut Konfiguration eine digitale Ein - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Digital-Eingabe möglich!". - - liest den aktuell anliegenden Wert am angegebenen Kanal ein und wandelt - ihn in die binäre Darstellung. - - liefert einen Text der Länge 8, bestehend aus den Zeichen "I" und/oder "O". - - -#on("b")# -PROC bitmuster ausgeben (INT CONST kanal, - TEXT CONST bitmuster) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". - - untersucht, ob am angegebenen Kanal laut Konfiguration eine digitale Aus - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Digital-Ausgabe möglich!". - - untersucht die übergebene Zeichenkette (bitmuster) auf korrekte Länge (8 - Zeichen). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehlermeldung - "Das Bitmuster ... hat eine unzulässige Länge!". - - überprüft die in der übergebenen Zeichenkette (bitmuster) vorkommenden - Symbole auf ihre Zulässigkeit ("I", "O", "X", "T"). Taucht ein unzulässiges - Symbol auf, erfolgt ein Abbruch mit der Fehlermeldung "... ist ein unzu - lässiges Bitsymbol in ...!". -#page# - - aus dem am angegebenen Kanal zuletzt ausgegeben Wert und der über - gebenen Zeichenkette (bitmuster) wird der auszugebende Dezimalwert er - mittelt. Dieser Dezimalwert wird am angegebenen Kanal ausgegeben. Dabei - bedeuten "I", daß das betreffende Bit gesetzt wird, "O", daß das betreffende - Bit nicht gesetzt wird, "X", daß das betreffende Bit gegenüber der zuvor - erfolgten Ausgabe am gleichen Kanal nicht verändert wird und "T", daß das - betreffende Bit gegenüber der zuvor erfolgten Ausgabe am gleichen Kanal - invertiert wird. - - -#on("b")# -BOOL PROC bitmuster gleich (INT CONST kanal, - TEXT CONST vergleichsmuster) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". - - untersucht, ob am angegebenen Kanal laut Konfiguration eine digitale Ein - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Digital-Eingabe möglich!". - - untersucht die übergebene Zeichenkette (bitmuster) auf korrekte Länge (8 - Zeichen). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehlermeldung - "Das Bitmuster ... hat eine unzulässige Länge!". - - überprüft die im 'vergleichsmuster' vorkommenden Symbole auf ihre Zu - lässigkeit ("I", "O", "X"). Taucht ein unzulässiges Symbol auf, erfolgt ein - Abbruch mit der Fehlermeldung "... ist ein unzulässiges Bitsymbol in ...!". - - liest den aktuell anliegenden Wert am angegebenen Kanal ein und wandelt - ihn in die binäre Darstellung. - - überprüft, ob das eingelesene Bitmuster zum 'vergleichsmuster' "paßt". Ist - das der Fall, wird der Wert 'TRUE' geliefert, sonst der Wert 'FALSE'. -#page# -#on("b")# -TEXT PROC bitsymbol (INT CONST kanal, bitnummer) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". - - untersucht, ob am angegebenen Kanal laut Konfiguration eine digitale Ein - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Digital-Eingabe möglich!". - - untersucht, ob die angegebene Bitnummer zulässig ist (0 #on("b")#<#off("b")# 'bitnummer' #on("b")#<#off("b")# - 7). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehlermeldung "Bit - nummer ... ist nicht zulässig!". - - liest den aktuell anliegenden Wert am angegebenen Kanal ein und wandelt - ihn in die binäre Darstellung. - - liefert einen Text der Länge 1, nämlich "I" oder "O". - - -#on("b")# -PROC bitsymbol ausgeben (INT CONST kanalnummer, bitnummer, - TEXT CONST bitsymbol) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". - - untersucht, ob am angegebenen Kanal laut Konfiguration eine digitale Aus - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Digital-Ausgabe möglich!". -#page# - - untersucht, ob die angegebene Bitnummer zulässig ist (0 #on("b")#<#off("b")# 'bitnummer' #on("b")#<#off("b")# - 7). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehlermeldung "Bit - nummer ... ist nicht zulässig!". - - überprüft das übergebene Bitsymbol auf Zulässigkeit ("I", "O", "X", "T"). - Taucht ein unzulässiges Symbol auf oder besteht das Bitsymbol aus mehr als - einem Zeichen, erfolgt ein Abbruch mit der Fehlermeldung "... ist ein unzu - lässiges Bitsymbol!". - - ermittelt aus dem am angegebenen Kanal zuletzt ausgegeben Wert und der - übergebenen Bitnummer/dem übergebenen Bitsymbol den auszugebende - Dezimalwert. Dieser Dezimalwert wird am angegebenen Kanal ausgegeben. - Dabei bedeuten "I", daß das betreffende Bit gesetzt wird, "O", daß das be - treffende Bit nicht gesetzt wird, "X", daß das betreffende Bit gegenüber der - zuvor erfolgten Ausgabe am gleichen Kanal nicht verändert wird und "T", daß - das betreffende Bit gegenüber der zuvor erfolgten Ausgabe am gleichen Kanal - invertiert wird. - - -#on("b")# -INT PROC dezimalwert (INT CONST kanal) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". - - untersucht, ob am angegebenen Kanal laut Konfiguration eine digitale Ein - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Digital-Eingabe möglich!". - - liest den aktuell anliegenden Wert am angegebenen Kanal ein. - - liefert einen INT-Wert mit 0 #on("b")#<#off("b")# 'wert' #on("b")#<#off("b")# 255. -#page# -#on("b")# -PROC dezimalwert ausgeben (INT CONST kanal, wert) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". - - untersucht, ob am angegebenen Kanal laut Konfiguration eine digitale Aus - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Digital-Ausgabe möglich!". - - ermittelt den auszugebenden Wert durch die Rechnung -#on("b")# -#center#ausgabe = wert MOD 256, -#off("b")# - und gibt diesen am angegebenen Kanal aus. - - -#on("b")# -PROC initialisiere interface -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob das Programm korrekt (mit 'run pdv') gestartet wurde. Ist das - nicht der Fall, erfolgt ein Abbruch mit der Fehlermeldung "PDV-Programme - müssen mit 'run pdv' gestartet werden!". Dieser Fehler kann nicht auftreten, - wenn die Programme vom #on("b")#gs-Prozess#off("b")#-Menu gestartet werden! - - An jeden Digitalausgang des angeschlossenen Interface-Systems wird der Wert - '0', an jeden Analogausgang eine "Nullspannung" angelegt (d.h. alles wird - "ausgeschaltet"). Die internen Variablen werden dabei initialisiert. -#page# -#on("b")# -PROC spannungswert (INT CONST kanal) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". - - untersucht, ob am angegebenen Kanal laut Konfiguration eine analoge Ein - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Analog-Eingabe möglich!". - - ermittelt die laut Konfiguration aktuelle Obergrenze (u max) und Untergrenze - (u min) des Spannungsbereiches am angegebenen Analogeingang. - - liest den aktuell anliegenden Wert (0 #on("b")#<#off("b")# 'wert' #on("b")#<#off("b")# 255) am angegebenen - Kanal ein und wandelt ihn nach folgender Rechnung: - -#on("b")# - real(wert) * (u max - u min) - lieferwert = ---------------------------- + u min - 255.0 - -#off("b")# - - liefert einen REAL-Wert mit u min #on("b")#<#off("b")# 'lieferwert' #on("b")#<#off("b")# u max, gerundet auf drei - Nachkommastellen. - - -#on("b")# -PROC spannungswert ausgeben (INT CONST kanal, - REAL CONST spannung) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". -#page# - - untersucht, ob am angegebenen Kanal laut Konfiguration eine analoge Aus - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Analog-Ausgabe möglich!". - - ermittelt die laut Konfiguration aktuelle Obergrenze (u max) und Untergrenze - (u min) des Spannungsbereiches am angegebenen Analogausgang und prüft, - ob u min #on("b")#<#off("b")# 'spannung' #on("b")#<#off("b")# u max. Ist das nicht der Fall, erfolgt ein Abbruch - mit der Fehlermeldung 'Der Spannungswert ... ist nicht zulässig!". - - wandelt die angegebene 'spannung' nach der Rechnung: - -#on("b")# - (wert - u min) * 255.0 - ausgabewert = int ( ---------------------- + 0.5 ) - u max - u min - -#off("b")# - - gibt den ermittelten 'ausgabewert' am angegebenen Kanal aus. - - -#on("b")# -REAL PROC temperatur (REAL CONST spannungswert) -#off("b")# - - - errechnet aus dem Spannungswert, der vom Temperaturfühler eingelesen - wurde, der Thermometerkonstanten und der Minimaltemperatur die - Temperatur in �C. - - liefert einen REAL-Wert (die Temperatur in �C). - So nur anwendbar auf den Temperaturfühler der Fa. AKTRONIK! - - -#on("b")# -PROC tue nichts -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. -#page# -#on("b")# -PROC warte (INT CONST sekunden) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - wirkt sonst wie 'pause (sekunden * 10)'. - - -#on("b")# -PROC warte (REAL CONST sekunden) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - wirkt sonst wie 'pause (int (sekunden * 10.0 + 0.5))'. - - -#on("b")# -PROC wert an analogausgang ausgeben (INT CONST kanal, wert) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". - - untersucht, ob am angegebenen Kanal laut Konfiguration eine analoge Aus - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Analog-Ausgabe möglich!". - - ermittelt den auszugebenden Wert durch die Rechnung - -#on("b")# -#center#ausgabe = wert MOD 256, - -#off("b")# - und gibt diesen Wert am angegebenen Kanal aus. Die am Analogausgang - auszugebende Spannung wird vom D/A-Wandler des Interface-Systems er - mittelt. -#page# -#on("b")# -INT PROC wert von analogeingang (INT CONST kanal) -#off("b")# - - - untersucht, ob inzwischen die Tastenfolge <ESC><h> eingegeben wurde. - Ist das der Fall, dann erfolgt ein Abbruch mit der Fehlermeldung - "Programm-Abbruch durch <ESC><h>!". - - registriert, ob inzwischen die Tastenfolge <ESC><q> eingegeben wurde. - - untersucht, ob die angegebene Kanalnummer grundsätzlich zulässig ist (1 #on("b")#<#off("b")# - 'kanal' #on("b")#<#off("b")# 49). Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "Kanalnummer ... ist unzulässig!". - - untersucht, ob am angegebenen Kanal laut Konfiguration eine analoge Ein - gabe möglich ist. Ist das nicht der Fall, erfolgt ein Abbruch mit der Fehler - meldung "An Kanal ... ist keine Analog-Eingabe möglich!". - - liefert den vom A/D-Wandler des Interface-Systems gelieferten Wert mit 0 #on("b")#<#off("b")# - 'lieferwert' #on("b")#<#off("b")# 255. - diff --git a/doc/prozess/gs-prozess-9 b/doc/prozess/gs-prozess-9 deleted file mode 100644 index 6551b01..0000000 --- a/doc/prozess/gs-prozess-9 +++ /dev/null @@ -1,477 +0,0 @@ -limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (1)# -#headodd# -#center#gs-Prozess#right#% - -#end# -#headeven# -%#center#gs-Prozess - -#end# -#center#1 - -#on("b")#9 Hinweise für den Systembetreuer/ Programmierer#off("b")# - -Sie haben wahrscheinlich bisher - ausschließlich zu Testzwecken - mit nur einem -Interface-System gearbeitet. In diesem Kapitel möchten wir Ihnen Vorschläge -machen, wie Sie Ihr Tasksystem organisieren können, um möglichst effektiv und -störungsfrei mit der vorhandenen Hardware zu arbeiten. - -Neben den Möglichkeiten der Organisation des Systems werden wir Ihnen zeigen, wie -Sie eine einmal vorgenommene Konfiguration/Organisation "fixieren", d.h. schützen -können. - -Im letzten Teil dieses Kapitels werden wir für den #on("b")#routinierten(!) Programmierer#off("b")#, -Möglichkeiten aufzeigen, wie man, unter weitgehender Umgehung von #on("b")#gs-Prozess#off("b")#, -Programme für spezielle Anwendungen entwickeln kann. Schon an dieser Stelle sei -ausdrücklich gesagt, daß dabei alle "Sicherheiten", die #on("b")#gs-Prozess#off("b")# normalerweise -bietet, nicht (mehr) vorhanden sind. - - -#on("b")#9.1 Vergabe der Kanäle/Organisation des Tasksystems#off("b")# - -Zur optimalen Organisation Ihres Systems sollten Sie wissen, in welcher Task die -Konfiguration sinnvollerweise vorzunehmen ist. Da die Aspekte sehr vielfältig sind, -werden wir verschiedene Situationen beschreiben. Lesen Sie die Ausführungen zu der -Situation, die der Ihren am ehesten entspricht. - - -#on("b")# -1) Es stehen mehrere MUFIs als Adapter zur Verfügung. Alle MUFIs sollen - im Terminalkanal betrieben werden. Die Arbeitsplätze sind alle mit - dem gleichen Interfacesystem ausgestattet. -#off("b")# -#page# - Sie sind hervorragend ausgestattet. Die Organisation und Konfiguration des - Systems ist sehr einfach: - - Es ist sinnvoll, die Konfiguration von #on("b")#gs-Prozess#off("b")# in der Task vorzunehmen, in - der Sie #on("b")#gs-Prozess#off("b")# installiert haben. Das hat den Vorteil, daß alle Sohntasks, - die sich anschließend anmelden, diese Konfiguration "erben". - - Bei dieser Ausstattung ist es sinnvoll die Konfiguration zu "fixieren", um irrtüm - lichen oder "böswilligen" Umkonfigurationen vorzubeugen. Sehen Sie dazu - Kapitel 9.4. - - -#on("b")# -2) Es stehen mehrere MUFIs als Adapter zur Verfügung. Alle MUFIs sollen - im Terminalkanal betrieben werden. Die Arbeitsplätze sind aber mit - verschiedenen Interface-Systemen ausgestattet. -#off("b")# - - Wenn die Bestückung der einzelnen Arbeitsplätze ständig wechselt, ist es nicht - sinnvoll, eine generelle Konfiguration vorzugeben. Teilen Sie jedem Anwender - mit, daß er selbst für die Konfiguration seines Systems zuständig ist. Er sollte bei - jedem Neuankoppeln seiner Task zumindest die Konfiguration überprüfen und - ggf. den Vorgaben entsprechend eine Anpassung vornehmen. Es ist nicht sinn - voll, die jeweilige Konfiguration zu fixieren. - - Wenn Sie zwar unterschiedliche Interface-Systeme verwenden, aber die Inter - face-Systeme einzelnen MUFIs eindeutig zuordnen können, lohnt es sich schon, - eine Konfiguration des Systems vorzugeben. - - Richten Sie zu diesem Zwecke so viele Tasks ein, wie Sie unterschiedliche - Interface-Systeme zur Verfügung haben, und ordnen Sie jedem Interface-System - eindeutig je eine Task zu. Die Namen der Tasks sollten Sie so wählen, daß sofort - ersichtlich ist, welchem Interface-System sie zugeordnet ist. - - Nehmen Sie in jeder Task eine Konfiguration von #on("b")#gs-Prozess#off("b")# entsprechend - dem zugeordneten Interface-System vor. -#page# - Auch hier ist es sinnvoll, die vorgenommenen Konfigurationen zu "fixieren", um - irrtümlichen oder "böswilligen" Umkonfigurationen vorzubeugen. Sehen Sie - dazu Kapitel 9.4. - - Die Anwender sollten sich später jeweils als Sohntask der Task anmelden, die - sich dem an ihrem Arbeitsplatz vorhandenen Interface-System eindeutig zu - ordnen läßt. - - -#on("b")# -3) Es steht nur ein MUFI als Adapter zur Verfügung. Das MUFI soll im - Terminalkanal betrieben werden. -#off("b")# - - Je nachdem, ob Sie eine feste Hardware am MUFI betreiben oder nicht, sollten - Sie sich an den beiden zuvor beschriebenen Fällen orientieren. - - -#on("b")# -4) Es steht nur ein RS232-Adapter oder ein MUFI, das als Endgerät an - einer separaten Schnittstelle betrieben werden soll, zur Verfügung. Es - soll nur von einem Arbeitsplatz/einer Task aus mit dem angeschlos - senen Interface-System gearbeitet werden. -#off("b")# - - Nehmen Sie die Installation/Konfiguration wie unter 5) beschrieben vor. - Arbeiten Sie nur in der Task, in der Sie die Konfiguration vorgenommen haben. - - -#on("b")# -5) Es steht nur ein Adapter zur Verfügung. Sie wollen aber die Möglichkeit - schaffen, daß von verschiedenen Tasks abwechselnd darauf zugegriffen - werden kann. -#off("b")# - - Es ist gleichgültig, ob Sie ein MUFI oder einen RS232-Adapter verwenden - sie - sollten den Adapter an einer separaten seriellen Schnittstelle betreiben. -#page# - Auch wenn Sie ein MUFI besitzen, kann es vorteilhaft sein, das MUFI nicht im - Terminalkanal, sondern an einer separaten Schnittstelle zu betreiben: - - Beim Betrieb im Terminalkanal kann nämlich nur die Task mit dem MUFI - kommunizieren, die an das Terminal gekoppelt ist, in dessen Zuleitung das - MUFI eingebaut ist. Das wird hier zum Nachteil, denn wenn eine andere Task - auf das Interface-System zugreifen möchte, muß erst die alte Task abgekoppelt - und die neue an das Terminal mit dem MUFI angekoppelt werden. - - Der Betrieb an einer separaten Schnittstelle bietet hier wahrscheinlich viel - fältigere Möglichkeiten, wenngleich Sie dadurch auch Geschwindigkeitsein - bußen hinnehmen müssen. - - #on("b")#gs-Prozess#off("b")# bietet Ihnen bei Betrieb eines Adapters an einer separaten seriellen - Schnittstelle nämlich die Möglichkeit, abwechselnd von verschiedenen Tasks auf - den Adapter und das angeschlossene Interface-System zugreifen zu können. - - Teilen Sie bei der Installation (automatischen Generierung) von #on("b")#gs-Prozess#off("b")# - dem System gleich mit, daß Sie Ihren Adapter (ob nun MUFI oder - RS232-Adapter) an einer separaten seriellen Schnittstelle betreiben wollen. - Schon bei dieser Installation werden Sie nach der Kanalnummer gefragt. - - Wir gehen hier davon aus, daß Sie immer mit dem gleichen Interface-System an - diesem Adapter arbeiten werden. In diesem Falle empfiehlt es sich, gleich in der - Task, in der Sie die Installation vorgenommen haben, auch die Konfiguration - von #on("b")#gs-Prozess#off("b")# vorzunehmen und die Konfiguration zu "fixieren". Durch die - Konfiguration in dieser Task, "erben" alle Sohntasks, die anschließend ange - meldet werden, diese Konfiguration. - - Wenn Sie sich mit 'taskinfo <RETURN>' einen Katalog ausgeben lassen, - werden Sie feststellen, daß eine weitere Task als unbenannter Sohn ("-") Ihrer - Task eingerichtet worden ist. Sie haben nämlich Ihre Task zu einer "zentralen - Abwicklungstask" gemacht - genauer gesagt die unbenannte Sohntask. -#page# - Wenn Sie aus Ihrer Task, in der Sie die Konfiguration vorgenommen haben, mit - dem Interface-System kommunizieren, erfolgt der Zugriff über diese unbe - nannte Sohntask! - - Sie schaffen dadurch aber zusätzlich die Möglichkeit, daß mehrere Sohntasks - - natürlich abwechselnd - über diese "zentrale Abwicklungstask" mit dem Inter - face-System kommunizieren. Selbstverständlich setzt der Zugriff auf das Inter - face-System eine Absprache zwischen den Beteiligten voraus! - - - Gerade in der Aufbauphase, wenn erst wenige Geräte zur Verfügung stehen, ist - das eine Möglichkeit, von verschiedenen Arbeitsplätzen aus mit nur einem Adap - ter/Interface-System Prozeßdatenverarbeitung zu betreiben. - - -#on("b")# -6) Sie wollen mehrere Adapter an separaten seriellen Schnittstellen - betreiben. -#off("b")# - - In diesem Falle ist es sinnvoll - bevor Sie eine Konfiguration vornehmen - gleich - nach der Installation von #on("b")#gs-Prozess#off("b")# für jeden einzelnen Adapter eine Sohntask - unter der Task einzurichten, in der #on("b")#gs-Prozess#off("b")# installiert ist. Jede dieser Sohn - tasks koppeln Sie mit einem festen Kanal, an dem ein Adapter/Interface-System - angeschlossen ist. - - Sie brauchen dazu #on("b")#gs-Prozess#off("b")# nicht mehrfach zu installieren; wir haben für - diesen Fall vorgesorgt. Für die Kopplung der Tasks an die einzelnen Kanäle steht - die Prozedur 'PROC interfacekanal (INT CONST kanalnummer)' zur Verfügung. - Geben Sie also in einer Task z.B. das Kommando 'interfacekanal (5) - <RETURN>', so wird von dieser Task aus das Interface-System am Kanal 5 - angesprochen. - - Über die Prozedur 'INT PROC interfacekanal' können Sie sich in jeder Task - informieren, über welchen Kanal die Kommunikation mit dem Interface-System - abgewickelt wird: z.B. mit 'put (interfacekanal) <RETURN>'. -#page# - Ihnen ist sicher klar, daß es auch hier sinnvoll ist, den Namen der jeweiligen - Task so zu wählen, daß daraus sofort der betreffende Interfacekanal ablesbar - ist. - - In jeder so an einen Kanal gekoppelten Task sollten Sie die Konfiguration von - #on("b")#gs-Prozess#off("b")# vornehmen und ggf. "fixieren". Jede solche Task richtet auto - matisch eine unbenannte Sohntask ("-") ein, die sich wie eine "zentrale Ab - wicklungstask" verhält. Wenn Sie also aus Ihrer Task oder aus neu einge - richteten Sohntasks mit dem Interface-System kommunizieren, so erfolgt das - über die "zentrale Abwicklungstask". - - -#on("b")#9.2 Informationsprozeduren#off("b")# - -Zur Information stehen dem Systembetreuer drei wichtige Prozeduren zur Verfügung: - -#on("b")# -TEXT PROC adapterart -#off("b")# - -Hiermit können Sie in Erfahrung bringen, welche Interfaceanpassung z.Z. in der -aktuellen Task insertiert ist: MUFI im Terminalkanal, MUFI als Endgerät oder -AKTRONIK-Adapter (RS232-Adapter). - - -#on("b")# -INT PROC interfacekanal -#off("b")# - -Hiermit können Sie in Erfahrung bringen, über welchen Kanal z.Z. mit dem Inter -face-System aus der Task kommuniziert wird. Die Prozedur steht allerdings nur dann -zur Verfügung, wenn das Interface-System an einer separaten Schnittstelle betrieben -wird - sonst erscheint der Hinweis 'FEHLER: unbekanntes Kommando'. - -Es gibt noch einen Befehl, mit dem Sie sich über den Zustand des Interface-Systems -informieren können: -#page# -#on("b")# -PROC oeffne interface (INT VAR testwert) -#off("b")# - -Die Prozedur versucht, die aktuelle Betriebsart einzustellen. Anschließend erhalten -Sie eine 'Erfolgsauskunft'. Dabei bedeuten: - - 0 - alles okay - -1 - Interface ist noch nicht konfiguriert - -2 - Interface-Task ist besetzt - -3 - Interfacekanal ist belegt - -4 - Interface meldet sich nicht - -5 - Interface kann nicht geöffnet werden - -Ist der Adapter an einer separaten Schnittstelle angeschlossen, so arbeitet der Befehl -über die "zentrale Abwicklungstask". Als Antwort können alle genannten Codes auftre -ten; beim MUFI im Terminalkanal allerdings nur die Codes 0, -1 und -4. Die oben -genannten Fehlermeldungen sind detailliert in Kapitel 5.5 erläutert. - -Sie sollten anschließend #on("b")#unbedingt#off("b")# das Kommando 'schliesse interface' geben: Eine -eventuell durch 'oeffne interface' vollzogene Betriebsartumstellung wird dadurch -rückgängig gemacht. - - - -#on("b")#9.3 Neufestlegung des Interfacekanals#off("b")# - -Wenn Sie mit MUFI(s) im Terminalkanal arbeiten, spielen Kanalnummern für das -Ansprechen des/der MUFIs keine Rolle. Das jeweilige MUFI kann in diesem Falle -nämlich immer nur von der Task aus angesprochen werden, die an das Terminal -gekoppelt ist, in dessen Zuleitung das MUFI eingebaut wurde. - -Wenn Sie Adapter (MUFI oder RS232-Adapter) an separaten seriellen Schnittstellen -betreiben, so legen Sie schon bei der Installation von #on("b")#gs-Prozess#off("b")# den Kanal fest, -über den die Task mit dem Interface-System kommuniziert. Wie wir schon oben be -schrieben haben, können Sie den Interface-Kanal mit der Prozedur 'PROC interface -kanal (INT CONST kanalnummer)' neu festlegen. Beachten Sie dabei aber bitte -folgendes: -#page# -Wenn Sie in einer Task #on("b")#gs-Prozess#off("b")# konfigurieren und zuvor entschieden haben, daß -der Adapter an einer separaten Schnittstelle betrieben wird, so wird automatisch eine -unbenannte Sohntask ("-") eingerichtet. Diese Sohntask wird zur "zentralen Abwick -lungstask". Wenn Sie nun aus der Task, in der Sie die Konfiguration vorgenommen -haben, oder aus einer Sohntask dieser Task, die anschließend eingerichtet wird, mit -dem Interface-System kommunizieren, so erfolgt diese Kommunikation über diese -unbenannte Sohntask. Daher wählten wir die Bezeichnung "zentrale Abwicklungs -task". - -Da die "zentrale Abwicklungstask" den "Zustand der Vatertask" in dem Augenblick -erbt, in dem Sie eingerichtet wird, würde eine später erfolgende Neufestlegung des -Interfacekanals nicht von Ihr registriert und damit auch nicht wirksam. - -#on("b")#Es ist unbedingt notwendig#off("b")#, in der Task, in der Sie eine Neufestlegung des Interface- -Kanals vornehmen, #on("b")#gs-Prozess#off("b")# auch neu zu konfigurieren! Bei der Neukonfiguration -wird nämlich die unbenannte Sohntask gelöscht und neu eingerichtet. - -(Das hier beschriebene Phänomen ist Ihnen wahrscheinlich schon aus der -PRINTER-Task bekannt). - -Hinsichtlich der Sicherheit des Systems hat dieses Vorgehen aber einen Vorteil: wenn -in den "zugänglichen Sohntask", die über eine "zentrale Abwicklungstask" mit dem -Interface-System kommunizieren eine Neueinstellung des Interface-Kanals vorge -nommen wird, so bleibt diese unwirksam (solange in der Sohntask nicht umkonfigu -riert wird - was sich aber verhindern läßt! Sehen Sie dazu das folgende Kapitel!). - - -#on("b")#9.4 Fixieren der Konfiguration#off("b")# - -Prinzipiell kann in jeder Task, in der #on("b")#gs-Prozess#off("b")# zur Verfügung steht, die Konfigura -tion (von #on("b")#gs-Prozess#off("b")#) vorgenommen werden. Gerade von unerfahrenen Anwendern -könnte aber irrtümlich eine Umkonfiguration vorgenommen werden. Aber nicht nur -das: auch erfahrene Anwender könnten "böswillig" die Konfiguration verändern. Aus -diesem Grunde ist es ggf. sinnvoll, eine vorgenommene Konfiguration zu fixieren -(schützen). -#page# -Dazu steht die Prozedur 'PROC pdv konfiguration zugelassen (BOOL CONST ent -scheidung)' zur Verfügung. Mit dem Kommando 'pdv konfiguration zugelassen -(FALSE) <RETURN>' sperren Sie in der aktuellen Task und in allen Sohntasks, die -sich #on("b")#anschließend#off("b")# unter dieser Task anmelden, den Menupunkt 'k Konfigurieren' -unter dem Oberbegriff 'Interface'. - -Sofern nötig, können Sie diese Sperre mit dem Kommando 'pdv konfiguration zuge -lassen (TRUE) <RETURN>' wieder aufheben, #on("b")#allerdings nur in der Task, in der Sie -auch die Sperre gesetzt haben#off("b")#, denn #on("b")#gs-Prozess#off("b")# merkt sich diesen Tasknamen! -Wenn Sie also ein Password auf diese Task legen, und damit anderen den Zugang -verwehren, kann auch eine "böswilligie Umkonfiguration" verhindert werden. - - -#on("b")#9.5 Mögliche Fehlerfälle#off("b")# - -Wenn Fehlermeldungen auftreten, so finden Sie Fehlerbeschreibungen und Möglich -keiten zur Abhilfe im Kapitel 5.5 beschrieben. Auf einen Fehlerzustand möchten wir -Sie hier noch besonders hinweisen: - -#on("b")#Interfacekanal ist belegt!#off("b")# - - Über den angegebenen Kanal greift schon eine andere Task auf das angeschlos - sene Interface-System zu. Vielleicht wurde der betreffende Kanal auch zuvor für - andere Zwecke verwendet - anschließend hat der Benutzer den Kanal nicht - ordentlich freigegeben. Geben Sie in der 'gib kommmando'-Ebene den Befehl - 'taskinfo (2) <RETURN>'. In der Spalte mit der Überschrift 'CHAN' müßte jetzt - irgendwo die Kanalnummer auftauchen. Steht die Kanalnummer bei einem Sohn - der Task 'SUPERVISOR', so liegt der letztgenannte Fall vor, sonst der erstge - nannte. - - Abhilfe: Schließen Sie Ihr Interface-System an einen anderen Kanal an oder - bitten Sie den betreffenden Anwender, den Kanal freizugeben. - Ist das nicht möglich, so kann aus einer Systemtask das Kommando - 'end (canal (kanalnummer))' <RETURN>' gegeben werden. Statt - 'kanalnummer' ist natürlich die tatsächliche Nummer (z.B. '4') - anzugeben. -#page# -#on("b")#9.6 Weitere Möglichkeiten#off("b")# - -Ihnen ist sicher aufgefallen, daß wir uns bemüht haben, einen sinnvollen Kompro -miß zwischen Sicherheit in der Handhabung und Geschwindigkeit des Systems zu -finden. In Zweifelsfällen haben wir uns eher zugunsten der Sicherheit entschieden. - -Sicher werden Sie inzwischen bemerkt haben, daß die Kommunikation mit einem -Adapter (MUFI oder RS232-Adapter) an einer separaten seriellen Schnittstelle recht -zeitaufwendig ist. - -Prinzipiell standen uns bei der Konzeption zwei Möglichkeiten zur Verfügung: Ent -weder wir gestalten jeden Basisbefehl so, daß wir uns zu Beginn der Ausführung -jeweils direkt an den betreffenden Kanal ankoppeln und am Ende der Ausführung -des Befehls wieder abkoppeln - oder wir richten eine "zentrale Abwicklungstask" ein -und nutzen die Intertaskkommunikation des EUMELs. Wir haben uns nach diversen -Tests für die zweite Variante entschieden: Einmal zeigte sich, daß dieses Verfahren -weit weniger zeitaufwendig ist als das ständige An- und Abkoppeln an den Interface- -Kanal. Zum anderen konnten wir so die Möglichkeit schaffen, über diese "zentrale -Abwicklungstask" den abwechselnden, koordinierten Zugriff mehrerer Tasks auf ein -Interface-System zu realiseren. - -Wenn Sie nun aber spezielle Anwendungen schreiben wollen, für die die Geschwin -digkeit beim Ansprechen des Interface-Systems an einer separaten Schnittstelle nicht -ausreicht, so möchten wir Ihnen hier noch eine Möglichkeit aufzeigen, dieses -Problem zu bewältigen. - -Auch an dieser Stelle sei noch einmal ausdrücklich darauf hingewiesen, daß Sie bei -dieser Programmiermöglichkeit auf alle Sicherheiten, die Ihnen #on("b")#gs-Prozess#off("b")# bietet, -verzichten müssen. Deshalb sollten Sie diesen Weg nur beschreiten, wenn Sie ein -hinlängliches Maß an Programmierroutine besitzen! Die zur Verfügung stehenden -Befehle und die Besonderheiten möchten wir Ihnen an einem kleinen Beispiel -programm aufzeigen: -#page# -#on("b")# - LET ausgabekanal = 4, - eingabekanal = 3; - - INT VAR test, eingabewert; - INT VAR terminalkanal :: channel (myself); - schliesse interface; - continue (interfacekanal); - oeffne interface direkt (test); - IF test < 0 - THEN continue (terminalkanal); - errorstop ("Funktionsfehler Interface-System") - FI; - initialisiere interface direkt; - eigentliches programm; - schliesse interface direkt; - continue (terminalkanal). - - eigentliches programm: - direkt ausgeben (ausgabekanal, 3); - eingabewert := direkteingabe (eingabekanal). -#off("b")# - -Wenn Sie ein solches Programm geschrieben haben, starten Sie es bitte mit dem -Befehl 'run pdv' oder aus dem Menusystem heraus mit der Menufunktion 's Starten'. -(Bei 'run' kann der Befehl 'schliesse interface' gestrichen werden!). - -Für die eigentliche Programmierung des Interface-Systems stehen Ihnen nur zwei -Befehle zur Verfügung: - -#on("b")# -PROC direkt ausgeben (INT CONST kanal, wert) -#off("b")# - - - ermittelt den auszugebenden Wert durch die Rechnung - -#on("b")##center#ausgabe = wert MOD 256#off("b")# - - und gibt diesen am Ausgabekanal aus. - - Der Befehl ähnelt dem Befehl 'dezimalwert ausgeben' - hat aber im Gegensatz - dazu keinerlei "Fehlerfänger": so werden Sie z.B. nicht darauf aufmerksam - gemacht, wenn der angegebene Kanal gar kein Ausgang ist, etc.) -#page# -#on("b")# -INT PROC direkteingabe (INT CONST kanal) -#off("b")# - - - liest den aktuell anliegenden Wert am angegebenen Kanal ein. - - liefert einen INT-Wert mit 0 � 'wert' � 255. - - Der Befehl ähnelt dem Befehl 'dezimalwert' - hat aber im Gegensatz dazu - ebenfalls keinerlei "Fehlerfänger"! - - -Das obige Programm beginnt mit dem Befehl 'schliesse interface'. Sicher kommt es -Ihnen sonderbar vor, daß zu Beginn des Programms das Interface geschlossen wird, -wo wir es doch eigentlich "öffnen" müßten. Ihnen wird die Funktion aber sofort klar, -wenn Sie sich die Situation vor Augen führen: - -Als Sie #on("b")#gs-Prozess#off("b")# in Ihrer Task konfiguriert haben, und festlegten, daß der Adapter -an einer separaten Schnittstelle "hängt", richtete #on("b")#gs-Prozess#off("b")# automatisch eine -unbenannte Sohntask ("-") als "zentrale Abwicklungstask" ein, die durch das -Kommando 'run pdv' bzw. durch die Menufunktion 's Starten' an den Interfacekanal -gekoppelt wird. Der Befehl 'schliesse interface' koppelt die Task "-" wieder vom Inter -face-Kanal ab, so daß Sie direkt darauf zugreifen können. Außerdem werden die -internen Einstellungen im Adapter wieder in Ausgangsstellung gebracht. - -Mit der Prozedur 'PROC oeffne interface direkt (INT VAR testwert)' sprechen Sie das -Interface neu an. Dabei wird ein angeschlossener Adapter automatisch auf Betriebs -bereitschaft getestet und dann auf den Betrieb an einer separaten seriellen Schnitt -stelle umgestellt (nur beim MUFI). - -Über 'testwert' erhalten Sie eine Rückmeldung. Dabei haben die gelieferten 'test -werte' folgende Bedeutung: - - 0 - Interface betriebsbereit - -4 - Interface #on("b")#nicht#off("b")# betriebsbereit - (Interface meldet sich nicht) -#page# -Der Befehl 'initialisiere interface direkt' wirkt ähnlich wie der schon oben be -schriebene Befehl 'initialisiere interface', jedoch #on("b")#nicht#off("b")# über den "Umweg zentrale -Abwicklungstask" - sondern halt 'direkt' am Interface-Kanal. Einzige Aufgabe hier: -Alle Ausgabe-Kanäle auf Wert '0' bzw. Nullspannung setzen. - -Durch das abschließende 'schliesse interface direkt' bringen Sie ein angeschlossenes -MUFI wieder in die "Ausgangsstellung". - -Beachten Sie bei der Programmierung bitte unbedingt, daß Sie ständig zwischen dem -Kanal, an dem Sie arbeiten (Terminal) und dem Interfacekanal hin- und herschalten -(müssen), wenn Ein- oder Ausgaben auf dem Terminal erfolgen sollen. Die direkte -Programmierung lohnt sich demnach nur, wenn aufeinanderfolgende Aktionen am -Interfacekanal durchgeführt werden (z.B. Schrittmotorsteuerungen etc.). - -Treten Programmfehler auf, während Sie an den Interfacekanal gekoppelt sind, -haben Sie keine Chance, von Ihrem Terminalkanal aus auf das Interface zuzugreifen -- denn das "hängt am Interfacekanal" (z.B. bei "Programmabsturz" oder Endlos -schleife). - -Bei Ihrer Programmierung sollten Sie diesem Fall vorbeugen (disable stop - enable -stop). Ansonsten müßten Sie aus einer Systemtask den Kanal "abschießen". Geben -Sie dazu in einer Systemtask z.B. das Kommando 'end (canal (5)) <RETURN>', -wenn das Interface-System über den Kanal 5 angesprochen wird. - |