37
1 Übungen und Praktika zur Automatisierungstechnik Schuljahr 2013/2014 Übungen sind theoretisch zu lösende Aufgaben, die die besprochenen Themengebiete im Stil einer Prüfungsaufgabe behandeln. Praktika sind Praxisaufgaben, die an der Laboranlage „digitale Fabrik“ der tsm realisiert werden sollen. Die Praktika sollen in Zusammenarbeit mit den Fächern Steuerungstechnik und Datenverarbeitung dazu führen, daß die Laboranlage am Jahresende lauffähig ist. Alle Praktika können Sie auch über das Internet durchführen : http://portal.ts-muenchen.de

Übungen und Praktika zur Automatisierungstechnik Schuljahr ...portal.ts-muenchen.de/Dateien/at14_ueb.pdf · 6 Praktikum : Profibus DP 1. Aufgabe : Bauen Sie einen Lichtschalter !

  • Upload
    ngominh

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

1

Übungen und Praktika zur Automatisierungstechnik

Schuljahr 2013/2014

Übungen sind theoretisch zu lösende Aufgaben, die die besprochenen

Themengebiete im Stil einer Prüfungsaufgabe behandeln.

Praktika sind Praxisaufgaben, die an der Laboranlage „digitale Fabrik“

der tsm realisiert werden sollen. Die Praktika sollen in

Zusammenarbeit mit den Fächern Steuerungstechnik und

Datenverarbeitung dazu führen, daß die Laboranlage am

Jahresende lauffähig ist.

Alle Praktika können Sie auch über das Internet durchführen :

http://portal.ts-muenchen.de

2

Inhalt :

Entwicklung der industriellen Automatisierung

Übung : Verfügbarkeitsberechnung

Prozessebene

Praktikum : Profibus DP

Praktikum : Profinet I/O

Übung : Kommunikationsvarianten

Übung : Entwurf von Petrinetzen

Praktikum : Handshake auf SPS-Ebene

Übung : Testfragen zum Thema Handshake

MES-Ebene

Praktikum : Programmieren in VB classic

Praktikum : Einführung in Visual Studio

Praktikum : SPS objektorientiert ansprechen

Praktikum : Polling an der SPS-Schnittstelle

Praktikum : Verkettung von Modulen in MES

Praktikum : manuelles Bedien-Terminal in MES

IT-Ebene (ERP)

Praktikum : Webservices mit Telnet bedienen

Praktikum : Webservices mit Browser lesen

Praktikum : XML-Auftragsdaten von ERP lesen

Abschlußprojekt

Ein MES-System für die digitale Fabrik

3

Übung : Verfügbarkeitsberechnung

Beispiel: Nach etwa 120 Betriebsstunden zeigt ein neu erworbener Rechner erste Mängel. Die

Fehlersuche, Beschaffung von Ersatzteilen und die Reparatur erfordern zwei Stunden. Danach läuft

der Rechner 528 Stunden problemlos, bis er erneut ausfällt. Die Reparatur benötigt fünf Stunden.

Weitere 288 Stunden später fällt der Rechner ein weiteres Mal aus und ist dieses Mal schon nach

einer halben Stunde einsatzbereit. TBF und TTR stellen sich dann wie in der folgenden Tabelle dar

(Zyklus der Systemzustände) :

TBF (in Stunden) TTR (in Stunden)

120 2

528 5

288 0,5

1. Aufgabe : Berechnen Sie MTBF und MTTR, p und q !

Berechnung der Gesamtausfallwahrscheinlichkeit der in Serie verschalteten Module A und B :

Erwartete mittlere Up-Time Komponente A: ~ 62 Tage

Erwartete mittlere Up-Time Komponente B: ~ 230 Tage

Erwartete mittlere Down-Time Komponente A: ~ 32 Minuten

Erwartete mittlere Down-Time Komponente B: ~ 11 Stunden

2. Aufgabe : Berechnen Sie p und q des Gesamtsystems !

4

Berechnung der Gesamtausfallwahrscheinlichkeit der redundant ausgelegten und parallel

verschalteten Komponenten A und B :

Erwartete mittlere Up-Time Komponente A: ~ 62 Tage

Erwartete mittlere Up-Time Komponente B: ~ 230 Tage

Erwartete mittlere Down-Time Komponente A: ~ 32 Minuten

Erwartete mittlere Down-Time Komponente B: ~ 11 Stunden

3. Aufgabe : Berechnen Sie p und q des Gesamtsystems !

5

Hilfsblatt zum Praktikum : digitale Fabrik der tsm

Zuliefereinheit

Keine SPS, sondern Soft-SPS

in Codesys oder Simatic

auf Server MES1

Lineararm

Vertikalarm

Horizontalarm

Lager /Ausliefer-

Einheit

IP:1.0.6.3

DP : 3

IP:1.0.6.4

DP : 4

IP:1.0.6.5

DP : 5

IP:1.0.6.6

DP : 6

IP:1.0.6.2

DP: 2

Master

IP:1.0.6.1

DP: 1

Reserve

(1.0.6.7)

6

Praktikum : Profibus DP

1. Aufgabe :

Bauen Sie einen Lichtschalter !

Die Betätigung des Tasters an der Station Band soll eine der Lampen an der

Station Vertikalarm (…und wenn das geht dann alle Lampen aller Stationen)

ansteuern. (Sie können auch irgendwelche Mechanikbewegungen auslösen..)

2. Aufgabe :

Bauen Sie ein „Lauflicht“ aus Pneumatikfunktionen über die gesamte Anlage, also ein

Modul nach dem anderen soll einen Zylinder ausfahren.

Lösungshilfe :

Die Lösung sieht so aus, daß nach Start durch einen Taster an der ersten Station jeweils die

Meldung des Endschalters am Zylinder (der diesen auch wieder einfahren läßt) an die

nächste Station weitergegeben wird :

Station n oder Taster zu Station n+1

Endschalter am Zylinder

(… das geht besser, soll aber hier nicht der Schwerpunkt sein !)

Für die Festlegung der Ein-Ausgänge an den Slaves und am Master verwenden sie bitte die

Adressdefinitionen der Signale „Start“ und „Acknowledge“ an den Stationen,

die Sie im Pflichtenheft auf Seite 39 finden.

Arbeiten Sie unbedingt nach Pflichtenheft mit bibliotheksfähigen FBs !!

S Q

Ventil

7

Praktikum : ISO-on-TCP (RFC1006) Kommunikation

1. Verbinden Sie 2 Stationen mit Ethernet-Kommunikation :

Knopfdruck an Station 1 soll einen Zylinder an Station 2 ausfahren

2. Bauen Sie wieder ein „Lauflicht“ aus Pneumatikfunktionen über einige Module, also ein

Modul nach dem anderen soll einen Zylinder ausfahren.

Hierbei sollen alle Kommunikationsfunktionen automatisch, ohne manuelle Triggerung,

ablaufen. Dazu sind Taktmerker für die SEND-Triggerung und ein Anlauf-OB (OB100) als

Trigger für den Verbindungsaufbau CONNECT nützlich :

so könnte der OB100 aussehen ….

Die Taktmerker finden sie in der Hardwarekonfiguration des Simatic-Managers :

8

Lösungsvorschlag zum Praktikum : ISO-on-TCP

Als beteiligte Stationen wähle ich Vertikalarm, Lineararm und Band aus.

In den Stationen lasse spare ich mir die Mechanikaktion, ich schicke einfach eine 1 rundrum.

Die Kommunikationsstruktur baue ich folgendermaßen auf :

Band

Connect (FB65)

Connect (FB65) Receive (FB64)

Send (FB63)

MB10

MB20

Connect (FB65)

Connect (FB65) Receive (FB64)

Send (FB63)

MB10

MB20

Connect (FB65)

Connect (FB65) Receive (FB64)

Send (FB63)

MB10

MB20

Linear

Vertikal

M1.0

M1.0

M1.0

M0.0

M0.0

M0.0

Verbindung #1

#2

#3

UDT50

UDT60

UDT50

UDT50

UDT60

UDT60

M0.1

M0.1

M0.1

9

Die Merker 0.0 und 0.1 sollen im OB100 (Anlauf-OB) einmal gesetzt werden, der Merker 1.0

wird in der Hardwarekonfig als Taktmerker definiert.

Aus der Simatic Standard Library (Datei->öffnen->Bibliotheken) werden alle benötigten FB

in die Bausteinordner der beteiligten SPS kopiert.

Dann öffne ich den Open Communication Wizard und parametriere Verbindung 1 ,

Band->Lineararm :

Die Verbindungsparameter speichere ich in allen Stationen im richtigen UDT50 :

Parameter der abgehenden Verbindung

Parameter der ankommenden Verbindung

10

Beim Erzeugen der zweiten Verbindung („weitere Verbindung“ anklicken) wird der

Bausteine-Ordner des Linearstation als Erster angegeben. Der Wizard findet darin dann die

eben erzeugte Verbindung (mit UDT50 als Parametersatz). Dazu kommt nun die Neue :

Nach Angabe der Parameter stehen beide Verbindungen im Wizard (hier linear):

Nun erzeuge ich in allen Stationen je zwei DB, die ich genauso nummeriere wie die oben

deklarierten UDTs. Als symbolische Namen verwende ich die Kürzel der Verbindungen, z.b.

TCP_bl für die Parameter band->linear :

11

Dann werden die DB mit den UDT gefüllt :

Dann die Programme, zunächst der Verbindungsaufbau in den Stationen, angestoßen von

den Anlaufmerkern 0.0 und 0.1 (hier die Bandstation) :

12

Und dazu die Bausteine zur Datenübertragung und das Weiterreichen der Information :

U M10.0

= M20.0

Der abschließende Test ist simpel : ich beobachte in allen Stationen die Merker M10.0 und

M20.0 und setze am Band den Merker M20.0 = 1.

Wie erwartet läuft die 1 durch alle Stationen und kommt in M10.0 am Band wieder an.

13

Praktikum : Profinet I/O – Kommunikation

Wir greifen hier schon ein wenig vor, und betrachten Signale, die wir bei der modularen

Anlagenkonzeption im zweiten Halbjahr benötigen werden.

Die einzelnen Fertigungsmodule (Band, Linear usw..) werden über standardisierte

Kommunikationssignale gesteuert :

Ready, Start, Busy, Acknowledge und Error

- Lesen Sie in der Anlagendokumentation („Gesamtdokumentaion der Anlage“ auf portal.ts-

muenchen.de) nach, welche Speicher als Abbild in der SPS für diese Signale benutzt werden.

Sie finden diese Angaben auf Seite 16.

- Definieren Sie in einer Station Ihrer Wahl diese Speicherkonfiguration (DB)

- Koppeln Sie das der Station räumlich zugeordnete Wago-Device mit der anhängenden

Meldeleuchte über Profinet I/O an Ihre Station

- Lassen Sie die Meldeleuchte für die Signale leuchten, indem Sie in einer AWL-Anweisung

die DB-Werte auf die konfigurierten Ein- und Ausgängen übertragen

..testen !

14

Übung: Kommunikationsvarianten in der digitalen Fabrik

Verbindung

#1

Profinet I/O-Controller und/oder DP-Master (S7)

Verbindung

#2

Ethernet

Verbindung #3 Profinet I/O-Device

Verbindung #5

DP-Slave (S7)

Verbindung #4

Profibus DP

Labornetz-

PC

PS CPU DP I/O

PS CPU DP I/O

3a) Profinet I/O

3b) Profinet RT

15

Verbindung #1 :

Der Entwickler sitzt am PC mit Simatic Manager und schreibt ein S7-Projekt, das er dann mit

der Ladefunktion des S7-Protokolls auf die SPS überträgt.

Verbindung #2 :

Im Betrieb der SPS werden mit einer Anwendung auf dem PC (z.b. Prozessvisualisierung oder

auch selbstgeschriebene Programme) über eine TCP – Verbindung Daten ausgetauscht.

Verbindung #3a :

Eine Profinet I/O – Verbindung schickt Daten vom I/O-Controller zum I/O-Device

Verbindung #3b :

Eine Profinet RT – Verbindung schickt Daten vom I/O-Controller zum I/O-Device

Verbindung #4 :

Der DP-Master holt ein Byte aus dem Kommunikationsspeicher des i-Slave am DP-Bus

Verbindung #5 :

Die beiden SPS tauschen als Profinet CBA-Module Daten am Ethernet aus

Aufgaben

1) Zeichen Sie für jede Verbindung den benutzten ISO/OSI – Protokollstack

Beispiel : Gerät A Gerät B

2) Geben Sie an, welche Kommunikationsvarianten auch über das Internet genutzt werden

können

3) Welche Verbindungen würden Sie als proprietär, welche als „open“ bezeichnen ?

4) Welche Verbindungen sind deterministisch, welche nicht ?

MAC

100baseT 100baseT

MAC

16

Übung : Aufgaben zum Petrinetz

Simulieren Sie ein Dreistufen-Automatikgetriebe, mit folgenden Ein- und Ausgängen :

- Drehzahl n(max) überschritten

- Drehzahl n(min) unterschritten

- Fahrhebel auf N oder D (Leergang oder Fahrbetrieb)

- Fahrstufe 0 (Leerlauf)

- Fahrstufen 1-3

Machen Sie zunächst mal ne Skizze auf Papier ….

Wenn Sie das geschafft haben, können Sie noch einen weiteren Eingang einfügen :

- Kickdown (Taster bei Vollgas)

17

Übung : Aufgaben zum Petrinetz 2

Zur Steuerung einer Verpackungsanlage werden 3 SPS (A, B und C) eingesetzt.

Gerät A steuert neben der eigenen Mechanik auch das Timing der Anlage.

Hierzu wird ein Protokoll kommuniziert, das folgende Signale umfasst :

ATTENTION damit holt Gerät A ein anderes Gerät aus dem Standby

OK ist die Meldung von B oder C, daß Standby beendet wurde (Betriebsbereit)

RUN ist der Startbefehl von A nach B oder C

RUNNING damit melden A und B jeweils, daß ihre Mechanikfunktion läuft

START damit wird Gerät A von außen (Bediener) beauftragt, die Gesamtfunktion

zu starten

Der Protokollablauf ist nun folgender :

Nach START muß A durch den ATTENTION-Befehl die beiden anderen Geräte in

Betriebsbereitschaft holen. A wartet, bis B und C mit OK diese melden.

Daraufhin startet A die beiden anderen jeweils mit RUN. RUN bleibt solange 1, bis das

entsprechende Gerät mit RUNNING seine Funktion meldet.

Dieser Ablauf kann mit START nur begonnen werden, wenn die Anlage steht (kein RUNNING-

Signal), ansonsten wird der START ignoriert.

Eine Musterlösung wird hier nicht vorgeschlagen.

Die Aufgabe ist bewußt sehr unpräzise definiert, um Raum für Diskussion zu schaffen.

Nachdenken über eine Optimierung dieser „Definitionslücken“ soll zur Methode der

Handshakekommunikation führen …

18

Praktikum :

Handshakekommunikation in der Prozessebene

(Kommunikation mit Profibus DP)

Ziel :

Anlagenfunktionen sollen durch den besprochenen Standardhandshake

(ready, start, acknowledge, busy, auftrag) gesteuert werden. Sie müssen sich in eine

bestehende Anlage einarbeiten und mit fertigen Standard-Komponenten umgehen.

Sie finden die Dokumentation der Schnittstellen und die Vorgaben für den Programmaufbau

in der Gesamtdokumentation der digitalen Fabrik auf http://portal.ts-muenchen.de

Aufgabe :

Dearchivieren sie das fertig konfigurierte Projekt : //filer_labornetz/at/hand.zip

Die Master-SPS ist fertig programmiert. Sie führt am Profibus ein Programm aus, das alle

Stationen in Endlosschleife mit einem Handshake bedient.

Sie sollen eine Slave-Station nach Pflichtenheft an den Master konfigurieren und in pflichten-

heftkonformer Struktur (FBs für Kommunikation und Mechanikaktion nach Vorgabe,

Variablendefinition in den FB) eine Mechanikfunktion (Zylinder rein/raus) durchführen

lassen. Die Kommunikationssignale sollen wie in den Modulbeschreibungen angegeben an

den Meldeleuchten visualisiert werden (ohne ERROR).

Beachten Sie insbesondere auch den „Nullauftrag“ im Handshakeprotokoll !

Dokumentation finden Sie hier :

Standard-Handshakeprotokoll : Seite 12

Adressbelegung bei Profibuskommunikation : Seite 15

Programmstruktur, Bausteinadressen : Seiten 20 und 21

Klemmenbelegung der Module : ab Seite 22

Meldelampen und Profinet : Seite 17 und jeweils bei den Modulbeschreibungen ab S. 22

19

Ein paar Testfragen zum Thema „Handshake“ :

1) Wie ist die Standardschnittstelle für die Modulkommunikation unter openTCP definiert ? Schauen

Sie in der Doku nach und geben Sie die Adressen für Start und Acknowledge an :

Start : $$$$$$$$.. Acknowledge : $$$$$$$$$$$$$$..

2) Was ist an dieser Realisierung für den Standardhandshake der Anlage falsch ?

Start

/Start

/Action

3) Erklären Sie die unterschiedlichen Funktionen der Signale Acknowledge und Busy :

4) Welche Funktion hat im Standardhandshake der Nullauftrag ?

Ready

/Busy

Ack.

Busy

Action

/Ack

20

Praktikum : Programmieren in VB classic

Handling :

Zuerst zeichnen Sie für den Ablauf des Programms jeweils ein Struktogramm !

Dann erstellen sie entweder in Ihrem Homedirectory z: einen Ordner „VB“,

darin ein neues Textdokument, das Sie mit „Bearbeiten“ öffnen.

… nun setzen sie Ihr Struktogramm in VB-Syntax um

dann speichern sie das Programm unter name.vbs, wobei sie die Speicheroption

.txt abwählen und statt dessen als Dateityp „Alle Dateien“ angeben müssen.

(Sonst heißt das name.vbs.txt ;-)

1. Aufgabe :

Schreiben Sie ein Skript, das ein beliebiges Wort einliest und sofort wieder ausgibt

2. Aufgabe :

Schreiben Sie ein Skript, das eine Zahl einliest, diese verdoppelt und das Ergebnis

ausgibt.

3. Aufgabe :

Schreiben Sie ein Skript, das Ihren Vornamen einliest und entweder „hallo Meister“

oder „hallo Fremder“ ausgibt.

4. Aufgabe :

Schreiben sie ein Skript, das von 1 bis 10 zählt und jeweils den Text : Schritt1, Schritt2 usw.

ausgibt.

5. Aufgabe :

Schreiben sie ein Skript, das eine Zahl einliest, diese verdoppelt, falls der Wert unter 100 ist,

sie halbiert, falls der Wert über 200 liegt, ansonsten unverändert läßt, und dann ausgibt.

21

Praktikum : Zusatzübung “Struktogramme“

Schreiben Sie ein Programm, das die Nullstelle von y = mx + t durch Probieren sucht

Hierzu ist m und t einzugeben, dann muß überlegt werden, ob die Gerade fällt oder steigt,

dann wird geprüft (mit Hilfe von t), ob die Nullstelle rechts oder links der y-Achse liegt.

� Stellen Sie diese Überlegungen als Struktogramm dar !

Nun wird mit Schrittweite 1 in der richtigen Richtung in x losgelaufen, bis das Vorzeichen

von y sich ändert. Dann die Schrittweite halbieren und zurück, bis wieder zum

Vorzeichenwechsel, dann wieder halbieren, usw… solange, bis der Unterschied in x nur

noch 0.0001 beträgt

� Wieder ein Struktogramm dieser „Iteration“

Dann programmieren und ausprobieren !

22

Praktikum : Einführung in Visual Studio

Zeichen Sie zu jeder Aufgabe ein Struktogramm !!

1. Aufgabe :

Bauen sie das Projekt aus dem AT-Skript auf Ihrem Rechner nach.

Als Pfade geben Sie Ordner auf c:\ an, die sie hierzu unter Ihrem Namen erzeugen.

2. Aufgabe :

Erzeugen Sie ein neues Projekt, das die Eingabe eines Names erlaubt.

Es soll dann prüfen, ob es sich um Ihren Namen handelt, und wenn ja „hallo Meister“,

ansonsten „hallo Fremder“ ausgeben.

3. Aufgabe :

Genau wie 2., aber das Skript soll solange laufen, bis der Bediener den richtigen Namen

(Ihren) eingibt .

4. Aufgabe :

Erzeugen Sie ein neues Projekt, das die Eingabe eines Vor - und eines Familiennamens

erlaubt. Es soll dann prüfen, ob es sich um Ihren Vor- oder Familiennamen handelt, und

entsprechend „hallo Meister“, oder „hallo Fremder“ ausgeben.

Die hierzu nötige ODER-Verknüpfung in der if-Anweisung suchen Sie bitte im Internet !

23

Übung : Kommnikation zwischen SPS und PC

Bei den beiden folgenden Aufgaben sollen eine SPS und ein Leitrechner (MES) miteinander

über das Standard-Handshakeprotokoll kommunizieren.

Das Gerät A schickt einen Auftrag (Wert = 2), und startet Gerät B, wenn dieses READY meldet.

Dann läuft der Handshake ab.

Wenn Gerät B mit der relevanten Tätigkeit fertig ist, beginnt der Ablauf von vorne.

1. Aufgabe :

Gerät A ist der Rechner, Gerät B die SPS

Zeichen Sie Petrinetz und Struktogramm zur Realisierung !

2. Aufgabe :

In der Praxis Unsinn, als Übung aber gut : Gerät A ist die SPS, B ist der Rechner.

Zeichen Sie Petrinetz und Struktogramm zur Realisierung !

24

Praktikum : SPS objektorientiert ansprechen

Sie benötigen Visual Basic 2010 Express und die Klassenbibliothek MES_2014_lib.

Dazu laden wir noch das Musterprojekt MES1.zip auf die Anlage.

(Sollten sich damit Probleme ergeben, steht noch das Projekt „Simu.zip“ zur Verfügung, das

ohne mechanische Aktionen an jedem Modul eine Zeitverzögerung von ein paar Sekunden

erzeugt, wenn ein Auftrag gegeben wurde.)

1.

Öffnen Sie Visual Studio und erstellen sie ein neues Forms-Projekt.

Als Pfadnamen versuchen wir zunächst, Ihre Homedirectories zu verwenden.

Sollte das zu Netzproblemen führen, arbeiten Sie bitte doch lokal auf c: in einem selbst

angelegten Ordner.

2.

Fügen sie den Verweis auf die Klassenbibliothek in der Projektmappe ihres Projekts hinzu.

3.

Schreiben Sie ein kleines Projekt, das auf Knopfdruck eine SPS startet (wie in Angabe).

Als Auftrag geben sie fest „Teil 1“ vor.

Testen Sie durch drücken des Debug-Pfeils (Stop durch das Viereck daneben)

4.

Nun bohren Sie ihr Projekt auf, indem Sie den Fertigungsauftrag eingeben, möglichst viele

Statusmeldungen anzeigen und aktiv auf die Fertigstellung der SPS-Aktion warten (Polling

mit fortlaufender Anzeige !)

25

Praktikum : Verkettung in MES

Sie benötigen wieder Visual Basic 2010 Express und die Klassenbibliothek.

Dazu laden wir noch das Musterprojekt MES1.zip auf die Anlage.

(Bei Problemen mit der Mechanik : Simul.zip)

Struktogramme zeichnen !!

1. Aufgabe :

Erstellen Sie ein MES-Projekt, das auf Knopfdruck 2 Fertigungsmodule seriell koppelt.

Als Auftrag geben sie „Teil 1“ (siehe Gesamtdokumentation der Anlage im Portal) vor

Hierzu sollten sie den Logikentwurf unbedingt mit einem Struktogramm vorbereiten, damit

die Struktur klar ersichtlich wird !

2. Aufgabe :

Erstellen Sie ein MES-Projekt, das auf Knopfdruck 2 Fertigungsmodule parallel starr koppelt.

Die Aufträge sollen an Textfeldern eingebbar sein !

Hierzu sollten sie den Logikentwurf unbedingt mit einem Struktogramm vorbereiten, damit

die Struktur klar ersichtlich wird !

26

Übung : ein XML-File schreiben

Sie sollen ein für unsere Anlage brauchbares XML-File schreiben, das die Bauteilvarianten für

alle 3 Bauteile, den Wert für das Auslieferlager, und eine Meldung „Fehler“ beinhaltet, die

als Zahl (0 oder 1) anzeigt, ob das Produkt mit der gesuichten ID vorhanden ist

27

Praktikum : manueller Aufruf von Webservices

Auf dem Server ERP2011 im Labornetz der Technikerschule liegen Stubs zur Auftragsvergabe

für die digitale Fabrik. Die Aufträge sind in einer Datenbank auf dem Server gespeichert.

Aktuell liegen 9 Aufträge vor, die jeweils eine Statusinformation error (0=ok), Bauteile-

information für die Produkte (teil1 bis teil3) und die Information, in welches Lager das

Bauteil verbracht werden soll (lager), beinhalten.

Die Aufträge sind durch eine laufende Nummer id gekennzeichnet.

Der Aufruf kann auch mit einem Browser erfolgen, das Format für den Aufruf eines

Webservice muß einer vollständigen URL entsprechen :

PROTOKOLL :// DNS-NAME : SAP / DOKUMENTNAME ? PARAMETER

Hier :

Protokoll : http

Servername : ERP2011

SAP(Port) : 91

Dokument(Stub) : get_auftrag.php

Parameter : id=n (mit n = 1 …9)

Rufen Sie den Webservice mit einem Browser (optimal : Firefox) auf !

(…. das können sie auch von Zuhause aus : Servername ist dann : 62.245.200.166)

28

tsMes Projekt : ein MES-System für die digitale Fabrik der tsm

Funktionsbeschreibung :

Das zu erstellende MES-System besteht nur aus dem MES-Coreprozess, also der Umsetzung

(und Durchführung) von Fertigungsschritten aus Produktaufträgen.

Die Produktaufträge werden objektorientiert mit Hilfe der Klassenbibliothek mes_2014_lib

aus der Datenbank des ERP-Systems Adempiere gelesen.

Die Ansteuerung der Fertigungsmodule erfolgt wieder objektorientiert mit mes_2014_lib.

Die Dokumentation der Klassenbibliothek im Klassendiagramm ist dem AT-Skript zu

entnehmen.

Nach Durchführung von flow design – Entwürfen (insbesondere workplan) ist ein MES-

System zu entwickeln, das die modulare Prozessebene autonom führen kann.

Auftretende Fehler im Produktionsprozess müssen nicht abgefangen werden (Aufwand).

Ein Sequenzierterminal muß flow planing ermöglichen. Hierzu ist eine einfache graphische

Bedienerschnittstelle für den Anlagenfahrer vorzusehen.

Das Sequenzierterminal soll zugleich als Prozessvisualisierung dienen, die dem Anlagenfahrer

den Fortschritt des flow execution – Prozesses in einfacher Darstellung zeigt und eine

manuelle Anlagen-Notbedienung ermöglicht.

Hier muß der Prozess durch eine Fertigungsfreigabe auch unterbrechbar und wieder

anfahrbar sein.

29

tsMes flow design

Definitionen :

Typen („Varianten“) :

Mit Einsatz des Zulieferers kann unsere Fertigung ohne Umrüsten 27 Typen herstellen :

Typ „T_1“ bis Typ „T_27“ (entspräche z.b. 27 verschiedenen Handyvarianten)

Für jeden Typ ist in der ERP-Datenbank eine Stückliste hinterlegt. Aus Gründen der

Redundanzfreiheit darf diese Zuordnung an keiner anderen Stelle im System gespeichert

werden. So können im Fertigungsprozess bis unmittelbar vor den Fertigungsschritt noch

Änderungen im Produktdesign konsistent durchgeführt werden.

Produkte („Einzel-Exemplare“) :

Jedes einzelne in der Fertigung entstehende Produkt trägt eine Produkt-ID (Ganzzahl).

Über die ID ist in der ERP-Datenbank der Typ ermittelbar. Unter diesem ist in der ERP-

Datenbank die Stückliste (Bauteilliste) abgelegt. Somit kann für jedes Produkt die Stückliste

ermittelt werden.

Bauteile :

Die Stückliste weist (s.o.) für jedes Produkt 3 Bauteile auf : unten, mitte und oben.

Diese werden als : Pn_u, Pn_m und Pn_o bezeichnet (mit n als Produktnummer).

Zur Logistiksteuerung werden den Produkten im ERP-System dann noch weitere

Informationen hinzugefügt. Jeder Wert wird erst unmittelbar vor Ausführung aus der ERP-

Datenbank gelesen.

Relevant für das MES-System ist hier die Angabe des Auslieferlagers Pn_lag, in das das

fertige Produkt verbracht werden muß.

Beispiel :

Für ein bestimmtes Produkt (z.b. ID = 3) lautet die Stückliste z.B. P3_u=1, P3_m=1, P3_o=3

und die Lagerinformation P3_lag = 2

30

SCM, supply chain management :

Unser stark vereinfachter Zulieferprozess funktioniert so, daß der Zulieferer selbständig auf

Basis der ERP-Information („Forecast“) Sequenzen von 3 Bauteilen herstellt.

Diese werden im Auslieferlager des Zulieferers bereitgehalten.

Das Stammwerk kann diese Sequenzen mittels eines „Sequence-Calls“ (SC) an das ERP-

System anfordern. Sie werden dann in der richtigen Reihenfolge (just-in-sequence) zeitnah

zugeliefert. Der optimale Zeitpunkt für den Sequence-Call (just-in-time) muß im Stammwerk

ferstgelegt werden.

Bei Ausfall des Zulieferprozesses muß im Stammwerk eine Notbestückung des

entsprechenden Bauteils durchgeführt werden (Notbestücklager 2). Diese Produkte werden

dann manuell nachgebessert.

31

tsMes flow design

Randbedingungen für die Steuerung des workflow im Stammwerk:

Verkettung

Die Fertigung wird in starrer Kopplung mit Losgröße 1 gefahren.

Zulieferer

Der Zulieferer fertigt Sequenzen von 3 Bauteilen „just-in-sequence“, und liefert diese

nach erfolgtem sequence-call „just-in-time“ aus.

Chargengröße

Wegen der vorgegebenen Sequenzgröße 3 in der supply chain (Zulieferer) wird die minimale

Chargengröße auf 3 Produkte festgelegt.

Die Fertigung wird erst ab mindestens einer kompletten bestellten Charge angefahren.

Darüber hinaus sind nur Chargengrößen möglich, die aus ganzzahligen Vielfachen der

Sequenzgröße 3 bestehen. Sollten Im Produktionslauf Restaufträge vorhanden sein, die

unterhalb dieser Anforderung liegen, werden diese nicht gefertigt, sondern die Charge läuft

aus.

32

tsMes flow design

workplan :

- Tabellarisch

- Fertigungsmodule als Zeilen (Band, Lin, Vert, Hor, Lager)

- Fertigungstakte als Spalten

Beispiel für ein Produkt „P03“ :

Takt 1 2 3 4

Band Schritt Schritt Schritt

Lin P03_u

Vert P03_m

Hor P03_o

Lager P03_lag

33

tsMes Aufgabenübersicht

1. Auf Papier einen flow plan aufstellen

2. Ein Notbedien-Terminal zum manuellen Fahren der Anlage entwickeln

3. Datenbankzugriff testen

4. Minimal-MES für eine Charge ohne Zulieferer entwickeln

5. Zum funktionsfähigen System mit Zulieferer und beliebiger Chargengröße ausbauen

34

tsMes flow design

1. Aufgabe : workplan erstellen

1. Stellen Sie einen workplan für die Fertigung einer Charge (3 Produkte) auf.

Kennzeichnen Sie den Anlauf und den Auslauf der Charge.

2. Nehmen wir nun an, daß 6 Produkte bestellt sind.

Erweitern Sie ihre Charge also um eine weitere Sequenz auf 6 Produkte.

Stellen Sie wieder einen workplan wie in 1. auf.

3. Nehmen wir nun an, daß 8 Produkte bestellt sind.

Erweitern Sie ihre Charge, und stellen Sie wieder einen workplan wie in 1. auf.

35

tsMes flow planing

2. Aufgabe : Notbedien-Terminal

Als Vorbereitung für den MES-Prozess soll zunächst die manuelle Anlagensteuerung

entworfen werden.

Erstellen Sie ein VB-Form Projekt, das den manuellen Betrieb der gesamten Anlage

ermöglicht. An einem Bedienterminal muß der Anlagenfahrer alle Fertigungsmodule (Betrieb

ohne Zulieferer) beauftragen und starten können, so daß bei Ausfall der ERP-Ebene eine

manuell geführte Notfertigung möglich wird. Die Bauteilinformation kommt hier also nicht

aus der Datenbank, sondern wird manuell eingegeben !

Die Zustände der Fertigungsmodule sollen online im Bedienterminal angezeigt werden.

Test :

Bauen Sie eine kleine Test-Charge von zwei Produkten mit folgendem Aussehen.

Den flow plan erstellen Sie vorher auf Papier !

Die Zahlen in den Bauteilen bedeuten die Lagerpositionen, aus denen die jeweiligen Module

bestücken müssen. Das untere Bauteil wird immer vom Linearmodul, das mitlere vom

Vertikalmodul und das obere vom Horizontalmodul bestückt.

Nach Fertigungsende sollen die Produkte in Auslieferlager 2 verbracht werden .

3

3

1

2

3

2

36

tsMes flow execution

3. Aufgabe : MES ohne Zulieferer, Fertigung einer Charge

Datenbankzugriff

Ein kleines Testprojekt soll die Bedienung der ERP-Datenbank vorbereiten.

Schreiben Sie ein VB-Projekt, das die Eingabe einer Produkt-ID ermöglicht, und als

Ausgabe die Bauteilinformation anzeigt.

Programmentwurf

Nun entwerfen Sie zunächst ein Programm, das eine Charge vollautomatisch fertigen kann.

Im flow design – Entwurf haben Sie das ja schon vorbereitet.

Skizzieren Sie in Struktogrammform :

- zunächst den Chargenanlauf, wobei die Zugriffe auf die Datenbank hier sein sollen.

Der Zulieferer wird aber noch nicht genutzt.

- dann als zweiten Schritt den Chargenauslauf, bis alle Produkte in den Lagern sind.

Programmrealisierung

Nun codieren Sie Ihre Struktogramme und testen die Funktionen.

37

tsMes flow execution

4. Aufgabe : Erweiterung auf große Chargen

Nehmen Sie ihren workplan zu Hilfe. Sie müssen analysieren, wie Anlauf, Fertigung und

Auslauf ineinandergreifen, so daß der Fertigunglauf wiederholbar wird.

Für den Fertigungslauf nach Anlauf müssen Sie hierfür Schleifenstrukturen formulieren,

welche die immer wiederkehrenden Abläufe beliebig oft hintereinander ausführen können.

Dann ist „nur noch“ zu ermitteln, wie die Abbruchbedingung dieser Fertigungsschleife

aussehen muß…

Zunächst sind auf Papier eine ganze Reihe von Überlegungen nötig :

- Wie entscheiden Sie, ob die Charge ausläuft, oder um eine neue Sequenz zu erweitern ist ?

- Wann lösen Sie den Sequence-Call zum Zulieferer aus ?

- Wie binden Sie die Sequenzierschnittstelle (mit Fertigungsfreigabe) ein ?

Skizzieren sie alle Problemlösungen zunächst in Struktogrammform !!