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.  - | 
