Kommando orientiertes Automatisierungssystem auf TCP-Basis Command Server



Ähnliche Dokumente
LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Anleitung zum Online-Monitoring für Installateure

OP-LOG

FastViewer Remote Edition 2.X

Internet online Update (Internet Explorer)

Lizenzierung von SharePoint Server 2013

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

Internet Explorer Version 6

Lizenzierung von SharePoint Server 2013

Lehrer: Einschreibemethoden

Anleitung zur Installation der DataWatch Software auf einem LINUX System ohne grafische Oberfläche

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Lizenzierung von Windows Server 2012

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Webalizer HOWTO. Stand:

Xylem WebService Demo Kurzbedienungsanleitung

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Bereit für neue Technologien

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

ITT WEB-Service DEMO. Kurzbedienungsanleitung

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Handbuch USB Treiber-Installation

Local Control Network Technische Dokumentation

ARCHIV- & DOKUMENTEN- MANAGEMENT-SERVER DATEIEN ARCHIVIEREN

Step by Step Webserver unter Windows Server von Christian Bartl

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Professionelle Seminare im Bereich MS-Office

Benutzerkonto unter Windows 2000

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel

Reporting Services und SharePoint 2010 Teil 1

Artikel Schnittstelle über CSV

Terminabgleich mit Mobiltelefonen

B4 Viper Connector Service Installationsanleitung Stand:

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Lizenzierung von Windows Server 2012 R2. Lizenzierung von Windows Server 2012 R2

Benutzerverwaltung Business- & Company-Paket

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Datenschutzerklärung:

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Support-Tipp Mai Release Management in Altium Designer

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE Burgkirchen Web:

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Fax einrichten auf Windows XP-PC

Die ersten Schritte mit. DIG-CAD 5.0 Aufmaß

Wir machen neue Politik für Baden-Württemberg

Installation des COM Port Redirectors

Protonet SOUL USE CASE - Rechtsanwalt

Windows 8 Lizenzierung in Szenarien

Arbeiten mit dem neuen WU Fileshare unter Windows 7

Wie lizenziert man die Virtualisierung von Windows Desktop Betriebssystemen?

WinVetpro im Betriebsmodus Laptop

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

s aus -Programm sichern Wählen Sie auf der "Startseite" die Option " s archivieren" und dann die entsprechende Anwendung aus.

Haben Sie über elektronisches Schließfachmanagement nachgedacht? Ein Schließfach ist ohne ein solides Schloss nicht komplett.

How to install freesshd

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

Handbuch Amos Ersteller: EWERK MUS GmbH Erstellungsdatum:

K.U.Müller November 2009

2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Kurzanleitung So geht s

GeoPilot (Android) die App

Der Anschluss an einen Computer

TeamSpeak3 Einrichten

4D Server v12 64-bit Version BETA VERSION

Installationsanleitung. TFSInBox

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Dokumentation zum Spielserver der Software Challenge

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Den Durchblick haben. VOLKSBANK BAD MÜNDER eg. Online aber sicher: Unsere Produkt- und Sicherheitshotline hilft und informiert

Ihre Lizenz ändern. Stand 01/2015

Windows Small Business Server (SBS) 2008

Schnittstelle DIGI-Zeiterfassung

Monitoring-Service Anleitung

Webbasierte Installation des Cisco AnyConnect VPN-Client 3.1 unter Linux

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

Step by Step VPN unter Windows Server von Christian Bartl

CARD STAR /medic2 und CARD STAR /memo3 Installation des USB-Treibers (Administrator-Tätigkeit) Stand

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Windows Server 2008 (R2): Anwendungsplattform

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Tipps und Tricks zu Netop Vision und Vision Pro

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Durch Doppelklick auf die Zeile der entsprechenden Schnittstelle gelangt man in die Detaileingabe der Schnittstelle.

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

DNS-325/-320 und FXP

Gruppenrichtlinien und Softwareverteilung

Transkript:

Kommando orientiertes Automatisierungssystem auf TCP-Basis Command Server Van Dzung Dao 1, Gerd Küveler 1, Renzo Ramelli 2, Axel Zuber 1 1 Fachhochschule Wiesbaden, Am Brückweg 26, D-65428 Rüsselsheim 2 Istituto Ricerche Solari Locarno (IRSOL), Via Patocchi, CH-6605 Locarno-Monti Hintergrund Seit mehr als zehn Jahren besteht eine Kooperation zwischen der FH Wiesbaden und dem Istituto Ricerche Solari Locarno, einem Sonnenobservatorium in der Südschweiz. Außerdem gibt es immer wieder gelegentliche Projekte mit anderen Sternwarten, z. B. auf Teneriffa. Der Beitrag der FHW besteht dabei im Bau von wissenschaftlichen Geräten und der Entwicklung von technischer Software [1]. Ein Beispiel stellt die Steuerung des Hauptteleskops dar [2 5]. Sensorbox links am Teleskop und grafische Benutzerschnittstelle einer Sonnenteleskop-Steuerung Problematik Eine Sternwarte ist ein Forschungslabor mit vielen unabhängigen Einzelgeräten, z. B. Teleskopen, Spektrografen, CCD-Kameras, usw.

Command Server 2 Typische Geräte einer Sternwarte Jedes Gerät ist oder wird separat automatisiert und besitzt seine eigene grafische Oberfläche (GUI). Das Beispiel zeigt das GUI des Haupt- Sonnenspektrografen, mit dessen Hilfe der Astrophysiker einen bestimmten Spektralbereich durch Anklicken einer Wellenlänge im eingeblendeten Spektralatlas einstellen kann. Grafische Benutzeroberfläche einer Spektrografen-Steuerung

Command Server 3 In der Regel erfordern Messprojekte jedoch den gleichzeitigen Einsatz unterschiedlicher Geräte. Beispielsweise könnte es das Projekt erfordern, an zahlreichen Gitterpunkten im Koordinatennetz der Sonne jeweils mehrere Spektren verschiedener Spektralbereiche mit einer CCD-Kamera aufzunehmen. Sonne mit Großkreisen Für vollautomatische Messabläufe unter flexibler Nutzung verschiedener Geräte sind GUIs jedoch ungeeignet. Lösung Für diesen Fall sollten die einzelnen Geräte-Steuerprogramme skriptfähig und in der Lage sein, über eine Remote-Schnittstelle Kommandos entgegen zu nehmen. Ein Skript ist ein textbasiertes Interpreter- Programm, das es erlaubt, andere Programme in flexibler Weise aufzurufen und mit Parametern zu versorgen. Zu diesem Zweck haben wir eine besonders für Automatisierungs-Anwendungen geeignete Skriptsprache entwickelt [6, 7]. Die Skriptfähigkeit erreicht man am ehesten durch die Entkopplung von Oberfläche und eigentlicher Steuerung. Unser Lösungsansatz folgt einem 5-Stufen-Konzept für die Automatisierungs-Software:

Command Server 4 1. layer: gui(s) remote task(s) 2. layer: command commandserver 3. layer: dispatcher 4. layer: executer 5. layer: device control software Tasks und Layers des Command Servers for Automation (CSA) Die eigentliche Gerätesteuerung ist ganz unten angesiedelt. Der executer ist ein Protokollumsetzer, der nur dann benötigt wird, wenn die device control software nicht speziell für das hier beschriebene System geschrieben wurde (z. B. ein altes oder gekauftes Programm). Alle Oberflächen, egal ob grafisch oder textorientiert, sind völlig von der Steuerungsschicht getrennt. Dazwischen sitzt der command server, der eigentliche Kern des vorliegenden Projekts. Zwischen den verschiedenen Programmen, die das Modell realisieren, existiert jeweils eine TCP-Schnittstelle. Über die IP-Adresse des Rechners, auf dem die Anwendung läuft, und die Port-Adresse der Anwendung selbst, zusammen als Socket bezeichnet, ist ein weltweiter Zugriff möglich. Das ist unter anderem für die Steuerung wissenschaftlicher Messungen mit womöglich weltweit verteilten Geräten über eine zentrale Prozedur von großem Interesse, insbesondere dann, wenn man die Prozedur von einem beliebigen Ort per Web-Browser oder telnet starten kann. Natürlich sind Sicherheitsaspekte zu beachten. Alle Kommandos und Rückmeldungen basieren auf ASCII-Strings. Der command server Alle Oberflächen der an einem Forschungsprojekt beteiligten Steuerprogramme, egal ob GUI, textbasierte Konsole (z.b. telnet) oder Skript, kommunizieren nicht direkt mit ihrer zugehörigen Steuersoftware sondern ausschließlich mit dem command server. Jede neue Anwendung muss bei ihm mit ihrer Socketadresse angemeldet werden. Es werden dann als eigener Thread eine Queue (Befehlswarteschlange) und

Command Server 5 ein dispatcher angelegt. Die weitere Kommunikation erfolgt dann über die zurück gelieferte application number. GUI Remote Command Management Q U E U E Status or Abort Command Server Dispatcher Executer Device Control

Command Server 6 Der command server leitet nur gültige Befehle an eine Anwendung weiter und sorgt dafür, dass ein Kommando erst dann weiter geleitet wird, wenn das vorherige mit Report als beendet gemeldet wurde. Ausnahmen sind Abbruch- und Status-Request-Kommandos. Das Warteschlangen-Prinzip sorgt dafür, dass ggf. auch mit mehreren Oberflächen gleichzeitig auf eine Anwendung zugegriffen werden kann, ohne dass dabei Konflikte entstehen. Insgesamt nimmt der command server den einzelnen Gerätesteuerungs- Anwendungen viele Standard-Probleme ab, so dass die Erstellung neuer Anwendungen deutlich erleichtert wird. Der command server wurde in Java unter Windows programmiert und ist somit sehr gut auf andere Betriebssysteme portierbar. Zusammenfassung Das command server Prinzip bietet folgende Vorteile: Standard-Mechanismen wie Kommando-Prioritäten und Warteschlangen, Reportwesen, jederzeitige Abbruch- und Status-Kommandos müssen nicht mehr für jede Anwendung neu erfunden werden. Einheitliche Kommunikationsschnittstelle für alle an einer Automatisierungsaufgabe beteiligten Instanzen (z. B. verschiedene weltweit verteilte Sternwarten, die ein gemeinsames Beobachtungsprogramm durchführen). Einfache Kommandostruktur, die von jeder denkbaren Schnittstelle wie Konsole (z. B. telnet), Shell-Skript oder GUI ansprechbar ist. Ein zentraler Server, der alle verteilten Aktivitäten koordiniert und überwacht. Einheitliche Kommunikationsstruktur zwischen Kommandoebene und Geräte-Steuersoftware. Sicherheitsmechanismen (Passwort-Schutz, Parameterüberprüfung). Betriebssystem-Unhabhängigkeit des command servers (Windows, UNIX/Linux). Die Anwendung des command servers auf andere Laboratorien oder auf industrielle Anwendungen ist möglich.

Command Server 7 Literatur [1] M. Bianda, R. Ramelli, A. Feller, J.O. Stenflo, G. Küveler: Instrumental developments at the Gregory-Coudé Telescope at IRSOL, in: F. Kneer, K. G. Puschmann, A. D. Wittmann (eds.), Proceedings of the Workshop on Modern Solar Facilities Advanced Solar Science, Göttingen, Germany (2007). [2] Küveler, G, Wiehr, E. Thomas, D., Harzer, M., Bianda, M.Sütterlin, P., Epple, A., Weisshaar, E.: Automatic Guiding of the Primary Image of Solar Gregory Telescopes. Solar Physics 182, 247-255(1998). [3] Küveler, G, Wiehr, E., Bianda, M.: Eine sensorgestützte Computersteuerung für Sonnenteleskope. atp - Automatisierungstechnische Praxis 42(2000) Heft 7, S. 50-54. [4] Küveler, G., Wiehr, E., Bianda, M.: Eine Computersteuerung und Nachführ-Automatik für Sonnenteleskope, in: Jamal, R., Jaschinski, H.: Virtuelle Instrumente in der Praxis. Begleitband zum Kongress VIP 2002. Heidelberg Hüthig 2002, S. 47-51. [5] Küveler, G., Wiehr, E., Bianda, M.: Automatic Guiding of Solar Gregory Telescope. in: Kneer, F., Wiehr, E., Wittmann, A.D. (eds.), From the Gregory-Coudé. Telescope to GREGOR: a development from past to future. Astron. Nachr. Vol. 324, No. 4, p. 308 (2003). [6] Küveler, G., Zuber, A.: Eine Prozedursprache zur Steuerung vollautomatischer Prozesse. atp Automatisierungstechnische Praxis, 46 (2004) Heft 8, S. 20-23. [7] Küveler, G., Zuber, A.: Eine Skriptsprache zur Remote-Steuerung von LabVIEW-Modulen, in: Jamal, R., Jaschinski, H.: Virtuelle Instrumente in der Praxis. Begleitband zum Kongress VIP 2005. Heidelberg Hüthig 2005, S. 310-317.