Montag, 19. Dezember 2016

SIMATIC IOT2000


Was und wie kann ich mit dem neuen Gateway SIMATIC IOT2000 anfangen?

Diese Frage habe ich mir mehrmals gestellt und bin vorerst zu keinem Ergebnis gekommen. Nach einigen Untersuchungen am Objekt konnte ich feststellen, dass ich wohl ein Galileo-Board in den Händen hielt. Das hat mich nicht sehr überrascht, denn das Galileo-Board gibt es ja schon seit 2014 mit der Integration einer Arduino-Schnittstelle. Wie und was kann ich nun mit dem IOT2000 anfangen, um nicht das was es bereits in der Galileo-Welt schon gibt, noch einmal neu zu erfinden?

Die Antwort ist mein neues Buch:



Nachfolgend einige Seiten aus dem Buch. Weitere Ausschnitte folgen noch :)


1.1 SIMATIC IOT2000

Viele reden von Industrie 4.0, deren Idee es ist, unter anderem Daten in der Cloud über die weltweite Vernetzung für verschiedene Nutzer zur Verfügung zu stellen. Das Problem ist nicht die Erfassung der physikalischen Daten, sondern deren Portierung und Darstellung über ein Netzwerk in eine entsprechende Internet-Struktur. Beispielhaft liefert ein Barcode eine Information über ein Objekt (Größe, Gewicht, Farbe, Preis usw.) und kann so als gespeichertes Objekt innerhalb eines Netzwerkes Informationen weitergeben.
Eine Lösung bietet das Kommunikationsprotokoll MQTT[1], welches sich bereit in der Anwendung IoT etabliert hat und bietet bessere Möglichkeiten der Umsetzung als das http[2]-Protokoll.
Ganz anders sieht es bei der Sensorik aus, diese liefern nicht nur Daten wie Temperatur, Feuchtigkeit usw., sondern können zudem Funktionalität übermitteln und Aktionen einleiten. So schaltet sich z. B. eine Heizung ein, wenn die Temperatur unter den Sollwert fällt. Aufgrund der verschiedenen Systeme und Darstellung der physikalischen Werte entsteht ein riesiges Funktionsbündel. Dazu gehören z. B. die Identifikation, Adressierung und Skalierung der Daten und ein ganz wichtiges Argument ist die Informationsverarbeitung der eingebetteten  Systeme (Embedded). Und da sind wir schon beim SIMATIC IOT2000 (im weiteren Buchverlauf auch häufig als IOT2000 bezeichnet) angekommen.

Es stellt sich damit die Frage: „Wie kommen meine physikalischen Daten in die IOT2000 und wie muss ich diese verwerten und kalibrieren, um diese dann wieder in einem Netzwerk zur Verfügung zu stellen"?




[1] [MQTT] Message Queue Telemetry Transport
[2] [http] hypertext transfer protocol

Ein Gateway mit der Möglichkeit verschiedene Datenquellen zu lesen, zu schreiben und auch zu erzeugen wäre eine denkbare Lösung. Z. B. eine SPS kann von der Datenquelle lesen und Daten erzeugen. Experten können sich deren Programmierung gut vorstellen. Auch die Vernetzung der SPS innerhalb eines bekannten, lokalen Netzwerkes ist gut denkbar. Die Daten oder sogar Funktionalität in einen Cloud zu senden wird dagegen für den SPS-Programmierer schon schwieriger, sich vorzustellen und damit auch umzusetzen. Noch komplexer wird der Gedanke, Daten aus anderen Netzwerken und deren Geräte zu erfassen, auszutauschen und letztendlich in einer Cloud als Service zur Verfügung zu stellen.

Die Sensorik und die Kommunikationsfähigkeit, sollten mit einer minimalen Informationsverarbeitung möglich werden.

 ....

8.1 Der Entwurf von Ardu_IOsim
Es soll ein Programm geschrieben werden, welches die digitalen Eingänge Pin2-Pin13 und die analogen Eingänge A0-A5 des Arduino-Boards simulieren soll. Die Kontrolle zum Arduino-Board soll mit der seriellen Schnittstelle (USB) erfolgen. Dafür müssen je ein Programm für den PC und ein Programm für das Arduino-Board geschrieben werden. Für den PC wird das Java-Programm und das C++-Programm für den Arduino erstellt. Die Anwendung auf dem PC wird durch eine kleine Grafik (JavaFX Scene Builder) unterstützt, welche es erlaubt die Schnittstelle zum Arduino zu kontrollieren. Die digitalen und analogen Eingänge für den Arduino können so per Klick zum Board gesendet werden, welches nun mit seinem Anwenderprogramm auf die simulierten Daten reagiert und diese dann auf einer Webseite präsentiert.
Das Arduino-Projekt bekommt eine Library, welche zum beliebigen, eigenen Projekt eingefügt wird. Der Programmierer kann so mittels #define-Anweisung zwischen Simulation und echten Eingängen unterscheiden.


Bild  8.1 Das Programm Ardu_IOsim kann für das SIMATIC IOT2000 und dem Arduino/Genuino eingesetzt werden
....

8.1 Der Datenaustausch zwischen Arduino/IOT2000 und Ardu_IOsim

Der Arduino/IOT2000 dient als Server und der PC als Client. Das bedeutet, dass der PC seine Aufforderung an den Client sendet und dieser Antwortet. Mit der Aufforderung des Client werden die digitalen und die analogen Eingänge im ASCII-Format gesendet (Bild  8.2). Im Bild sind die Eingänge Pin_0, Pin_1, Pin10 und Pin_11 als Eingänge deklariert. Die restlichen Pins sind Ausgänge und können bei dieser Deklaration vom Anwender nicht gesetzt werden.
Die Datenrichtungen der einzelnen Pins sind für die Darstellung im Programm Ardu_IOsim wichtig, damit diese richtig angezeigt werden und die Eingabemöglichkeit zugeordnet werden können. Dafür werden die Datenrichtungsregister DDRD-DDRC gesendet. Für die Zustände der Ports auf True oder False sind die Register Port_D bis Port_C zuständig. Im Programm Ardu_IOsim werden die letzten Ports DDRC und Port_C nicht ausgewertet. Das kann dann der Leser erweitern, falls er die analogen Pins ebenfalls als digitale Eingänge verwerten möchte. Das Zusammensetzen der Port-Signale übernimmt die Funktion SerialEvent, welche dann noch später zur Programmierung erklärt werden wird.
Damit ist die Philosophie für den Datenaustausch dieser proprietären Verbindung prinzipiell erklärt.
Wenn die SIMATIC IOT2000 Daten zur Verfügung stellen soll, ist diese als Server zu programmieren (Empfehlung). Sie wird also nie von sich aus irgendwelche Daten senden, sondern wartet bis der Client (PC) seine Aufforderung dazu sendet.
Welches Protokoll dazu verwendet wird und wie die Vernetzung mit anderen SPSen funktionieren soll, wird in Kapitell 11 vorgestellt.








Dienstag, 6. Dezember 2016

Jetzt auch als Buch: Objekte in TIA Runtime mit der Maus bewegen

Wie im TIA Portal Objekte  ähnlich wie auf einem Smartphone bewegt werden können, zeigt das neue Buch:



Auf der Buch-CD befinden sich alle TIA-Projekte zu diesem Thema. Das was Sie wissen möchten wird hier kurz und knapp im Source-Code für Sie veröffentlicht. Lernen Sie die neuesten Techniken kennen, das TIA-Portal einmal ganz anders zu nutzen, wie es die alten, eingesessenen Praktiken einmal vorgestellt haben.

Das Buch ist ab sofort lieferbar unter www.tia-expert.com. Der Buchpreis beträgt 39,50€ brutto zuzüglich 3,00€ Versandkosten innerhalb Europa. Bei Bestellungen auf www.tia-experet.com erhalten Sie einen Rabatt von 15% auf den Buchpreis. Sie können auch ohne Rabatt bei Amazon bestellen.

Neue Ideen zeigen wie mächtig das TIA-Portal auch in der Runtime sein kann, wenn man ein wenig Fantasie entwickelt.

Beispielhaft GRAFCET in RunTime:



Dazu das passende Buch in deutsch oder spanisch in Vorbereitung: