Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SPS-Programmierung (Schulungs-Präsentation) Teil 2.

Ähnliche Präsentationen


Präsentation zum Thema: "SPS-Programmierung (Schulungs-Präsentation) Teil 2."—  Präsentation transkript:

1 SPS-Programmierung (Schulungs-Präsentation) Teil 2

2 22 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON *In dieser Präsentation werden Funktionen beschrieben, die durch Verwendung der letzen, aktuellen Software CX-Programmer zum Vorschein kommen. E/A-Adressen CJ 28 Funktionsblock 44 Skalierung mit FB 50 Schrittkette mit SET / RSET 61 Indirekte 66 Arrays 71 FOR / NEXT 72 Schrittkette mit STEP/SNXT 63 Benutzerdefinierte Datenstrukturen 75 Adressbereiche CJ 3 ThemenübersichtThemenübersicht

3 33 FunktionsblöckeSchrittkettenTabellen OMRON Speicher in der CPU-Baugruppe Anwenderprogr. = UM (user memory) Backup (Flash) SPS-Einstellungen und Parameter Datenspeicher (E/A und DM und EM) CF-Speicherkarte FB-Source-Code- Speicher CJ2M-FB-Speicher

4 44 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Adressbereiche anzeigen Zur Ansicht aller, für die gegebene SPS verfügbaren Speicherbereiche, bitte mit dem Mauszeiger das Speicher-Symbol im Arbeitsbereich (Projektverzeichnisbaum) auswählen und doppelklicken.

5 55 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Datenworte, remanent Ein-/Ausgänge, Arbeitsmerker Timer Zähler remanent Index-Register Datenregister Task-Merker Haftmerker remanent Arbeitsmerker Erweiterungs- Datenworte, remanent Systemmerker Adressbereiche CJ

6 66 FunktionsblöckeSchrittkettenTabellen OMRON Systemmerker-A-Speicherbereich- CJ Merker zur Überwachung und Steuerung des SPS-Betriebs: -Fehlermerker, Zykluszeit-Merker, Echtzeit-Merker …. Wort- z.B. A264 oder Bitadresse z.B. A200.11

7 77 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Haftmerker H und Arbeitsmerker W - CJ Haftmerker-Bereich H : - enthält remanente (spannungsausfallsichere) Arbeitsmerker - Wort- z.B. H511 oder Bitadresse z.B. H Arbeitsbereich W : - Wort- z.B. W511 oder Bitadresse z.B. W511.11

8 88 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Zeitgeber T und Zähler C - CJ Zeitgeber-Bereich T : -Timeristwert- z.B. Wort T4095, Zeit abgelaufen-Bitadresse T4095 Zähler-Bereich C : -Zähleristwert- z.B. Wort C4095, Zähler abgelaufen-Bitadresse C4095

9 99 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Datenmerker D und Erweiterte Datenmerker E Datenmerker-Bereich D für Daten, Parameter, Werte: - nur wortweiser Datenzugriff, z.B. D32767 Bereich E ist nur bei CJ1G-CPU44, -CPU45, CJ1H-CPU64 und höher vorhanden: - Bereich E für Daten, Parameter, Werte - nur wortweiser Datenzugriff, z.B. E2_32767 für die Bank E2

10 1010 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON CIO-Speicherbereich - CJ Ein-/Ausgänge, Arbeitsmerker - Wort- z.B. 139 oder Bitadresse z.B

11 1111 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON CIO-Speicherbereich - CJ DeviceNet ch ch ch ch ch E/A-Bereich frei Spezial-Baugr. +D20000 bis D29599 CPU-Bus-Baugr. Data Link frei ch ch Frei ch frei ch ch

12 1212 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON CJ - E/A - Adresszuordnung 3 Typen von Baugruppen bei der CJ1. -Basis - E/A – Baugruppen -Spezial - E/A - Baugruppen -CJ1 - CPUbus - Baugruppen (Siehe Handbuch W393 Kapitel 8-1)

13 1313 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON CJ - E/A - Adresszuordnung Basis - E/A - Baugruppen CIO ( W393 )

14 1414 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON CJ - E/A - Adresszuordnung Spezial-E/A- Baugruppen CIO (D20000-D29599) (W393 )

15 1515 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON CJ - E/A - Adresszuordnung CJ - CPUbus - Baugruppen CIO (W393 )

16 1616 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON CJ - E/A - Adresszuordnung Zuordnungs- Methode (W )

17 1717 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON CJ - E/A - Adresszuordnung Zuordnung bei CJ Erweiterungs-Baugruppenträger (W393 ) Anfangsadresse des Baugruppenträgers wählbar, z.B.: #1=Adresse 20 #2=Adresse 100

18 1818 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON E/A-Tabelle öffnen Die CJ kann mit oder ohne registrierte E/A-Tabelle arbeiten -Die E/A-Tabelle stellt die Abbildung der Konfiguratuon im CIO-Bereich dar -Öffnen der E/A-Tabelle mit Doppelklick auf E/A-Tabelle im Projekt

19 1919 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Schnelle Zähler-Baugruppe: Steckplatz 02, Anfangsadresse 2050 E/A-Tabelle erstellen CX-Programmer zeigt die Adressenzuweisung der Baugruppen in der SPS-Konfiguration an, nachdem die E/A-Tabelle in der Program(=Stop)- Betriebsart online erstellt wurde.

20 2020 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Allgemeine Hinweise zum Programmieren Konstante: #10 (Hex), oder &10 (Dezimal), aber Adresse: 10 Bit-Adresse: 10.15, H05.12 Wort-Adresse: 10, H05, D1002

21 2121 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Funktionsblock (FB) CP1L/H, CJ, CS1 FB-Bibliothek mit vielen vorgefertigten FB vorhanden. Zum Einfügen bitte mit dem Mauszeiger auf Funktionsblöcke im Arbeitsbereich (Projektverzeichnisbaum) gehen, klicken, mit rechter Maustaste folgendes auswählen: Als Beispiel wählen wir den Funktionsblock / _CPU007_MakeClockPulse_BCD10.cxf unter omronlib/PLC/CPU.

22 2222 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Netzwerk mit FB kreieren CP1L/H, CJ, CS1 Die Taste F drücken (oder über Menü Einfügen/ Funktionsblock- aufruf), danach einen Namen eingeben, z.B. Takt. Die Eingangsparameter mit der Taste P editieren, Adressen D0, D1. Die Eingabeposition muss immer mit dem Mauszeiger markiert gewesen sein. Das Ergebnis sieht dann so aus:

23 2323 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON FB - Parameter Alle normalen Ein- und Ausgänge, auch wenn es sich um binäre Werte handelt, können nur mit FB-Parametern belegt werden. Am EN-Eingang können nur Kontakte angeschlossen werden und am ENO-Ausgang können Kontakte, Ausgänge und Befehle angehängt werden.

24 2424 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON FB - Aufrufbeschränkungen Zusammen mit einem FB (Funktions-Block) können keine anderen Befehle aktiviert werden. Sie können aber dahinter gesetzt werden.

25 2525 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Netzwerk mit FB testen CP1L/H, CJ, CS1 Das fertige Netzwerk kann man entweder online mit der SPS testen, oder mit dem Simulator. Die Werte in D0 und D1 zum Testen eingeben. Das Ergebnis sieht dann so aus, der Blinker blinkt im vorgegebenen Takt:

26 2626 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Netzwerk mit FB testen CP1L/H, CJ, CS1 Die Eingangsparameter D0 und D1 sind als BCD Zahlen einzugeben, mit # vorne: Mit dem Mauszeiger auf das SPS- Symbol im Arbeitsbereich (Projektverzeichnisbaum) gehen, klicken, mit rechter Maustaste Eigenschaften auswählen. Die SPS-Einstellung Zeitgeber/Zähler als Binärwert ausführen muss für diesen Fall deaktiviert sein, also für BCD-Werte.

27 2727 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON FB-Beispiel: Skalierung Eine Skalierung stellt eine lineare Konvertierung dar, wie in der Zeichnung rechts abgebildet. Dabei lässt sich das Ergebnis E mit der folgenden Formel aus der Quelldaten Q berechnen: E:=Bd-((Bd-Ad)/(Bs-As))*(Bs-Q)

28 2828 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON (E-Ad) / (Q-As) = (Bd-Ad) / (Bs-As) E:=Ad+((Bd-Ad)/(Bs-As))*(Q-As); A1:=(Bd-Ad)/(Bs-As); E:=Ad+A1*(Q-As); Der FB führt Berechnungen mit REAL-Zahlen aus. Falls die Ein-/Ausgangsdaten im anderen Format vorliegen, z. B. INT, ist eine Formatumwandlung mit den Funktionen int_to_real und umgekehrt, real_to_int, notwendig. A1:= int_to_real(Bd-Ad)/int_to_real(Bs-As); E:=Ad+real_to_int(A1*int_to_real(Q-As)); Inhalt des Skalierungs- FB

29 2929 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Beispiel: Aufruf Skalierungs- FB Das fertige Netzwerk sieht dann so aus: Hier in der Überwa- chungsbetriebs art dargestellt.

30 3030 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Überwachung: Skalierungs- FB Durch Klicken auf das Symbol oder Ansicht/FB-Instanz überwachen gelangt man eine Ebene tiefer, wenn der Funktionsblock markiert ist, d.h. man kann den Funktionsblock intern online überwachen. Die aktuellen Werte sieht man dann in der rechten Hälfte.

31 3131 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON SchrittketteSchrittkette Schrittketten werden bei allen automatischen Abläufen benötigt. Sie bestehen aus: - Schritten und - Transitionen. Als Beispiel kann die Programmsteuerung einer Waschmaschine dienen: Schritte: - Vorwäsche - Hauptwäsche - Spülen Tansitionen: - Laufzeiten des Programmreglers

32 3232 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Schrittkette mit SET/RSET Die Schrittkette ist in umgekehrter Reihenfolge programmiert. Dadurch wird die Bearbeitung eines neuen Schrittes erst im nächsten Zyklus begonnen. Es wird keine Zykluszeit eingespart. Es gibt keine Einschränkung in der Benutzung.

33 3333 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Übung - Schrittkette mit SET/RSET Programmieren Sie eine Ampel mit den Schritten: - ROT - ROT/GELB - GRÜN - GELB Die Transtionen: - 8 sec bis ROT/GELB kommt - 2 sec bis GRÜN kommt - 5 sec bis GELB kommt - 3 sec bis ROT kommt -Lampe_rot = Lampe_gelb = Lampe_grün = Timer 1 bis 4 -Schrittmerker W0.00 bis W0.03 (automatisch)

34 3434 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Übungsauflösung Schrittkette mit SET/RSET

35 3535 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON STEP und SNXT SNXT(009) setzt den Schrittmerker für den nächsten Schritt STEP(008)–Befehl mit Schrittmerker zeigt an, dass danach das entsprechende Schrittprogramm beginnt. STEP(008) ohne Schrittmerker zeigt das syntaktische Ende des Schrittkettenprogramms an.

36 3636 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Schrittkette mit STEP/SNXT

37 3737 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Übung - Schrittkette mit STEP/SNXT Programmieren Sie eine Ampel mit den Schritten: - ROT - ROT/GELB - GRÜN - GELB Die Transtionen: - 8 sec bis ROT/GELB kommt - 2 sec bis GRÜN kommt - 5 sec bis GELB kommt - 3 sec bis ROT kommt -Lampe_rot = Lampe_gelb = Lampe_grün = Timer 1 bis 4 -Schrittmerker W0.00 bis W0.03 (automatisch)

38 3838 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Übungsauflösung - Schrittkette STEP/SNXT

39 3939 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Indirekte Adressierung Befehle arbeiten normalerweise mit festen Adressen. Bei Verwendung von Tabellen (z.B. Rezepturen) müßte für jede Adresse in der Tabelle auch ein Befehl vorhanden sein, der die Adresse in der Tabelle bearbeitet. Einfacher ist es alle Tabelleneinträge mit einem Befehl bearbeiten zu können. Dazu benötigt man einen Zeiger, der auf die zu bearbeitende Tabellenadresse zeigt. In den Befehl wird dann nicht die feste Adresse, sondern die Adresse des Zeigers eingetragen, mit Die SPS liest dann den Inhalt des Zeigers (hier DM1= 1111) und arbeitet dann mit dem Wert als Adresse, die im Zeiger steht (DM1111).

40 4040 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Beispiel: Rezepturverwaltung Tabelle mit Brot-Rezepten in der SPS: Eingabebild auf dem Bediengerät: D12 D11 D D0 D10 D13

41 4141 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Übung: Indirekte Adressierung Erweitern Sie Ihr bisheriges Programm mit einer Messwertanzeige. Je nach Eingabewert in Adresse 0, -soll in der Anzeige (Adresse 4 und 5) -entweder Messwert 1, 2, 3 oder - 4 angezeigt werden. Die Messwerte sollen zwei Worte belegen, und die Tabelle soll in D20 beginnen.

42 4242 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Übungsauflösung: Indirekte Adressierung

43 4343 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON ArraysArrays Programme mit indirekter Adressierung sind sehr undurchsichtig. Einfacher ist es, Symbolische Namen anzulegen und diesen als Array (Feld) zu definieren. Schaltfläche Erweiterte Einstellungen klicken.

44 4444 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Rezepturverwaltung mit Arrays Tabelle mit Brot-Rezepten in der SPS:

45 4545 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Beispielprogramm: Rezepte mit Arrays Das Programm macht das gleiche wie bei der indirekten Adressierung Array-Element-Zugriff mit eckigen Klammern: Rezept[n]

46 4646 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Übung: Arrays Ändern Sie Ihr bisheriges Programm mit der Messwertanzeige durch die Definition eines Arrays. Je nach Eingabewert in Adresse 0, -soll in der Anzeige (Adresse 4 und 5) -entweder Messwert 1, 2, 3 oder - 4 angezeigt werden. Die Messwerte sollen zwei Worte belegen, und die Tabelle soll in D20 beginnen.

47 4747 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Übungsauflösung: Arrays Könnte natürlich auch mit MOVL gelöst werden.

48 4848 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON FOR- NEXT- Schleife Die Befehle zwischen FOR(512) und NEXT(513) werden N Mal ausgeführt. (z.B. N=3) Wenn N auf 0 gesetzt ist, werden die Befehle) als NOP(000)-Befehle verarbeitet. Schleifen können zur Verarbeitung von Datentabellen verwendet werden. FOR-NEXT-Schleifen können in bis zu 15 Ebenen verschachtelt werden.

49 4949 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Benutzerdefinierte Datenstrukturen Noch transparenter wird es, wenn man jedem Rezept-Element den richtigen Namen geben kann. Geht nur mit CJ2. Im Verzeichnisbaum gibt es: Datentypen Um einen neuen Datentyp zu definieren: Rechte Maustaste Einsetzen Strukt.. wählen

50 5050 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Benutzerdefinierte Datenstrukturen Um einen neuen Datentyp zu definieren: Rechte Maustaste Einsetzen Strukt.. wählen

51 5151 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Rezepturverwaltung mit Datenstrukturen Tabelle mit Brot-Rezepten in der SPS:

52 5252 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Beispielprogramm: Rezepte mit Strukturen Das Programm macht das gleiche wie bei der Array-Adressierung Struktur-Array-Element-Zugriff mit eckigen Klammern: Rezept[n].Wasser

53 5353 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Übung: Benutzerdefinierte Datenstrukturen Ändern Sie Ihr bisheriges Programm mit der Messwertanzeige durch die Definition eines Arrays. Je nach Eingabewert in Adresse 0, -soll in der Anzeige (Adresse 4 und 5) -entweder Messwert 1, 2, 3 oder - 4 angezeigt werden. Die Messwerte sollen zwei Worte belegen, und die Tabelle soll in D20 beginnen.

54 5454 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Übungsauflösung: Datenstrukturen Könnte natürlich auch mit MOVL gelöst werden.

55 5555 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Structures hands on Benutzerdefinierten Datentyp anlegen Elemente des Datentyps festlegen Variable mit dem Datentyp anlegen Struktur als Arrayvariable Auf Elemente der Struktur zugreifen

56 5656 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Benutzerdefinierten Datentyp anlegen Neue SPS: CJ2M-CPU33 Im Verzeichnisbaum gibt es etwas Neues: Datentypen Sieht aus wie die Symboltabelle Um einen neuen Datentyp zu definieren: Rechte Maustaste Einsetzen Strukt.. wählen

57 5757 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Elemente des Datentyps festlegen Eben angelegten Datentyp Rezept markieren: Rechte Maustaste Einsetzen Mitglied.. wählen RezeptID, INT Backzeit, WORD Temperatur, REAL Oberhitze, BOOL

58 5858 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Variable mit dem Datentyp anlegen In der Symboltabelle: Symbol einfügen: Ofenrezept Als Datentyp kann jetzt die Struktur Rezept ausgewählt werden.

59 5959 Adressbereiche CJFunktionsblöckeSchrittkettenTabellen OMRON Struktur als Arrayvariable Symbol einfügen Backwarenrezept, Erweiterte Einstellungen: Array anklicken, Größe 30 angeben. Speicherzuordnung: Backwarenrezept[0].RezeptIDD100 Backwarenrezept[0].BackzeitD101 Backwarenrezept[0].TemperaturD102/103 Backwarenrezept[0].OberhitzeD Backwarenrezept[1].RezeptIDD105 Backwarenrezept[1].BackzeitD106 Backwarenrezept[1].TemperaturD107/108 Backwarenrezept[1].OberhitzeD …u.s.w. Bis: Backwarenrezept[30].OberhitzeD249.00


Herunterladen ppt "SPS-Programmierung (Schulungs-Präsentation) Teil 2."

Ähnliche Präsentationen


Google-Anzeigen