DE19818714A1 - Blockiervorrichtung für bewegliche Anschlüsse von Schalldämpfern an halbautomatischen Waffen - Google Patents
Blockiervorrichtung für bewegliche Anschlüsse von Schalldämpfern an halbautomatischen WaffenInfo
- Publication number
- DE19818714A1 DE19818714A1 DE1998118714 DE19818714A DE19818714A1 DE 19818714 A1 DE19818714 A1 DE 19818714A1 DE 1998118714 DE1998118714 DE 1998118714 DE 19818714 A DE19818714 A DE 19818714A DE 19818714 A1 DE19818714 A1 DE 19818714A1
- Authority
- DE
- Germany
- Prior art keywords
- client
- telegram
- message
- server
- version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F41—WEAPONS
- F41A—FUNCTIONAL FEATURES OR DETAILS COMMON TO BOTH SMALLARMS AND ORDNANCE, e.g. CANNONS; MOUNTINGS FOR SMALLARMS OR ORDNANCE
- F41A21/00—Barrels; Gun tubes; Muzzle attachments; Barrel mounting means
- F41A21/30—Silencers
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Toys (AREA)
- Computer And Data Communications (AREA)
Description
Die vorliegende Erfindung betrifft ein Verfahren zur Erzeu
gung einer Oberfläche zum Bedienen und Beobachten von Leitsy
stemen, insbesondere für Prozeß- und Produktionsanlagen.
Im Bereich der Leitsystemtechnik werden Oberflächen für die
Überwachung und/oder Steuerung von industriellen Anlagen be
nötigt. Sie dienen dabei der visuellen Darstellung von Pro
zeßvorgängen, Meß- und Regelungsgrößen und/oder Bedieneinhei
ten.
So sind unterschiedliche plattformspezifische Visualisie
rungs- und Bedienkonzepte bekannt, die aufgrund der verschie
denen Hardware- und Software-Plattformen keinen Raum für ei
nen systemübergreifenden Informationsaustausch zulassen. Fer
ner sind die im Bereich der Leitsystemtechnik anfallenden In
formationen, beispielsweise Prozeßabläufe beschreibende Ein
gangs-, Zustands- und Ausgangsgrößen sowie deren Beziehungen
untereinander, Sollwerte, Sollzustände und dergleichen, wie
sie bei verschiedenen Prozeß- und Produktionsanlagen anfal
len, beispielsweise in Kraftwerken, Raffinerien, Frachtsyste
men und dergleichen, nur lokal verfügbar, das heißt im weite
sten Sinne direkt vor Ort.
Es besteht ein Bedarf an einheitlichen Visualisierungs- und
Bedienkonzepten, um einerseits dem Bedienpersonal einen ein
fachen Umgang mit diesen zu ermöglichen, so daß beispielswei
se eine schnelle Einarbeitungszeit in unterschiedliche Syste
me aufgrund einer einheitlichen, dem Benutzer vertrauten
Grundstruktur gegeben ist, und zum anderen um in möglichst
vielen Ebenen des Leitsystems einen modularen Aufbau zu er
möglichen, beispielsweise mit standardisierten Komponenten.
Um dabei möglichst umfassende Einsatzmöglichkeiten nutzen zu
können, ist es erforderlich losgelöst von jeweils gegebenen
Hardware- und Softwareumgebungen agieren zu können, also
plattformunabhängige Systeme bereitzustellen, die damit
gleichzeitig einen systemübergreifenden Informationsaustausch
ermöglichen. Ferner ist bei Leitsystemen ein Bedarf hinsicht
lich hoher Verfügbarkeit gegeben.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein
Verfahren zur Erzeugung einer Oberfläche zum Bedienen und Be
obachten von Leitsystemen, insbesondere für Prozeß- und Pro
duktionsanlagen, anzugeben, welches eine überaus einfache,
bedienerfreundliche und kostengünstige Handhabung von Leitsy
stemen, insbesondere für Prozeß- und Produktionsanlagen, er
möglicht.
Zur technischen Lösung wird ein Verfahren zur Erzeugung einer
Oberfläche zum Bedienen und Beobachten von Leitsystemen, ins
besondere für Prozeß- und Produktionsanlagen, bereitgestellt,
wobei im Bereich von Leitsystemen anfallende Informationen
von einem an wenigstens ein Leitsystem adaptierbaren Server-
Rechner über ein Client-Server-Rechner-Netzwerk auf einem
Client-Rechner in Eingabe- und Anzeigeelementen viusalisiert
werden.
Verfahrensgemäß sind die im Bereich von Leitsystemen anfal
lenden Informationen über einen an das jeweilige Leitsystem
adaptierbaren Server-Rechner für einen im Client-Server-
Rechner-Netzwerk vorhandenen Client-Rechner zugänglich, wobei
die Informationen vom Server-Rechner auf dem Client-Rechner
in Eingabe- und Anzeigeelementen visualisiert werden. Dabei
werden die Informationen erst seitens des Client-Rechners
aufbereitet und ausgewertet und in den entsprechenden Einga
be- und Anzeigeelementen visualisiert. Die Informationen kön
nen so von dem Server-Rechner beispielsweise als reine ASCII-
Daten in das Client-Server-Rechner-Netzwerk gegeben und sei
tens des Client-Rechners auf diesem entsprechend interpre
tiert werden.
Dadurch, daß die Informationen verfahrensgemäß client-seitig
in Eingabe- und Anzeigeelementen viusalisiert werden, ist ei
ne überaus einfache, bedienerfreundliche und kostengünstige
Handhabung von Leitsystemen gegeben.
Vorteilhafterweise sind die Eingabe- und Anzeigeelemente frei
parametrierbar und konfigurierbar. Dadurch wird das Einsatz
spektrum im Bereich unterschiedlicher Leitsysteme erheblich
vergrößert, wobei für den Benutzer gleichzeitig eine hohe In
dividualisierung hinsichtlich Gestaltung seiner Oberfläche
gegeben ist.
Gemäß einem weiteren besonders vorteilhaften Vorschlag der
Erfindung ist das Client-Server-Rechner-Netzwerk ein Intra-
und/oder Internet. Dadurch wird zum einen eine hohe Verfüg
barkeit erzielt, die der rasch voranschreitenden Vernetzung
der Bürowelt zu sogenannten Intranets als auch der weltweiten
Vernetzung in sogenannten Internets gerecht wird und eine
Nutzung der Netze zum Bedienen und Beobachten von Leitsyste
men, insbesondere für Prozeß- und Produktionsanlagen ermög
licht. So ist eine globale Bedienung und Beobachtung von Pro
zeß- und Produktionsanlagen, beispielsweise zur Darstellung
von leittechnischen Informationen wie Protokolle, Meldungen,
Datenbestände aus Datenbanken, und dergleichen gegeben.
Gemäß einem weiteren vorteilhaften Vorschlag der Erfindung
erfolgt die Visualisierung mittels eines Web-Browsers. Damit
wird ein Bedienen und Beobachten von Leitsystemen auf ein
fachste Art und Weise mit gängigen Web-Browsern, welche nahezu
für alle Hardware- und Software-Plattformen verfügbar sind,
ermöglicht. Der Umgang mit dem Leitsystem wird damit dem Be
nutzer weiter vereinfacht und bedienerfreundlicher.
Durch die Verwendung der Internet-Technologien wird das Be
dienen und Beobachten von Leitsystemen äußerst kostengünstig,
da einfache Rechner oder Terminals eingesetzt werden können
und nicht erst spezielle und teure Hardware zum Einsatz kom
men muß. Die im Bereich von Leitsystemen anfallenden Informa
tionen lassen sich dabei auch auf vielen unterschiedlichen
Hardware- und Softwareplattformen sogar gleichzeitig darstel
len, vorteilhafterweise nach Zugriffsbefugnissen gestaffelt.
Durch einen damit verbundenen geringem Administrations- und
Pflegeaufwand lassen sich weitere Kosten einsparen. Ferner
können die Anwender in ihrer gewohnten Umgebung, also bei
spielsweise von zu Hause aus Leitsysteme bedienen und beob
achten. Durch einen modularen Software-Aufbau lassen sich
darüber hinaus bereits bestehende Leitsysteme nach und nach
umrüsten bzw. ausstatten.
Gemäß einem weiteren besonders vorteilhaften Vorschlag der
Erfindung werden die Eingabe- und Anzeigeelemente vom Client-
Rechner generiert. Dadurch wird das Client-Server-Rechner-
Netzwerk weitestgehend entlastet und die Bearbeitungszeit zum
Generieten der Eingabe- und Anzeigeelemente ist im wesentli
chen nur noch abhängig von der Leistungsfähigkeit des Client-
Rechners. Dazu wird beispielsweise ein Datensatz vom Server
auf den Client übertragen, dort interpretiert und ausgeführt
und nach einer Verarbeitung durch den Benutzer, beispielswei
se durch eine Eingabe, zur Endverarbeitung an den Server zu
rückgeschickt. Das eigentliche Programm läuft somit auf dem
Client-Rechner. Gemäß einem weiteren vorteilhaften Vorschlag
der Erfindung werden die Eingabe- und Anzeigeelemente mittels
Java-Applets und/oder Java-Beans generiert. Java ist eine von
Sun Microsystems entwickelte Interpreter-Sprache, die ähnlich
strukturiert ist wie die objektorientierte Programmiersprache
C++. Java-Applets sind mit Java erstellte kleine Programme,
die in HTML-Seiten eingebaut und dort für interaktive Anwen
dungen genutzt werden können. HTML (HyperTextMarkupLanguages)
wurde speziell für die Internet-Technologie entwickelt und
ist die Basis des World Wide Web (WWW). Das HTML-Format be
schreibt die grafische Formatierung von Texten und die Ein
bindung von Bildern und Ereignissen. Mit HyperText wird die
Möglichkeit verstanden, über in einem Text enthaltene Quer
verweise an eine anderen Stelle in einem Text zu springen, im
World Wide Web konkret, eine andere Web-Seite im Internet zu
laden. Java-Beans sind Java-Komponenten, die noch leistungs
fähiger sind als Java-Applets, das heißt andere bzw. weitere
Möglichkeiten bieten.
Java selbst eröffnet umfangreiche Vorteile. So ist Java bei
spielsweise plattformneutral, einfach, sicher, schnell und
dynamisch. Die Schnelligkeit von Java beruht darauf, daß in
einem in Java entwickelten Applet zwei Technologien vereinigt
sind. Zum einen wird der Quellcode eines Programms zunächst
in den sogenannten Java-Byte-Code übersetzt. Anschließend
wird das so entstandene Applet von einem in gängigen Web-
Browsern vorhandenen Interpreter ausgeführt. Die im Applet
eingesetzten Bibliotheken zur Erzeugung von Text-, Grafik-
und Grafikkomponenten werden erst bei Ausführung des Pro
gramms, also zur Laufzeit ausgeführt, also auf dem jeweiligen
Client-Rechner.
Die mit Java und im Internet gegebenen Leistungsmerkmale las
sen sich so auf einfache und kostengünstige Art und Weise zum
Bedienen und Beobachten von Leitsystemen einsetzen.
Vorteilhafterweise umfassen die Eingabe- und Anzeigeelemente
mit einem weiteren Vorschlag der Erfindung Meldungen, Kurven
verläufe und/oder Systemgrafiken wie Anlagenbilder und der
gleichen.
Weitere Vorteile und Merkmale der Erfindung ergeben sich aus
der folgenden Beschreibung anhand von Beispielen. Dabei zei
gen:
Fig. 1 eine schematisierte Darstellung für eine Kommunikati
onsstruktur zwischen einzelnen Systemteilen;
Fig. 2 eine schematisierte Darstellung für den Aufbau eines
Applets, hier zur Visualisierung einer Systemgrafik;
Fig. 3 eine Darstellung eines Ausführungsbeispiels für Meldun
gen;
Fig. 4 eine Darstellung eines Ausführungsbeispiels für Kurven
verläufe und
Fig. 5 eine Darstellung eines Ausführungsbeispiels für eine
Systemgrafik.
Fig. 1 zeigt in einer schematisierten Darstellung die Kommuni
kationsstruktur zwischen den einzelnen Teilen des Systems,
die über TCP/IP-Verbindungen (Transmission Control Proto
col/Internet Protocol) durchgeführt wird. Die dabei verwende
ten Telegramme enthalten reine ASCII-Daten, die in den ein
zelnen Teilsystemen entsprechend interpretiert werden.
Die Kommunikationsarchitektur 1 umfaßt drei getrennte Schich
ten, einen Server 4 zur Anbindung an ein Leitsystem 2, hier
beispielsweise an SICALIS PMC WinCC oder SiiX der Firma Sie
mens, und andere, mittels entsprechender Adaptionsmodule 3,
einen Vermittler (Broker) 4, der seitens des Servers 4 be
reitgestellt und im weiteren auch Server genannt wird, sowie
einen Client 5 zum Generieren und Visualisieren von Eingabe-
und Anzeigeelementen durch Aufruf von sogenannten Methoden,
hier in Form von Kurvenbausteinen 6, Meldebausteinen 7 und
Systemgrafikbausteinen 8, die hier konkret in Form von Beans
vorliegen, so daß der Client 5 zur Appletanbindung dient.
Der Kommunikationsfluß zwischen den einzelnen Schichten wird
dabei folgendermaßen durchgeführt:
Von einer Komponente zum Viusalisieren von Eingabe- und An
zeigeelementen wird eine sogenannte Methode 9 in dem Client 5
aufgerufen, über die ein entsprechendes Telegramm 10 erzeugt
und versendet wird. Für diese Aufgabe stellt der Client 5
verschiedene Methoden zum Absetzen und Empfangen von Tele
grammen bereit, die zum Beispiel Anmeldung und Abmeldung ver
schiedener Bausteine zum Generieren von Eingabe- und Anzeige
elementen umfassen.
Diese Schnittstellen werden nachfolgend noch näher beschrie
ben:
Die Methode sendTelegram versendet ein Telegramm, welches von
einer Datenquelle erzeugt wurde. Telegramme die über diese
Schnittstelle versandt werden, erwarten stets eine Antwort
refuse oder accept.
Die Methode sendLastTelegram versendet ein Telegramm, auf das
keine Antwort von seiten der Datenquelle erwartet wird, z. B.
das Telegramm zum Abmelden von Variablen.
Die Methode maketJniqueID dient dazu, eine neue Client-ID zu
erhalten, die dann bei den einzelnen Aufträgen mit übergeben
werden kann. Die Methode benötigt keine Eingabeparameter. Als
Rückgabeparameter wird eine Client-ID als String zurückgelie
fert.
Zur Darstellung des Kommunikationsflusses wird im weiteren
beispielhaft die Variablenanmeldung zur Visualisierung einer
Systemgrafik, also beispielsweise eines Prozeßbildes, erläu
tert:
Der Client 5 und der Systemgrafikbaustein 8 laufen dabei in
einem Java-Applet ab. Dadurch wird hier keine TCP/IP-Ver
bindung benötigt. Der Client 5 baut nach Aufruf der entspre
chenden Methode 9 das zugehörige Telegramm 10 zusammen. Das
Telegramm 10 wird vom Client 5 automatisch um eine sogenannte
Client-ID erweitert, die einen String darstellt. Hierüber ist
eine eindeutige Kennzeichnung des Anmeldeauftrags über diese
TCP/IP-Verbindung gegeben. Die Client-ID wird dabei für spä
tere, diesen Anmeldeauftrag betreffende Aktionen verwendet.
Das so generierte Telegramm 10 wird vom Client 5 an den Ser
ver 4, über eine TCP/IP-Verbindung verschickt. Der Server 4
überprüft beim Eintreffen des Telegramms 10, ob bereits eine
Anmeldung für diesen Baustein 8 vorliegt. Ist dies nicht der
Fall, so wird für diesen Auftrag eine neue ID-Nummer im Ser
ver 4 vergeben, die sogenannte Broker-ID, über die dann die
Anmeldung dieses Bausteins 8 verwaltet wird. In dem eingelau
fenen Telegramm 10 wird nun die Client-ID durch die Broker-ID
ersetzt und der Auftrag 14 an das entsprechende Adaptionsmo
dul 3 weitergeleitet. Falls für diesen Baustein bereits eine
Anmeldung von einem anderen Client vorliegt, wird kein Tele
gramm an das Adaptionsmodul 3 weitergeleitet, sondern es wird
direkt ein Telegramm 12, eine sogenannte positive Quittung an
den Client 5 mit der Client-ID zurückgeliefert.
Das Adaptionsmodul 3 bearbeitet die Anmeldung 14 für den BaLt
stein 8 und schickt ein positives oder negatives Quittungste
legramm 13 an den Server 4 zurück. In diesem Telegramm 13 ist
wiederum die Broker-ID enthalten, die im eingelaufenen Tele
gramm 14 enthalten war.
Über diese Broker-ID kann der Server 4 den Auftrag einem be
stimmten Client beziehungsweise einer bestimmten Client-ID
zuordnen. In dem eingelaufenen Antworttelegramm 13 wird nun
die Broker-ID durch die Client-ID ersetzt und das Antwortte
legramm 12 an den Client 5 weitergeleitet. Je nach positiver
oder negativer Quittung wird vom Client 5 die entsprechende
Methode in dem jeweiligen Baustein 8 aufgerufen, hier darge
stellt durch den mit 15 gekennzeichneten Pfeil, wo dann die
eigentliche Bearbeitung stattfindet. Diese Methoden sind oben
bereits vorher ausgeführt.
Ferner wird innerhalb des Clients 5 über unterschiedliche Me
thoden eine Fehlerbehandlung abgewickelt. Darunter gehört zum
einen, daß die TCP/IP-Verbindung zum Server 4 orndungsgemäß
geschlossen wurde, zum anderen Fehler die bei der Benutzung
der TCP/IP-Verbindung auftreten.
Hierzu werden die beiden folgenden Methoden verwendet, die
automatisch vom Client 5 aufgerufen werden:
Die Methode TCP closed wird beim ordnungsgemäßen Schließen
der TCP/IP-Verbindung im Client aufgerufen. Die Methode benö
tigt die folgenden Parameter:
TCPConnection: Die TCP/IP-Verbindung, die geschlossen wurde.
TCPConnection: Die TCP/IP-Verbindung, die geschlossen wurde.
Die Methode TCP error wird bei einem Fehler der TCP/IP-
Verbindung im Client aufgerufen. In der Methode wird die feh
lerhafte TCP/IP-Verbindung geschlossen. Die Methode benötigt
die folgenden Parameter:
TCPConnection: die TCP/IP-Verbindung, die einen Fehler verursacht hat
TCPException: die erzeugte Exception, die einen Hinweis auf den Fehler enthält.
TCPConnection: die TCP/IP-Verbindung, die einen Fehler verursacht hat
TCPException: die erzeugte Exception, die einen Hinweis auf den Fehler enthält.
Desweiteren kann der Client 5 über verschiedene Parameter an
spezielle Erfordernisse angepaßt werden, die bestimmte Eigen
schaften des Clients 5 berücksichtigen.
Folgende Parameter können verwendet werden:
DebugMode: dient zum Steuern des Debug-Modus im Client. Ist der Debug-Modus eingeschaltet, werden Meldungen auf die Console im Web-Browser ausgegeben.
TCPBuffer: die Größe des TCP/IP-Puffers, die der Client verwendet. Die Größe liegt beispielsweise zwischen 4 Kbyte und 64 Kbyte.
DebugMode: dient zum Steuern des Debug-Modus im Client. Ist der Debug-Modus eingeschaltet, werden Meldungen auf die Console im Web-Browser ausgegeben.
TCPBuffer: die Größe des TCP/IP-Puffers, die der Client verwendet. Die Größe liegt beispielsweise zwischen 4 Kbyte und 64 Kbyte.
Während der Client 5 einen Zugriff auf verschiedene Methoden
durch die Bausteine 6, 7 und 8 ermöglicht, bietet der Server
4 keine öffentlichen Methoden zum Zugriff an, da ein Zugriff
nur über den Client 5 und das Adaptionsmodul 3 stattfinden
soll. Der Kurvenbaustein 6, der Meldebaustein 7 und der Sy
stemgrafikbaustein 8 können somit nicht direkt auf die Metho
den des Servers 4 zugreifen.
Ebenso wie der Client 5 kann der Server 4 über verschiedene
Parameter und spezielle Erfordernisse angepaßt werden. Die
Parameter werden beim Start des Servers 4 beispielsweise über
die Kommandozeile eingegeben.
Folgende Parameter können verwendet werden:
Port: dient zur Auswahl des Serversockets.
Port: dient zur Auswahl des Serversockets.
Eine Fehlerbehandlung wird vom Server 4 selbstständig durch
geführt. Dabei können unterschiedliche Fehlerfälle, insbeson
dere bezüglich der Verbindungen abgefangen werden.
Folgende Fehler können verwendet werden:
- - Verbindungszusammenbruch zu einem Client
Im Falle des Zusammenbruchs der TCP/IP-Verbindung zu einem Client werden vom Server die von diesem Client angemeldeten Variablen bei den zugehörigen Adaptionsmodul abgemeldet. - - Verbindungszusammenbruch zu einem Adaptionsmodul
Bricht die TCP/IP-Verbindung zu einem Adaptionsmodul zusam men, werden alle Clients, die Variablen von diesem Adapt be ziehen, über den Zusammenbruch der Verbindung informiert. Hierzu verschickt der Server an diese Clients ein shutdown- Telegramm. Der Client ist dann für die weitere Bearbeitung dieser Fehlermeldung zuständig. - - Fehlerhafter Verbindungsaufbau zu einem Adaptionsmodul
Tritt ein Fehler bei einem Verbindungsaufbau zu einem Adap tionsmodul auf, so wird zunächst an den anfordernden Client vom Server ein refuse-Telegramm abgesendet. Der Client kann bei Erhalt des refuse-Telegramms geeignete Maßnahmen einlei ten.
Die Adaptionsmodule 3 sind für die Anbindung an ein speziel
les Leitsystem 2 verantwortlich. Hierzu muß das Adaptionsmo
dul 3 die über eine TCP/IP-Verbindung eintreffenden Telegram
me 14 vom Server 4 in entsprechende Befehle an das Leitsystem
2 umsetzen. Die Telegramme 14 die vom Adaptionsmodul 3 zu
verarbeiten sind, umfassen dabei beispielsweise eine Fehler
behandlung hinsichtlich der Verbindung zum Server 4 bzw. zum
Leitsystem 2.
Dabei hat das Adaptionsmodul 3 beispielsweise folgende Fälle
zu berücksichtigen:
- - Ordnungsgemäßes Herunterfahren des Adaptionsmoduls
Wird das Adaptionsmodul heruntergefahren, so wird ein shut- down-Telegramm an alle angeschlossenen Server verschickt. Die Server können dieses Telegramm an die entsprechenden Clients weiterleiten. - - TCP/IP-Verbindungsabbruch zu einem Server
Die Adaptionsmodule sind dafür zuständig, alle Anmeldungen, die von dem gestörten Server durchgeführt worden sind, über Abmeldungen an das Leitsystem zu beenden. Telegramme, die vom Leitsystem an den gestörten Server verschickt werden, können von den Adaptionsmodulen verworfen werden. - - Fehler bei der Auftragsausführung beim Leitsystem
Die Adaptionsmodule können Telegramme, die von einem Server eintreffen, mit einer negativen Quittung (refuse-Telegramm) zurückschicken. - - Ordnungsgemäßes Herunterfahren des Leitsystems
Wird das Leitsystem heruntergefahren, so wird ein shutdown- Telegramm an alle angeschlossenen Server verschickt. Die Server können dieses Telegramm an die entsprechenden Clients weiterleiten.
Das Adaptionsmodul 3 selbst bietet keine öffentlichen Metho
den zum Zugriff an, da ein Zugriff nur über den Server 4
stattfindet. Die Komponenten bzw. Bausteine 6, 7 und 8 zum
Visualisieren von Eingabe- und Anzeigeelementen greifen somit
nicht direkt auf die Methoden des Servers 4 zu.
Das Adaptionsmodul 3 kann über verschiedene Parameter einge
stellt werden, die beispielsweise als Komandozeilenparameter
beim Starten des Adaptionsmoduls 3 eingegeben werden. Die Pa
rameter sind dabei leitsystemspezifisch.
Über ein Quittungstelegramm 13 bestätigt das Adaptionsmodul 3
dem Server 4 den Methodenaufruf und liefert entsprechende Da
ten zurück.
Die vom System verwendeten Telegramme werden aus einzelnen
Parametern zusammengesetzt, die beispielsweise alle durch
Trennzeichen voneinander getrennt sind. Die Parameter werden
grundsätzlich als ASCII-Zeichenketten übertragen. Das Tele
gramm muß mit einem Endzeichen, beispielsweise mit einem "\n"
enden. Die Telegramme werden zwischen einem Client 5, einem
Server 4 und einem Adaptionsmodul 3 ausgetauscht.
Ein Telegramm kann sich dabei wie folgt aufbauen:
version:
Telegramm Version "V1.0"
RQID:
Request Identifikator
Telegramm Version "V1.0"
RQID:
Request Identifikator
IID:
Die Auftragskennung spezifiziert den Auftrag, den der Empfänger des Telegramms auszuführen hat.
startVarUpdate: Variablenaktualisierung
starten:
stopVarUpdate: Variablenaktualisierung
stoppen:
startMsgUpdate: Meldungsaktualisierung star ten
stopMsgUpdate: Meldungsaktualisierung stop pen
getVarArchiv: Lesen eines Variablenarchivs
getMsgArchiv: Lesen eines Meldungsarchivs
setVar: Schreiben einer Variablen
getVar: Einmaliges Lesen einer Va riablen
setMsg: Meldungsbedienung
accept: Positive Quittung
refuse: Negative Quittung
shutdown: Das System wurde beendet
newVar: neuer Variablenwert
newMsg: neuer Meldungssatz
stop: Ende einer Telegrammfolge
login: Anmeldung eines Clients beim Server
acceptlogin: Anmeldung abgelehnt
refuselogin: Ablehnung einer Anmel dung
Die Auftragskennung spezifiziert den Auftrag, den der Empfänger des Telegramms auszuführen hat.
startVarUpdate: Variablenaktualisierung
starten:
stopVarUpdate: Variablenaktualisierung
stoppen:
startMsgUpdate: Meldungsaktualisierung star ten
stopMsgUpdate: Meldungsaktualisierung stop pen
getVarArchiv: Lesen eines Variablenarchivs
getMsgArchiv: Lesen eines Meldungsarchivs
setVar: Schreiben einer Variablen
getVar: Einmaliges Lesen einer Va riablen
setMsg: Meldungsbedienung
accept: Positive Quittung
refuse: Negative Quittung
shutdown: Das System wurde beendet
newVar: neuer Variablenwert
newMsg: neuer Meldungssatz
stop: Ende einer Telegrammfolge
login: Anmeldung eines Clients beim Server
acceptlogin: Anmeldung abgelehnt
refuselogin: Ablehnung einer Anmel dung
data: Der Aufbau der Daten ist abhängig von der Auf
tragskennung. Der genaue Aufbau ist der jeweili
gen Auftragsbeschreibung zu entnehmen.
Die Darstellung von Datum bzw. Uhrzeit erfolgt in den Tele
grammen als Zeichenkette. Das Datum und die Uhrzeit repräsen
tieren die sogenannte GMT-Zeit. Die Darstellung erfolgt bei
spielsweise mit folgendem Format:
Tag.Monat.Jahr-Stunde:Minute:Sekunde:Millisekunden
Die einzelnen Aufträge bzw. Auftragstelegramme können dabei
wie folgt aufbaut sein.
Der Auftrag dient dazu, eine Variable zur Aktualisierung an
zumelden. Die angemeldete Variable wird aus dem aktuellen
Prozeßabbild des angesprochenen Leitsystems gelesen.
version: Telegrammversion
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = startVarUpdate
host: Name des Rechners, auf dem sich das angespro chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein
variable: Name der Variable, die aktualisiert werden soll. Die Syntax des Variablennamens ist sy stemabhängig.
cycletime:
0 spontane Aktualisierung
<0 Zykluszeit in ms
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = startVarUpdate
host: Name des Rechners, auf dem sich das angespro chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein
variable: Name der Variable, die aktualisiert werden soll. Die Syntax des Variablennamens ist sy stemabhängig.
cycletime:
0 spontane Aktualisierung
<0 Zykluszeit in ms
Der Auftrag dient dazu, eine angemeldete Variable wieder von
der Aktualisierung abzumelden.
version: Telegrammversion
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = stopVarUpdate
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = stopVarUpdate
Der Auftrag dient dazu, sich für den Empfang von aktuellen
Meldungen anzumelden.
version: Telegrammversion
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = startMsgUpd
host: Name des Rechners, auf dem sich das angesprochene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
info: Die Zeichenkette beinhaltet systemspezifische Zusatzinformationen, die durch das angespro chene Leitsystem ausgewertet werden. Bei dem Leitsystem besteht dieser Parameter aus dem Formatnamen, mit dem der Meldetext aufberei tet werden soll.
cycleTime: Dieser Parameter ist im Normalfall auf 0 (spontane Aktualisierung) zu setzen. Nur bei Meldesystemen die auf eine Datenbank basie ren, ist es unter Umständen notwendig, die Daten zyklisch abzufragen.
0 spontane Aktualisierung
<0 Zykluszeit in ms
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = startMsgUpd
host: Name des Rechners, auf dem sich das angesprochene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
info: Die Zeichenkette beinhaltet systemspezifische Zusatzinformationen, die durch das angespro chene Leitsystem ausgewertet werden. Bei dem Leitsystem besteht dieser Parameter aus dem Formatnamen, mit dem der Meldetext aufberei tet werden soll.
cycleTime: Dieser Parameter ist im Normalfall auf 0 (spontane Aktualisierung) zu setzen. Nur bei Meldesystemen die auf eine Datenbank basie ren, ist es unter Umständen notwendig, die Daten zyklisch abzufragen.
0 spontane Aktualisierung
<0 Zykluszeit in ms
Der Auftrag dient dazu, die Meldesystemanmeldung zu beenden.
version: Telegrammversion
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = stopMsgUpdate
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = stopMsgUpdate
Der Auftrag dient dazu, Variablen aus dem Archiv zu lesen.
version/RQID/IID/host/variable/archiv/filter
version: Telegrammversion
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = getVarArchiv
host: Name des Rechners, auf dem sich das angespro chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
variable: Name der Variable, die gelesen werden soll. Die Syntax des Variablennamens ist systemab hängig.
archiv: Der Archivname ist nur bei Datenbankorien tierten Leitsystemen relevant. Der Syntax dE Archivnamens ist Systemabhängig. Wird der P rameter nicht verwendet, so ist dort "unused" einzutragen
filter: SQL Statement zur Filterung von Datensätzen aus dem Archiv. Wird kein Filter verwendet., ist "unused" einzutragen.
Syntax:
where DATE {<, = , <, < = , < = } 'tag.monat.jahr. stunde:minute:sekunde.millisekunde' [AND DATE . . . . . . . .]
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = getVarArchiv
host: Name des Rechners, auf dem sich das angespro chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
variable: Name der Variable, die gelesen werden soll. Die Syntax des Variablennamens ist systemab hängig.
archiv: Der Archivname ist nur bei Datenbankorien tierten Leitsystemen relevant. Der Syntax dE Archivnamens ist Systemabhängig. Wird der P rameter nicht verwendet, so ist dort "unused" einzutragen
filter: SQL Statement zur Filterung von Datensätzen aus dem Archiv. Wird kein Filter verwendet., ist "unused" einzutragen.
Syntax:
where DATE {<, = , <, < = , < = } 'tag.monat.jahr. stunde:minute:sekunde.millisekunde' [AND DATE . . . . . . . .]
Der Auftrag dient dazu, Meldungen aus dem Archiv zu lesen.
version/RQID/IID/host/variable/archiv/filter
version: Telegrammversion
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = getMsgArchiv
host: Name des Rechners, auf dem sich das angespro chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
info: Die Zeichenkette beinhaltet systemspezifische Zusatzinformationen, die durch das angespro chene Leitsystem ausgewertet werden. Bei cle Leitsystem besteht dieser Parameter aus dem Formatnamen, mit dem der Meldetext aufberei tet werden soll.
archiv: Der Archivname ist nur bei Datenbankorien tierten Leitsystemen relevant. Der Syntax des Archivnamens ist systemabhängig. Wird der P rameter nicht verwendet, so ist dort "unused einzutragen
filter: SQL Statement zur Filterung von Datensätzen aus dem Archiv
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = getMsgArchiv
host: Name des Rechners, auf dem sich das angespro chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
info: Die Zeichenkette beinhaltet systemspezifische Zusatzinformationen, die durch das angespro chene Leitsystem ausgewertet werden. Bei cle Leitsystem besteht dieser Parameter aus dem Formatnamen, mit dem der Meldetext aufberei tet werden soll.
archiv: Der Archivname ist nur bei Datenbankorien tierten Leitsystemen relevant. Der Syntax des Archivnamens ist systemabhängig. Wird der P rameter nicht verwendet, so ist dort "unused einzutragen
filter: SQL Statement zur Filterung von Datensätzen aus dem Archiv
Dieser Auftrag verändert einen Variablenwert im Prozeßabbild.
version/RQID/IID/host/variable/value/user
version: Telegrammversion
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = setVar
host: Name des Rechners, auf dem sich das angespr chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
variable: Name der Variablen die verändert werden soll. Die Syntax des Variablennamens ist systemab hängig.
value: Der Archivname ist nur bei Datenbankorien tierten Leitsystemen relevant. Der Syntax des Archivnamens ist Systemabhängig. Wird der Pa rameter nicht verwendet, so ist dort "unused" einzutragen.
user: Der Name des Benutzers, der die Bedienung durchgeführt hat.
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = setVar
host: Name des Rechners, auf dem sich das angespr chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
variable: Name der Variablen die verändert werden soll. Die Syntax des Variablennamens ist systemab hängig.
value: Der Archivname ist nur bei Datenbankorien tierten Leitsystemen relevant. Der Syntax des Archivnamens ist Systemabhängig. Wird der Pa rameter nicht verwendet, so ist dort "unused" einzutragen.
user: Der Name des Benutzers, der die Bedienung durchgeführt hat.
Dieser Auftrag dient dazu, den Wert einer Variablen einmalig
zu lesen.
version/RQID/IID/host/variable
version: Telegrammversion
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = getVar
host: Name des Rechners, auf dem sich das angespro chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
variable: Name der Variablen die gelesen werden soll. Die Syntax des Variablennamens ist systemab hängig.
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = getVar
host: Name des Rechners, auf dem sich das angespro chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
variable: Name der Variablen die gelesen werden soll. Die Syntax des Variablennamens ist systemab hängig.
Der Auftrag dient zur Bedienung einer Meldung, das heißt es
können Meldungen quittiert, gelöscht, und kommentiert werden.
version/RQID/IID/host/message/function/value/user
version: Telegrammversion
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = setMsg
host: Name des Rechners, auf dem sich das angespro chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
message: Eindeutige Nummer der Meldung. Wird durch die Leitsysteme unterschiedlich behandelt.
time: Datum/Uhrzeit der Meldungserzeugung
class: Meldungsklasse
state: Meldungsstatus function:
Funktion der Bedienung:
acknowledge (Meldung quittieren)
delete (Meldung löschen)
comment (Meldung kommentieren)
value: Zusatzparameter zur Funktion. Der Parameter ist zur Zeit nur bei der Funktion "Meldung kommentieren" relevant. Hier wird der Kommer tar mit übertragen.
user: Der Name des Benutzers, der die Bedienung durchgeführt hat.
RQID: Request-Id des auslösenden Auftrags
IID: Auftragskennung = setMsg
host: Name des Rechners, auf dem sich das angespro chene Leitsystem befindet. Der Name muß auf dem Rechner des Servers bekannt sein.
message: Eindeutige Nummer der Meldung. Wird durch die Leitsysteme unterschiedlich behandelt.
time: Datum/Uhrzeit der Meldungserzeugung
class: Meldungsklasse
state: Meldungsstatus function:
Funktion der Bedienung:
acknowledge (Meldung quittieren)
delete (Meldung löschen)
comment (Meldung kommentieren)
value: Zusatzparameter zur Funktion. Der Parameter ist zur Zeit nur bei der Funktion "Meldung kommentieren" relevant. Hier wird der Kommer tar mit übertragen.
user: Der Name des Benutzers, der die Bedienung durchgeführt hat.
Als Quittungstelegramme können positive, negative als auch
Fehlermeldungen und dergleichen verwendet werden.
Folgende Quittungstelegramme können dabei wie folgt aufgebaut
sein:
Der Auftrag dient dazu, einen Request positiv zu Quittieren.
version/RQID/IID
version: Telegrammversion
RQID: Spiegelung der Request-Id des auslösenden Auftrags
lID: Auftragskennung = accept
RQID: Spiegelung der Request-Id des auslösenden Auftrags
lID: Auftragskennung = accept
Der Auftrag dient dazu, einen Request negativ zu Quittieren.
version/RQID/IID/refuseID/description
version: Telegrammversion
RQID: Spiegelung der Request-Id des auslösenden Auftrags
IID: Auftragskennung = refuse
refuseID: Nummer, die den Grund der Ablehnung be schreibt
description: Zusatztext, der den Grund der Ablehnung be schreibt
RQID: Spiegelung der Request-Id des auslösenden Auftrags
IID: Auftragskennung = refuse
refuseID: Nummer, die den Grund der Ablehnung be schreibt
description: Zusatztext, der den Grund der Ablehnung be schreibt
Das Telegramm dient zur Übertragung von Variablendatensätzen.
Je nach Anmeldung handelt es sich hierbei um aktuelle Werte
aus dem Prozeßabbild oder um Archivwerte.
version/RQID/IID/value/time/state
version: Telegrammversion
RQID: Spiegelung der Request-Id des auslösenden Auftrags
IID: Auftragskennung = refuse
value: Neuer Wert der Variablen. Zahlenwerte werden grundsätzlich als konvertierter Double-Wert übertragen.
time: Zeitstempel des zugehörigen Y-Wertes. Der Zeitwert erfolgt in der Darstellung. tag.monat.jahr-stunde:minute:sekunde.milli sekunde
state: Status der Variablen
RQID: Spiegelung der Request-Id des auslösenden Auftrags
IID: Auftragskennung = refuse
value: Neuer Wert der Variablen. Zahlenwerte werden grundsätzlich als konvertierter Double-Wert übertragen.
time: Zeitstempel des zugehörigen Y-Wertes. Der Zeitwert erfolgt in der Darstellung. tag.monat.jahr-stunde:minute:sekunde.milli sekunde
state: Status der Variablen
Das Telegramm dient zur Übertragung von Meldungsdatensätzen.
Je nach Anmeldung handelt es sich hierbei um aktuelle Meldun
gen oder um Archivmeldungen.
version/RQID/IID/message/time/class/state/string/comment/bgco
lor/fgcolor/bold/italic/underline
version: Telegrammversion
RQID: Spiegelung der Request-Id des auslösenden Auftrags
IID: Auftragskennung = newMsg
message: Eindeutige Nummer der Meldung. Wird durch die Leitsysteme unterschiedlich behandelt.
time: Datum/Uhrzeit der Meldungserzeugung
class: Meldungsklasse
state: Meldungsstatus
string: Klartext der Meldung
comment: Meldungskommentar
bgcolor: Hintergrundfarbe der Meldung als RGB-Wert (zum Beispiel 255.255.255)
fgcolor: Vordergrundfarbe der Meldung als RGB-Wert (z. B. 0.0.0)
bold: Text fett darstellen. 0 = Nein; 1 = Ja.
italic: Text schräg darstellen. 0 = Nein; 1 = Ja.
underline: Text unterstrichen darstellen. 0 = Nein; 1 = Ja.
RQID: Spiegelung der Request-Id des auslösenden Auftrags
IID: Auftragskennung = newMsg
message: Eindeutige Nummer der Meldung. Wird durch die Leitsysteme unterschiedlich behandelt.
time: Datum/Uhrzeit der Meldungserzeugung
class: Meldungsklasse
state: Meldungsstatus
string: Klartext der Meldung
comment: Meldungskommentar
bgcolor: Hintergrundfarbe der Meldung als RGB-Wert (zum Beispiel 255.255.255)
fgcolor: Vordergrundfarbe der Meldung als RGB-Wert (z. B. 0.0.0)
bold: Text fett darstellen. 0 = Nein; 1 = Ja.
italic: Text schräg darstellen. 0 = Nein; 1 = Ja.
underline: Text unterstrichen darstellen. 0 = Nein; 1 = Ja.
Der Auftrag dient dazu, den Client darüber zu informieren,
daß sich eine Komponente beendet hat.
version/RQID/IID/shutdownlD/description
version: Telegrammversion
RQID: Spiegelung der Request-Id des auslösenden Auftrags
IID: Auftragskennung = shutdown
shutdownID: Nummer, die den Grund des Shutdowns be schreibt
description: Zusatztext, der den Grund des Shutdowns be schreibt
RQID: Spiegelung der Request-Id des auslösenden Auftrags
IID: Auftragskennung = shutdown
shutdownID: Nummer, die den Grund des Shutdowns be schreibt
description: Zusatztext, der den Grund des Shutdowns be schreibt
Das "stop" Telegramm kennzeichnet das Ende einer Telegrammse
quenz.
version/RQID/IID
version: Telegrammversion
RQID Spiegelung der Request-Id des auslösenden Auftrags
IID: Auftragskennung = stop
RQID Spiegelung der Request-Id des auslösenden Auftrags
IID: Auftragskennung = stop
Über das "login" Telegram versucht ein Client sich beim Ser
ver anzumelden.
version/RQID/IID
version: Telegrammversion
RQID: Login ID = FFFFFFFF IID; Auftragskennung = login
RQID: Login ID = FFFFFFFF IID; Auftragskennung = login
Über das "acceptlogin" Telegram bestätigt der Server die An
meldung eines Clients und weist ihm eine ID zu.
version/RQID/IID/clientid
version: Telegrammversion
RQID: unused
IID: Auftragskennung = acceptlogin
clientid; ID, die der Server seinen Clients zuweist
RQID: unused
IID: Auftragskennung = acceptlogin
clientid; ID, die der Server seinen Clients zuweist
Über das "refuselogin" Telegram meldet der Server, daß eine
Anmeldung nicht akzeptiert wurde.
version/RQID/IID/description
version: Telegrammversion
RQID: unused
IID: Auftragskennung = acceptlogin
clientid: ID, die der Server seinen Clients zuweist
description: Beschreibung der Ablehnung
RQID: unused
IID: Auftragskennung = acceptlogin
clientid: ID, die der Server seinen Clients zuweist
description: Beschreibung der Ablehnung
Der Zugriff auf einzelne Bausteine 6, 7 und 8 zum Generieren
von Eingabe- und Anzeigeelementen besteht aus drei einzelnen
Phasen:
- 1. Anmeldung für die Prozeßvariable über den Auftrag, bei spielsweise startVarUpdate
- 2. Information des Clients über neue Werte des Bausteins, beispielsweise mit dem Auftrag newVar
- 3. Abmeldung für den Baustein, beispielsweise über den Auf trag stopVarUpdate
- 4. Die einzelnen Phasen können dabei wie folgt dargestellt wer den:
Zur Visualisierung von Kurven mit dem Kurvenbaustein 6 erhält
dieser Daten über aktuelle oder archtivierte Prozeßdaten. Je
nach der Art der Prozeßdaten, also aktuelle oder archivierte,
werden unterschiedliche Aufträge verwendet. Die Aufträge zur
Anforderung von aktuellen Kurvendaten besteht dabei aus drei
einzelnen Phasen:
- 1. Anmeldung für die Prozeßvariable, beispielsweise über den Auftrag startTagLog.
- 2. Informationen des Clients über neue Werte der Prozeßvaria ble, beispielsweise mit dem Auftrag newVar.
- 3. Abmeldung für die Prozeßvariable, beispielsweise über den Auftrag stopTagLog.
Die einzelnen Phasen mit den dazugehörigen Aufträgen sehen
dabei wie folgt aus:
Der Zugriff auf Prozeßvariablen zur Visualisierung von Kur
venverläufen mit archivierten Daten besteht ebenfalls aus
drei Phasen:
- 1. Die Anmeldung für die Prozeßvariable, beispielsweise über den Auftrag getTagArch.
- 2. Informationen des Clients über neue Werte der Prozeßvaria ble, beispielsweise mit dem Auftrag newTag.
- 3. Automatische Abmeldung für die Prozeßvariable, beispiels weise nach stop.
Die einzelnen Phasen mit den dazugehörigen Aufträgen sehen
dabei wie folgt aus:
Zur Visualisierung von aktuellen oder archivierten Meldungen
werden unterschiedliche Aufträge verwendet.
Der Zugriff auf aktuelle Meldungen einer Prozeßvariable be
steht aus drei einzelnen Phasen:
- 1. Anmeldung für Meldungen der Prozeßvariable, beispielsweise über den Auftrag startMsgLog.
- 2. Information des Clients über neue Meldungen der Prozeßva riable, beispielsweise mit dem Auftrag newMsg.
- 3. Abmeldung für Meldungen der Prozeßvariablen, beispielswei se über den Auftrag stopMsgLog.
Die einzelnen Phasen mit den dazugehörigen Aufträgen sehen
dabei wie folgt aus:
Der Zugriff auf archivierte Meldungen einer Prozeßvariable
besteht aus drei einzelnen Phasen:
- 1. Anmeldung für die Prozeßvariable, beispielsweise über den Auftrag getMsgArch.
- 2. Information des Clients über die einzelnen archvierten Meldungen der Prozeßvariable, beispielsweise mit dem Auf trag newMsg.
- 3. Abmeldung für die Prozeßvariable, beispielsweise über den Auftrag stop.
Die einzelnen Phasen mit den zugehörigen Aufträgen sehen da
bei wie folgt aus:
Zur Visualisierung von Meldungen bietet das System zwei un
terschiedliche Ausprägungen von sogenannten Meldefenstern an,
ein sogenanntes aktuelles Meldefenster und ein sogenanntes
selektiertes Meldefenster.
Das aktuelle Meldefenster stellt die aktuell einlaufenden
Meldungen in zeitlich richtiger Reihenfolge dar. Das aktuelle
Meldefenster kann mit parametrierbaren Filtern auf die jewei
lige Anwendung angepaßt werden. Meldungen die ihren Zustand än
dern, werden in dem jeweiligen Anzeigeelement aktualisiert
bzw. gelöscht.
In dem sogenannten selektierten Meldefenster werden Meldungen
aus einem Meldungsarchiv in zeitlich richtiger Reihenfolge
dargestellt. Aus dem selektierten Meldefenster können Mel
dungsbedienungen durchgeführt werden, beispielsweise Einzel-
und Sammelquittierung, Kommentieren von Meldungen, Anzeigen
und Ändern von Info-Texten, Bildanwahl, Meldungen löschen,
Selektion einstellen. Ein Meldungsaufbau kann dabei wie folgt
aussehen, (vgl. auch den in Fig. 3 in den einzelnen Zeilen
von links nach rechts dargestellten Meldungsaufbau):
Datum/Zeit Meldungsbeginn, Anlagen kennzeichnen, Meldungs
klasse, Meldungszustand, Meldungstext, Meldungsnummer, Mel
dungsdauer und Prozeßwert.
Dabei können verschiedene Meldungszustände und Meldungsklas
sen farblich gekennzeichnet werden.
Mit dem Kurvenbaustein werden archivierte Prozeßwerte und
Prozeßwerte aus Systemgrafiken grafisch in einer Kurvenform
dargestellt. Dazu bietet der Kurvenbaustein beispielsweise
folgende Funktionalität:
- - Darstellung einer beliebigen Anzahl von Kurven
- - Kurvendarstellung mit unterschiedlichen Farben, Linienarten und Füllmustern
- - Darstellung der Kurven als Polygonzug, Treppenkurve und Einzelpunkte
- - Y-Achsen getrennt für jede Kurve oder für mehrere Kurven gleichzeitig mit automatischer oder manueller Skalierung und Beschriftung
- - Eine X-Achse mit Skalierung und Beschriftung, wahlweise als Zeit- oder Wertachse
- - Scrollen von statischen Kurven, falls deren Umfang den Dar stellungsbereich überschreitet, getrennt für alle Achsen.
- - Dynamische Vergabe von Farbwerten für einzelne Kurven, z. B. um bei Grenzwertverletzungen die Kurvenfarbe wechseln zu können.
- - Anzeige der Kurvenwerte mittels Lineal.
- - Vergrößerung (Zoomen) von Ausschnitten
- - Überlagerung des Kurvenbereichs mit einem Raster
- - Einblenden einier Legende mit zusätzlicher Information
- - Bildung von Summenkurven
- - Online Ändern von Parameter.
Der Systemgrafikbaustein 8 dient einerseits zur Anzeige aktu
eller Leitsystemdaten, beispielsweise Prozeßdaten aus Prozeß
abbildern, und andererseits zur Eingabe von neuen Leitsystem
werten. So wird beispielsweise die Visualisierung eines Anla
genbilds über ein einzelnes Java-Applet durchgeführt. Das Ja
va-Applet enthält visuelle und nichtvisuelle Java-Komponen
ten, die über bestimmt Eigenschaften parametriert werden. Ei
ne zusätzliche Parametrierung des Java-Applets ist nicht not
wendig.
Die visuellen Komponenten des Java-Applets werden zur Dar
stellung von grafischen Grundelementen wie Linien, Kreisen,
Rechtecken und dergleichen, Grafiken und Bedienelementen wie
Schaltflächen und dergleichen verwendet. Die nichtvisuellen
Komponenten dienen zur Anbindung an bestimmte im jeweiligen
Leitsystem gegebene Prozeßvariable.
Die Kommunikation zwischen den einzelnen Komponenten wird
über sogenannte Java-Events gesteuert.
Die Netzwerkanbindung an den Server 4 wird über den Client 5
realisiert. Dabei ist eine entsprechende Client-Komponente in
dem jeweilen Applet eingebettet.
Fig. 2 ist die Architektur eines Java-Applets zur Visualisie
rung einer Systemgrafik, beispielsweise eines Anlagenbildes
dargestellt. Ein Ausführungsbeispiel eines solchen Anlagen
bildes zeigt Fig. 5. Die TCP/IP-Verbindung zum Server 4 ist in
Fig. 2 durch den mit 11 gekennzeichneten Pfeil dargestellt.
Die nichtvisuellen Komponenten dienen zur Anbindung des Anla
genbildes an die Prozeßvariablen eines Leitsystems. Dabei ist
zu unterscheiden zwischen Elementen bzw. Komponenten zur Aus
gabe von Variablenwerten aus dem Leitsystem und Elementen
bzw. Komponenten zur Eingabe von Variablenwerten in das Leit
system.
Die einzelnen Elemente bzw. Komponenten verfügen über ein
heitliche Schnittstellen, die für die Verkettung von einzel
nen nichtvisuellen Komponenten ausgelegt sind. Somit können
mehrere nichtvisuelle Ausgabekomponenten zu einer Verarbei
tungskette zusammengeschlossen werden. Jede Komponente be
sitzt einen internen Zustand, der beispielsweise als Double
wert verwaltet wird. Über die einzelnen Methoden kann auf
diesen internen Zustand lesend und schreibend zugegriffen
werden. Für jede nichtvisuelle Komponente muß der Name der
jeweiligen Prozeßvariable und der jeweilige Rechnername, auf
dem sich das zugehörige Leitsystem befindet, angegeben wer
den. Die nichtvisuellen Komponenten werden beim Starten des
Applets durch den Client 5 initialisiert. Hierzu wird vom
Client ein sogenannter Event abgesetzt, wodurch in den nicht
visuellen Komponenten die entsprechende Methode ausgeführt
wird. In diese Methode wird die Anmeldung des Elementes bzw.
der Komponente für die eingetragene Prozeßvariable durchge
führt.
Die Ausgabeelemente bzw. -komponenten umfassen dabei Komponen
ten zur Anbindung an eine Datenquelle, Konverter, die eine
Umsetzung des Prozeßwerts in einen anderen Wert vornehmen,
beispielsweise einen Zahlenwert in einen String wandeln, und
Verknüpfer, die eine Verschmelzung von mehreren Prozeßwerten
durchführen.
Dabei müssen die folgenden Schnittstellenmethoden von den je
weiligen Komponenten implementiert werden:
Eingabemethoden (newVar)
Um den internen Zustand der Ausgabekomponente zu setzen, wer
den mehrere newVar Methoden mit unterschiedlichen Übergabepa
rametern angeboten. Die Methode newVar mit folgenden Parame
tern wird von der Client Komponente aufgerufen, wenn ein neu
er Prozeßwert anliegt:
String: Die zugehörige Client-ID, die bei der Anmel dung für diese Prozeßvariable zurückgeliefert wurde.
String: Der neue Wert der Prozeßvariable als String.
String: Die zugehörige Client-ID, die bei der Anmel dung für diese Prozeßvariable zurückgeliefert wurde.
String: Der neue Wert der Prozeßvariable als String.
Neben diesen Übergabeparametern gibt es die Methode newVar
mit anderen Typen bei der Wertübergabe der Prozeßvariable.
Der Prozeßwert kann auch als double, float, int oder long
übergeben werden.
Um den internen Zustand der Ausgabekomponente auszulesen,
stehen unterschiedliche get-Methoden zur Verfügung. Die fol
genden Methoden können verwendet werden:
getDoubleValue: Die Methode liefert den internen Zustand als double zurück.
getFloatValue: Die Methode liefert den internen Zustand als float zurück.
getIntValue: Die Methode liefert den internen Zustand als int zurück.
getLongValue: Die Methode liefert den internen Zustand als long zurück.
getStringValue: Die Methode liefert den internen Zustand als String zurück.
getDoubleValue: Die Methode liefert den internen Zustand als double zurück.
getFloatValue: Die Methode liefert den internen Zustand als float zurück.
getIntValue: Die Methode liefert den internen Zustand als int zurück.
getLongValue: Die Methode liefert den internen Zustand als long zurück.
getStringValue: Die Methode liefert den internen Zustand als String zurück.
Für die Konverter- und Verknüpfungskomponenten existieren
spezielle Methoden, um auf die konvertierten und verknüpften
Werte zugreifen zu können. Eine genaue Beschreibung dieser
Methoden erfolgt bei der entsprechenden Methodenbeschreibung.
Um vom Benutzer über den Client 5 eingegebene Werte an das
Leitsystem 2 weiterzuleiten, wird ein Eingabeelement bzw. ei
ne Eingabekomponente benötigt. Das Eingabeelement konvertiert
den eingegebenen Wert in einen String und schickt ihn mit den
benötigten Informationen an den Client, der daraufhin ein Te
legramm 10 an den Server 4 verschickt. Der interne Zustand
des Eingabeelementes bzw. der Eingabekomponente wird über
verschiedene, Übergabeparameter betreffende Methoden beein
flußt.
SetDoubleValue: Die Methode erhält als Übergabeparameter ei
nen double Wert.
setFloatValue: Die Methode erhält als Übergabeparameter ei nen float Wert.
setIntValue: Die Methode erhält als Übergabeparameter ei nen int Wert.
setLongValue: Die Methode erhält als Übergabeparameter ei nen long Wert.
setStringValue: Die Methode erhält als Übergabeparameter ei nen String Wert.
setFloatValue: Die Methode erhält als Übergabeparameter ei nen float Wert.
setIntValue: Die Methode erhält als Übergabeparameter ei nen int Wert.
setLongValue: Die Methode erhält als Übergabeparameter ei nen long Wert.
setStringValue: Die Methode erhält als Übergabeparameter ei nen String Wert.
Zusätzlich wird von jeder Methode über den Client 5 ein ent
sprechendes Telegramm zum Setzen von variablen Werten abge
setzt.
Über die visuellen Komponenten bzw. Elemente werden die ange
bundenen Prozeßwerte grafisch dargestellt. Die Darstellung
reicht dabei von der reinen textuellen bis hin zu einer sym
bolischen Wertedarstellung. Die einzelnen Elemente umfassen
dabei primitive, grafische Komponenten, beispielsweise für
Kreise, Linien und dergleichen, komplexe grafische Komponen
ten, beispielsweise für Bilder und dergleichen, sowie soge
nannte GUI-Elemente, beispielsweise Checkboxen, Buttons und
dergleichen.
Jede visuelle Komponente bietet spezifische Zugriffsmethoden
an, über die das grafische Aussehen der Komponente beeinflußt
werden kann.
Die Kommunikation zwischen den visuellen und den nichtvisuel
len Elementen bzw. Komponenten wird, wie bereits erläutert,
über sogenannte Events gesteuert. Hierzu melden sich Kompo
nenten bei anderen Komponenten an. Die Verschaltung wird da
bei rein grafisch, beispielsweise mit den entsprechenden Edi
toren durchgeführt.
Ändert sich der Wert einer nichtvisuellen Komponente, so wird
nach der Wertänderung ein Event generiert. Bei Auslösen die
ses Events wird dann überprüft, welche Komponenten sich für
diesen Event der erzeugenden Komponente angemeldet haben. Die
angemeldeten Komponenten werden über das Auslösen des Events
informiert und daraufhin entsprechende Methoden in den jewei
ligen Zielkomponenten aktiviert. Über diesen Mechanismus kön
nen so umfangreiche Verarbeitungsketten realisiert werden.
Desweiteren lassen sich über Sonderfunktionen, beispielsweise
zur Simulation, Daten an die jeweilige Systemgrafik vorgeben,
die zur Simulation und damit auch zur Schulung von Benutzern
dienen können.
In den Fig. 3, 4 und 5 ist jeweils ein Ausführungsbeispiel
für verschiedene Eingabe- und Anzeigeelemente 17 dargestellt,
die mittels eines Web-Browsers, dessen Kopfzeile hier mit 16
gekennzeichnet ist, bedienbar und beobachtbar sind.
Die oben aufgezeigten Ausführungsbeispiele dienen der Erläu
terung und sind nicht beschränkend.
Claims (8)
1. Verfahren zur Erzeugung einer Oberfläche zum Bedienen und
Beobachten von Leitsystemen (2), insbesondere für Prozeß- und
Produktionsanlagen, wobei im Bereich von Leitsystemen (2) an
fallende Informationen von einem an wenigstens ein Leitsystem
(2) adaptierbaren Server-Rechner (1) über ein Client-Server-
Rechner-Netzwerk auf einem Client-Rechner (5) in Eingabe- und
Anzeigeelementen (19) viusalisiert werden.
2. Verfahren nach Anspruch 1, dadurch ge
kennzeichnet, daß die Eingabe- und Anzeigeele
mente (19) frei parametrierbar und konfigurierbar sind.
3. Verfahren nach Anspruch 1 oder Anspruch 2, dadurch
gekennzeichnet, daß das Client-Server-Rech
ner-Netzwerk ein Intra- und/oder Internet ist.
4. Verfahren nach einem oder mehreren der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß die Visualisierung mittels eines
Web-Browsers (18) erfolgt.
5. Verfahren nach einem oder mehreren der Ansprüche 1 bis 4,
dadurch gekennzeichnet, daß die Ein
gabe- und Anzeigeelemente (19) vom Client-Rechner (5) gene
riert werden.
6. Verfahren nach einem oder mehreren der Ansprüche 1 bis 5,
dadurch gekennzeichnet, daß die Ein
gabe- und Anzeigeelemente (19) mittels Java-Applets generiert
werden.
7. Verfahren nach einem oder mehreren der Ansprüche 1 bis 6,
dadurch gekennzeichnet, daß die Ein
gabe- und Anzeigeelemente (19) mittels Java-Beans generiert
werden.
8. Verfahren nach einem oder mehreren der Ansprüche 1 bis 7,
dadurch gekennzeichnet, daß die Ein
gabe- und Anzeigeelemente (19) Meldungen, Kurvenverläufe und/
oder Systemgrafiken umfassen.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1998118714 DE19818714C2 (de) | 1998-04-27 | 1998-04-27 | Blockiervorrichtung für bewegliche Anschlüsse von Schalldämpfern an halbautomatischen Waffen |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1998118714 DE19818714C2 (de) | 1998-04-27 | 1998-04-27 | Blockiervorrichtung für bewegliche Anschlüsse von Schalldämpfern an halbautomatischen Waffen |
Publications (3)
Publication Number | Publication Date |
---|---|
DE19818714A9 DE19818714A9 (de) | |
DE19818714A1 true DE19818714A1 (de) | 2000-01-13 |
DE19818714C2 DE19818714C2 (de) | 2001-02-01 |
Family
ID=7865899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1998118714 Expired - Fee Related DE19818714C2 (de) | 1998-04-27 | 1998-04-27 | Blockiervorrichtung für bewegliche Anschlüsse von Schalldämpfern an halbautomatischen Waffen |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19818714C2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011066661A1 (en) * | 2009-11-13 | 2011-06-09 | Sphinx Systems Ag | Locking device for movable momentum connection in suppressors for semiautomatic and fully automatic weapons |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0072592A2 (de) * | 1981-08-14 | 1983-02-23 | FABRIQUE NATIONALE HERSTAL en abrégé FN Société Anonyme | Mundstück mit Dichtung für eine Rücklaufpistole |
-
1998
- 1998-04-27 DE DE1998118714 patent/DE19818714C2/de not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0072592A2 (de) * | 1981-08-14 | 1983-02-23 | FABRIQUE NATIONALE HERSTAL en abrégé FN Société Anonyme | Mundstück mit Dichtung für eine Rücklaufpistole |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011066661A1 (en) * | 2009-11-13 | 2011-06-09 | Sphinx Systems Ag | Locking device for movable momentum connection in suppressors for semiautomatic and fully automatic weapons |
CN102713494A (zh) * | 2009-11-13 | 2012-10-03 | 斯芬克斯系统公司 | 用于半自动和全自动枪械的消声器中的可动冲量连接的锁定装置 |
Also Published As
Publication number | Publication date |
---|---|
DE19818714C2 (de) | 2001-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1738236B1 (de) | Automatisierungsnetzwerk mit zustandsmeldenden netzwerkkomponenten | |
DE60207155T2 (de) | Objektorientiertes Internetschnittstellensystem für eine industrielle Steuereinrichtung | |
EP0852759B1 (de) | Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren | |
DE69819211T2 (de) | Verteilte interfacearchitektur einer programmierbaren industriellen steuerung | |
EP1061422B1 (de) | Informationstechnisches System zur Definition, Optimierung und Steuerung von Prozessen | |
EP1527554B1 (de) | Rechnernetzwerk mit diagnoserechnerknoten | |
EP0893746A2 (de) | Prozessdiagnosesystem und -Verfahren | |
DE102007026678A1 (de) | Verfahren zum Austausch eines defekten Feldgerätes gegen ein neues Feldgerät in einem über digitalen Feldbus kommunizierenden System, insbesondere Automatisierungssystem | |
EP1664954A1 (de) | Bereitstellung von diagnoseinformationen | |
WO2016141998A1 (de) | Vorrichtung und verfahren zum bereitstellen einer digitalen abbildung einer physikalischen entität | |
EP1137972B1 (de) | Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu | |
EP1634130B1 (de) | Vorrichtung und verfahren zur programmierung und/oder ausführung von programmen für industrielle automatisierungssysteme | |
DE60312552T2 (de) | Prozessdatenverwaltung | |
DE19615683A1 (de) | Verfahren und Steuereinrichtung für eine graphische Steuerung von Abläufen in einem Netzwerkmanagementsystem | |
DE19818041B4 (de) | Verfahren zur Erzeugung einer Oberfläche zum Bedienen und Beobachten von Leitsystemen | |
EP3699704A1 (de) | System und verfahren zum überprüfen von systemanforderungen von cyber-physikalischen systemen | |
DE19818041A9 (de) | Verfahren zur Erzeugung einer Oberfläche zum Bedienen und Beobachten von Leitsystemen | |
DE19818714A1 (de) | Blockiervorrichtung für bewegliche Anschlüsse von Schalldämpfern an halbautomatischen Waffen | |
DE19741959C2 (de) | System zur Verarbeitung von Ereignissen in technischen Prozessen mit einem verteilten Datenverarbeitungssystem | |
DE69918829T2 (de) | Steuerungssystem zur steuerung von prozessgeräten | |
LU500646B1 (de) | Technik zur Bereitstellung einer Diagnosefunktionalität für eine auf einer speicherprogrammierbaren Steuerung basierenden Anwendung | |
LU102517B1 (de) | Verfahren zur Einbindung in eine Datenübertragung von einer Anzahl von an einer I/O-Station angeschlossenen I/O-Modulen, ein Stationskopf zur Ausführung eines solchen Verfahrens und ein System mit einem solchen Stationskopf | |
DE102021123596A1 (de) | Technik zur Bereitstellung einer Diagnosefunktionalität für eine auf einer speicherprogrammierbaren Steuerung basierenden Anwendung | |
EP1618726B1 (de) | Automatisierungssystem mit automatischer bereitstellung von diagnoseinformationen | |
EP1046972A1 (de) | Softwaremässige Repräsentation von Geräten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8180 | Miscellaneous part 1 |
Free format text: DIE OFFENLEGUNGSSCHRIFT WURDE MIT FALSCHEN INHALT VEROEFFENTLICHT. ES ERFOLGT NEUDRUCK |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |