Entwicklung eines Manufacturing Execution System (MES),
mit einer S7-eMc, Microsoft C# und MySQL anhand des modularen Produktionssystems „Lagern“ von Festo

von Florian Kohler, Michael Christ und Simon Merkle
in Zusammenarbeit mit der Technischen Schule Aalen
betreut von Herrn Dipl.-Ing. (FH) Raphael Hörner

Überblick

In der heutigen Marktwirtschaft ist es enorm wichtig, Maschinen schnell und
kostengünstig herzustellen. Dabei spielt die elektrische Planung, Programmierung
und Inbetriebnahme eine sehr wichtige Rolle. Aus diesem Grund müssen die elektrischen
Komponenten einer Anlage objektorientiert und strukturiert aufgebaut werden. Dadurch
spart man nicht nur wertvolle Zeit bei der Inbetriebnahme, sondern auch weitere
Konstruktionskosten, da man die fertigen Objekte in die nächsten Anlagen übernehmen kann.
In unserer Technikerarbeit setzten wir diese Vorgaben an einer Demonstrationsanlage
der Technischen Schule Aalen um. Hiermit geben wir Ihnen die Möglichkeit, sich über unsere
Ideen und Umsetzungen zu informieren. So erhalten Sie einen Überblick, wie man ein strukturiertes
und objektorientiertes Programm gestaltet.

Ausführung

Aufgabenstellung
Anhand einer Festo Station sollte unter anderem für Unterrichtszwecke ein MES/ERP-System
unter Einhaltung folgender Aspekte entwickelt werden:
  • Komplette objektorientierte Programmierung der Lagerstation mit Step7, speziell der beiden Antriebsmodule von Festo
  • Umsetzung auf der neuen Steuerung S7-eMC
  • Entwicklung eines MES/ERP-Systems in C# für zwei unterschiedliche Datenbankmanagementsysteme
  • Einsatz von entsprechenden Schnittstellen in C# aus dem WinAC-ODK (CCX und SMX)
  • Entwicklung einer HMI mit WinCC-flexible



2. Programmierung der Lagerstation mit Step7
Durch die Vorgabe die Anlage strukturiert, objektorientiert und nach IEC 61131-3 Norm zu programmieren,
wurden unsere Bausteine in verschiedenen Programmiersprachen erstellt.
Das ermöglicht uns, die verschiedenen Aufgaben der Maschine in fünf Bereiche zu gliedern.

1. Einlagern

2. Auslagern

3. Satzanwahl

4. Positionsfahrt

5. Einzelschritt

Jeder der oben genannten Abläufe wurde anhand einer alternativ verzweigten Schrittkette realisiert.
Durch diese Einteilung ist es uns gelungen, das komplette Programm in die drei vorgegebenen Teile zu gliedern: der Eingabe, der Verarbeitung und der Ausgabe (EVA).
Wie die Einteilung vorgenommen wurde, wird an dem folgenden Beispiel deutlich:

Cartoon

EVA

Der Vorteil dieser Einteilung ist die Aufsplittung in einzelne, kleinere Prozesse, die leichter programmiert und getestet
werden können. Des Weiteren wird durch den Einsatz von unterschiedlichen Programmiersprachen die Entwicklungszeit enorm verringert.




3.1 Antriebe
Cartoon

Festo Controller

Die Festo Lagerstation verfügt über zwei Antriebe. Jeder Antrieb besitzt einen eigenen Motorcontroller.
Die Ansteuerung der Motorcontroller erfolgt über die E/A-Ebene, wobei jeder Controller
vier Eingänge und ein Ausgang besitzt. Drei Bits dienen zur Vorgabe der Position.
In den Controllern selbst ist werksseitig eine Verfahrsatztabelle, die alle Positionen beinhaltet,
hinterlegt. Aufgrund der drei Bits ergibt sich eine maximale Anzahl von 2³=8 Positionen die angefahren
werden können.

3.2 Antriebsbausteine
Cartoon

Antriebsbausteine

Anhand der oben genannten Vorgaben und der Aufgabenstellung wurden zwei parametrierbarere, multiinstanzfähige
Bibliotheksbausteine FB35 und FB36 entwickelt, die zur Ansteuerung der beiden Motorcontroller dienen.
Für die Programmierung der Antriebsbausteine wurden die Programmiersprachen AWL und FUP verwendet. Die Bausteine
besitzen eine exakt gleiche Schnittstelle und vereinfachen dadurch die Inbetriebnahme und Fehlersuche erheblich.





4. Visualisierung
Um die Anlage überhaupt bedienen zu können, wird ein HMI verwendet. Durch eine übersichtliche und einfache Struktur ist es sehr bedienerfreundlich.
Das Projekt wird in zwei Teile gegliedert, den öffentlichen Bereich und den passwortgeschützen Bereich.


Cartoon

Struktur

Cartoon

Produktionsbetrieb

Öffentlicher Bereich:
Im öffentlichen Bereich kann jeder die Maschine bedienen.
Wählt man das Bild "Produktionsbetrieb" an, kann man Einlagervorgänge sowie Auslagervorgänge starten.
Die eingelagerten Teile werden am jeweiligen Platz angezeigt, somit bekommt man eine übersichtliche und saubere Struktur in das Bild.
Durch Drücken auf ein beliebiges Teil werden die dazugehörigen Daten aufgerufen und angezeigt.








Cartoon

Servicebetrieb

Passwortgeschützter Bereich:
Für auftretende Fehler wurde der Servicemodus entwickelt. Hier wird zunächst das Passwortlevel abgefragt,
da nur spezielle Personen Zugriff zu diesem Modus verfügen. Hier kann man die Anlage von Hand zu einer bestimmten Positionen fahren,
eine Einzelfahrt durchführen und eine bestimmte Satzanwahl tätigen. Außerdem kann man die Achsen referenzieren,
den Greifer und den Schlitten von Hand bewegen. In einem weiteren Bild kann man verschiedene Werte einstellen.
Die E/A Ebene ist eine Übersichtsebene der Signalzustände.




5. Datenbankmanagementsysteme
In laufenden Fertigungsprozessen fallen unterschiedliche Prozessinformationen an welche wichtige Rückschlüsse über die Anlage geben oder die Produktion erst ermöglichen.
Durch das Management der Prozessdaten wird ein strukturierter und koordinierter Prozessablauf ermöglicht. Um eine solche Strukturierung zu realisieren, wurden die erforderlichen
Daten für die FESTO-Lagerstation in einer MySQL-Datenbank festgelegt und auf einem Datenbankserver hinterlegt.
Die Verwaltung der Daten erfolgt über zwei unterschiedliche Datenbankmanagementsysteme, ein internes DBMS und ein externes DBMS.

Weltkarte

Aufbau Datenbank

Externes DBMS
Das externe Datenbankmanagementsystem wird auf einem beliebigen Windows PC installiert und ist über LAN oder WLAN mit dem Datenbankserver verbunden.
Durch eine Bedienoberfläche kann der jeweilige Benutzer auf die MySQL-Datenbank zugreifen und Prozess- sowie Auftragsdaten verwalten. Ein wesentlicher Vorteil ist
die flexible Anwendung des Programms.


Projektablaufskizze

Externes DBMS

Internes DBMS
Das interne DBMS arbeitet auf dem Windows Embedded Betriebssystem der S7-eMC. Hierbei verwaltet das DBMS den Datenaustausch zwischen SPS und Datenbankserver.
Mittels der Shared Memory Extension (SMX) Schnittstelle, der Software WinAC Open Development Kit von Siemens wurde der Datenaustausch realisiert. Durch die SMX-Schnittstelle
wird ein schneller und einfacher Datenaustausch ermöglicht.


Projektablaufskizze

Internes DBMS

Projektablaufskizze

SMX