Automatisierungstechnik Mess-, Steuerungs- und Regelungstechnik 9 Strukturierte Programmierung in FUP Variante 3 [Variante 3: Kodierung der Zustandsübergänge in FBS] V13 SP1 24.02.2016 Fachhochschule Südwestfalen Labor für Automatisierungstechnik Raum K206 Bearbeitungszeit: 45 min Nur für den internen Gebrauch der Studierenden der Fachhochschule Südwestfalen Seite 9-0
I. Lehrziele 9 Strukturierte Programmierung in FUP Variante 3 Zerlegung der Aufgabe in Teilaufgaben bzw Zustände Analyse der Zustandsübergänge im Zustandsgraphen Direkte Kodierung der Zustandsübergänge in FUP (ohne Zustandsübergangstabelle) II. Grundlagen Einzelsteuerfunktionen Als Einzelsteuerunktionen ESF oder Individual Drive Functions IDF werden Funktionsbausteine bezeichnet, die zur Ansteuerung von Ventilen und Motoren dienen. Motoren und Ventile sind steuerungstechnische Einrichtungen, die im Sinne einer objektorientierten Automatisierung nicht direkt angesteuert, sondern zunächst als Funktionsbaustein-Typen modelliert werden. Einzelsteuerfunktionen ermöglichen die Steuerung, Überwachung und Bedienung von steuerungstechnischen Einrichtungen durch die Bereitstellung von entsprechenden Anschlüssen für Stell- und Steuersignale sowie für Parametrier- und Überwachungsfunktionen. Die technische Umsetzung der Steuerung, wie zum Beispiel das Anlaufverhalten, die Ansteuerung des Antriebs oder die Geräteüberwachung wird durch die Funktionsbaustein-Instanz realisiert. Eine einfachste Variante ist z.b. die Ansteuerung eines Motors mit fester Drehzahl und nur einer Drehrichtung, also ein Ein-/Aus-Motor. Das Beispiel zeigt die Programmierung der Logik und den Aufruf für den selbsterstellten Funktionsbaustein TYP_IDF1 der im nachfolgenden Versuch eingesetzt wird. Die Eingangssignale ON, OFF und LOCK aktivieren die Setz- bzw. Rücksetzeingänge eines RS-Flip-Flops zur Speicherung der Signale. Über das Ausgangssignal OUT wird dann der Antrieb angesteuert. In einen solchen Funktionsbaustein kann also die ganze Logik hinterlegt werden um einen entsprechenden Antrieb zu steuern. Zusätzlich können Funktionen zum Bedienen, Überwachung, Betriebsartauswahl und Verriegelungen integriert werden. Mit Einzelsteuerfunktionen lassen sich wiederkehrende Funktionalitäten modularisieren und typisieren. Einfache Anweisungen in FUP Vergleicher CMP ==: Gleich Mit der Anweisung "Gleich" fragen Sie ab, ob der Wert am Eingang IN1 gleich dem Wert am Eingang IN2 ist. Wenn die Bedingung des Vergleichs erfüllt ist, liefert die Anweisung das Verknüpfungsergebnis (VKE) "1". Bei nicht erfüllter Bedingung des Vergleichs liefert die Anweisung das VKE "0". Aus der Klappliste "???" der Anweisungsbox kann der Datentyp der Anweisung gewählt werden. Seite 9-1
Verschieben MOVE: Wert kopieren Mit der Anweisung "Wert kopieren" wird der Inhalt des Operanden am Eingang IN (Quelle) zum Operanden am Ausgang OUT1 (Ziel) übertragen. Die Übertragung erfolgt dabei immer in Richtung aufsteigender Adresse. Wenn die Bitlänge des Datentyps am Eingang IN die Bitlänge des Datentyps am Ausgang OUT1 überschreitet, gehen die höherwertigen Bits des Quellwerts verloren. Wenn die Bitlänge des Datentyps am Eingang IN die Bitlänge des Datentyps am Ausgang OUT1 unterschreitet, werden die höherwertigen Bits des Zielwerts mit Nullen überschrieben. Seite 9-2
III. Versuchsablauf Dieser Versuch baut auf eine erfolgte Gerätekonfiguration und Parametrierung der Hardware für die SPS- Station und die PLC-Variablentabelle für das Simulationsmodell Gepäckbandanlage auf. Für den späteren Betrieb des Simulationsmodells wird eine Vorlagendatei zur Verfügung gestellt, in der die erforderlichen PLC- und HMI-Variablen definiert sind um eine Steuerung über die Kopplung mit PLCSIM zu ermöglichen. In dem Versuch werden die Zustandsübergänge direkt in eine strukturierte Programmierung mit FUP umgesetzt. Die Funktionalität wird dabei in einem FB Funktionsbaustein programmiert, der dann in einem OB Organisationsbaustein als Instanz aufgerufen wird. Der Programmtest erfolgt durch eine Simulation der CPU mit PLCSIM und eines HMI mit WinCC RT Simulator. Optional ist auch ein Funktionstest mit dem entsprechenden Wildlife-Simulationsmodell möglich Versuchsablauf zu Strukturierte Programmierung in FUP Variante 3 1. Projektierung Projektvorlage mit Gerätekonfiguration öffnen und speichern Planung der Zustände und Übergänge 2. Programmierung Umsetzung der Zustandsübergänge in eine Programmierung der Funktionsbausteine in FUP Erstellung Organisationsbaustein OB1 3. Funktionstest Laden des Steuerungsprogramms nach PLCSIM Funktionstest mit Simulation HMI Optionaler Funktionstest mit Wildlife-Simulationsmodell Versuchsende Seite 9-3
Simulationsmodell Gepäckbandanlage Funktionsbeschreibung Die Gepäckbandanlage zur Gepäckausgabe an einem Flughafen besteht aus zwei Förderbändern, die durch die Motoren NS1 und NS2 angetrieben werden. Am Rollfeld werden die Gepäckstücke manuell auf das Förderband NS1 gelegt und die Anlage durch Aktivierung des EIN-Schalters eingeschaltet. Daraufhin läuft das Förderband NS1 sofort los, das Förderband NS2 (Rondell) jedoch erst 30s später, wenn die ersten Koffer in der Ankunftshalle angelangt sind. Wenn beide Bänder laufen und der Sensor Lichtschranke GS einen Koffer detektiert, muss das Förderband NS1 anhalten, um eine Kollision zu vermeiden. Wird im Anschluss 10s lang kein Koffer mehr als Hindernis erkannt, läuft das Förderband NS1 wieder an. Wenn der letzte Koffer auf das Band gelegt wurde und die Anlage ausgeschaltet wird, muss das Förderband NS1 noch 30 s nachlaufen, damit der letzte Koffer die Ankunftshalle erreicht. Das Förderband NS2 läuft noch so lange, bis der letzte Koffer vom Förderband 2 genommen wurde. Dies ist der Fall, wenn die Lichtschranke GS 120s lang keinen Koffer mehr auf dem Förderband detektiert. Seite 9-4
1. Projektierung 1.1 Öffnen Sie über den Desktop- Link zum Ordner TIA das Projekt: C:\TIA\Konfiguration\ Vorlage_ Gepäckband_Multivariant\ als Bestehendes Projekt mit dem TIA Portal. Im TIA in die Projektansicht wechseln und unter Projekt Speichern unter mit einem Neuen Dateinamen im Pfad C:\TIA\Student speichern! Die Vorlagendatei enthält bereits die Gerätekonfiguration für die PLC und ein HMI, das zum späteren Testen des Programms ohne ein zusätzliches Simulationsmodell genutzt werden kann. Alternativ kann auch ein Wildlife-Simulationsmodell gesteuert werden. In den PLC- und HMI- Variablentabellen sind hierzu alle erforderlichen Symbole definiert. In der Projektstruktur befinden sich auch schon die Programmbausteine, die im Laufe des Versuchs entsprechend editiert werden müssen Seite 9-5
1.2 Planung Die Planung beschränkt sich auf den Zustandsgraph. Die Übergänge zwischen den Zuständen sollen dann nachfolgend direkt als Verknüpfungen in FUP realisiert werden. Zustände: Z0: Aus Z1: Anlaufphase Z2: Normalbetrieb Z3: 10s Stopp Förderband NS1 Z4: Auslaufphase1 Z5: Auslaufphase2 2. Programmierung 2.1 Funktionsbaustein Gepäckbandsteuerung_Variante3_FUP erstellen Erstellen Sie unter einen neuen FB Funktionsbaustein mit dem Namen Gepäckbandsteuerung_Variante3_FUP Definieren Sie dann in der Bausteinschnittstelle nebenstehende Variablen mit Name und Datentyp: Für die Konstanten unter Constant dabei die Defaultwerte 0 5 eintragen Seite 9-6
Setzen Sie in den Netzwerken des FB Gepäcksteuerung_Variante3_FUP dann die Zustandsübergänge als Verknüpfungen um: Dabei wird jeweils zunächst durch einen Vergleich mit der Zustandsnummer der Bisherige Zustand ermittelt. Danach erfolgt eine UND- Verknüpfung mit der Übergangsbedingung und durch wird die Zustandsnummer des Neuen Zustands zugewiesen. Im Zustandsgraph befinden sich 10 Übergänge daher gibt es auch 10 einzelne Verknüpfungen Seite 9-7
In den nächsten 3 Netzwerken die benötigten Timer als TOF programmieren: Bei Aufrufoptionen DB Multiinstanz und Name in der Schnittstelle auswählen. Die Zeiten PT sind als Anwenderkonstanten in der Standard-Variablentabelle hinterlegt. Seite 9-8
Die Verknüpfung vor dem Starteingang IN ergibt sich aus dem Zustandsgraph. Der Übergang (vorheriger Zustand UND Transition) zu dem Zustand, der den Timer startet. 9 Strukturierte Programmierung in FUP Variante 3 In einem weiteren Netzwerk wird die Zustandsnummer des Neuen Zustands übertragen: In den nächsten beiden Netzwerken erfolgt die Ansteuerung zu den Motoren für das Zuführband N1 und das Rondell N2. Dazu wird der jeweils als Multi-Instanz aufgerufen und der Name der Schnittstelle ausgewählt und verschaltet: Der vorgegebene FB stellt das speichernde Ein- und Ausschalten (ON/OFF) der Antriebe für die Zustände zur Verfügung. Seite 9-9
Für die zweite Multiinstanz von TYP_IDF1 zur Ansteuerung von Rondell N2 wählen Sie als Name in der Schnittstelle: 2.2 Organisationsbaustein OB1 programmieren In der Projektnavigation unter Programmbausteine den Main [OB1] aufrufen. Ziehen Sie den Funktionsbaustein in ein neues Netzwerk des OB1 und bestätigen bei Aufrufoptionen den Datenbaustein. Die im OB1 bereits vorhandenen Netzwerke nicht löschen! Verschalten Sie die Schnittstellen wie abgebildet: Markieren Sie in der Projektnavigation die PLC_1 [CPU 314C ] und wählen dann mit Rechtsklick Übersetzen Software (Bausteine komplett übersetzen) Falls beim Übersetzen Fehler angezeigt werden, korrigieren sie die... Seite 9-10
3. Funktionstest Markieren Sie in der Projektnavigation PLC_1 [CPU 314C ] und wählen dann in der oberen Menüleiste Online Simulation Starten oder Symbol aus. Es öffnet sich S7-PLCSIM und das Fenster Erweitertes Laden. [Warten Sie bis die Fenster für das Laden erscheinen ] Für Erweitertes Laden [Fenster erscheint nur, wenn die Schnittstelle noch nicht konfiguriert wurde] die Einstellungen vornehmen: Suche starten mit Teilnehmer Adresse 2 wählen Danach Laden und Vorschau Laden um das Programm in die mit PLCSIM simulierte CPU zu laden. In PLCSIM: PLCSIM (PROFIBUS) auswählen Die CPU auf RUN und abwarten ob alle LED der CPU auf Grün gehen. Über Menüpunkt Einfügen sämtliche Eingänge und Ausgänge einfügen, die in dem zu testenden Programm verwendet werden und deren Byteadressen eingeben: Einfügen Eingang Einfügen Ausgang Für die Kommunikationsverbindung zu einem simulierten Modell oder der Visualisierung mit dem HMI muss PLCSIM im Hintergrund laufen, daher nicht schließen/beenden. Seite 9-11
Markieren Sie in der Projektnavigation HMI_1 [KTP1200 Basic DP] und wählen dann in der oberen Menüleiste Online Simulation Starten oder Symbol aus. Um die RT Simulation des HMI in einem Fenster zu starten Das Startbild zeigt dann grafisch den Zustandsgraph mit den Zuständen und die Anlage an. Wählen Sie dazu die Variante 3 in der Auswahlbox. 9 Strukturierte Programmierung in FUP Variante 3 Über die Schaltfläche AUS/EIN wird der Anlagenzustand gewechselt und angezeigt: Mit Betätigung der Schaltfläche GS kann ein Gepäckstück vor der Lichtschranke an Förderband 2 simuliert werden: Testen Sie jetzt die Funktionalität Ihres Steuerungsprogramms. Der aktuelle Zustand der Anlage wird dabei im Zustandsgraph angezeigt. Die Balken visualisieren die aktuellen Zeitwerte der Timer. [Hinweis zur Fehlersuche: Überprüfen Sie die Invertierungen in FB1] Mit werden die zeitlichen Kurvenverläufe der Signale an der Anlage dargestellt. Über die Schaltflächen AUS/EIN und GS auf Seite Zustandsgraph kann der Zustand der Anlage geändert werden. Zum Versuchsende sind die nebenstehenden Punkte in der Reihenfolge durchführen: WinCC RT Simulator beenden (Fenster schließen) In S7-PLCSIM die CPU auf STOP S7-PLCSIM Simulation Beenden (Fenster schließen) Nein - Nicht speichern! Im TIA-Portal Projekt Beenden (Fenster schließen) Seite 9-12
Vorbereitungsbogen Beantworten Sie als Vorbereitung zu diesem Praktikumsversuch die folgenden Verständnisfragen handschriftlich und bringen Sie den Bogen zum Versuch mit! Entwerfen Sie die Ansteuerlogik für einen Motor mit fester Drehzahl und zwei Drehrichtungen als Einzelsteuerfunktion IDF Seite 9-13