Projekte


Projekt I. - Automatisierung einer virtuellen Produktionsanlage

name

Kurzfassung

In dieser Projekt wurde eine virtuelle Produktionsanlage, die mittels der Siemens TIA Portal SPS Entwicklungsumbgebung automatisiert wurde, in Factory IO erstellt. Der Hauptziel des Projekts war die Projektierung einer Bibliothek von Funkionsbausteinen, mit der in Factory IO nicht nur die dargestellte Belegung von Geräte, sondern auch beliebige Anlagenbelegungen automatisierbar sind. Um dieses Ziel zu erreichen, und eine einfach übersichtbare Architektur zu bauen, wurden objektorientierte Software-Entwurfprinzipien in Betrieb genommen.

Verwendete Software-Werkzeuge

Die drei wichtigsten eingesetzten Software-Werkzeuge waren in diesem Projekt: Factory IO, Siemens TIA Portal Basic v16 und Capella.

Factory IO wurde als die Plattform für die Projektierung der Anlage ausgewählt, weil es über ein reiches Angebot an gewöhnliche Fabrikgeräte verfügt, die erstellung von zahlreichen Anlagenbelegungen einfach ist, es niedriger Lerneisatz braucht, und es kann mit einer Reihe von Automatisierungslösungen kommunizieren.

TIA Portal Basic ist eine gute Wahl, wenn man über echte Automatisierungslösungen kostengünstig lernen will, da es alle nötige Werkzeuge dafür bietet, wie SPS Programmierungsumgebubg, HMI Projektierungsumbgebung, Simulator für sowohls SPS, als auch HMI. Alle diese Sachen machen eine physikalische SPS und zugehörige Hardware unnötig. Obwohl die Basisversion einige vortgeschrittene Funktionen der Pro-Version (z.B.: Unterbrechungspunkte, Software-Einheiten, Verweise, die GRAPH-Sprache, PID-Ausführung auf PLCSIM, Hochleistungshardware, usw.) nicht unterstützt, ist es dennoch sehr möglich, komplexe Steuerungssoftware zu machen, aber der Code und Testing wird ein bisschen kompizierter.

Capella wurde als Modellierungswerkzeug und Sprache ausgewählt, weil es allgemeiner als UML ist, einfacher als SysML ist, und die Sprache verfügt über eine Entwicklungsmethode und ein Werkzeug, das ausdrücklich für diese Sprache entwickelt war. Obwohl die verfügbare Dokumentation und Lernlektüre ein bisschen Verbesserung brauchen, war das Werkzeug für die Modellierung des Systems, nicht nur des Softwares nutzbar, ohne darüber Vorkentnisse zu haben.

Diskussion

Die wichtigste Details des Projekts und Steuerungssoftware wurden in den folgenden Videos diskutiert, deswegen sind sie hier nicht wiederholt. Bitte schauen Sie sich die Videos an, bevor Sie fortfahren.





Bemerkungen

Dieser Abschnitt ist den Beobachtungen, die während der Projektierung des Projekts gemacht worden, gewidmet. Sie sind hier in keiner besonderen Reihenfolge dargestellt.

Factory IO

  • Die Anpassung des Gewichts der Kisten ist nicht möglich, das zur Streuung der palletierte Kisten während der Bewegung führt.
  • Die Anzahl der erlaubte Analog-IO ist ganz niedrig und sie ist einfach auszureizen.

TIA Portal V16
Die folgenden Punkte demonstrieren einige Schwächen von TIA Portal. Falls sie behoben würden, würde das das Entwicklungsverfahren verbessern:

  • Die beobachtung der Funktionparameterinhalte ist zur Laufzeit bei der Deklarationstabelle nicht möglich: Ohne bei der Deklaration sehen zu können, was für Informationen getauscht werden (besonders bei der Nutzung von UDTs), ist es viel schwieriger Fehlersuche zu machen. Die Tatsache, dass im Falle der Nutzung von UDTs der beinhaltende DB eröffnet werden muss, scheint ein bisschen mühselig zu sein.
  • Initialisierung von DB-Variablen ist mit benutzerdefinierten globalen Konstanten nicht möglich: Nur Literalen sind derzeit für die Initialisierung von DB-Variablen erlaubt. Die Gelegenheit für die Nutzung von vorgenannten Konstanten würde zu weiterer Flexibilität der Entwicklung führen.
  • Einzelzyklusbetrieb fehlt: Die Ausführung des Programms Zyklus für Zyklus würde sehr hilfreich bei Fehlersuche sein, besonders wenn Zustandsautomaten getestet werden.
  • Standardausgabe oder etwas Gleichwertiges für Tests fehlt: Derzeit ist es unmöglich, den Inhalt von Variablen an eine Standardausgabe zu Drucken. Das macht die Testing von Schleifen schwieriger als es sein sollte. Eine Wachtabelle mit einer historischen Ausgabe (für alle ausgewählte Variablen in der Tabelle) unten wäre sehr hilfreich.
  • Eine assert-artige Funktion fehlt: Die Möglichkeit für die Definierung von assert-artige Funktionen, die nicht in das echte Steuerungsprogramm kompiliert würden, würden das Testen von Bibliothekfunktionen mittels vordefinierten Eingangswerte und bekannten Ausgangswerte ermöglichen.
  • WinCC Basic (und Basic HMI-Bidlschirme) unterstützen UDTs nicht: Diese Situation abhaltet die Nutzung von UDTs und/oder ermutigt die Nutzung von Structs (die laut der Siemens-Dokumentation vermeidet werden sollen). Es ist ein bisschen ungeschickt, dass Basic HMI-Bildschirme Structs unterstützen, aber UDTs nicht.
  • Die Änderung der Ausführungsumgebung einer Funktion könnte einfacher sein: Die einfachste Art dafür ist derzeit die Eröffnung der Funktion in der Ausführungsumgebung. Ein verzeichnisbaumartiges Auswahlfenster wäre besser.

Capella

  • Falls die Anzahl der Diagramme während der Entwicklung des Modells gering gehalten wird, wird das die Zeitmenge, die für das Fertigmachen des Modells nötig ist, beträchtlich vermindern, da nach Bearbeitungen des Modells nur eine kleine Menge von Diagrammen aktualisiert werden müssen. Da die Bearbeitung und Aktualisierung von Diagrammen zeitaufwändig ist, scheint die Erstellung nur der Hauptdiagramme ein guter Ansatz. Die Erstellung von Diagrammen, die für Präsentation und Dokumentation geeignet sind, ist besser, wenn das Modell(schicht) eine genügende Reife erreicht hat.
  • Die Dokumentation könnte verbessert werden.