Automatisierungsprojekt

Pick&Place Roboter mit Siemens SPS programmieren

Apprentices_ Apprentices_

Neben Berufsschule, den überbetrieblichen Swissmechanic Kursen und dem praktischen Arbeiten an Aerosol-Anlagen für Kunden aus der ganzen Welt, arbeiten Automatiker Lernende bei Pamasol auch an Projekten, welche den Fokus auf ein bestimmtes Ausbildungsthema setzen.

Der Pick&Place Roboter repräsentiert das SPS Automatisierungsprojekt der Ausbildung. Es handelt sich hierbei um einen pneumatischen Greifer von Festo Didactic.

Der Roboter wird durch eine Siemens ET200SP SPS (Speicherprogrammierbare Steuerung) gesteuert. Programmiert wird die SPS mit dem Siemens TIA Portal, wobei man zwischen folgenden Programmiersprachen wählen kann:

  • Anweisungsliste AWL
  • Kontaktplan KOP
  • Funktionsplan FUP
  • Structured Control Language SCL
  • S7-Graph AS

Die Lernenden erstellen mit Hilfe von YoutTube Videos ein SPS Programm inklusive Visualiserung auf einem Touch-Panel. Das Progamm setzt Behältern einen Deckel auf, ähnlich wie es Pamasol bei den Aerosol-Anlagen macht. Dort werden Spraydosen mit einem Ventil, Sprühkopf und einer Kappe bestückt.

Unterabschnitte von Automatisierungsprojekt

Aufgabenstellung

Beschreibung des Programmablaufes

Festo Pick&Place Robot Festo Pick&Place Robot

Wie in der Animation oben gezeigt, soll der Pick&Placer folgendermassen programmiert werden, inklusive Visualisierung am Bedienpanel.

  1. Zu Beginn ist der Pick&Placer eingefahren und das Förderband steht.
  2. Der Operator platziert einen Behälter auf dem Förderband bei der Einlauflichtschranke 100BG1 und drückt den Taster Start.
  3. Der Behälter wird bis zum Vereinzeler gefördert und dort gestoppt.
  4. Der Pick&Placer fährt nach unten, saugt beim Deckelmagazin einen Deckel an, fährt wieder nach oben, nach vorne und nach unten über den Behälter.
  5. Vakuum wird gelöst und somit Deckel aufgesetzt.
  6. Der Pick&Placer fährt wieder in die Startposition.
  7. Der Vereinzeler lässt den Behälter mit aufgesetztem Deckel weiterfahren.
  8. Kommt der Behälter an der Rückstau Lichtschranke 100BG3 an, stoppt das Förderband.

Die Positionen der wichtigsten Sensoren können folgender Grafik entnommen werden.

Festo Pick&Place Robot Festo Pick&Place Robot

Info

Das Elektroschema des Steuerschranks kann hier als PDF heruntergeladen werden

Dokumentation

Die mit Kommentaren versehenen Projekte können als TIA Archivdatei (*.zap16, *.zap17 usw.) aus folgender Tabelle heruntergeladen werden.

NameLehrjahrLehrberufProgramm
Stefan Feier2019-2023Automatiker
Nicolas Diethelm2020-2024AutomatikerDownload ZAP16
Flavio Knobel2020-2024AutomatikerDownload ZAP16
Kevin Kälin2021-2025Automatiker
Linus Lacher2022-2026Automatiker

Kurzübersicht TIA V16

Wie die Entwicklungsumgebung TIA Portal aufgebaut ist

Um eine SPS programmieren zu können, benötigt man einen Laptop, auf welchem die SPS-Programmiersoftware – im Fachjargon Entwicklungsumgebung genannt – installiert ist.

Der Pick&Place Roboter ist mit einer Siemens SPS ausgestattet, welche mittels der Entwicklungsumgebung TIA Portal programmiert wird. TIA ist die Kurzversion für «Totally Integrated Automation». Mehr Infos zu dieser Software gibt es auf der Siemens Webseite.

Im Video wird die Benutzeroberfläche erklärt mit den beiden Ansichten Portalansicht und Projektansicht. Zudem wird gezeigt, wie die Online-Hilfe funktioniert.

Neues Projekt erstellen

Die SPS Hardwarekonfiguration als Basis

In einem ersten Schritt wird in der Projektansicht ein neues SPS Projekt erstellt. Anschliessend muss man die im Schaltschrank verbaute SPS in der Software abbilden. Das wird mittels Hardwarekonfiguration gemacht.

Der Pick&Place Roboter ist mit einer SIMATIC ET200 CPU ausgestattet. Zusätzlich werden die Ein- und Ausgangsmodule hinzugefügt und konfiguriert.

Artikelnummern der SPS für Hardwarekonfig

  • Steuerung CPU 1512SP F-1 PN: 6ES7512-1SK01-0AB0
  • Safety Eingangskarte ET200SP F-DI 8x 24V DC HF: 6ES7136-6BA00-0CA0
  • Safety Ausgangskarte ET200SP F-DQ 8x 24V DC/0.5A PP 6ES7136-6DC00-0CA0
  • Digitale Eingangskarte ET200SP DI 16x 24V DC ST: 6ES7131-6BH01-0BA0
  • Digitale Ausgangskarte ET200SP DQ 16x 24V DC/0.5A ST: 6ES7132-6BH01-0BA0
  • Analoge Eingangskarte ET200SP AI 2x U/I 2/4-Wire HS: 6ES7134-6HB00-0DA1
  • Analoge Ausgangskarte ET 200SP, AQ 2xU ST: 6ES7135-6FB00-0BA1

Modulkarten parametrieren

Central processing unit (CPU) und IOs konfigurieren

In der Gerätekonfiguration werden die Module so benannt, dass sie dieselben Namen wie im Elektroschema haben. Anschliessend wird der Adressbereich vergeben über das Eigenschaftsfenster. Alternativ kann man die Ansicht Gerätesicht > Geräteübersicht anwählen. Dort sind alle Karten und die Adressbereiche in Tabellenform gelistet.

Die BaseUnits der Eingangs- und Ausgangsmodule gibt es in Hell- und Dunkelgrau. Hellgraue Module werden mit 24VDC gespiesen. Dunkelgraue Module werden nicht gespiesen, sie greifen die Spannung von Links ab. Im Projekt werden folgende BaseUnits verwendet:

Bei der absoluten Adressierung wird direkt der Operand (z.B. I0.0) eingegeben. Bei der symbolischen Adressierung wird nicht der Operand, sondern stellvertretend ein Symbolname (z.B. CC_TB_24VMainOk) anstelle des Operanden eingegeben.

  • CC steht für Control Cabinet oder in Deutsch Schaltschrank. Es handelt sich somit um den Ort, wo das Bauteil eingebaut wird (Ortsaspekt des Objekts).
  • TB steht für das elektrische Bauteil (Haupt- und Unterklasse nach EN 81346). In diesem Fall der Hilfskontakt des Netzgerätes 10TB1.
  • 24VMainOk steht für die Kurzbeschreibung der Funktion in Upper Camel Case. In diesem Fall “24VDC Versorgung OK”.

Die Variabeln können in der Projektnavigation unter Geräte > PLC-Variabeln eingegeben und editiert werden. Im Video wird zusätlich auf die Excel Import und Export Funktion eingegangen.

Tipp

Das Excel File, welches als Import für die PLC Tags verwendet werden kann, findest du hier als Download

HMI parametrieren

4-Zoll Touch-Panel Siemens KTP400 Comfort

HMI steht für Human-Machine Interface oder in Deutsch für Mensch-Maschine-Schnittstelle. Es ist das Touch-Panel, mit dessen Hilfe der Operator die Maschine bedient.

Unter Geräte > Geräte und Netze wird das HMI hinzugefügt. Es handelt sich um ein KTP400 Comfort Panel von Siemens mit der Typennummer 6AV2124-2DC01-0AX0.

Profinet steht für Process Field Network. Es ist ein Kommunikationsprotokoll, welches in der Industrie oft zum Einsatz kommt und TCP/IP Standards verwendet. Die Kommunikation zwischen SPS und HMI funktioniert somit ähnlich, wie das Internet (IP steht für Internet Protocol). Jeder Teilnehmer kriegt eine eindeutige IP-Adresse – die Profinet-Adresse. Jede Adresse darf im Projekt nur einmal vorkommen.

  • Profinet-Adresse von HMI 155PH1: 192.168.10.5
  • Profinet-Adresse von SPS 20KF3: 192.168.10.10

SPS simulieren

CPU und HMI emulieren für Tests ohne Hardware

Mit Hilfe von SIMATIC S7-PLCSIM kann die Pick&Place Steuerung simuliert und somit getestet werden, ohne dass irgendwelche Hardwarekomponenten benötigt werden.

Im Video wird die PLC und das Touch-Panel emuliert. Emulieren bedeutet die Funkionen eines Computers auf einem anderen Gerät nachbilden.

Um eine SPS oder ein HMI zu simulieren, muss man das Bauteil im Projektnavigator unter Geräte anwählen und anschliessend in der Symbolleiste auf das Icon Simulation starten klicken.

Anschliessend werden die gewünschten Bausteine geladen. Diese können fast im selben Umfang wie bei einer hardwaremässig angeschlossenen SPS getestet werden. Beispielsweise mit Beobachten ein/aus Funktion oder mit einer SIM-Tabelle.

Hier nicht entscheidend, aber für andere Projekte: Es können keine geschützten Bausteine in die Simulation geladen werden. Falls es diese im Projekt gibt, müssen sie zuerst freigegeben werden.

Programm laden

Download des Programms vom PC auf SPS und HMI

Um das Programm aus dem TIA Portal auf die SPS zu laden. In einem ersten Schritt klickt man unter Geräte auf Geräte & Netze, wo man sich die IP-Adressen einblenden lassen kann.

  • CPU 1512SP F-1 PN: 192.168.10.10
  • Touch-Panel KTP400 Comfort: 192.168.10.5

In einem zweiten Schritt muss man dem Laptop, welcher sich im gleichen Netzwerk befindet, eine statische IP-Adresse vergeben. In Windows bei den Adapteroptionen wählt man für den Ethernet-Port die Adresse 192.168.10.99.

In der Symbolleiste wählt man das Symbol Laden in Gerät, um das Programm auf die SPS zu laden.

Da eine Safety Integrated SPS zum Einsatz kommt, müssen die beiden Safety Karten 20KF5 (Eingänge) und 20KF6 (Ausgänge) identifiziert werden. Man muss eine Profisafe-Adresse zuweisen.

Auf dem HMI klickt man auf Settings > Transfer > PN/IE > Properties… > PN_X1 > Specify an IP Address > 192.168.10.5 um die IP-Adresse einzustellen. Ebenfalls muss man im Anschluss auf Laden in Gerät klicken.

Programm erstellen

Erstes Programm für Pick&Place Roboter

Im Main [OB1] wird ein Programm erstellt, um die horizontale Achse des Roboters aus- und einzufahren. Dazu wird die grafische Programmiersprache KOP (Kontaktplan) verwendet mit folgenden Ein- und Ausgängen.

BeschreibungSymbolische AdresseAbsolute Adresse
Pick&Placer Bedienstelle Start (160SF3)PIPL_Pa_SF_StartE1.1
Pick&Placer Schlitten ausfahren (125MB1)PIPL_MB_CarrierExtendA0.4
Pick&Placer Schlitten einfahren (125MB2)PIPL_MB_CarrierRetractA0.5
Pick&Placer Bedienstelle Stop (160SF4)PIPL_Pa_SF_StopE1.2
PLC Clock 0.4s (2.5Hz)ME_PLC_Clock_0.4sM0.2
Pick&Placer Bedienstelle LED Start (160SF3)PIPL_Pa_PF_StartA1.2
Pick&Placer Turmleuchte Grün (130PF1)PIPL_SC_GreenA0.1

Visualisierung erstellen

Bindeglied zwischen Mensch und Maschine entwerfen

Als HMI (Human Machine Interface) 155PH1 kommt ein KTP400 Comfort Panel von Siemens zum Einsatz. 400 steht für die Bidschirmgrösse, was in diesem Fall 4.3" ist. Die Auflösung beträgt 480 auf 272 Pixels.

Zum Vergleich: ein Samsung Galaxy S22 Smartphone mit einem 6.1" Display hat eine Auflösung von 1080 x 2340 Pixels. Bezüglich Design ist man somit etwas eingeschränkt, dennoch kann ein schönes und übersichtliches Design erstellt werden, welches dem Operator die Bedienung des Pick&Place Rotobers erleichtert.

In der Projektnavigation klickt man auf das HMI 155PH1. Unter Bildverwaltung > Vorlagen wird eine Vorlage erstellt. Im Laufe des Tutorials werden basierend auf der Vorlage folgende drei Bilder erstellt:

  • Bild_1 - Uebersicht
  • Bild_2 - Meldungen
  • Bild_3 - Schalter Etc

Mittels Schaltflächen können die Bilder und somit die Anzeigen gewechselt werden (Klicken > Ereignis). Der Datenaustausch zwischen PLC und HMI wird mittels Datenbaustein DB122 realisiert.

Neben einer Meldelampe mit Textliste wird eine Meldelampe mit Grafikliste erstellt.

HMI Alarmmeldungen

HMI-Bitmeldungen auf Touch-Panel anzeigen

Eine Störung, welche die rote Lampe aufleuchten lässt, ist bereiets vorhanden im Main [OB1], jedoch gibt es zu dieser Leuchte keine Fehlermeldung. Die Leuchte waltet als Sammelfehler. Sie wird in Netzwerk 7 generiert, wo es folgende Variabeln gibt.

BeschreibungSymbolische AdresseAbsolute Addresse
Pick&Placer Schlitten ausgefahren (120BG2)PIPL_BG_CarrierExtendedE0.5
Pick&Placer Schlitten eingefahren (120BG1)PIPL_MB_CarrierRetractedE0.4
Pick&Placer Schlitten ausfahren (125MB1)PIPL_MB_CarrierExtendA0.4
Pick&Placer Schlitten einfahren (125MB2)PIPL_MB_CarrierRetractA0.5
Störung aktivStoerungAktivM100.0

Um dem Operator spezifische Informationen zum Problem bereitstellen zu können, gibt es bei Siemens die Funktion HMI-Meldungen. Sie übernimmt das Handling der Meldungen und deren Anzeige auf dem Touch-Panel.

Damit man dem HMI Fehlermeldungen übergeben kann, muss man einen Datenbaustein DB erstellen mit Name HMI_Meldungen, Typ Global-DB und Nummer 120. In einem zweiten Schritt erstellt man die Datenstruktur, welche aus 3 Struct von je einem Wort (1 Wort = 16 Bit) besteht, wovon je ein Struct für Fehler, Warnungen und Meldungen reserviert ist.

  • Static
    • Fehler (Struct)
      • Hzyl_nicht_ausfefahren (Bool)
      • Hzyl_nicht_einfefahren (Bool)
    • Warnungen (Struct)
    • Meldungen (Struct)

In einem weiteren Schritt klickt man in der Projektnavigation unter 155PH1 das Menü HMI-Meldungen. Bei den Tabs wählt man Bitmeldungen und fügt folgende Bitmeldungen ein. Damit verknüpft man die Meldungen auf dem HMI mit dem Programm.

IDMeldetextMeldeklasseTriggervariableTriggerbitTriggeradresse
1Horizontalzylinder ist nicht ausgefahrenErrorsFehler8%DB120.DBX0.0
2Horizontalzylinder ist nicht eingefahrenErrorsFehler9%DB120.DBX0.1

Im letzten Schritt wird ein Bild erstellt mit einer Meldeanzeige.

Programm strukturieren

OB1 in verschiedene Teilprogramme zerlegen

Der OB1, in welchem sich das Programm befindet, wird in folgende drei FB's aufgeteilt:

  • FB1 01-Allgemein
  • FB2 02-Allgemein_Pick&Placer
  • FB3 03-Ablauf_Pick&Placer

So kann man das Programm in kleine Teilaufgaben zerstückeln, was das Programm übersichtlicher macht. Zudem kann man wiederkehrende Funktionen wie das Bewegen einer Achse einmal programmieren und dann immer wieder verwenden – was dem DRY-Prinzip entspricht.

BausteintypKurzformMerkmale
OrganisationsbausteinOB
  • Schnittstelle zwischen Betriebssystem und Programm
  • Gestaffelte Prioritäten (1 bis 28)
  • zum Beispiel OB1, OB120
    FunktionsbausteinFB
    • Parametrierbar (mit Gedächtnis)
    • IN, OUT, INOUT, STAT, TEMP
    • Verwendung von Instanz-Datenbaustein. Aktualparameter ersetzen Formalparameter.
    FunktionFC
    • Liefert Rückgabewert an aufrufende Funktion
    • Parametrierbar, aber nicht(!) speichernd
    • zum Beispiel für mathematische Funktionen
    DatenbausteinDB
    • Globale Datenspeicherung
    • Lokale Datenspeicherung (Instanz-DB)