diff options
Diffstat (limited to 'doc/prozess/gs-prozess-9')
-rw-r--r-- | doc/prozess/gs-prozess-9 | 477 |
1 files changed, 0 insertions, 477 deletions
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. - |