Maschinensoftware muss modularer werden
Beste Software für "Sandbox/Virtuelle Maschine" ? Programme gefahrlos testen?
Hi,
vielen Dank bis hierher, schon einmal für die Antworten. Ich habe mir dann folgendes überlegt:
Ich habe hier noch eine alte 320 GB HDD, die ich als Master in meinen PC einbauen werde. Alle anderen Platten, auf denen derzeit mein BS, Programme usw. installiert sind, klemme ich vom Strom ab, lasse sie aber im PC-Gehäuse.
Der PC verfügt nicht über Wlan, sondern ist per Kabel an einen Router angeschlossen. An diesem Router hängt noch ein weiterer PC (Heimnetzwerk). Ich trenne also auch meinen PC (in den ich die alte 320 GB HDD nun einbaue) vom Router und somit vom Netzwerk/Internet.
Dann installiere ich auf der alten 320 GB HDD Windows 7 64 Bit als 30 Tage Testdemo. Hier installiere ich dann die Programme die mir der Kunde per Mail gesendet hat um diese zu testen.
Nach dem Testen formatiere ich die HDD, ggf. nochmal mit "Eraser".
Bin ich bei dieser Vorgehensweise relativ sicher? (Ich weiß 100% Sicherheit wird es nicht geben und die Hardware ist trotzdem angreifbar)
Was könnte schlimmes passieren, wenn ich nach dem Test die 320 GB HDD wieder abklemme und meine eigentlichen Platten mit dem BS usw. wieder anklemme um diese dann regulär zu nutzen?
Welchen Tipp habt ihr, wenn ich mit den zu testenden Programmen auf der alten 320 GB HDD ins Internet gehen möchte. Sicherlich sollte ich dieses nicht über meinen Router machen oder? Meine Idee wäre hier einen extra UMTS-Stick mit einer Prepaid-Tagesflat zu nutzen. Was meint ihr? Andere/Bessere Ideen?
Danke und viele Grüße
Funktionsweise eines Rechners » Programmübersetzung
Programmübersetzung
Worum geht es hier?
Programme zur Verarbeitung von Daten werden in der Regel in einer Programmiersprache wie Python, C++, Java oder Pascal geschrieben, so genannten "höheren Programmiersprachen" oder "Hochsprachen". Diese Programme sollen dann von Rechnern automatisiert ausgeführt werden. Rechner "verstehen" aber nur Befehle einer vorgegebenen maschinennahen Assemblersprache. Um auf Rechnern tatsächlich ausgeführt werden zu können, müssen Programme aus der benutzten Hochsprache in die passende Maschinensprache übersetzt werden.
Ziel dieses Abschnitts ist es, diesen Übersetzungsprozess in einfachen Fällen transparent zu machen:
Dazu werden Programme in einer sehr einfachen Hochsprache ("MiniPython") schrittweise in Maschinenprogramme für den Bonsai-Modellrechner übersetzt.
Eine tiefergehende Behandlung erfolgt im Abschnitt Entwicklung eines Compilers - MyWhile.
Hier lernst du ...
... wie man ein Programm in kleinste sinnvolle Einheiten zerlegen kann.
... wie man ein Programm in seine Programmstruktur zerlegen kann.
... wie man mit Hilfe von Übersetzungsschablonen Code in einer anderen Sprache (z.B. Assemblersprache) erzeugen kann.
Software für diesen Abschnitt
Maschinensoftware muss modularer werden
Warum die Software in Maschinenbau und Automation immer mehr an Bedeutung gewinnt und wie Baukästen aus wiederverwendbaren Modulen die Softwareentwicklung auf Trab bringen können, zeigt eine Branchenumfrage der Automationspraxis.
Für 92 Prozent der Maschinenbauer sind Softwarelösungen inzwischen ein wichtiger Wettbewerbsvorteil, zeigt eine Trendstudie von Quest. Für die Hälfte der Maschinenbauer prägen Softwarelösungen sogar ganz überwiegend die Wettbewerbsvorteile ihrer Maschine. Entsprechend wächst die Bedeutung der Software im Entwicklungsprozess.
„In den vergangenen 40 Jahren hat sich der Anteil der Softwareentwicklung an der Entwicklung neuer Maschinen und Anlagen von 5 auf gut 50 Prozent erhöht. Dies lässt sich direkt auf gesteigerte Anforderungen der Endkunden zurückführen. Neben Prozessflexibilisierung rücken hier vor allem Basisfunktionen für die Vernetzung sowie das Bedienen und Beobachten in den Vordergrund“, erklärt Markus Sandhöfner, Geschäftsführer B&R Deutschland.
Dadurch wachsen jedoch auch die Anforderungen an die Maschinensoftware – etwa hinsichtlich der Modularität. „Die Modularisierung der Maschinenkonzepte spielt für unsere Kunden im Maschinenbau eine zunehmend wichtigere Rolle, denn nur so können sie die vielfältigen Anforderungen in ihren Märkten effizient umsetzen und gleichzeitig die Engineering-Kosten im Griff behalten“, berichtet Dr. Thomas Cord, Geschäftsführer bei Lenze Automation.
Gefragt seien standardisierte Funktionseinheiten, die mit möglichst geringer Adaption immer wieder verwendet werden können. In der Mechanik ist das schon gang und gäbe. „Bei der Standardisierung und Wiederverwendung der Software sehen die Maschinenbauer aber heute noch einen Nachhochbedarf“, weiß Cord. Sandhöfner nickt: „Für die Mechanik in den Maschinen ist die Modularisierung weitestgehend realisiert. In der Software muss dies nun konsequent weitergeführt werden.“
Sowohl Lenze als auch B&R gehen hier mit gutem Beispiel voran: „Lenze hat diesen Trend frühzeitig aufgenommen“, betont Cord. „Seit zwei Jahren bietet unsere Application Software Toolbox Fast wiederverwendbare Softwaremodule, beispielsweise für Applikationen wie Wickeln, Querschneiden, Fördern, Vereinzeln, Gruppieren oder Siegeln.“ Aktuell hinzugekommen sind Softwaremodule für die Steuerung verschiedener Roboterkinematiken.
Sandhöfner stößt ins gleiche Horn: „B&R hat mit den Technologie-Bausteinen in Automation Studio die Stoßrichtung schon immer verfolgt und setzt nun mit der Mapp-Technology auch für Basisfunktionen einen weiteren Meilenstein im Bereich modularer Softwareentwicklung.“ Durch die wiederverwendbaren Module könne man die Softwareentwicklungszeit für neue Maschinen und Anlagen um durchschnittlich 67 Prozent reduzieren. „Der Kunde braucht sich nicht mit Basisfunktionen oder Software-Wartung zu beschäftigen. Er kann sich auf seine Kernkompetenzen konzentrieren“, sagt Sandhöfner.
Enorme Zeitersparnis
Cord verspricht, dass sich mit den Softwarebausteinen des Fast-Baukastens 80 Prozent des Software-Engineerings in 20 Prozent der normalen Zeit umsetzen lasse. „Denn unsere Analyse in verschiedenen Segmenten des Maschinenbaus hat gezeigt, dass sich die Software unterschiedlichster Maschinentypen auf eine relativ kleine Menge von Basisapplikationen zurückführen lässt.“
Ihm ist es sehr wichtig, dass der Maschinenbauer auch sein eigenes Knowhow in das modulare Softwarekonzept einbringen kann. „Die Schnittstellen der Fast-Technologiemodule sind in unserem Application Template standardisiert und offengelegt, so dass ein Anwender einfach eigene Module integrieren kann.“
Bosch Rexroth kann ebenfalls auf jahrelange Erfahrung im modularen Software-Engineering verweisen. „Mit den Steuerungssystemen Indramotion MLC und Indramotion MTX bieten wir seit Jahren prozessorientierte Technologiebausteine, um der Wiederverwendbarkeit und Modularisierung der Maschinensoftware Vorschub zu leisten“, betont Norbert Sasse, Leiter Vertriebliches Produktmanagement Motion Logic-Systeme. Zudem steigere das Software-Tool Indraworks die Effizienz der SPS-Programmierung im Maschinenbau.
„Und auch in unserer Engineering-Umgebung Open Core Engineering vereinfachen Function Toolkits die Programmierung“, ergänzt Sasse. Beispiele seien objektorientierte Funktionsbibliotheken für Technologielösungen, Safety, Energiemanagement oder Condition Monitoring. Anwender müssten diese meist nur noch parametrieren. „Als weiteres Beispiel erstellt das Generic Application Template voll automatisiert ein vollständiges, objektorientiertes und modulares Maschinenprogramm. Dieses baut für eine vollständige Offenheit des Programmcodes ausschließlich auf offenen Standards wie IEC61131-3 und PLCopen auf“, so der Rexroth-Mann.
Inwieweit sich diese modularen Software-Bausteine auch plattform-übergreifend nutzen lassen, bleibt abzuwarten. Sasse: „Ideal wäre sicher eine Open Source-Plattform für Automation – aber davon ist die Automatisierungsbranche noch ein ganzes Stück entfernt.“ Immerhin verstünden sich Steuerungen durch die standardisierten SPS-Sprachen der IEC 61131-3 bereits ein stückweit. Zudem seien Motion- und Safety-Bausteine durch die PLCopen standardisiert.
Auch für Sandhöfner sind offene Standards wie IEC 61131 und PLC- open Wegbereiter für eine Übertragbarkeit. „Die PLCopen-Bausteine sind in Form sowie Funktion identisch. Dadurch können sie plattformübergreifend eingesetzt werden und machen sie bereits ähnlich zu Apps.“
Allerdings Sasse schränkt ein: „Softwarebausteine, die darüber hinausgehen und herstellerspezifische Funktionen bereitstellen, sind aufgrund unterschiedlicher Architekturansätze meist inkompatibel.“ Etwas besser sehe es bei Steuerungen aus, die zumindest die gleiche SPS-Plattform wie die neueste Codesys Version 3 verwenden.
Standardisierung notwendig
Auch für Cord ist der Idealzustand noch nicht erreicht: „Herstellerübergreifende Standards gibt es heute noch nicht, denn die Funktionalitäten solcher Technologiemodule gehen weit über die etablierten Standards der PLCopen hinaus.“ Allerdings sei man „sehr an der Definition von herstellerübergreifenden Standards interessiert“, betont Cord. Daher habe man die Schnittstellenspezifikationen offen gelegt. Entscheidend sind für Sandhöfner gemeinsame Schnittstellen zum Datenaustausch. „Sofern diese bis auf die Hardware-Ebene vereinheitlicht werden können, ist die darauf sitzende Software automatisch übergreifend nutzbar.“
Das könnte in der Zukunft sogar in einer Art öffentlichem App-Store münden: „Einen öffentlichen App-Store gibt es zwar heute noch nicht. Wir würden es aber sehr begrüßen, wenn standardisierte Maschinenfunktionen auf dem Weg eines öffentlichen Marktplatzes eine weitere Verbreitung finden würden“, sagt Cord. Herstellerübergreifende Standards seien jedoch die Voraussetzung hierfür.
Während modulare App-artige Bausteine für die Basisfunktionen eine Maschine noch auf dem Weg sind, stehen Apps gerade im Hinblick auf einfache Bedienung und Service bereits stark im Fokus. Mit der Schnittstellentechnologie Open Core Interface ermöglicht es Bosch Rexroth beispielsweise Softwareentwicklern, Hochsprachen-Anwendungen zu programmieren, die dann direkt auf die Kernfunktionen seiner Steuerungen zugreifen. Maschinenbauer können sowohl native Apps als auch webbasierte Apps erstellen, um Maschinenfunktionen direkt auf dem Smartphone oder dem Tablet-PC auszuführen. Sasse: „Das macht die Bedienung von Maschinen effizienter.“
Für Prof. Claus Oetter, stellvertretender Geschäftsführer des Fachverbands Software im VDMA, ist das nur konsequent: „Die Verbreitung von Tablets und Smartphones prägt in zunehmendem Maße auch im industriellen Sektor die Erwartungshaltung der Nutzer in Bezug auf Bedienung und Gestaltung von Anwendungen.“ Neben der Bedienbarkeit sei aber auch der Faktor Mobilität dabei essentiell. So ließen sich neue mobile Gesamtstrategien erschließen. Auch dies verstärke den Trend zur Modularisierung der Systeme. ab