14 April 2015

Industrie 4.0 mit dem CloudPlug

Der erste Schritt zur Anbindung Ihrer Produktionsmaschinen an die Zukunft.


“Man kann Daten ohne Informationen haben, aber keine Informationen ohne Daten.”
Daniel Keys Moran, Programmierer und Autor


cloudplug_animation.gif

Stellt sich Ihnen die Frage welche ersten Schritte Ihr Unternehmen in das Industrie 4.0 Zeitalter führen sollen?
Stehen Sie vor der Herausforderung Ihre Maschinen und Anlagen Industrie 4.0 fähig zu machen ohne sie komplett zu ersetzen oder teuer aufzurüsten?
Sie wollen Daten zentral und kosteneffizient über eine Produktionslinie oder Produktionsnetzwerk hinweg erfassen und halten?


Unlock your data - Mit CloudPlug alte mit neuer Technologie verbinden
Datenerfassung und -haltung spielen eine zentrale Rolle bei der Umsetzung einer Industrie 4.0 Strategie, der Abwehr von Wettbewerbern, sowie der Erschließung neuer Geschäftsfelder.
Bisher werden diese Anlagendaten, oft aufgrund von hoher Komplexität und Kosten, jedoch in Silos erfasst und nicht zentral zur Verfügung gestellt oder genutzt.
CloudPlug öffnet Ihnen die Tore zu Ihren eigenen Daten und lässt sich einfach und günstig in bestehende Systeme integrieren.


Wie schlägt CloudPlug die Brücke?
Cloudplug wird direkt an die Anlage oder das Prozessnetzwerk angeschlossen und kann so auf einfachem Wege Daten automatisch erfassen.
Aufgrund des modularen Aufbaus und hoher Interoperabilität können Sie es sowohl für Drehmaschinen aus den 1950ern nutzen, als auch für moderne Anlagen.


Direkte Integration mit der Cloud
Das CloudPlug ist direkt mit günstigen, sicheren und praktisch endlos skalierbaren Cloud Infrastrukturen integriert, um die Daten dort abzulegen und schnell auszuwerten. Es arbeitet Anbieter unabhängig und kann auch in einem Private Cloud Umfeld angebunden werden.


Günstig, Robust und Skalierbar
Preisbeispiel:
  • Cloudplug: 300-400€ pro Gerät je nach Ausstattung
  • Cloud Storage für 1TB Daten: circa 18€ pro Monat
Als Referenz: Eine Datenbank mit 450.000 Zeilen und 6 Spalten hat circa 22MB.


Interoperabilität
CloudPlug ist modular aufgebaut und bietet Anbindung an LAN, WLAN, GSM, UMTS, OPC-UA, CAN, ProfiBus, M-BUS, SIO, sowie digitale und analoge Eingänge.


FH Foto DRAFT.jpg


“Ihnen fehlen konkrete Ansätze bei der Umsetzung von Industrie 4.0? Bei SOTEC können wir Ihnen helfen die Komplexität herunter zu brechen und erste Schritte bei der Digitalisierung in der Industrie zu gehen. Nutzen auch Sie, wie unzählige andere Unternehmen (40% des DAX und mehr als 100 KMUs), unsere Erfahrung und Umsetzungstärke die Digitalisierung in Ihrem Bereich Realität werden zu lassen.”
Florian Holz, Geschäftsführer, SOTEC


Haben wir Ihr Interesse für CloudPlug geweckt? Treffen Sie uns in Zürich um mehr zu erfahren und konkrete Anwendungsbeispiele zu sehen:


Executive Briefing: Erfolgreiche digitale Transformation und Umsetzung einer Cloudstrategie


Gerne informieren wir Sie auch persönlich über weitere Einsatzmöglichkeiten. Unsere Mitarbeiter helfen Ihnen gerne weiter.

30 July 2014

JNI mal andersherum - Java Applikationen direkt in C++ Applikation einbinden.

c++.jpg
Die Vorteile von Java in einer nativen Legacy-Umgebung nutzen? Das ist möglich mit Hilfe des Java Native Interface. Das JNI bietet umfangreiche Methoden um die Java Virtual Machine zu steuern und Java-Objekte in einer C++ Umgebung zu verwenden.

Aufgabenstellung
Java1.jpg

Es sollte eine bestehende Java-Applikation mit einer umfangreichen und komplexen Objektschnittstelle von einer C++-Applikation aus benutzt werden. Es war also ein Interface gefordert, das die Java-Funktionen und -Objekte über eine Proxy-Schnittstelle auf C++-Objekte abbildet. Besondere Aufmerksamkeit verlangten die Anforderungen bzgl. Speichermanagement, Exceptionhandling, Event-Handling (Callback) und Plattformunabhängigkeit. Die Interface-Implementierung sollte die Performance des Systems nicht deutlich verschlechtern. Die Integrität des Interfaces sollte durch umfangreiche, automatisierte Tests sichergestellt werden.

Anforderungen in einem Referenzprojekt

  • Komplexe Java-Applikation (ca. 400 Klassen, über 1200 Methoden)
  • Sehr umfangreiche, komplexe Funktionalität
  • Komplexe Datenstrukturen (Abbildung der Java-Typen durch native JNI-Typen oder allgemeine Java-Typen auf C++-Klassen)
  • Behandlung von Java Exceptions
  • Behandlung von Java-Events (Callbacks)
  • Plattformunabhängig (Verwendung von Boost-Bibliotheken)
  • Realisierte Plattformen: Windows x86/x64, Linux x86/x64
  • Test mit der Boost-Testsuite (über 50 teils sehr umfangreiche Testfälle)

Lösungsaspekte

Die Datentypen der Objekte in der C++-Applikation müssen auf die Java-Datentypen abgebildet werden. Im Fall der meisten Basistypen (z.B. integer, string, ...) bietet das JNI entsprechende Typen (jint, jstring, ...), mit denen die Zuordnung relativ einfach ist. Die Java-Objekte werden direkt über eine Java-Signatur definiert. Wo das JNI solche Basistypen nicht anbietet, muss mit Hilfskonstrukten gearbeitet werden, z.B. ein C++-Objekt vom Typ 64 Bit unsigned integer. Auf Java-Seite kann hier mit einem BigInteger-Objekt gearbeitet werden, das Lesen und Schreiben des Java-Objekts erfolgt mit Methoden der BigInteger-Klasse in Hilfsmethoden des Interfaces.
Um dem Java-Garbage-Collector zu erlauben, die im Interface verwendeten Java-Objekte aufzuräumen, müssen alle Referenzen auf Java-Objekte nach Verwendung wieder frei gegeben werden. Dies wurde für Klassenobjekte in aller Regel im Destruktor der Basisklasse realisiert. Temporäre Java-Objekte werden direkt nach ihrem Gebrauch freigegeben.
Events auf Java-Seite wurden als direkte Callbacks in die C++-Applikation realisiert. Der C++-Client stellt Methoden für die Eventbehandlung zur Verfügung. Die Verbindung zur Java-Seite erfolgt über die Registrierung der nativen (C++) Methoden, zusammen mit den korrespondierenden Java-Methoden und deren Parameter- und Rückgabetypen.

Kontakt

Stehen Sie vor einem ähnlichen Problem oder planen C++ Anwendungen mit bestehenden Java Applikationen zu integrieren?
Nehmen Sie direkt Kontakt zu unseren Spezialisten auf:
Email: 01@sotec.eu
Telefon: +49 7033 5458 0
Weitere Themen: www.sotec.eu

25 April 2014

Cloudplug in Symbiose mit dem World Analytic Leader Tableau

Internet of Things wird nach einschlägiger Meinung einer der Treiber der Industrie in den kommenden Jahren werden. Die CeBit 2014 hat BigData und die Analyse dieser Daten als eines der Hauptthemen aufgegriffen.
DR.PNGDerartige Informationen einfach und unkompliziert aus ihrem Produktionsprozess zu extrahieren, um diese schnell und effizient auszuwerten, ist mit der neuen Partnerschaft zwischen Sotec/Cloudwürdig und Tableau nun effizient möglich.


Der von Sotec/Cloudwürdig entwickelte CloudPlug ist ein Industrierechner in der Größe einer Zigarettenschachtel und wird modular mit verschiedenen Netzwerkschnittstellen und Protokollen ausgerüstet. Der CloudPlug wird direkt an der Maschine oder dem Prozessnetzwerk “EingePlugt”. Danach können Daten durch den CloudPlug aus Ihrer Maschine oder Ihrem Prozessnetz entgegengenommen, vorverarbeitet und sicher in einer Cloud zur Auswertung abgelegt werden. Dank seines robusten und für den harten Industrieeinsatz ausgelegten Designs sowie seiner Größe kann CloudPlug auf Hutschienen oder direkt im Maschinenumfeld montiert werden. Unsere Ingenieure legen Wert auf eine sichere, modulare, robuste und trotzdem kostengünstige Konstruktionsweise. Hierfür werden Standardkomponenten wie ARM Prozessoren verwendet, die sich gut an gestiegene Anforderungen anpassen lassen.

RB.PNGSomit stehen Informationen aus der Produktion annähernd in Echtzeit zur Auswertung zur Verfügung. Durch eine Vielzahl an Protokollen (OPC UA, CAN, Profibus, M-Bus...) und Schnittstellen (LAN, GSM, WLAN, Bluetooth, USB, A/D-Wandler) die durch CloudPlug unterstützt werden, kann dieser effizient in bestehende Infrastrukturen eingebunden werden.
Hierbei sind Sie völlig unabhängig ob Sie eine Maschine, einen Standort, Ihre globale Produktion oder hunderte von mobilen “Things”  vernetzen wollen. Für diesen Zweck haben wir Cloudplug entwickelt. Sprechen Sie uns an.


Einmal in der Cloud angekommen benötigen Sie eine einfache Möglichkeit Ihre Daten auszuwerten und grafisch greifbar zu machen.


Tableau ist eine Cloud-basierte Software mit der einfach und kostengünstig die gespeicherten Maschinendaten ausgewertet und visualisiert werden können. Fast schon spielerisch werden Sie in die Tiefen Ihrer Prozess- und Maschinendaten abtauchen, um neue Erkenntnisse zu gewinnen und Innovationen abzuleiten.

Mit Tableau können Sie dem Management einen direkten Einblick auf relevante Informationen geben. Diese können auf jedem beliebigen Endgerät mit Browser dargestellt werden (Android, iPad, iPhone, PC). Da diese Charts dynamisch sind, kann direkt im Browser auf entstehende Fragestellungen eine Antwort gefunden werden.
Immer und Überall.
Die Informationsübertragung und Speicherung erfolgt natürlich nach aktuellem Stand der Sicherheit.

Die Möglichkeit Produktionsdaten einfach zu speichern um Erkenntnisse  zwischen verschiedensten Produktionsfaktoren grafisch “greifbar” darzustellen zeichnet die Zusammenarbeit von Cloudplug und Tableau aus.


Tableau ist im aktuellen Gartner-Index als Marktführer im “Magic Quadrand” aufgeführt.


Lesen Sie mehr zu CloudPlug oder zu Tableau.


SOTEC und Tableau eine gute Partnerschaft für Ihre Produktions- und Anlagedaten.


Bei Fragen stehe ich gerne zur Verfügung. 
Kontaktieren Sie uns noch heute! 
sotec@sotec.eu
07033 54580 





09 December 2013

Erfolgreicher Messeauftritt von SOTEC auf der SPS IPC Drives.

Zusammen mit dem IPA der Fraunhofersellschaft war Sotec vom 27.11-29.11 auf der SPS IPC Drives Messe in Nürnberg vertreten. Hier wurde der kooperativ entwickelte Demonstrator einer Industrie 4.0 Integration in die Cloud vorgestellt. Als einziger Hersteller konnten wir schon heute eine Lösung bieten Maschinen- und Prozessdaten auszulesen und über unterschiedliche Cloudanbieter auszuwerten.
Als exemplarische Datenquellen dienten eine Drehmaschine aus dem Jahr 1956 sowie eine Maschinensimulation des ISG, die über eine Beckhoff Steuerung Daten in die Cloud übertrugen. Die Datenübertragung wurde von “CloudPlug” einer gemeinsamen Entwicklungsarbeit des ISW-Uni Stuttgart und Sotec durchgeführt. Hierbei wurde demonstriert wie durch eine handesübliche Hardware große Datenmengen aus der Steuerung per OPC UA entgegengenommen und sicher in der Cloud gespeichert und ausgewertet werden können.
Das “VirtualFordKnox” des IPA der Fraunhofergesellschaft speichert diese Daten sicher auf eigenen Servern. Ausgewertet werden konnten die Daten durch ein MES von Xetics.
Neben dem Thema, wie unglaublich schnell cloudgestützte Lösungen in das produzierende Gewerbe eingesetzt werden und somit Kostenvorteile für Unternehmen realisiert werden können, war die Thematik der Datensicherheit ebenfalls präsent. Durch die ISO 27001 Zertifizierung der Cloud Anbieter und den daraus resultierenden hohen Sicherheitsstandards, konnten diese Anforderungen ebenfalls erfüllt werden.
Wir danken allen Interessenten für die aufschlussreichen Gespräche und unseren Partnern für die tolle Zusammenarbeit. Der Entwicklung von Industrie 4.0 und unserem Projekt CloudPlug sehen wir zuversichtlich entgegen.
Falls wir auch Ihr Interesse zum Thema CloudPlug oder CloudComputing geweckt haben, finden Sie uns auf folgenden Messen:
Hannovermesse 2014
SPS IPC Drives 2014
Oder wenden Sie sich direkt an:
Ralf Kölle | r.koelle@sotec.eu | +49 160 809 5000

Wir freuen uns von Ihnen zu hören!

24 September 2013

Scientific processing of satellite image data on Google Cloud Platform

In a 5 person-days PoC project with CloudEO AG, we have built an application on Google App Engine and Google Cloud Storage for highly parallel processing of satellite image data. Google’s cloud infrastructure proved to be scalable so that the processing time could be reduced by factor 12 compared to state of the art PC hardware. In parallel costs were as low as 3€ (4$) for processing one satellite scene with the size of about 5GB.

Introduction
CloudEO AG, headquartered in Munich, is establishing a new cloud-based market place for geo-information services. It connects geo-data, geo-information and geo-applications on a secure and professional hybrid cloud platform.
The objective of the PoC was to evaluate the value of Google’s Cloud based infrastructure for parallel processing of satellite image data regarding performance and also economic efficiency.

Description of calculation process

The specific process which should be implemented is the matching of satellite earth observation imagery to road vectors by correlation, in order to precisely geo-locate the image on the ground, using the road vectors as reference. This process is also known as georeferencing. To accomplish this task the images are divided into a predefined number of subimages (also called correlation cells) and for each subimage the the displacement vector in x and y dimension is calculated for maximal correlation with the road reference image. The complete number of steps to perform for each subimage are the following:
  1. Extract satellite subimage and road vector subimage with given coordinates and dimensions
  2. Apply edge filter on satellite subimage to extract edges. 
  3. Correlate edge filtered subimage with road subimage for a given number x/y offsets and identify x/y combination with maximal correlation.
Figure 1: Array of 676 correlation cells with overlayed road vectors (blue) distributed 
across a RapidEye satellite scene over Germany.


Input Data
As a representative real world example the PoC was carried out with a single satellite scene over Germany with approximately 5 m ground resolution. 
Parameters of this scene are typical values:

Image data

Format: raw byte array
Pixel rows: 44000
Pixel columns: 40000
Byte per pixel 1 (greyscale)
Files / bands: 3

Road reference data
Same as image data, one single file Byte per pixel: 1


A table containing the processing steps to perform on the data was provided as CSV file with the following structure:

Field
Description
Type
Defines type of processing step (extract and filter image, extract roads, correlate)
band
which band (file) shall be processed
X
x position in image file for extraction or x offset for correlation
Y
y position in image file for extraction of y offset for correlation
Xdim
horizontal dimension of subimage
Xdim
vertical dimension of subimage


Solution Design on Google Cloud Platform

For solving the task using the Google Cloud Platform we have decided to store the satellite images on Google Cloud Storage. Each file has a size of about 1.6 GB and we had four of them: three satellite images (red, green and blue channel) and one road reference image.
For the processing of the image data we had the alternatives of using App Engine or Compute Engine. As we would have had to orchestrate Compute Engine by an App Engine application and the scope of the PoC was only 5 men days we have chosen to completely solve the task using App Engine and Java as the programming language.

The following image illustrates the high level solution design:





The main components of the solution are:
  • A web servlet showing a simple UI which allows to set some configuration parameters, start a new job or see the current status of the job.
  • The application core (controller) which controls the processing of the image data. It reads the processing steps and puts new tasks into the task queue. We have also implemented the usage of the Pipeline API as an alternative. In both cases we interact with the App Engine Datastore for storing configuration of the individual tasks.
  • Child tasks that are spawn by the Task queue / Pipeline API automatically and that operate on subimages of the image data. They access the image data located on Google Cloud Storage using the Google Cloud Storage Java API. The API provides methods to position the read cursor at a specific location inside the file so that it will be possible to read subimages without having to read the whole file.
  • The child tasks will also perform the image processing itself (edge detection and correlation). 
  • Calculation results are stored into datastore for later display / download.

Results

We have run 3 different complete performance test runs on the data with different configurations for Task Queue parameters (maximum rate, bucket size, maximum concurrent),  Frontend Instance Class, Pending latency and Idle instances. The Pipeline API solution was not used for test runs as it caused a considerable higher amount of datastore write operations compared to our own solution.

It turned out that using quite conservative values for task queue parameters (max. rate 10/s, bucket size 100, max. concurrent 200) and a low instance class gave the best results in performance and costs. Increasing performance of instance class or task queue throughput even had a negative effect on the overall runtime, probably because of the high number of concurrent requests to Google Cloud Storage data.

With the configuration described above the job could be completed in less than 1 hour with costs of about 4$. This is a reduction of the complete runtime by factor 12 compared to the current implementation that is in use by CloudEO. The Director of Technology at CloudEO said that the costs of 4$ are almost negligible in the overall process for producing a complete satellite scene. We spent approx. 5 person-days for implementation and performance testing, the whole project duration was about 3 weeks. Overall we could prove that Google App Engine is well suited for performing scientific calculation with a high degree of parallelization.

If you have any further questions please do not hesitate to contact us.


(Author: Matthias Feurer, Head of Cloud Computing, SOTEC Software Entwicklungs GmbH + Co Mikrocomputertechnik KG)

21 August 2013

Industrie 4.0 für den deutschen Mittelstand

“Industrie 4.0”, dieser Begriff ist seit der Hannovermesse 2011 in aller Munde. Wir haben uns die Frage gestellt: Was steht hinter diesem Begriff, z.B. aus der Sicht eines Maschinenbauers? Was steht für uns hinter diesem Begriff und welche Ziele verfolgen wir?

Im Rahmen der Marke “cloudwürdig - powered by SOTEC” haben wir uns ein großes Know-How im Cloud-Bereich sowie Erfahrungen in der Anbindung anderer Systeme an die Cloud gesammelt. Durch Tätigkeiten im Industriesektor, im Bereich der Automatisierungstechnik und Softwaretechnik sehen wir unsere Stärken in der Verknüpfung dieser Technologien und Anwendungsbereiche.

Basierend auf Ergebnissen der Umfrage “Automation (in the) Cloud?” [1] des VDI sehen über 60% aller Befragten den größten Vorteil der Cloud in der zentralen Datenhaltung. An zweiter Stelle wird mit knappen 50% die “Effizienz bei der Nutzung von Speicher und Rechenkapazitäten” genannt. Beide Themen erfordern eine Verbindung von klassischen Produktionsmaschinen mit einer IT-Struktur, um Daten über Ressourcen, Prozesse oder Produkte weitergeben und auswerten zu können.

Die Herausforderung liegt dabei in der Anbindung an die Maschine. Sprich die Verknüpfung von auswertenden und verarbeitenden IT-Systemen mit der produzierenden Ressource. Während heutige IT-System mit standardisierten Kommunikationsprotokollen arbeiten, sind Maschinen an einem inselähnlichen Aufbau orientiert und verarbeiten anfallende Daten meist nur lokal. Durch die Nutzung von Anlagen unterschiedlicher Hersteller ergibt sich eine Vielzahl an unterschiedlichen Protokollen, die unterstützt werden müssen, um eine erfolgreiche Verbindung herzustellen. Eine ganzheitliche Lösung scheint auf den ersten Blick nicht greifbar zu sein.

Mit der vierten Industrierevolution ist die Notwendigkeit entstanden, neue Ansätze zu entwickeln dieses Problem auszuräumen und eine maschinenübergreifende und IT-integrierende Kommunikation zu ermöglichen. Dies dient in erster Linie der Erfassung und Auswertung von Informationen, was letztlich zu einer Optimierung von Prozessen und Abläufen führt.

“OPC UA” ist eines der Stichworte, welches in diesem Zusammenhang häufig fällt und als “heißer Kandidat für die Datenkommunikation in der Industrie 4.0” [2] genannt wird. Das Kommunikationsprotokoll ermöglicht eine Übertragung von Maschinen-, Prozess- und Steuerungsdaten über verschiedene Netzwerke. Eine Verbindung wird hierbei nur hergestellt sofern ein Wert explizit angefordert wird oder, im Falle der aktivierten Überwachung, geändert wurde. Durch den Einsatz an Geräten verschiedener Hersteller ist eine plattformübergreifende Auswertung möglich. Des Weiteren können die gespeicherten Informationen zentral gespeichert und abgerufen werden. Dieser Schritt könnte beispielsweise in der Cloud/Internet erfolgen um auch standortübergreifende Auswertungen zu ermöglichen. Auch die Überwachung vieler verstreuter Sensoren oder eines Wind-Offshore-Parks ist somit von einer zentralen Instanz aus möglich.

Als Unternehmen, welches sich tagtäglich mit Situationen wie diesen konfrontiert sieht, wissen wir um die Mächtigkeit des bereits technisch möglichen. Die software- und hardwareseitige Integration von komplexen Systemen und Komponenten sehen wir als wichtige Aufgabe an, welcher wir uns mit Leidenschaft widmen. Trotz universell einsetzbarer Standards lässt sich die Aufgabe der Implementierung von Schnittstellen für Maschinen und Cloud-Anwendungen nicht pauschal lösen. Schwierig ist es diesen Weg effizient und problemlos zu beschreiten. Die kann anstrengend sein, doch verschafft im Gegenzug Unternehmen strategische Vorteile.

Wie sehen Sie das? Sehen Sie in Ihrem Unternehmen Anwendungsbereiche, in denen die Vernetzung von klassischen, produzierenden und verarbeitenden Komponenten mit dem Internet Sinnvoll erscheint?

Erfahren Sie mehr zum Thema auf: industrie40.sotec.eu




[1] http://www.vdi.de/uploads/media/2013-06-25_Cloud-Umfrage_Automation2013.pdf