4. Übung SPS-Programmierung

Ähnliche Dokumente
KOP / FBS - Programmierung

Sucosoft S40 KOP/FBS KOP FBS

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln.

7. Arithmetische Operatoren und Befehle zur Programmorganisation

Infoblatt. Die Norm IEC Programmierung des PS40-Systems

13. Einführung in die Programmiersprache Strukturierter Text (ST)

Folge 9: Parametrierbare Funktionen und Einstieg in die AWL Programmierung

Programmieren lernen mit Visual Basic

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

Automatisierungstechnik nach internationaler Norm programmieren (11) Analogwertverarbeitung, Sprungbefehle und komplexe Datentypen

Modellierung und Programmierung 1

Refresh vom Vortag. Anlaufverhalten / Remanenz. Elementare Datentypen Datentyp / Datenbreite Typgerechte Verwendung

8. Einsatz von Funktionen

Refresh vom Vortag. Topologiekonfigurator. Programmierung in: Kontaktplan Funktionsbausteinsprache Strukturierter Text

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Eine praktische Einführung in die Programmierung mit der Programmiersprache C

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester

Übersicht Shell-Scripten

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Methodische Grundlagen des Software Engineering - Übung 9

Arithmetik in der tcsh

Algorithmen und ihre Programmierung

1. Inhaltsverzeichnis

4.Grundsätzliche Programmentwicklungsmethoden

PostScript -Sprache. Frank Richter

Programmierung von speicherprogammierbaren

Zwischencodeerzeugung Compiler II

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Zusammenfassung der Assemblerbefehle des 8051

DLX Befehlsübersicht

Girls Day 2017 Programmierung

Javakurs für Anfänger

JAVA-Datentypen und deren Wertebereich

Algorithmen & Programmierung. Logik

Java Einführung Operatoren Kapitel 2 und 3

INE1 Bit-Operationen. Bit-Operationen Übungen Bits setzen, löschen, abfragen Beispiel: Bitmap

Tutorium für Fortgeschrittene

Grundbegriffe der Informatik

Datentypen. Agenda für heute, 4. März, Pascal ist eine streng typisierte Programmiersprache

SPS-Grundlagen. Aufbau, Programmierung (IEC 61131, S7), Simulation, Internet, Sicherheit. Bearbeitet von Jens von Aspern

Rechnerstrukturen 1: Der Sehr Einfache Computer

Fakultät für Informatik, Institut für Robotik Laborpraktikum I - Medizinarena Legorobotik in C EV3

Lua Grundlagen Einführung in die Lua Programmiersprache

Modul 122 VBA Scribt.docx

U. Ohm, BBS 4, Hannover

Automatisierungstechnik

Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. SPS-Programmierung

Einführungsbeispiel in das Programmiersystem CoDeSys

Einstieg in die Informatik mit Java

Excel VBA. Teil Zusammenfassung! Was wir können sollten! V

Syntax der Sprache PASCAL

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Datentypen und Operatoren

Entscheidungen. Linearer vs. verzweigter Programmfluss (Flussdiagramm) Linearer vs. verzweigter Programmfluss: Pseudo-Code

4^ Springer Vi eweg. SPS-Programmierung. nach IEC in Anweisungsliste. und handlungsorientierte Einführung. Hans-Joachim Adam Mathias Adam

Bei der Und-Verknüpfung müssen beide Ausdrücke wahr sein, dass der gesamte Ausdruck wahr wird. a=1; b=2; a=1; b=3; else. endif

Sozialwissenschaftliche Fakultät der Universität Göttingen. Sommersemester Statistik mit SPSS

Intensivübung zu Algorithmen und Datenstrukturen

Technische Universität München WS 2004/2005 Fakultät für Informatik 11. Dezember 2004 Prof. Dr. Seidl

Übungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Methoden zur Interpretation LISPähnlicher. Programmiersprachen. Seminarvortrag / 53 FH AACHEN FACHBEREICH 9 TOBIAS STUMM MATR.-NR.

PIC16 Programmierung in HITECH-C

Modul SPS-Programmierung

Bash-Skripting Linux-Kurs der Unix-AG

2004, Thomas Barmetler Automatisierungstechnik Programmierung einer SPS

Grundbegriffe der Informatik Tutorium 5

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET

Vorlesung Unix-Praktikum

3 Die Sprache ST bzw. SCL im Detail

Spieleentwicklung. Diane Hanke, Okan Danyeli & Toni Wirth

Programmsteuerung mit PHP - if/else, elseif,switch

15 Der strukturierte Datentyp»set«(Mengen)

Einführung in die Programmierung mit VBA

Algorithmen und ihre Programmierung -Teil 2-

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

BU PLC Logik. für NORD Frequenzumrichter SK 54xE BU 0550 DE

Fachhochschule Köln Institut für Produktion Labor für Automatisierungstechnik

Informatik I Übung, Woche 41

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Greenfoot: Verzweigungen

Access Automatisierung, Programmierung. Ricardo Hernández Garcia. 1. Ausgabe, April 2016 ISBN ACC2016P

Mikrocomputertechnik. Einadressmaschine

Informatik I: Einführung in die Programmierung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

EXCEL VBA Cheat Sheet

Automatisierungstechnik nach internationaler Norm programmieren (19)

Inhaltsverzeichnis Teil I Digitaltechnik Grundlagen: Zahlensysteme, Dualzahlen und Codes Logische Funktionen und Boolesche Algebra

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

Assembler-Programmierung

Transkript:

Grundlagen der Automatisierungstechnik (Automatisierungstechnik 1) 4. Übung SPS-Programmierung Programmiersprachen nach IEC 61131-3 2 1

Strukturierter Text (ST) Engl.: Structured Text (ST) Höhere Programmiersprache Pascal mit Erweiterungen für das Softwaremodell nach IEC 61131 und das Handling von I/O-Signalen Strukturierte Programmierung mit Konstrukten wie IF THEN ELSE, CASE, FOR, WHILE 3 Wichtige Operatoren (1) Variablen- und Speicherhandling LD Load Lädt einen Wert in den Akkumulator LDN Load Not Lädt einen negierten Wert in den Akkumulator ST Store Speichert den Inhalt des Akkumulators STN Store Not Speichert die Negation des Akkumulators S Set setzt Operand auf TRUE (wenn Akku=1) Verkürzt für STC Store Conditional R Reset setzt Operand auf FALSE (wenn Akku=1) Verkürzt für STCN Store Conditional Not Boolesche Verknüpfungen AND, ANDN Und, Und Nicht AND(, ANDN( Verknüpfung mit Klammerausdruck danach OR, ORN Oder, Oder Nicht OR(, ORN( Verknüpfung mit Klammerausdruck danach XOR, XORN Exklusiv Oder, Exklusiv Oder Nicht XOR(, XORN( Verknüpfung mit Klammerausdruck danach ) Klammer zu 4 2

Wichtige Operatoren (2) Behandlung allgemeiner Daten ADD, ADD( Addiert Operand auf Akkumulator SUB, SUB( Subtrahiert Operand vom Akkumulator MUL, MUL( Multipliziert Akkumulator mit Operand DIV, DIV( Dividiert Akkumulator durch Operand ) Klammer zu Vergleichsoperatoren GT, GT( Größer GE, GE( Größer oder Gleich EQ, EQ( Gleich NE, NE( Ungleich LE, LE( Kleiner oder Gleich LT, LT( Kleiner ) Klammer zu 5 Wichtige Operatoren (3) Verzweigungen (Sprünge) JMP Sprung zu einer Sprungmarke JMPC Bedingter Sprung (nur ausgeführt wenn Akkumulator auf TRUE) JMPCN Bedingter Sprung (nur ausgeführt wenn Akkumulator auf FALSE) Funktionsbausteinaufruf CAL Bausteinaufruf CALC Bedingter Bausteinaufruf (wenn Akkumulator auf TRUE) CALCN Bedingter Bausteinaufruf (wenn Akkumulator auf FALSE) Rücksprung aus Funktionsbaustein oder Funktion RET Rücksprung RETC Bedingter Rücksprung (wenn Akkumulator auf TRUE) RETCN Bedingter Rücksprung (Akkumulator auf FALSE) Funktionsaufruf Funktionsname 6 3

Anlagenbeschreibung Industrietor 7 Informelle Spezifikation Das Industrietor verfügt über 2 Schütze anhand derer das Industrietor nach oben (SchLM1) bzw. nach unten (SchRM1) gefahren werden kann. Zur Bestimmung der Position stehen ein Sensor zur Erkennung der oberen (Oben_S30) und unteren Endlage (Unten_S10) zur Verfügung. Zur Mensch-Maschine-Interaktion stehen 2 Taster zur Verfügung. Mit dem Taster TasterAUF soll das Tor nach oben gefahren werden (das Tor öffnet sich). Mit dem Taster TasterAB soll das Tor nach unten gefahren werden (das Tor wird geschlossen). Hierbei ist zu beachten, dass auf einen Flankenwechsel am Taster reagiert werden soll, der Taster also nicht ständig von Hand gedrückt werden muss. Ein dauerhaft halboffenes Tor ist bewusst nicht vorgesehen. Zur Vermeidung von Schäden an Mensch oder Material dient die Lichtschranke (OptSensor). Wird einer der Lichtstrahlen der Lichtschranke unterbrochen, so soll das Tor nach oben fahren bis es komplett geöffnet ist. Bei Betätigen des Not-Aus-Knopfes (Not_Aus) soll das Tor in seiner aktuellen Position stehen bleiben und bis zu einem Reset der Steuerung nicht mehr bewegt werden können. 8 4

Erweiterte informelle Spezifikation Zusätzlich zur einfachen Spezifikation soll es nun möglich sein das Tor mit einer Ein-Knopf-Fernbedienung zu steuern. Die Fernbedienung hat nur einen Knopf und kann als Taster aufgefasst werden. Die Anlage soll wie folgt auf einen Knopfdruck der Fernbedienung reagieren: Bewegt sich das Tor und ist weder komplett geöffnet noch komplett geschlossen, dann soll sich das Tor in die entgegen gesetzte Richtung bewegen. Ist das Tor komplett geschlossen soll es sich jetzt öffnen. Ist das Tor komplett geöffnet soll es sich jetzt schließen. Ist ein Lichtstrahl der Lichtschranke unterbrochen, so soll die Steuerung auf die Fernbedienung nicht reagieren. 9 Verwendete Signale Tabelle der Eingangssignale Signal-Name Bedeutung der logischen 0 Bedeutung der logischen 1 TasterAUF Taster nicht gedrückt Taster gedrückt TasterAB Taster nicht gedrückt Taster gedrückt Not_Aus Taster gedrückt Taster nicht gedrückt FernSt Knopf nicht gedrückt Knopf gedrückt Unten_S10 Tor komplett geschlossen Tor nicht komplett geschlossen Oben_S30 Tor komplett geöffnet Tor nicht komplett geöffnet OptSensor Ein Lichtstrahl ist unterbrochen Kein Lichtstrahl ist unterbrochen Tabelle der Ausgangssignale Signal-Name Bedeutung der logischen 0 Bedeutung der logischen 1 SchLM1 Motor nicht nach links drehen Motor nach links drehen (Tor nach oben) SchRM1 Motor nicht nach rechts drehen Motor nach rechts drehen (Tor nach unten) 10 5

Aufgaben 1. Entwerfen Sie zunächst eine Steuerung für die einfache Spezifikation (ohne Fernbedienung) 2. Setzen Sie die Steuerung in AWL und ST um 3. Überlegen Sie sich ein Vorgehen zum Test der Steuerung in einer Simulation (Testfälle) 4. Erweitern Sie die Lösung um die Funktion der Fernbedienung 5. Setzen Sie die Steuerung in AWL um 6. Überlegen Sie sich ein Vorgehen zum Test der Steuerung in einer Simulation (Testfälle) 11 6