1 / 30

Hinweise zur Deklaration von Variablen

Hinweise zur Deklaration von Variablen. Variablennamen dürfen keine Umlaute (ä,ü ö.) keine Leerzeichen und keine Bindestriche enthalten !. Stör-M1 : BOOL. Variablennamen dürfen nicht mit einer Zahl beginnen !. 1_ Start : BOOL. Variablenname und Datei-(Programm-)name

lefty
Download Presentation

Hinweise zur Deklaration von Variablen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hinweise zur Deklaration von Variablen Variablennamen dürfen keineUmlaute (ä,ü ö.) keineLeerzeichen und keine Bindestriche enthalten ! Stör-M1 : BOOL Variablennamen dürfen nicht mit einer Zahl beginnen ! 1_ Start : BOOL Variablenname und Datei-(Programm-)name dürfen nicht gleichlauten ! Pumpe : BOOL Pumpe.POE Schlüsselworte dürfen nicht als Variablen- name verwendet werden ! LT: BOOL Stoer_M1 : BOOL Start_1 : BOOL Pumpe1 : BOOL Pumpe.POE L_Test : BOOL

  2. Hinweise zur Programmerstellung (1) Schreiben Sie alle Schlüsselworte groß Halten Sie ausreichend Abstand zwischen Operator und Operand (1TAB) Wählen Sie die Variablennamen so aus, daß sie selbsterklärend sind Schreiben Sie den 1. Buchstaben des Variablennamens groß und alle weiteren klein Bei Variablennamen, die aus mehreren Worten bestehen, trennen Sie diese durch den Unterstrich und schreiben jeweils den 1. Buchstaben des Wortes groß Wenn Sie mit Klammern arbeiten, so rücken Sie jede Klammerebene um z.B. 1TAB nach rechts ein Setzen Sie Sprungziele immer in eine separate Zeile und machen Sie diese z.B. durch Einrahmen besonders kenntlich Die nachfolgenden Hinweise dienen ausschließlich der optischen Strukturierung von Programmen und damit der besseren Lesbarkeit !!

  3. Hinweise zur Programmerstellung (2) Beispiel (*------------*) P1_Betrieb: (*------------*) LD Start_Pumpe1 OR Pumpe1 AND Stop_Pumpe1 AND Auto OR (Hand AND (Pumpe1_Hand OR Alle_Pumpen ) ) ST Pumpe1 LD Pumpe1 JMPCN P2_Betrieb LD Blink ST Pumpe1_Laeuft (*-------------*) P2_Betrieb: (*-------------*) LD Start_Pumpe2 : p1betrieb: ld startpumpe1 or pumpe1 and stoppumpe1 and auto or (hand and (pumpe1hand or allepumpen ) ) st pumpe1 ld pumpe1 jmpcn p2betrieb ld blink st pumpe1laeuft p2betrieb: ld startpumpe2 :

  4. Topologiekonfigurator Konfiguration Neu PS4-201-MM1 PS416-CPU-400 PS416-CPU-300 PS416-CPU-200 PS4-271-MM1 PS4-151-MM1 PS4-141-MM1 PS4-341-MM1 EPC 335.1-K Extras: Datei: Gerät TEST PS4-141-MM1 PS4-141-MM1 Dateiart: ...... .dcf

  5. KOP / FBS - Programmierung Programmieren in Anweisungsliste Programmieren in strukturierten Text Programmieren in Kontaktplan Programmieren in Funktionsbausteinsprache

  6. KOP – Programmierung (1) 1 2 Programmieren in Kontaktplan Neues KOP – Netzwerk einfügen

  7. KOP – Programmierung (2) 2 z.B. Parallelkontakt einfügen 1 Markieren durch Mausklick

  8. KOP – Programmierung (3) 2 z.B. Serienkontakt einfügen 1 Markieren durch Mausklick

  9. KOP – Programmierung (4) Im Fenster das / die Element(e) benennen. 2 1 Markierten Operanden mit Return-Taste bestätigen.

  10. FBS – Programmierung (1) 1 2 Programmieren in Funktionsbausteinsprache Neues FBS – Netzwerk einfügen

  11. FBS – Programmierung (2) 1 Markierten Operanden mit einer Funktion belegen z.B. ODER-Funktion

  12. FBS – Programmierung (3) 2 z.B. UND-Funktion einfügen 1 Markieren durch Mausklick

  13. FBS – Programmierung (4) Im Fenster das / die Element(e) benennen. 2 1 Markierten Operanden mit Return-Taste bestätigen.

  14. FBS – Programmierung (5) Funktionsbaustein Aufruf Vergleichs Funktionen (LT, GT, EQ, ...) Eine Funktion um einen Eingang erweitern Arithmetik Funktionen (ADD, MUL, ...) Binäre Funktionen (AND, OR, XOR) Funktions Aufruf Set-Funktion einfügen Zuweisungs-Funktion (ST) einfügen Reset-Funktion einfügen

  15. ST – Strukturierter Text (allgemein) • Textuelle Programmiersprache. • „Hochsprache“. • PASCAL – ähnlich. • In der SPS-Welt noch nicht so bekannt (neuste Sprache). • Von allen anderen Programmiersprachen am Besten geeignet zur • Bedingten Programmierung und zum Programmieren von Schleifen.

  16. ST – Strukturierter Text (Arithmetische Operatoren) ST : AWL, KOP, FBS : + ADD - SUB * MUL / DIV Arbeiten auf: ANY_NUM

  17. ST – Strukturierter Text (Vergleichs - Operatoren) ST : AWL, KOP, FBS : = EQ <> NE >= GE > GT <= LE < LT Arbeiten auf: ANY

  18. ST – Strukturierter Text (Verzweigungen - 1 - ) ST : AWL : LD variable GT 100 JMPC groesser LD variable EQ 100 JMPC gleich LD a ADD 1 ST a JMP END groesser: LD a SUB 1 ST a JMP END gleich: LD a ST ergebnis END: IF variable > 100 THEN a:=a-1; ELSIFvariable = 100 THEN ergebnis:=a; ELSE a:=a+1; END_IF ;

  19. ST – Strukturierter Text (Verzweigungen - 2 - ) ST : AWL : LD variable EQ 1 JMPC fall_1 LD variable EQ 2 OR (variable EQ 3 ) OR (variable EQ 4 ) JMPC fall_2 LD a ADD 1 ST a JMP END fall_1: LD a ADD 1 ST a JMP END fall_2: . . CASE variableOF 1: a:=a+1; 2,3,4: a:=a+2; 5..100: a:=a+3; ELSE a:=a-3; END_CASE ;

  20. ST – Strukturierter Text (Schleifen - 1 - ) FOR FOR variable := 0 TO 20 DO feld_a[variable]:=100; feld_b[variable]:=50; feld_c[variable]:=3; END_FOR ;

  21. ST – Strukturierter Text (Schleifen - 2 - ) REPEAT UNTIL WHILE DO Die Zykluszeit-Falle WHILE a <= 100 DO a:=a*2; b:=b+1; c:=c+5; END_WHILE ; REPEAT a:=a+1; b:=b*2; UNTILa=100 ORb=50 END_REPEAT ;

  22. Kommunikation zur SPS – 1 ( - 1 - ) Test und Inbetriebnahme Ankoppeln Gerätename ist virtuell editierbar. z.B.: Mischer 3

  23. Kommunikation zur SPS – 1 ( - 2 - )

  24. Kommunikation zur SPS – 1 ( - 3 - )

  25. Instanziierung ( - 1 - ) Freier Modus : Instanziierung bedeutet: Zuordnung einesDatenbereiches zu einem Funktionsbaustein. Syntax Modus : Deklaration der Variablen oder Prototyp vom Typ Speicher der SPS (Instanz) D a t e n + C T U T e i l e z a e h l e r

  26. Instanziierung ( - 2 - ) Freier Modus : Mehrfachinstanziierung bedeutet: Zuordnung mehrerer Datenbereiches zu einem Funktionsbaustein. Deklaration der Variablen Syntax Modus : oder Speicher der SPS (Instanz) Prototyp vomTyp Daten Ausschuss Daten Fertigteile + C T U Daten Rohlinge

  27. Aufruf von Funktionsbausteinen P R O T O T Y P TimeGenerator BOOL Set PulseOutput BOOL UINT Period Deklaration der Variablen: VAR M_Takt : TimeGenerator ; Start AT %I0.0.0.0.0 : BOOL ; Takt AT %Q0.0.0.0.0 : BOOL ; END_VAR POE-Programm hier: AWL CAL M_Takt (Set:=Start; Period:= 200 ) LD M_Takt.PulseOutput ST Takt LD Start ST M_Takt.Set LD 200 ST M_Takt.Period CAL M_Takt LD M_Takt.PulseOutput ST Takt CAL M_Takt ( Set := Start, Period := 200 | Takt := PulseOutput ) 1. Variante: (IEC-konform) 2. Variante: (IEC-konform) 3. Variante: (Moeller spezifisch)

  28. Set - / Reset - Operatoren E I N A U S L D N A U S R M o t o r S R L D E I N S M o t o r M o t o r E I N A U S L D E I N S M o t o r S R L D N A U S R M o t o r M o t o r Vorrangig Setzen Vorrangig Rücksetzen

  29. Generator mit zwei Timern (TON bzw. TOF) T = 5s Timer_1 Timer_2 TON TON BOOL IN BOOL IN Q BOOL Q BOOL 1 TIME PT TIME PT ET TIME ET TIME T#2s500ms T#2s500ms

More Related