Moderne Softwareplattformen wie Microsofts .net oder Java sind konsequent auf Web-Technik ausgerichtet. Web-fähige Steuerungen lassen sich so ohne zusätzliche Softwaretreiber oder OPC-Server mit der PC-Welt verbinden. Mit mächtigen Softwarewerkzeugen und einem großen Funktionsumfang erschließen Softwareplattformen neue Einsatzfelder in Automatisierungsprojekten. Web-Technologien beherrschen Auf den ersten Blick scheinen die Softwareplattformen nicht unbedingt etwas mit Web-Technik oder Automatisierungstechnik gemein zu haben. Allerdings haben praktisch alle etablierten Softwareplattformen immense Anstrengungen unternommen, Web-Technologien auf einfache Art zu beherrschen. Automatisierungskomponenten, die ebenfalls Web-Technologien unterstützen, lassen sich so im Handumdrehen mit der PC-Welt verbinden. Noch nie war es so einfach, webfähige Steuerungen mit PCs und so mit der gesamten Windows bzw. Linux-Welt kommunizieren zu lassen – ohne Zusatzsoftware, Softwaretreiber oder Extra-Baugruppen. Was sind Softwareplattformen? Softwareplattformen sind ein weitläufiger Begriff. Stark vereinfacht kann darunter eine Plattform verstanden werden, auf der spezifische Software ablauffähig ist. In erster Näherung kann das eine Hardware sein, die nach gewissen Normen entworfen wurde (z.B. PCs); allerdings spricht man dann eher von einer Hardwareplattform. Wenn man nicht alles selbst erfinden und mühsam programmieren will, greift man auf Standardfunktionen zurück, die irgendwann schon einmal jemand programmiert hat. Ein Betriebssystem ist z.B. eine solche Sammlung von Grundfunktionen und so gesehen eine Softwareplattform. Betriebssysteme entkoppeln auch die Anwendungsprogrammierung von der spezifischen Hardware: Ein Windows-Programm läuft auf jedem Rechner mit installiertem Windows-Betriebssystem – egal von welchem Hersteller der PC kommt. Will man dann noch Programme entwickeln, die unter verschiedenen Betriebssystemen lauffähig sind, kommt man dem praktischen Verständnis des Begriffs der Softwareplattform recht nahe. Java ist z.B. eine Softwareplattform, die auf unterschiedlichen Betriebssystemen lauffähig ist. Eine sogenannte Java Virtual Machine (JVM) bildet hierbei das Bindeglied zwischen Java-Programm und Betriebssystem. Ist eine JVM auf dem Rechner installiert, können Java-Programme ohne erneutes Kompilieren ausgeführt werden. Der Trick dabei ist, dass Java-Programme nicht gegen ein spezifisches Betriebssystem oder eine spezielle Hardwareplattform kompiliert werden, sondern anstelle von CPU-spezifischem Maschinencode in einen unabhängigen Zwischencode übersetzt werden. Der Zwischencode wird dann durch die JVM auf dem Zielsystem zum Ablauf gebracht. Dadurch ist die Plattformunabhängigkeit von Java gewährleistet. Damit sind auch Java-Programme unter Windows, Linux/Unix, McIntosh usw. gleichermaßen lauffähig. Das Konzept des Zwischencodes ist übrigens ein Verfahren, das in der SPS-Technik seit Jahrzehnten erfolgreich praktiziert wird und mit ein Grund für die Kontinuität und Langzeitverfügbarkeit der SPS-Technik ist. Softwareplattform .net Microsoft hat mit .net eine Softwareplattform etabliert, die nach denselben Prinzipien wie Java aufgebaut ist, jedoch hauptsächlich auf Windows-Betriebssysteme abzielt. Aber auch mit .net ist es jetzt möglich, Programme für Desktop-Betriebssysteme wie Windows 2000/XP/Vista und Windows CE, SmartPhones und PocketPC gleichermaßen zu realisieren. In den weiteren Ausführungen liegt das Schwergewicht auf der Softwareplattform .net und das Programmieren mit Visual-Basic .net. Das liegt in der weiten Verbreitung von Windows und Visual-Basic begründet und soll keine Wertung darstellen; im Wesentlichen lassen sich die dargestellten Sachverhalte ohnehin unverändert auf Java übertragen. Objektorientierte Sprachen Zu einer Softwareplattform gehören umfangreiche Funktionsbibliotheken und mächtige Programmierwerkzeuge. Moderne Programmierung folgt den Prinzipien der objektorientierten Programmierung. Auch die Softwareplattform .net bietet objektorientierte Sprachen wie C# und Visual-Basic. Bei objektorientiertem Software-Engineering spricht man weniger von Funktionsbibliotheken als vielmehr von Klassen. Die .net-Plattform bietet mächtige Klassenbibliotheken, die die Nutzung von PC/Windows-Technik vereinfachen. Egal ob Multimedia-Technologien wie Video oder eine Datenbank zur Anwendung kommen soll, mit .net und Visual-Basic lassen sich in einem Automatisierungsprojekt Aufgaben bewältigen, die weit über eine Visualisierung hinausgehen. Aufgrund des .net-Frameworks können Anwendungen sowohl für die Desktop-Windows-Varianten (z.B. Windows 2000/XP/Vista) als auch für Windows CE basierte Geräte wie etwa Web-Panel erstellt werden. Somit lassen sich .net-Anwendungen auf Büro-PCs und Bedienpanels (Windows CE & eXP) ausführen. Microsoft bietet ein Softwarewerkzeug zur Erstellung von .net-Anwendungen: Visual Studio 2005. Mit Visual Studio 2005 kann die grafische Oberfläche einer Windows-Anwendung mit wenigen Mausklicks aus vorgefertigten Komponenten erstellt werden. Umfangreiche Debugg-Möglichkeiten ergänzen das Werkzeug. Microsoft bietet eine kostenfreie Version der Entwicklungsumgebung an. Mittlerweile hat sich eine starke Internet-Gemeinschaft in Bezug auf .net und Visual-Basic gebildet. Für Problemstellungen jedweder Art findet man hier kostenfreie Anlaufstellen auf einem hohen, professionellen Niveau. Oft findet man sogar fertige Programmteile oder Schnipsel (\’snippets\‘), die ins eigene Programm eingebaut werden können. Web-Inhalte laden In der Vergangenheit war es nicht unbedingt einfach, programmtechnisch auf Web-Seiten zuzugreifen. Das hat sich mit Java und .net grundlegend geändert. Beide Softwareplattformen bieten mächtige Klassen, mit deren Hilfe das Laden einer Web-Seite zum Kinderspiel geworden ist. Bei .net kann mit der WebRequest-Klasse eine Datei aus dem Internet geladen werden. Es sind lediglich vier Anweisungen notwendig: -\’Objekte für Web-Zugriff definieren Dim wReq As WebRequest Dim wResp As WebResponse -\’Auf Web-Seite zugreifen wReq = WebRequest.Create (\“http://192.168.0.230/demo.html\“) \’Antwort auslesen wResp = wReq.GetResponse() Nach der Ausführung befindet sich der Inhalt der geladenen Web-Seite demo.html, die vom Server mit der IP-Adresse 192.168.0.230 geladen wurde, in der Variablen wResp und kann beliebig weiterverarbeitet werden. Ähnlich einfach geht es mit Java. Wieso das einfache Laden von Web-Inhalten im Hinblick auf Automatisierungsprojekte wichtig ist, verdeutlicht die Methode, mit der auf Daten einer webfähigen SPS zugegriffen wird. Schlüssel zur webfähigen SPS Bereits im ersten Teil dieser Artikelreihe wurde kurz auf die CGI-Technik eingegangen. CGI (Common Gateway Interface) ist eine Standard-Web-Technik und wird häufig auf Web-Servern eingesetzt. CGI definiert eine Schnittstelle auf einem Web-Server, die es ermöglicht, Skripte oder Anwendungen auf dem Server selbst auszuführen. Das Ergebnis der ausführbaren Dateien wird meist in Form einer HTML-Seite an den aufrufenden Client (Browser) übermittelt. Es hat sich eingebürgert, dass über CGI ausführbare Dateien in einem Verzeichnis \’cgi-bin\‘ hinterlegt werden. Ein CGI-Aufruf besteht aus der Internet-Adresse, der Angabe des CGI-Verzeichnisses (\’cgi-bin\‘) und der gewünschten ausführbaren Datei. Sollen der ausführbaren Datei Parameter übergeben werden, erfolgt das durch Angabe eines \‘?\‘, gefolgt von den Parametern. Mehrere Parameter werden durch \’+\‘-Zeichen unterteilt. SPS-Daten auslesen Die PCD-Steuerungen der Saia-Burgess Controls AG verfügen über einen Web-Server mit CGI-Schnittstelle, worüber man auf sämtliche SPS-Daten der Steuerung Zugriff hat. Derart können Ein-/Ausgänge, Merker, Datenbausteine usw. ausgelesen und geändert werden. Daten lassen sich mit der CGI-Anwendung \’readVal.exe\‘ lesen, mit \’writeVal.exe\‘ können Daten geschrieben werden. Es genügt schon ein simpler Browser, um die Technik anzuwenden. Gibt man beispielsweise in der Adresszeile des Browsers die URL http://192.168.0.230/cgi-bin/readVal.exe?PDP,,MW100,d ein, erscheint im Browserfenster der aktuelle Wert des Merkerworts 100 der Steuerung mit der IP-Adresse 192.168.0.230. Dem eigentlichen CGI-Kommando \’readVal.exe\‘ folgt als Parameter, separiert durch ein \‘?\‘, ein Tag zur Adressierung der SPS-Daten. Dieses besteht aus einer generellen Kennung für Prozessdaten (PDP,), den gewünschten SPS-Daten (MW100 – Merkerwort 100) und einem Format (d – dezimal). Will man das Merkerwort auf den Wert 1234 setzen, geschieht das mit der URL http://192.168.0.230/cgi-bin/writeVal.exe?PDP,,MW100,d+1234. Hier wird zusätzlich der zu schreibende Wert (1234), separiert durch ein \’+\‘, in Form eines zweiten Parameters mit angegeben. Informationen über die Syntax der CGI-Anweisungen und der Gebrauch sind dem Kasten \’CGI-Syntax: Mit Standard-Browser SPS-Daten abfragen\‘ zu entnehmen. PCD-Steuerungen bieten neben den rudimentären CGI-Funktionen zum Lesen und Schreiben einzelner SPS-Daten die Möglichkeit, mehrere Werte gleichzeitig – mit nur einem einzigen Zugriff/Telegramm – abzufragen bzw. zu ändern. Hierzu werden mit einer weiteren CGI-Funktion einmalig Datensätze definiert, die die gewünschten SPS-Daten spezifizieren. Einmal definiert, werden sie durch einen einzigen Aufruf abgefragt und mit einem einzigen Telegramm übermittelt. Somit können auch große Datenmengen flexibel und ohne Kommunikations-Overhead übertragen werden. Nun ist es zwar ganz nett, SPS-Daten mit einem Browser abzufragen. Aber worin liegt der Nutzen? Mit genau derselben Methode können SPS-Daten aus Java und .net-Anwendungen heraus angesprochen werden. Mit der WebRequest-Klasse ist in .net schon alles enthalten, was benötigt wird, um mit einer SPS zu kommunizieren. Einem WebRequest-Aufruf ist lediglich das gewünschte CGI-Kommando als URL zu übergeben, und schon hat man die gewünschten Daten innerhalb seiner Visual-Basic-Anwendung zur Verfügung. Damit sind für eine Kommunikation zwischen SPS und PC oder Bedienpanel keine speziellen Treiber, OPC-Server oder zusätzliche Einsteckkarten notwendig; alles lässt sich bequem mit Windows-Bordmitteln bewerkstelligen. Und das Beste: Es funktioniert immer gleich, egal ob ein Web-Panel direkt an der Maschine mit der SPS verbunden ist, ein Büro-PC über das Intranet zugreifen will oder Fernwartung via Internet realisiert werden soll. Praxis: Testen Sie selbst Damit Sie sich selbst ein Bild vom Umgang mit CGI-Kommandos bzw. deren Anwendung innerhalb von .net-Programmen machen können, haben wir zu Demons-trationszwecken ein einfaches Visual-Basic-Programm entworfen. Ab August 2007 können Sie es vom Web-Portal des SPS-MAGAZINs laden. Es stehen zwei Varianten zum Download bereit: Die gepackte Datei \’VB_WebDemo_SPS-Magazin_project.zip\‘ beinhaltet das gesamte Visual-Basic-Projekt, das Sie mit Microsoft Visual-Studio 2005 öffnen und modifizieren können. Für all diejenigen, die sich nur von der Funktionsweise einer webbasierten Bedienung mit einer .net-Applikation überzeugen lassen wollen, ist die fertig übersetzte Anwendung in der gepackten Datei \’VB_WebDemo_SPS-Magazin_binary.zip\‘ gedacht. Das Demo-Programm \’VB_WebDemo_SPS-Magazin.exe\‘ ist auf allen Windows-Rechnern lauffähig, auf denen das .net-Framework installiert ist. Sollte das Framework nicht installiert sein, kann es von Microsoft kostenfrei heruntergeladen und installiert werden. Weiter ist zur Ausführung des Programms eine eingerichtete und aktive Internetverbindung notwendig. Da nicht jeder im Besitz einer webfähigen Steuerung ist, ist wir eine Step7-kompatible Steuerung des Typs PCD7.M5547 über das Internet zugänglich; physikalisch befindet sich die SPS in Murten (Schweiz). Sie können die Steuerung unter http://cgi-demo.saia-sps.dyndns.org ansprechen. Das Demo-Programm greift auf die Steuerung zu und ist in drei Tabs unterteilt. Auf dem ersten Tab kann mit einer Schaltfläche (Button) das Merkerwort 100 um 1 erhöht werden. Der aktuelle Wert des Merkerworts 100 wird darunter angezeigt. Der zweite Tab zeigt die Default-Startseite des Web-Servers der Steuerung, der dritte Tab stellt eine Verbindung zur Web-Site der Firma Saia-Burgess Controls AG her. Aus Gründen der Nachvollziehbarkeit wurde das Visual-Basic-Programm so einfach wie möglich gehalten und bewusst auf eine umfangreiche Fehlerbehandlung verzichtet. Daher kann es bei nicht sachgemäßem Einsatz vorkommen, z.B. wenn keine Verbindung zum Internet besteht, dass das Programm langsam oder nicht reagiert. Schlimmstenfalls kann das Programm einfach mit dem Taskmanager beendet werden. Und noch etwas: Wundern Sie sich nicht, wenn das Merkerwort 100 sich vielleicht auch ohne Ihr Zutun ändert, dann ist ein weiterer Leser gerade dabei, die Technik auszuprobieren. Kasten 1: CGI-Syntax: Mit Standard-Browser SPS-Daten abfragen Saia-Burgess PCD-Steuerungen bieten eine CGI-Schnittstelle, mit deren Hilfe mit Standard-Browsern und Java/.net-Standardklassen auf SPS-Daten zugegriffen werden kann. Hierzu werden die CGI-Kommandos in Form einer URL an die Steuerung übermittelt. Daten von einer SPS lesen: http:///cgi-bin/readVal.exe?PDP,,, Daten in die SPS schreiben: http:///cgi-bin/writeVal.exe?PDP,,,+ Syntax: IP oder DNS-Name der Steuerung; z.B. \’192.168.100.33\‘ oder \’cgi-demo.saia-sps.dyndns.org\‘ Daten (Type und Adresse) der Steuerung, auf die zugegriffen werden soll; I, IB, IW Eingang, z.B. I100.2, IB100, IW100 Q, QB, QW Ausgang, z.B. Q100.2, QB100, QW100 M, MB, MW Merker, z.B. M100.2, MB100, MW100 DB(X/B/W) Datenbaustein, z.B. DB100.DBX10.5, DB100.DBB10, DB100.DBW10 Format; d dezimal b binär x hexadezimal s Zeichenkette (String) Wert, der in SPS geschrieben werden soll. Kasten 2: Informationen im Internet Die Demo-Version des Visual-Basic-Programms gibt es unter: VB_WebDemo_SPS-Magazin_binary.zip VB_WebDemo_SPS-Magazin_project.zip Visual Studio 2005 Express kann von Microsoft gratis aus dem Internet geladen werden: http://www.microsoft.com/germany/msdn/vstudio/products/express/download.mspx Folgende Web-Sites konzentieren sich auf .net-orientiertes Programmieren: http://www.codeguru.com http://www.codeproject.com http://www.vbarchiv.net http://www.vb-fun.de
Teil 3 von 4: Web-Technik in der Automation: Softwareplattformen
-
Mit Innenverriegelung
M12 Push-Pull umspritzte Steckverbinder
Escha erweitert sein Push-Pull-Portfolio im Bereich industrieller Verbindungstechnik um M12 Push-Pull Steckverbinder in verschiedenen Ausführungen als Stecker mit Innenverriegelung.
-
Messtechnik
Touch-Oszilloskope für mobile Messaufgaben
Voltcraft hat sein Messtechnikprogramm um die neue Oszilloskop-Serie DOV erweitert.
-
HMI
Panel-PC-Plattform bündelt HMI und Steuerung
Wachendorff Prozesstechnik erweitert seine Match-Produktfamilie um Match Control, eine Plattform für Panel-PCs, die Visualisierung, Steuerung und Maschinenbedienung in einem kompakten System vereint.
-
Sensorik
Smart-Measurement-Sensoren wachsen um Miniatur- und Hochleistungsvarianten
Contrinex erweitert sein Portfolio an Smart-Measurement-Sensoren um Miniaturausführungen sowie Varianten mit ActivStone-Beschichtung für besonders anspruchsvolle Einsatzbedingungen.
-
Elektrische Verbindungstechnik
PTFE-Einzeladern für anspruchsvolle Industrie- und Automotive-Anwendungen
Habia erweitert sein Portfolio an Hochleistungskabeln um PTFE-isolierte Einzeladern für anspruchsvolle elektrische Anwendungen. Die leichten und widerstandsfähigen Kabel eignen sich für Industrie- und Automotive-Anwendungen sowie den Motorsport. Nach…
-
Für sicherheitsgerichtete Prozesse
Digitale Safety-HMI-Lösung mit SIL3
IconTrust HMI unterstützt die digitale Umsetzung funktional sicherer Bedien- und Anzeigekonzepte mit hohen…
-
Für die Lebensmittelindustrie
Hygienische Kabelführung
Icotek verfügt über ein umfangreiches Sortiment an teilbaren Kabeldurchführungen, Kabelverschraubungen und Kabelführungsplatten für…
-
Vorzeigeprojekt bei SGAC mit Rittal, Rittal Automation Systems und Eplan
Digitale Exzellenz in China
Mit der ‚Smart Manufacturing and Digitized Assembly Factory‘ setzt das chinesische Unternehmen SGAC…
-
Für sichere Schaltbefehle
Befehls- und Meldegeräte mit externen Kontaktgebern
Norelem erweitert sein Portfolio um Befehls- und Meldegeräte mit externen Kontaktgebern.
-
Weidmüller: Grundstein für neuen asiatischen Hauptsitz
Weidmüller hat den offiziellen Spatenstich für eine neue asiatische Unternehmenszentrale in Suzhou gefeiert.
-
Yaskawa eröffnet neues Robotermontage- und Distributionszentrum
Yaskawa baut seine Produktions- und Distributionskapazitäten für Roboter in Europa weiter aus: Am…
-
CPO Dr. Wilma Kauke im Interview: Wie Lapp Führung und Unternehmenskultur neu denkt
Zwischen KI, Krisen und Fachkräftemangel
Wirtschaftliche Unsicherheit, Fachkräftemangel, globale Spannungen und künstliche Intelligenz verändern die Arbeitswelt tiefgreifend. Für…
-
Hilscher kombiniert Industrial Ethernet, IIoT und CRA-Readiness auf NetX-90-Basis
Neue CifX-PC-Karten für sichere Industriekommunikation
Hilscher hat zwei neue PC-Karten für die sichere industrielle Kommunikation vorgestellt. Die Karten…
-
Auftragsbestand im Verarbeitenden Gewerbe im April: +0,4% zum Vormonat
Der reale (preisbereinigte) Auftragsbestand im Verarbeitenden Gewerbe ist nach vorläufigen Ergebnissen des Statistischen…
-
Best Managed Companies Award 2026: Schmersal mit Goldstatus geehrt
Die Firma K.A. Schmersal wurde erneut mit dem Best Managed Companies Award ausgezeichnet.
-
Smartes Engineering für funktionale Sicherheit
In der modernen Softwareentwicklung gehören Versionskontrolle mit Git, mehrsprachige Codebasen, KI-gestützte Assistenten, Extensions…
-
Auftragseingang im Maschinenbau: Keine Belebung in den Mai-Orderbüchern
Der Maschinenbau wartet weiter auf eine Belebung ihrer Orderbücher.
-
Siemens erweitert seine Werke
Siemens investiert 300Mio.€, um die Fertigung von Schlüsseltechnologien für die globale Energiewende und…
-
OWL testet die nächste Stufe industrieller KI
Mit dem Projekt Engage-KI starten It’s OWL und Fraunhofer IEM eine Leistungsoffensive für…
-
Ormazabal baut neue Deutschlandzentrale
Ormazabal hat den offiziellen Spatenstich für seine neue Deutschlandzentrale in Krefeld gesetzt.
-
Maschinenbau rechnet für 2026 nicht mehr mit Wachstum bei der Produktion
Die Produktion im Maschinenbau in Deutschland sank von Januar bis April um real…
-
Technische Beschaffung
B2B-Katalog als Brücke zur digitalen Beschaffung
Conrad Electronic erweitert seine B2B-Strategie um einen neuen, 960 Seiten starken Katalog.
-
Leitungstechnik
Torsionsfeste Devicenet-Leitung für Roboter
Igus erweitert seine Roboterleitungsserie CFRobot8.Plus um eine Devicenet-Leitung für hochdynamische Anwendungen mit Torsionsbewegungen…
-
Ringsensoren liefern Prozess- und Diagnosedaten
Induktive Ringsensoren mit IO-Link
Turck erweitert sein Portfolio um induktive IO-Link-Ringsensoren für die zuverlässige Erfassung kleiner metallischer…
-
IIoT / Edge Computing
Edge-Modul für durchgängige IIoT-Daten
Turck erweitert seine IIoT- und Service-Plattform Turck Automation Suite um das Modul TAS…
















