Grundlagen TwinCAT IEC

Größe: px
Ab Seite anzeigen:

Download "Grundlagen TwinCAT IEC 61131-3"

Transkript

1 Grundlagen TwinCAT IEC

2 Inhaltsverzeichnis Funktionale Struktur einer SPS 1131 Bezeichner, Präfixe, Datentypen, Enums, Strukturen Variablen: Deklaration, Klassen, Attribute Grenzüberschreitungen, Checkerfunktionen POE, FB, FUN Programmierung in ST, CFC, FUP Operatoren, Anweisungen, Konvertierungen

3 TwinCAT System Der TwinCAT System arbeitet als Windows NT-Dienst im lokalen Systemkonto, so wird der TwinCAT System von Windows NT gestartet, bevor sich ein Benutzer eingeloggt hat. Als Aktivitätszeichen blendet der TwinCAT System sein Icon in die Taskbar des Desktops ein. Zusätzlich wird über die Farbe des Icons der Zustand des TwinCAT-Systems angezeigt. TwinCAT stopped TwinCAT starting TwinCAT running TwinCAT Config Mode Der TwinCAT System ist in erster Linie verantwortlich für den Start bzw. Stopp des TwinCAT-Laufzeitsystems

4 TwinCAT System - Ereignisanzeige Die Ereignisanzeige überwacht Systemereignisse. Der Ereignisprotokolldienst startet automatisch, wenn Sie Windows NT ausführen

5 TwinCAT System IO-Subsystem Das TwinCAT I/O-Subsystem kann über den TwinCAT System resettet werden. Dazu muss im Kontextmenü die entsprechende Funktion angewählt werden. Der Reset gilt für alle angeschlossenen Feldbussysteme

6 Multitasking TwinCAT verfügt insgesamt über 62 unterschiedliche Tasks. Die Defaulteinstellungen können voreingestellte Profile verwenden oder die Prioritäten individuell verändern

7 Vergabe der Rechenleistung Eingangs-PA Ausgangs-PA Programm bearbeiten Win NT & MMI Interface Echtzeitbetrieb von SPS-Software in der klassischen SPS SPS-Zyklus SPS-Zyklus t Echtzeitbetrieb von SPS-Software (1 Task) auf einem PC SPS-Zyklus SPS-Zyklus t

8 Echtzeit Viele Applikationen fordern eine Garantie, dass eindeutig vorhersehbar, reproduzierbar von der Systemauslastung, in definierter Zeit, eine ausreichend schnelle Reaktion auf das Prozessgeschehen erfolgt. Die Echtzeit ist besonders bei der digitalen Regelung wichtig. Die Abtastung eines analogen Signals (Istposition) mit einem Rechner sollte absolut konstante Abstände zwischen zwei Messungen haben. Jeder Teilprozess erfordert unterschiedliche Reaktionszeiten, so dass bei einer Automatisierungsaufgabe mit unterschiedlichen Reaktionszeiten mehrere Teilprozesse angelegt werden können, die unterschiedliche Eigenschaften haben. Falls mehrere Tasks gleichzeitig auf die CPU zugreifen möchten, definiert die IEC zwei Verfahren: 1. unterbrechbare Ausführung 2. nicht unterbrechbare Ausführung

9 Stromversorgung Schulungsunterlage für TwinCAT IEC Funktionale Struktur einer SPS Stromnetz andere Systeme Bediener Programmierer MMI-Funktionen Prüffunktionen Anwendungsprogramm Signalverarbeitungsfunktion Betriebssystem Kommunikationsfunktion Ausführungsfunktion Daten Schnittstellenfunktion zu Sensoren und Aktoren Prozess

10 Softwaremodell-Beispiel Beispiel PC SPS mit 1 Laufzeit und zwei Tasks 1 BC9000 (Ethernet Controller) Konfiguration Resource PC Resource BC9000 Task1 Task2 Task1 Programm Programm Programm Main Motion FB FB FB FB Global und direkt adressierte Variable Verknüpfung im Systemmanager Zugriffspfade (access paths)

11 Bezeichner Der Bezeichner dient zur individuellen Namensvergabe für Variablen, Datentypen, Funktionen.. Der Bezeichner beginnt mit einem Buchstaben oder Unterstrich gefolgt von Zahlen, Buchstaben und Unterstrich Groß-Kleinschreibung wird nicht unterschieden Nicht erlaubt sind Sonderzeichen (!,,,$..) Leerzeichen aufeinander folgende Unterstriche Umlaute

12 Präfixe Präfixe erleichtern die die Lesbarkeit des Programmes. Hier einige Vorschläge: Ungarische Notation: Teilwörter werden zusammengeschrieben. Erster Buchstabe jedes Teilwortes wird groß geschrieben. (btasterlichtwohnzimmer) b BOOL (btaster) a ARRAY by BYTE e ENUM (eerror) i INT (idimmlevel) FB Funktionsblock s STRING (stext) t TIME st STRUCTUR d DATE w WORD dw DWORD r REAL (raussentemp) lr LREAL u unsign (uidrehzahl)

13 Schlüsselwörter und Kommentare Schlüsselwörter sind fester Bestandteil der Syntax und dürfen daher nicht für andere Zwecke verwendet werden. z.b. TRUE, FALSE, AND, OR,, FUNCTION,... Kommentare werden durch Zeichenfolgen zu Beginn und am Ende mit (* bzw. *) begrenzt. z.b. (* Dies ist ein Kommentar *) Kommentare dürfen überall platziert werden, wo auch Leerzeichen zulässig sind. Ausnahme: innerhalb von Zeichenfolge-Literalen (Stringzuweisung) z.b. Hallo (* hier darf kein Kommentar stehen*) Welt`

14 Elementare Datentypen Art ANY- Type Schlüsselwort Datenbreite (Bit) Initial Wertebereich boolesche ANY_Bit BOOL 1 FALSE TRUE/FALSE Bitfolge (8) BYTE #FF Bitfolge (16) WORD #FFFF Bitfolge (32) DWORD #FFFF_FFFF kurze ganze Zahl ANY_Num SINT ganze Zahl INT doppelte ganze Zahl vorzeichenlose kurze Zahl vorzeichenlose ganze Zahl vorzeichenlose doppelte Zahl DINT USINT UINT UDINT

15 Elementare Datentypen Art ANY-Type Schlüsselwort Datenbreite (Bit) Initial Wertebereich Gleitpunkt ANY_Real REAL * *10 38 langer Gleitpunkt LREAL * * Datum ANY_Date DATE (D) 32 D# Uhrzeit TIME_OF_DAY (TOD) 32 TOD#00:00 TOD#00:00.. TOD#23:59 Datum Uhrzeit DATE_AND_TIM E (DT) 32 DT# :00 Zeit ANY_Time TIME 32 T#0ms T#0ms..T#71582 m47s295ms Zeichenfolge ANY_String STRING (80+1)*

16 Elementare Datentypen Variablentyp Beispiele BOOL 0,1 16#0, 16#1 TRUE (gleichwertig) BYTE, WORD, DWORD 10 16#0A 2#1010 (gleichwertig) DWORD, UINT #8000 2#1000_0000 (gleichwertig) INT TIME T#1h2m4s11ms, T#62m4s11ms, T# ms (gleichwertig) REAL, LREAL 0.22, 2.2e-1 (gleichwertig) 1000, , 1e3 (gleichwertig) STRING Leerstring, Textkonstante Text$0D$0A, Text$R$N (gleichwertig) Textkonstanten mit Steuerzeichen Siehe Strings

17 Sonderzeichen Eine Variable vom Typ STRING kann eine beliebige Zeichenkette aufnehmen. Die Größenangabe zur Speicher-platzreservierung bei der Deklaration bezieht sich auf Zeichen und kann in runden oder eckigen Klammern erfolgen. Ist keine Größe (1 bis 255) angegeben, so werden standardmäßig 80 Zeichen angenommen. Alle Strings sind null-terminiert, d.h. das letzte Zeichen eines Strings ist immer Null. Jedes Zeichen innerhalb einer Kette benötigt ein Byte. VAR stext :STRING(5); END_VAR

18 STRING Möchte man innerhalb einer Zeichenkette ein Sonderzeichen einfügen, so muss jeweils ein führendes $-Zeichen eingefügt sein. Zeichen Beschreibung A CR (*Str. Abschluss*) $$ Dollarzeichen $ Hochkomma $L or $I Zeilenvorschub $N or $n Neue Zeile $P or $p Seitenvorschub $R or $r Zeilenumbruch $T or $t Tabulator

19 Variablendeklaration Eine Variable besitzt einen Namen, hinter dem sich ein Wert (Zahl, String, Datum..) verbirgt. Der Variablenname ist eine Art Wegbeschreibung zu den deklarierten Daten. Variablen zeichnen sich vor allem dadurch aus, dass ihr Inhalt zur Laufzeit verändert werden kann. Bezeichner Datentyp Initialwert bstelleruntenlinks:bool:=true; Die Freiheitsgrade und Einschränkungen bei der Vergabe der Bezeichner sind auf der Folie Bezeichner und Präfixe zu finden Der physikalisch-logische Speicherort dieser Variable ist dem Anwender unbekannt (unlocated)

20 Variablendeklaration Es gibt die Möglichkeit, bei der Variablendeklaration den Namen mit einer explizit anzugebenden Adresse zu verbinden. Für die Zuordnung von Ein- und Ausgängen der Hardware zu symbolischen Variablen ist Lokierung von Variablen unverzichtbar Bezeichner AT Adresse : Datentyp ; Bezeichner AT %I X Byte. Bit Datentyp %Q B Byte %M bstelleruntenlinks AT%IX0.0:BOOL; bei BC9000 W D Diese Variablen besitzen eine eindeutige Adresse (located) Ab TwinCAT 2.8 kann die Adressierung automatisch erfolgen. Im Programm wird dann mit nicht vollständig locierten Variablen gearbeitet. bstelleruntenlinks AT%I*:BOOL;

21 Variablenklassen, Gültigkeitsbereich Lokale Variablen sind auf den Baustein begrenzt, in dem sie deklariert wurden. Globale Variablen sind in jedem Baustein innerhalb eines Projektes bekannt. Schlüsselwörter VAR.. END_VAR VAR_INPUT.. END_VAR VAR_IN_OUT.. END_VAR VAR_OUTPUT.. END_VAR Schlüsselwörter VAR_GLOBAL.. END_VAR VAR_CONFIG.. END_VAR

22 Attribute Mit Attributen können besondere Eigenschaften von Variablen festgelegt werden. Beispiele: VAR RETAIN Zaehler:UINT; END_VAR VAR PERSISTENT Zaehler:UINT; END_VAR Die Variable(n) soll(en) beim Shutdown (Herunterfahren) der SPS gespeichert und beim Neustart zurückgeladen werden. VAR DimmTime : TIME := T#3s200ms; END_VAR Initialwerte, die Variablen sollen beim SPS-Start/Reset mit einem bestimmen Wert vorbelegt werden

23 Attribute - Konstanten Möchte man im Projekt z.b. eine mathematische Kostante oder einen globalen Parameter benutzen, so ergänzt man die regulären Schlüsselwörter VAR_GLOBAL.. END_VAR mit dem Schlüsselwort CONSTANT Diese Ergänzung ist auch bei den lokalen Schlüsselwörtern einsetzbar. Diese Bezeichner haben danach im Programm nur Lesestatus. VAR_GLOBAL CONSTANT pi:real:= ; END_VAR

24 Referenzen (Alias-Typen) Der selbstdefinierte Datentyp Referenz dient dazu, einen alternativen Namen für eine Variable, Konstante oder einen Funktionsblock zu erzeugen. Syntax: TYPE <Bezeichner>:<Zuweisungsausdruck>; END_TYPE Sie beginnen mit dem Schlüsselwort TYPE und enden mit END_TYPE. Beispiel: Ads_Net_ID TYPE Net_ID:STRING(23); END_TYPE

25 Strukturdeklaration Vordruck Pers_Daten Name: Alter: Vorname: Anschrift: Strukturen sind selbstdefinierte Datentypen. Sie sind ein wichtiges Hilfsmittel zur besseren Verwaltung der Prozessdaten. Außerdem eignen sich die Strukturen zur gekapselten Datenübergabe an Funktionsblöcke. Strukturen lassen sich wie Einzelelementvariablen gebrauchen. TYPE Pers_Daten : STRUCT Name: STRING(25); Vorname: STRING(25); Alter: USINT; Anschrift: STRING(55); END_STRUCT END_TYPE Bezeichner für den neuen Datentyp Bezeichner: Elterndatentyp

26 Aufzählungstyp (Enum) Ein Aufzählungstyp ist ein selbst definierter Datentyp, der aus einer Menge von Stringkonstanten besteht. Diese Konstanten bezeichnet man als Enumerationswerte. Die Enumerationswerte sind immer im ganzen Projekt bekannt. Legen Sie ihre Aufzählungstypen unter der Registerkarte Datentypen an. Sie beginnen mit dem Schlüsselwort TYPE und enden mit END_TYPE. Syntax: TYPE <Bezeichner>:(<Enum_0>,<Enum_1>,...,<Enum_n>); END_TYPE Beispiel: TYPE Woche:(Mo, Di, Mi, Dn, Fr, Sa, So:=10);(*Mo = 0 Di = Sa = 6 So = 10*) END_TYPE TYPE Richtung:(Up, Dn);(*Up = 0 Dn = 1*) END_TYPE Der gleiche Enumerationswert darf nicht zweimal verwendet werden

27 Arrays Arrays stellen Listen bzw. Datenfelder dar. Alle Elemente in den Arrays sind vom gleichen Typ. Natürlich können Arrays auch aus eigenen Datentypen (Strukturen) bestehen. Es sind ein-, zwei und dreidimensionale Arrays möglich. VAR Feld_1 :ARRAY[0..9] OF BYTE; Feld_2 :ARRAY[0..9, 0..1] OF UINT; Feld_3 :ARRAY[0..9, 0..1,0..1] OF DINT; END_VAR 1-dimensional 2-dimensional 3-dimensional Es besteht die Möglichkeit, ein Datenfeld auf eine direkt adressierte Speicherstelle zu legen VAR Feld_1 AT%MB100:ARRAY[1..10] OF BYTE; END_VAR Zugriff auf die Unterelemente eines Datenfeldes Feld_1[2] := 120; (* Expliziter Zugriff*) Feld_2[i,j] := EXPT(i,j); (*Indizierter Zugriff*)

28 Grenzüberschreitung Ein gefährlicher Zustand kann entstehen, falls man im SPS- Programm einen Zugriff auf einen Bereich außerhalb des Datenfeldes vornimmt. VAR Feld_1 :ARRAY[1..10] OF BYTE; Feld_2 :ARRAY[1..10, 2..5] OF UINT; Feld_3 :ARRAY[1..10] OF DINT; END_VAR i:= 9 9 Feld_1[i+2] := 120; Feld_1[9]; 0 Feld_2[1,2];

29 Grenzüberschreitung Eine Überwachung des Zugriffes kann zur SPS-Laufzeit durch die SPS vorgenommen werden Mit dieser Funktion ist es möglich, eine im Programm aufgetretene Grenzüberschreitung zu erkennen und zu beheben. i Min Max Begrenzter Wert FUNCTION CheckBounds :DINT VAR_INPUT I,L,U : DINT; END_VAR IF I< L THEN Fehler-Fall CheckBounds := L; ELSIF I > U THEN Fehler-Fall CheckBounds := U; ELSE OK -Fall CheckBounds := I; END_IF

30 Weitere Checkerfunktionen Folgende weitere Checkerfunktionen sind möglich: Überprüfen von Division durch 0 CheckDivByte CheckDivWord CheckDivDWord CheckDivReal Überprüfen von Wertebereichen CheckRangeSigned CheckRangeUnsigned (siehe Anhang)

31 POE Programm-Organisations-Einheiten In der IEC gibt es unter dem Oberbegriff POE drei Bausteinarten: Programm (PRG) Funktionsblock (FB) Funktion (FUN) Der Organisationsbaustein (OB) wurde durch den Taskkonfigurator ersetzt

32 POE Programm-Organisations-Einheiten Jeder Baustein besteht aus einem Deklarationsteil und einem Rumpf. Der Deklarationsteil ist in jeder IEC-Sprache gleich, hier werden die lokalen Variablen des Bausteins deklariert. Der Rumpf ist in einer der IEC-Programmiersprachen ST, CFC, AS, FUP oder KOP geschrieben. Die Erfahrung haben gezeigt, dass die meisten in ST und CFC programmieren

33 Programm PRG Aufruf erfolgt durch eine Task (TwinCAT: ein Programm kann ein anderes aufrufen Ruft auf: FBs, Funktionen und Unterprogramme Lokale Variable: statisch, d. h. die lokalen Daten stehen beim nächsten Zyklus wieder zur Verfügung. Eingänge: VAR_INPUT möglich Ausgänge: VAR_OUTPUT möglich Übergabe per Referenz VAR_IN_OUT ebenfalls möglich Debug: Im Online-Mode des PLC-Control sind lokale Daten sofort sichtbar

34 Funktionsblock FB Aufruf erfolgt durch Programme oder andere FBs Ruft auf: FBs, Funktionen, Lokale Variable: statisch, d. h. die lokalen Daten stehen beim nächsten Zyklus wieder zur Verfügung. Bei Mehrfachaufruf instanzierbar (vervielfachbar). Jeder FB-Aufruf kann eigene lokalen Daten haben. Eingänge: VAR_INPUT Ausgänge VAR_OUTPUT Übergabe per Referenz VAR_IN_OUT Debug: Im Online-Mode des PLC-Control muss zunächst die Instanz des betreffenden Aufrufes angegeben werden. Dann sind die lokalen Daten für jeden Aufruf sichtbar

35 FB Aufruf im ST und FUB/CFC VAR TON1:TON; END_VAR TON1 (IN:= NOT TON1.Q, PT:=T#1s ); Q0:= TON1.Q; TON1(IN:= NOT TON1.Q, PT:=T#1s, Q=>Q0 );

36 FB Aufruf im ST und FUB/CFC (Alternative) VAR TON1:TON; END_VAR TON1.IN:= NOT TON1.Q; TON1. PT:=T#1s; TON1(); Q0:= TON1.Q;

37 Funktion FC Aufruf erfolgt durch Programme oder andere FBs Ruft auf: FBs, Funktionen, Lokale Variable: statisch, d. h. die lokalen Daten stehen beim nächsten Zyklus wieder zur Verfügung. Bei Mehrfachaufruf instanzierbar (vervielfachbar). Jeder FB-Aufruf kann eigene lokalen Daten haben. Eingänge: VAR_INPUT Ausgänge VAR_OUTPUT Übergabe per Referenz VAR_IN_OUT Debug: Im Online-Mode des PLC-Control muss zunächst die Instanz des betreffenden Aufrufes angegeben werden. Dann sind die lokalen Daten für jeden Aufruf sichtbar

38 FC-Aufrufe in ST und FUB/CFC Result:=Scale(x:=Eingang, xug:=0.0, xog:= , yug:=0.0, yog:=100.0); (* Gleichwertig:*) Result:=Scale(Eingang, 0.0, , 0.0, 100.0); (* Gleichwertig:*) Result:=Scale ( x:= Eingang, xug:= 0.0, xog:= , yug:= 0.0, yog:= ); Bei Funktionen müssen alle Eingänge belegt werden!!!

39 Funktion FC - Besonderheiten Rückgabewert Der Name des Ausganges ist Scale. Scale kann innerhalb der Funktion als lokale Variable genutzt werden (Schreiben/Lesen) Funktionsname Eingänge Lokale Variablen sind nur für die Bearbeitungsdauer der Funktion gültig

40 Programmiersprache ST Strukturierter Text Operatoren Operation Symbol Bindungsstärke Einklammern (Ausdruck) stärkste Bindung Funktionsaufruf Funktionsname (Parameterliste) Potenzieren EXPT Negieren - Komplementbildung NOT Multiplizieren * Dividieren / Modulo MOD Addieren + Subtrahieren - Gleiche Bindungsstärke, Abarbeitung von links nach rechts (10/2*5 = 25 ) Gleiche Bindungsstärke Vergleiche <,>,<=,>= Gleichheit = Ungleichheit <> BOOL AND BOOL XOR BOOL OR AND XOR OR schwächste Bindung

41 Programmiersprache ST Strukturierter Text - Anweisung Anweisung Beispiel Zuweisung := PosWert := 10; Aufruf eines Funktionsblocks RETURN IF CASE FOR WHILE REPEAT EXIT Leere Anweisung ; Ton1(IN:=Start, PT:=T2s); Ausgang:= Ton1.Q; RETURN; genauere Erläuterungen und Beispiele auf den Folgeseiten CASE zaehler OF FOR i:= 0 TO 100 BY 2 DO WHILE i <= 100 DO

42 Programmiersprache ST IF Anweisung Wird benötigt, um im Programm, abhängig von Bedingungen, verzweigen zu können. Mit den IF-Anweisungen kann im SPS- Zyklus nicht zurückgesprungen werden. GOTO ist ebenfalls nicht verfügbar Schlüsselworte: IF ELSIF ELSE END_IF THEN

43 Programmiersprache ST IF Anweisung IF Bedingung THEN END_IF Anweisungsblock; Bedingung Nein Ja Anweisungsblock

44 Programmiersprache ST IF Anweisung IF a>b THEN Anweisungsblock A; ELSE Anweisungsblock B; END_IF Bedingung Nein Ja Anweisungsblock A Anweisungsblock B

45 Programmiersprache ST IF Anweisung IF Bedingung1 THEN IF Bedingung1 THEN Anweisungsblock A; Anweisungsblock A; ELSE ELSIF Bedingung2 THEN IF Bedingung2 THEN Anweisungsblock B; Anweisungsblock B; ELSIF Bedingung3 THEN ELSE Anweisungsblock C; IF Bedingung3 THEN ELSE Anweisungsblock C; Anweisungsblock D; ELSE END_IF Anweisungsblock D; END_IF END_IF END_IF Bedingung 1 Ja Nein Bedingung 2 Ja Nein Bedingung 3 Ja Nein Anweisungs -block A Anweisung s-block B Anweisung s-block C Anweisung s-block D

46 Programmiersprache ST IF Anweisung Was kann die BOOLESCHE EXPRESSION sein? Bedingungen : BOOLESCHE Variable Vergleiche IF bvar THEN IF a>b THEN Funktionsaufrufe Abfrage von FB-Instanzen KEIN FB-Aufruf! IF LEFT(STR:= strvar, SIZE:=7) = 'TwinCAT' THEN IF Ton1.Q THEN. IF Ton1(IN:=bVar, PT:=T#1s ) THEN

47 Programmiersprache ST CASE Anweisung Auswahlkriterium = 1 Ja Auswahlkriterium = 2 oder 4 oder 6 Nein Auswahlkriterium = 7 oder 8 oder 9 oder 10? Ja Nein CASE Auswahlkriterium OF 1: Anweisung 1 2, 4, 6: Anweisung : Anweisung 3.. ELSE Default- Anweisungen END_CASE; Ja Nein Anweisung 1 Anweisung 2 Anweisung 3 Default- Anweisungen

48 Programmiersprache ST Ablaufkette CASE State OF 0: Q0:=TRUE; 1: Q1:=TRUE; Anweisungen für den Schritt (Aktionen) IF Transition THEN state := 1; END_IF IF Transition THEN state := 2; END_IF 2: Q2:=TRUE; IF Transition THEN state := 3; END_IF 3: Q3:=TRUE; END_CASE IF Transition THEN state := 0; END_IF Weiterschaltbedingung (Transition)

49 Programmiersprache ST Schleifen (Überblick) Alle Schleifen können mit Hilfe der EXIT-Anweisung beendet werden, ungeachtet der Abbruchbedingung. Ausdruck Abarbeitung n Durchläufe fest FOR SINT/INT/DINT vorabweisen d WHILE BOOL vorabweisen d Ja Nein REPEAT BOOL nachabweis end Nein

50 Programmiersprache ST FOR-Schleifen Zu Beginn der Schleife wird die Laufvariable i auf den Startwert gesetzt (siehe Beispiel). Die Laufvariable wird in jedem Durchgang de- oder inkrementiert, abhängig von der Schrittweite (Wert nach dem Schlüsselwort BY). Überschreitet i den Endwert (nach TO), wird die Schleife nicht mehr bearbeitet. Zyklus n Start i := StartWert I >EndWert Nein Anweisungsblock I:= i+ Schrittweite Ja FOR i:=1 TO 12 BY 2 DO Feld[i]:=i*2;(*Anweisung*) END_FOR Zyklus n

51 Programmiersprache ST WHILE-Schleifen Der Anweisungsblock einer WHILE-Schleife wird so lange durchgeführt, bis der boolesche Ausdruck TRUE liefert. Die Abbruchbedingung kann Variablen enthalten, die im Anweisungsblock verändert sein können. Ist der boolesche Ausdruck zu Beginn FALSE, so wird der Anweisungsblock der WHILE-Schleife nicht bearbeitet. Ja Zyklus n boolescher Ausdruck Anweisungsblock I:= i+ Schrittweite Nein i:=0; WHILE i<100 DO Feld[i]:=i*2;(*Anweisung*) i:=i+1; END_WHILE Zyklus n

52 Programmiersprache ST REPEAT-Schleifen Der Anweisungsblock einer REPEAT-Schleife wird so lange durchgeführt bis (UNTIL) der boolesche Ausdruck nicht mehr erfüllt ist. Der Anweisungsblock wird mindestens einmal bearbeitet. Zyklus n Anweisungsblock I:= i+ Schrittweite i:=0; REPEAT Feld[i]:=i*2;(*Anweisung*) i:=i+1; UNTIL i>100 Nein boolescher Ausdruck Ja END_REPEAT Zyklus n

53 Standard IEC Operatoren und FB s Die Funktionsbausteine und Funktionen sind durch Einbinden der Standard.LIB verfügbar. Diese wird beim Erstellen des Projektes automatisch in das SPS Projekt eingebunden. Standard Bausteine Funktionsblöcke Funktionen Timer Stringfunktionen Zähler Speicher Trigger

54 Logische Operatoren FUP / CFC ST

55 Numerische Operatoren FUP / CFC ST Bemerkungen Arithmetische Operatoren Überladungen möglich, Überlauf bei Ganzzahlen beachten. - * / Ermittelt ganzzahligen Rest einer Division (hier 4)

56 Auswahloperatoren, SEL Operator Bemerkungen FUP / CFC Auswahleingänge überladbar SEL ST StrVarMode := SEL(Mode1,, Mode1Selected ); Beispiel: Wenn Mode1 = TRUE ist, enthält StrVarmode Mode1Selected sonst einen Leerstring

57 Auswahloperatoren, MUX Operator Bemerkungen FUP / CFC Auswahleingänge überladbar SEL ST StrVarMode := SEL(Mode1,, Mode1Selected ); Beispiel: Wenn Mode1 = TRUE ist, enthält StrVarmode Mode1Selected sonst einen Leerstring

58 Konvertierungen Operator ST Bemerkungen Zeitwerte werden in ms aufgelöst rt1:real it1:int bvar1:bool Es wird gerundet : 0.4 wird FALSE, >=0.5 wird TRUE

59 Konvertierungen FUP / CFC ST Bemerkungen Ergebnis implizite Konvertierung ebenfalls möglich Konvertierung zu INT mit Auf/ Abrundung Konvertierung zu INT ohne Auf/ Abrundung Überläufe beachten (Ergebnis ist negativ)

60 Flankenbausteine R_TRIG F_TRIG FUP / CFC Funktionsweise CLK Q R_TRI G ST CLK Q F_TRI G CLK BOOL Triggereingang R_TRIG: Rising Edge, Q BOOL Signalausgang (für 1 SPS Zyklus ein) Steigende Flanke F_TRIG: Falling Edge Fallende Flanke

61 Speicherbausteine SR RS (erstes Zeichen hat Priorität) FUP / CFC SET SR RESET Q1 SET1 RS RESET ST Q1 SET1 BOOL Setzen SR: Vorrangig Setzen RESET1 BOOL Rücksetzen Q1 BOOL Ausgang RS: Vorrangig Rücksetzen

62 Timerbausteine TON (einschaltverzögert) FUP / CFC IN Q ST ET IN BOOL Starteingang Start mit Flanke, Ausgang PT TIME Preset Time, Verzögerungszeit steht nach Verzögerung an und Q BOOL Ausgang ET TIME Elapsed Time, aktueller Zeitwert

63 Timerbausteine TOF (ausschaltverzögert) FUP / CFC PT IN Q ST ET IN BOOL Starteingang Start mit negativer Flanke an PT TIME Preset Time, Verlängerung IN, Neue Flanke verlängert Signal Q BOOL Ausgang ET TIME Elapsed Time, aktueller Zeitwert

64 Timerbausteine TP (Pulstimer) FUP / CFC IN Q ST ET IN BOOL Starteingang Start mit Flanke, Nachstart wird PT TIME Preset Time, Pulszeit nicht angenommen Q BOOL Ausgang ET TIME Elasped Time, aktueller Zeitwert

65 Timerbausteine TP (Pulstimer) FUP / CFC IN Q ST ET IN BOOL Starteingang Start mit Flanke, Nachstart wird PT TIME Preset Time, Pulszeit nicht angenommen Q BOOL Ausgang ET TIME Elasped Time, aktueller Zeitwert

66 Auswärtszähler CTU FUP / CFC ST CU BOOL Count Up, Zähleingang Zählen mit Flanke an CU, Ausgang wird gesetzt RESE BOOL Zähler rücksetzen wenn Zählerstand den T Wert von PV erreicht hat. PV UINT Preset Value Q BOOL Zählerstand hat PV erreicht CV WORD Aktueller Zählerstand

67 Abwärtszähler CTD FUP / CFC ST 0 CD BOOL Count Down, Zähleingang LOAD setzt Zähler, LOAD BOOL Zähler mit Wert von PV laden PV UINT Preset Value Q BOOL Zählerstand hat 0 erreicht CV UINT Aktueller Zählerstand Zählen abwärts mit Flanke an CU, Ausgang wird gesetzt wenn Zählerstand den Wert 0 erreicht hat

68 Abwärtszähler CTUD FUP / CFC LOAD CD CU RESET ST CV QD QU CV=PV CU BOOL Count UP, Zähleingang + CV UINT Zählerstand CD BOOL Count DOWN, Zähleingang - Zählen mit Flanke an CD und CU, RESET BOOL Reset Negative Zählwerte sind LOAD BOOL Zähler mit Wert von PV laden nicht möglich PV UINT Preset Value QU BOOL Zählerstand hat PV erreicht QD BOOL Zählerstand hat 0 erreicht

69 Stringfunktionen CONCAT (zusammenfügen) FUP / CFC ErgebnisOnline ST STR1 STRING Erster String STR2 STRING String, der an den ersten anhängt wird

70 Stringfunktionen FIND (finden / erkennen) FUP / CFC ErgebnisOnline ST STR1 STRING Sting aus dem Zeichen gelöscht werden sollen STR2 STRING Zeichenfolge, nach der gesucht werden soll

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

13. Einführung in die Programmiersprache Strukturierter Text (ST) 13. Einführung in die Programmiersprache Strukturierter Text (ST) 13.1 Übersicht Strukturierter Text (ST, auch SCL) ist eine der sechs in IEC 61131-3 festgeschriebenen Programmiersprachen für Automatisierungstechnik.

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Lua Grundlagen Einführung in die Lua Programmiersprache

Lua Grundlagen Einführung in die Lua Programmiersprache Lua Grundlagen Einführung in die Lua Programmiersprache 05.05.2014 Ingo Berg berg@atvoigt.de Automatisierungstechnik Voigt GmbH Die Lua Programmiersprache Was ist Lua? freie Programmiersprache speziell

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

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

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Mod_com.lib. Inhalt. WAGO-I/O-PRO 32 Bibliothek

Mod_com.lib. Inhalt. WAGO-I/O-PRO 32 Bibliothek Anhang A Weitere Bibliotheken WAGO-I/O-PRO 32 Bibliothek Mod_com.lib Inhalt ADD_DESC (Datentyp)...2 ADD_PI_INFORMATION...4 CRC16...6 FBUS_ERROR_INFORMATION...7 GET_DIGITAL_INPUT_OFFSET...8 GET_DIGITAL_OUTPUT_OFFSET...10

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Grundstrukturen: Sub [name]([übergabe]) End Sub [Übergabe] ist

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

S7-Hantierungsbausteine für R355, R6000 und R2700

S7-Hantierungsbausteine für R355, R6000 und R2700 S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

Diana Lange. Generative Gestaltung Operatoren

Diana Lange. Generative Gestaltung Operatoren Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

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

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

VisualBasic - Variablen

VisualBasic - Variablen Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Kontrollstrukturen, Strukturierte Programmierung

Kontrollstrukturen, Strukturierte Programmierung , Strukturierte Programmierung Steuer- und Kontrollfluss Strukturierte Programmierung Arten von Strukturblöcken Sequenz Alternative Iteration C-Spezifisches Seite 1 Elementare Algorithmen SelectionSort

Mehr

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

Software-Beschreibung Elektronische Identifikations-Systeme BIS Softwarekopplung PROFIBUS DP mit BIS C-60_2-...an S7

Software-Beschreibung Elektronische Identifikations-Systeme BIS Softwarekopplung PROFIBUS DP mit BIS C-60_2-...an S7 Software-Beschreibung Elektronische Identifikations-Systeme BIS Softwarekopplung PROFIBUS DP mit BIS C-60_2-...an S7 Dieser Funktionsbaustein ermöglicht eine Kommunikation zwischen einer Balluff- Auswerteeinheit

Mehr

AutoTexte und AutoKorrektur unter Outlook verwenden

AutoTexte und AutoKorrektur unter Outlook verwenden AutoTexte und AutoKorrektur unter Outlook verwenden Die Hilfsmittel "AutoKorrektur" und "AutoTexte", die schon unter Microsoft Word das Arbeiten erleichtern, sind natürlich auch unter Outlook verfügbar.

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

J. Prof. Dr.-Ing. Georg Frey Juniorprofessur Agentenbasierte Automatisierung. Laborunterlagen zum Themengebiet Steuerungstechnik. zusammengestellt von

J. Prof. Dr.-Ing. Georg Frey Juniorprofessur Agentenbasierte Automatisierung. Laborunterlagen zum Themengebiet Steuerungstechnik. zusammengestellt von J. Prof. Dr.-Ing. Georg Frey Juniorprofessur Agentenbasierte Automatisierung Laborunterlagen zum Themengebiet Steuerungstechnik zusammengestellt von Georg Frey und Stéphane Klein Modul 3 Simatic STEP7

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1 CMS.R. Bedienungsanleitung Modul Cron Revision 1 Copyright 10.09.2009 www.sruttloff.de CMS.R. - 1 - WOZU CRON...3 VERWENDUNG...3 EINSTELLUNGEN...5 TASK ERSTELLEN / BEARBEITEN...6 RECHTE...7 EREIGNISSE...7

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

IT-Zertifikat: Allgemeine Informationstechnologien II PHP IT-Zertifikat: Allgemeine Informationstechnologien II PHP PHP ( PHP: Hypertext Preprocessor ) ist eine serverseitige Skriptsprache: Der PHP-Code wird nicht wie bei JavaScript auf dem Clientrechner ausgeführt,

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

E-PRIME TUTORIUM Die Programmiersprache BASIC

E-PRIME TUTORIUM Die Programmiersprache BASIC E-PRIME TUTORIUM Die Programmiersprache BASIC BASIC Beginner s All-purpose Symbolic Instruction Code symbolische Allzweck-Programmiersprache für Anfänger Design-Ziel klar: Eine einfache, für Anfänger geeignete

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München MANUEL KALLWEIT & FABIAN KINDERMANN Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: http://www.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html Schmitt, Günter (1996):

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

Funktionale Programmierung mit Haskell

Funktionale Programmierung mit Haskell Funktionale Programmierung mit Haskell Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20120622 Überblick Wichtige Eigenschaften Einführungsbeispiele Listenerzeugung und Beispiel

Mehr

Grundlagen der Programmiersprache C++

Grundlagen der Programmiersprache C++ / TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit

Mehr

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. Adressierungsarten Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare

Mehr

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,

Mehr

Druckerscriptsprache

Druckerscriptsprache Druckerscriptsprache Die Druckerscriptsprache stellt Ihnen ein mächtiges Werkzeug zur Erstellung und Automatisierung von komplexen Druckvorgängen zur Verfügung. Vom Folgedruck bis zum Archivfunktion ist

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Installationsleitfaden kabelsafe backup professional unter MS Windows

Installationsleitfaden kabelsafe backup professional unter MS Windows Installationsleitfaden kabelsafe backup professional unter MS Windows Installationsanleitung und Schnelleinstieg kabelsafe backup professional (kabelnet-obm) unter MS Windows Als PDF herunterladen Diese

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Lehrer: Einschreibemethoden

Lehrer: Einschreibemethoden Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder

Mehr

Grundlagen der Informatik I Informationsdarstellung

Grundlagen der Informatik I Informationsdarstellung Grundlagen der Informatik I Informationsdarstellung Einführung in die Informatik, Gumm, H.-P./Sommer, M. Themen der heutigen Veranstaltung. ASCIi Code 2. Zeichenketten 3. Logische Operationen 4. Zahlendarstellung

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Darstellung von Algorithmen Aus den Einführungsbeispielen und

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Kontakte Kontakte Seite 1 Kontakte Seite 2 Inhaltsverzeichnis 1. ALLGEMEINE INFORMATIONEN ZU DEN KONTAKTEN 4 2. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 3. STAMMDATEN FÜR DIE KONTAKTE 4 4. ARBEITEN

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7 Tutorial: Wie kann ich Kontakte erfassen In myfactory können Sie Kontakte erfassen. Unter einem Kontakt versteht man einen Datensatz, der sich auf eine Tätigkeit im Zusammenhang mit einer Adresse bezieht.

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall 5.0 10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows 7-Firewall konfiguriert und einige

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40 CAP-News 40 CAP-News ist in unrägelmäßigen Abständen erscheinende Information zum Produktkonfigurator CAP/VARIANTS. Hier werden die neuen Befehle, Funktionen und Möglichkeiten beschrieben. In CAP-News

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte

Mehr

S7_MICRO_ANL4a.doc, U. Ohm, 20.08.02, 16:35

S7_MICRO_ANL4a.doc, U. Ohm, 20.08.02, 16:35 SPS S7-200 / Micro/WIN 32 Kostenlose Kurzanleitung in Anlehnung an die Programm-Hilfe Mit freundlicher Genehmigung der SIEMENS AG; erstellt von: U. Ohm, OHM@BBS4.de Menü- und Symbolleiste r Projekt drucken

Mehr

SMS_01.lib. Inhalt. WAGO-I/O-PRO 32 Bibliothek

SMS_01.lib. Inhalt. WAGO-I/O-PRO 32 Bibliothek Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Bibliothek SMS_01.lib Die Library SMS_01.lib stellt dem Anwender die folgenden Funktionsbausteine zur Verfügung. Diese Bausteine unterstützen den SMS-Versand

Mehr

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

Einführung in die Programmierung (EPR)

Einführung in die Programmierung (EPR) Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.

Mehr

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Anforderung Durch die Bearbeitung einer XML-Datei können Sie Ihre eigenen Dokumentationen (z.b. PDF-Dateien, Microsoft Word Dokumente

Mehr

Sucosoft S40 KOP/FBS KOP FBS

Sucosoft S40 KOP/FBS KOP FBS Sucosoft S40 KOP/FBS KOP FBS Grafische Elemente Netzwerke erstellen Netzwerke erstellen Programme werden in KOP durch grafische Elemente dargestellt. Abfrage einer Variable auf den Zustand 1 Abfrage einer

Mehr

Projektzeit erfassen. Allgemeines. Projektzeit erfassen - Maske. Erklärung der Tabellenspalten. In Arbeit!

Projektzeit erfassen. Allgemeines. Projektzeit erfassen - Maske. Erklärung der Tabellenspalten. In Arbeit! Projektzeit erfassen Allgemeines In Arbeit! Projektzeit erfassen - Maske Im Folgenden sehen Sie die Projektzeit erfassen - Maske eines Mitarbeiters (Renner Rudi) direkt nach dem Aufruf des Menüpunktes.

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr

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

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln. Grafische Elemente Netzwerke erstellen Netzwerke erstellen Programme werden in KOP durch grafische Elemente dargestellt. Abfrage einer Variable auf den Zustand 1 Abfrage einer Variable auf den Zustand

Mehr

Bei Verwendung der Kaskade dürfen nur am letzten Baustein die Ausgänge A1-A4 verwendet werden!

Bei Verwendung der Kaskade dürfen nur am letzten Baustein die Ausgänge A1-A4 verwendet werden! Alarm Meldelinie Autor: Alexander Kirpal (KNET) www.kirpal.net 2014 Beschreibung Mit der Alarm Meldelinie können die verschiedenen Melder simpel zusammengeschalten werden. Es stehen unterschiedlicher Melder

Mehr

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen. www.buergertreff-neuhausen.de www.facebook.com/buergertreffneuhausen

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen. www.buergertreff-neuhausen.de www.facebook.com/buergertreffneuhausen Windows 10 Vortrag am Fleckenherbst Bürgertreff Neuhausen 1 Inhalt Was ist neu (im Vergleich zu Windows 8.1) Wann lohnt sich ein Umstieg Update Installation von Windows 10 Startmenü Windows Explorer Webbrowser

Mehr

Dokument Lob erstellen

Dokument Lob erstellen Dokument Lob erstellen Vorbemerkung Ein Lob wird immer mit einem Abschlusszeugnis ausgestellt und auch mit diesem Verteilt. Um ein Lob zu dokumentieren müssen folgende Bausteine definiert und eingerichtet

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr