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
-
Mehr Speed mit IO-Link: 5 Praxistipps für Ingenieure
Wie Anwender das volle Potenzial smarter Sensoren ausschöpfen
IO-Link hat deutlich mehr zu bieten als die bekannten Vorzüge. Dieser Fachartikel zeigt mit Beispielen aus der Praxis, wie Anwender sämtliche Vorteile der digitalen Schnittstelle nutzen. Das funktioniert…
-
Webbasiertes Lifecycle-Management mit DevSecOps und KI-Unterstützung
Codehoheit in der Cloud
Wer Verpackungslinien betreibt oder baut, kennt das Problem: SPS von Hersteller A, Antriebe von Hersteller B, Roboter von Hersteller C – und für jedes System ein eigenes Engineering-Tool,…
-
Omron stellt die Weichen bis 2030
Weniger Varianten, näher am Markt
Mit Shaping the Future 2030 richtet sich Omron strategisch neu aus: flexibler, regional breiter aufgestellt und technologisch stärker auf einfache Integration, Digitalisierung und KI getrimmt. Im Gespräch erläutert…
-
Ganzheitliche Asset-Strategie statt isolierter Wartung
Predictive Maintenance über Systemgrenzen hinweg
Predictive Maintenance ist längst mehr als ein Trendthema der Instandhaltung. In vielen produzierenden Unternehmen gilt sie als zentraler Hebel, um Anlagenverfügbarkeit zu erhöhen, Kosten zu senken und Ressourcen…
-
IO-Link ist für IFM mehr als eine Schnittstelle – eine Strategie
Der lange Weg vom Sensor-Interface zum Ökosystem
Wenn Joachim Uffelmann, langjähriger IO-Link-Experte bei IFM Electronic, über die Sensorschnittstelle spricht, wird schnell klar: Für IFM ist IO-Link kein Produkt, das man im Katalog anbietet, es ist…
-
Überwachungsgerät schützt das Herz der Anlage
Condition Monitoring direkt im Schaltschrank
Condition Monitoring im Schaltschrank wird zunehmend zum Schlüssel für stabile Prozesse und hohe…
-
Anzeige
Mehr Speed mit IO-Link: 5 Praxistipps für IngenieureWie Anwender das volle Potenzial smarter Sensoren ausschöpfen
IO-Link hat deutlich mehr zu bieten als die bekannten Vorzüge. Dieser Fachartikel zeigt…
-
KI-gestütztes Engineering
Mit dem Copilot stellt Eplan eine neue Generation KI-gestützter Assistenz vor, die den…
-
Bestandsmaschinen zukunftsfähig machen – mit Edge, Cloud und KI
Durch Retrofit zur datengetriebenen Produktion
Industrielle Produktionsanlagen sind auf eine lange Nutzungsdauer ausgelegt. Viele Maschinen, Linien und Anlagen…
-
SpiraTec setzt Wachstum im Geschäftsjahr 2024/2025 fort
SpiraTec hat im Geschäftsjahr 2024/2025 ihren Wachstumskurs erfolgreich fortgesetzt und ihre Wettbewerbsposition weiter…
-
Neuer Manager Product Development bei Itac
Dr. Daniel Metz übernimmt ab sofort die Position Manager Product Development bei Itac.
-
Schlegel: Größtes Bauprojekt der Firmengeschichte
Das Elektrotechnik-Unternehmen Georg Schlegel investiert einen Millionenbetrag in einen Neubau am Standort Dürmentingen…
-
Factory-X-Konsortium zieht Bilanz nach Projektabschluss
Zum Abschluss von zweieinhalb Jahren gemeinsamer Projektarbeit hat das Factory-X-Konsortium beim Abschlussevent am…
-
Online konfigurierbar
Embedded-PC für industrielle Anwendungen
Der Custom Picosys AMI240AFM ist ein lüfterloser Embedded PC für industrielle Anwendungen, bei…
-
9,7Mio. neue IO-Link-Devices in 2025
Im Jahr 2025 wurden weltweit rund 9,7Mio. neue IO-Link-Devices und Master-Ports installiert.
-
87% erachten Weiterbildung als wichtig
Weiterbildung von Mitarbeitenden hat für die Mehrheit der Unternehmen eine hohe Bedeutung.
-
KI bei der Arbeit: Fast die Hälfte lehnt sie ab
Auch im Berufsleben ist KI angekommen. 48% der Erwerbstätigen nutzen KI bei der…
-
Auslandsmärkte Maschinenbau: Auftragsbestand
38% der indischen Firmen melden überdurchschnittliche Bestände.
-
Conrad Whitepaper
Industrie 4.0 im Modell erleben und erproben
Mit der Agile Production Simulation (APS) von Fischertechnik lassen sich moderne Industrie-4.0-Konzepte praxisnah…
-
Zustandsüberwachung durch intelligente Getriebe und smarte Services
Teure Schäden vermeiden
Mit dem Serviceprodukt Predictive Pack zur digitalen Überwachung von Antriebssträngen und verbundener Komponenten…
-
Neuer Vorstand für VDMA Elektrische Automation
Der VDMA Elektrische Automation hat im Rahmen seiner Mitgliederversammlung am 16. Juni in…
-
Mit hohem Abschirmfaktor
EMV-Schutzschläuche
Moderne Produktionsanlagen sind auf eine störungsfreie Signal- und Datenübertragung angewiesen.
-
Konform zur Maschinenverordnung
Sichere Kleinsteuerung
Mit der konfigurierbaren sicheren Kleinsteuerung Pnozmulti?2 von Pilz können Anwender ab sofort die…
-
Zellspannung kompakt und sicher überwachen
Differenzielles Analog-Eingangsmodul
Das differenzielle Analog?Eingangsmodul erweitert das Remote?I/O?System U?Remote um eine Lösung zur Einzelzell?
das könnte sie auch interessieren
-
Bestellen wie ein Pro:
Neues Loyalitätsprogramm bei Conrad
-
Sichere industrielle Kommunikation
Robuste und sichere Routergeneration
-
-
















