www.brix.de - Hauptseite,  Elektrotechnik,  SPS Stand: 2013-02-10

Achtung! - Dies ist eine Arbeit, die noch fortgesetzt wird und nur eine oberflächliche Korrektur erfahren hat. Es werden immer wieder Bilder und weitere interne Links ergänzt!

Automatisierungstechnik

SPS-Aufbaukurs (Grundlagen II)

SPS-Labor-BS-LAN   -   SPS-Labor-SX-LAN   -   IK-Skript


 

SPS-Grundkurs

Allgemeine Grundlagen
und
konkrete Anwendung
einfache Konfiguration
einfache Programmierung
am Beispiel
Siemens S7 300/400

  1. Allgemeines zur SPS

    1. Vorwort
    2. SPS-Kategorien (der Siemens-Welt)
    3. Aufbau- und Funktionsprinzip einer SPS
    4. Aufbau einer minimalen, modularen SPS
    5. Spezialthema: Sensoren - Aktoren (Aktuatoren)
      Arten und Funktionsprinzipien
    6. Externe Schützverriegelung
    7. Drahtbruchsicherheit, "Öffner" und "Schließer"
  2. Einstieg Simatic Step 7

    1. Prinzipieller Aufbau eines SPS-Programmes
    2. Achtung! - S5-Umsteiger!
    3. Programmierung in AWL, KOP, FUP
    4. Step 7 Programmpaket
    5. Simatic Manager
    6. HW Konfig
    7. PLC Sim
    8. KOP/AWL/FUP-Editor
    9. Beispiel-Hardware (S7-300, einreihig, mit IT-CP)
    10. Rezept für neues Projekt, komplett
    11. Rezept für einen CPU-Tausch in einer Station
    12. Siemens-Hardware-Spezialthema:
      S7-300-Steckplatz-Adressen
    13. Step 7-Projektmanagement (Archive für Backups erstellen)
  3. Grundlagen SPS-Programmierung

    1. Variable der SPS
    2. Adressierung - Adresszusammenhang
    3. SPS arbeitet SERIELL-ZYKLISCH
  4. Grundlagen Digitaltechnik

    1. Digitaltechnik: Grundverknüpfungen und Zusammengesetzte Verknüpfungen
    2. Digitaltechnik: Theoreme der UND- und der ODER-Verknüpfungen
    3. Digitaltechnik: Regel von De Morgan
    4. Digitaltechnik: Hexadezimal-Zahlen
    5. Datentyp Integer
    6. Datentyp REAL
  5. Programmier-Übungen  I

    1. Rezept: SPS-Programmierung mit Simulator
    2. Mit "echter" SPS (ohne Simulator): PG/PC-Schnittstelle einstellen
    3. Dynamische Selbsthaltung mit UND, ODER und GLEICH
    4. Statische Selbsthaltung mit S-R-Gliedern
    5. Flanke vs. Zustand
    6. Stromstoßschalter
    7. Merker_0 und Merker_1
    8. Zeiten
    9. Einfache Rolltorsteuerung (Wendeschützsteuerung)
    10. Einfache Förderbandsteuerung (Folgeschaltung)
    11. Stern-Dreieck-Schaltung
    12. Zähler
    13. Vergleicher
    14. Richtungserkennung mit einer Doppellichtschranke
  6. Erste einfache Fehlerdiagnose

    1. CPU: RUN und STOP ferngesteuert (Dialog "Baugruppenzustand")
    2. CPU: RUN und STOP ferngesteuert (Dialog "Betriebszustand")
  7. Siemens-Hardware-Spezialitäten I

    1. Programmierleitung zur Verbindung von PG und AG
    2. Die Siemens-Nullmodemleitung
    3. Die Spezialleitung zwischen USB-PC-Adapter und dem AG
    4. Die serielle Siemens-Leitung zur Logo!

SPS-Aufbaukurs (Grundlagen II)

Siemens S7-300/400
etwas fortgeschrittenere Programmierung
etwas fortgeschrittenere Konfiguration

  1. Vorwort
  2. Nochmals: Achtung! - S5-Umsteiger!
  3. Variablentabellen/Steuern/Forcen
  4. Organisationsbausteine (OBs) und ihr auslösendes Ereignis
  5. Datenbausteine
  6. FBs mit Instanzdaten und FCs
  7. Ein sehr einfacher Zähler als FC
  8. Multiinstanz-Rezept
  9. Peripherie-Zugriffe
  10. Analogwert-Verarbeitung
  11. Profi-Bus-Grundlagen

    1. Vor- und Nachteile von Bussystemen und Dezentraler Peripherie (DP)
    2. Profibus = Process Field Bus
    3. Profibus-Topologie - Busstruktur
    4. Kurzübersicht der Profibus Hardware
    5. Profi-Bus-Repeater
    6. Profi-Bus: Zugriff auf das Netzwerkmedium - Echtzeit
  12. Profi-Bus-Rezept (Dezentrale Peripherie)
  13. Profi-Bus-Rezept II Dezentrale Peripherie (z. B. ET 200 M)
    an Profibus CP (-5DA01-) mit "alter" CPU ohne DP
  14. Profi-Bus-Rezept (CPU-CPU-Kopplung)
  15. Einführung TCP/IP für Profinet-/Ethernet-CPs
  16. Rezept zur Konfiguration eines modernen Profinet-CPs (1EX30)
  17. DCP: Zugriff auf unkonfigurierte moderne Profinet-CPs (1EX30) und Hinweise zur MAC-Adresse
  18. Rezept zur Uhrzeitsynchronisation eines Ethernet-CPs (1EX30) mit einem NTP-Server
  19. Rezept zur Konfiguration eines älteren IT-Ethernet-CPs (1GX00)
  20. Neue Wege zur Dezentralen Peripherie: Profinet IO
  21. Vergleich/Gegenüberstellung: Profinet - Profibus
  22. Rezept: Konfiguration und Benutzung eines Profinet-Gerätes an einem Siemens Profinet-CP
  23. ASI-Bus-Grundlagen
  24. ASI-Bus-Adressen und Adressen im Prozessabbild

SPS-Zusatzkurs (Grundlagen III)

hier speziell:
Siemens S7-300/400

  1. Allgemeines
  2. Konfiguration eines MP377 für den Anschluss ans Ethernet
  3. Backup des Projektes (der "Runtime") auf USB-Stick
  4. Zählbaugruppe FM 350-1 konfigurieren

 

Vorwort

Nun wird es ein wenig komplizierter, aber in Wirklichkeit strukturierter und dann doch wieder einfacher. Es soll erklärt werden, was Datenbausteine sind und welchen Vorteil sie gegenüber klassischen Merkern haben. Wie hängen Funktionsbausteine und ihre Instanzdaten zusammen, was machen Organisationsbausteine unter welchen Umständen? - Das sollen weitere Fragen in diesem Kapitel sein. Auch direkte Peripheriezugriffe und die Verarbeitung von analogen Ein- und Ausgangsdaten sind hier Thema. Dennoch gilt: Viele Details sind weggelassen, einige ganz spezielle Dinge aber doch aufgenommen, wenn sie zum erfolgreichen Arbeiten und Weiterkommen notwendig sind. Diese Details sind dann nicht immer erschöpfend erklärt.


 

Nochmals: Achtung! - S5-Umsteiger!

Hier eine wiederholte Durchsage: Bitte gleich die richtigen Dinge lernen und nicht mit unpassenden Analogien aus der S5-Welt arbeiten ("Vergessen musst, was früher du gelernt", Yoda, Star Wars Episode V): Die S5-Bausteine PB und SB können weder Parameter noch Instanzdaten haben und der S5-Baustein FB kann zwar Parameter haben, aber ebenfalls keine Instanzdaten, daher wurden in der S5 die Parameter als Instanzdaten missbraucht.

In der S7 ist der Unterschied von FC und FB nur die lokale Speicherung (in einem DB) der statischen Instanzdaten. Beide Bausteine können Parameter haben, aber nur der FB ist in der Lage, sich Daten von Zyklus zu Zyklus zu merken. Tatsächlich gibt es aber kaum ein passende Analogie zur S5, allenfalls kann man den S5-FB mit der S7-FC vergleichen (beide haben Parameter, beide haben keine Instanzdaten).

» Inhaltsverzeichnis


 

Variablentabellen

Variablentabellen ermöglichen das Beobachten und Steuern von Variablen, die aus dem gesamten Programm zusammengestellt werden können. Dies geht also weit über das Beobachten eines Bausteins im KOP/AWLFUP-Editor hinaus.

Hier ein Rezept zur Anlage von Variablentabellen.

  1. Im Bausteinordner mit dem Simatic Manager eine Variablentabelle einfügen.
    --> "Einfügen: S7-Bausteine: 6 Variablentabelle"
  2. Der Name der Tabelle ist frei wählbar und sollte möglichst sinnvoll vergeben werden.
  3. Variablentabelle doppelklicken, sie öffnet sich im "Var" dem Editor für Variablentabellen.
  4. Beliebigen Operanden aus dem Programm einfügen. Der Editor ergänzt den symbolischen Namen und schlägt ein Anzeigeformat vor.
  5. Bestes Anzeigeformat für die einzelnen Variablen auswählen.
  6. Punkt 4 und 5 für alle benötigten Variablen wiederholen.
  7. Speichern
  8. Die Anordnung des Fensters und der Spalten kann in den Voreinstellunge beinflusst werden.
  9. --> Extras: Einstellungen: Allgemein
  10. Operanden können bereits beobachtet werden (Brille)
  11. Das Steuern der Operanden erfordert die Vorgabe eines Wertes unter "Steuerwert".
  12. Vor dem Steuern sollte unbedingt über die Triggerbedingungen nachgedacht und entsprechende Vorgaben gewählt werden.

Die Triggerbedingungen in den Variablentabellen

Standard ist, das das Beobachten "Permanent" getriggert wird und das Steuern "einmalig". Soll eine Variable in jedem Zyklus erneut gesteuert werden, so muss auch das Steuern "Permanent" getriggert werden. Bevor dies passiert, erfolgt eine Sicherheitsabfrage, ob wirklich permanent in den Prozess eingegriffen werden soll.

--> Eingangswerte werden meist zu Beginn des Zyklus gesteuert, damit das Programm mit dem gesteuerten Eingangswert arbeitet.

--> Ausgangswerte werden meist zum Ende des Zyklus gesteuert, damit sie nicht mehr vom Programm überschrieben werden können.

Die Triggerbedingung kann nur für die ganze Tabelle gewählt werden, nicht für einzelne Operanden!

Wenn man einzelne Operanden auswählt, so kannman auch nur die ausgewählten Operanden steuern. - Doch Vorsicht: Wenn keine Operanden ausgewählt sind, werden beim Steuern alle Operanden gesteuert!

Permanentes Steuern endet mit dem Beenden des Programms "Var" oder mit dem Ende der Verbindung PG-AG. Sollte darüber hinaus gesteuert werden so heißt dies "Forcen".

» Inhaltsverzeichnis


 

Organisationsbausteine (OBs) und ihr auslösendes Ereignis

Organisationsbausteine werden nicht durch das Anwenderprogramm aufgerufen, sondern ausschließlich durch das Betriebssystem. Wann solch ein Aufruf erfolgt, hängt vom Eintreten eines Ereignisses ab. Bestimmte Ereignisse führen zum Aufruf bestimmter OBs.

Übersicht: Ereignis und aufgerufener OB

Hauptzyklus -> OB 1

PAA ist ausgegeben, PAE ist neu eingelesen -> OB1 starten und von vorn beginnen (Hauptzyklus)

Eintritt eines Fehlers im Programm -> OB 121

Programmierfehler -> laufendes Programm unterbrechen -> OB121 aufrufen (obligatorisch) -> Programm nach der Fehlerstelle fortsetzen. Gibt es keinen OB121 wird die Anlage komplett gestoppt!

Eintritt eines Fehlers durch Langsamkeit -> OB 80

Zyklusüberwachungszeit (max. erlaubte Zeit für einen Zyklus) wird überschritten -> laufendes Programm unterbrechen -> OB80 aufrufen (obligatorisch) -> Programm genau an der Unterbrechungsstelle fortsetzen. Dauert der Zyklus dann doch noch länger als die doppelte Zyklusüberwachungszeit wird die Anlage kopmplett gestoppt, ebenso falls kein OB80 vorhanden ist.

Ablauf einer bestimmten Zeitspanne -> OB 3x

Zyklische Unterbrechungszeit tritt ein ("Weckalarm") -> laufendes Programm unterbrechen -> zuständigen OB3x (hier: OB35) aufrufen (optional) -> Programm genau an der Unterbrechungsstelle fortsetzen.

Eintritt eines bestimmten Zeitpunktes -> OB 1x

Bestimmte Unterbrechungszeit tritt ein ("Uhrzeitalarm") -> laufendes Programm unterbrechen -> zuständigen OB1x (hier: OB10) aufrufen (optional) -> Programm genau an der Unterbrechungsstelle fortsetzen.

Prioritäten

Jeder OB hat eine festgelegte Priorität. Nur ein OB höherer Priorität kann einen laufenden OB unterbrechen. Hat der die Unterbrechung anfordernde OB eine niedrigere oder gleiche Priorität als der laufende, so muss er auf dessen Ende warten.

» Inhaltsverzeichnis


 

Datenbausteine

Global-DB

Deklarationsliste innerhalb des DB.
Kann von allen mit Globaler Adressierung benutzt werden:

Globale Adressen: DB[Nr.].DBX4.0 (Bit 4.0)
                  DB[Nr.].DBB4   (Byte 4)
                  DB[Nr.].DBW4   (Wort 4 = Byte 4 + 5)
                  DB[Nr.].DBD4   (Doppelwort 4 = Wort 4 + 6)

Die Adressierung sieht im Speicher dann so aus wie in der folgenden Text-Grafik. Dabei ist aber zu beachten, dass bei mehr als ein Byte großen Daten, das niederwertigste Bit, das Bit 0 des höchstwertigen Bytes ist! - Insofern hätte hier die Darstellung auch mit absteigender Bit-Reihenfolge innerhalb eines Bytes geschehen können.

4.0 - DB[Nr.].DBX4.0 |  \               \
4.1                  |   \               \
4.2                  |    \               \
4.3 - DB[Nr.].DBX4.3 |     |               \
4.4                  |     |  DB[Nr.].DBB4  \
4.5                  |    /                  \
4.6                  |   /                    \
4.7                  |  /                      \
                                                |  DB[Nr.].DBW4
5.0 - DB[Nr.].DBX5.0 |  \                      /
5.1                  |   \                    /
5.2                  |    \                  /
5.3                  |     |                /
5.4                  |     |  DB[Nr.].DBB5 /
5.5 - DB[Nr.].DBX5.5 |    /               /
5.6                  |   /               /
5.7                  |  /               /

Instanz-DB

Die Deklarationsliste befindet innerhalb des aufrufenden FBs. Ein Instanz-DB kann mit Global-DB-Adressen auch "von allen" also global benutzt werden Das sollte aber die absolute Ausnahme sein!

Innerhalb des FB wird er durch die Symbolik in der Deklarationsliste benutzt.

Ein Instanz-DB kann von innerhalb des FBs auch absolut mit Adressen benutzt werden, eine DB-Nummer darf nicht angegeben werden, da diese ja erst beim Aufruf des FBs übergeben wird:

Indizierte Adressen: DIX4.0 (Bit 4.0)
                     DIB4   (Byte 4)
                     DIW4   (Wort 4 = Byte 4 + 5)
                     DID4   (Doppelwort 4 = Wort 4 + 6)

"DI" wird automatisch ersetzt durch durch "DB[Nr.].DB", wobei "[Nr.]" die Nummer des DBs ist mit dem der FB aufgerufen wird!

Allerdings ist mit der DI-Adressierung Vorsicht geboten, da durch diese Art der Adressierung ein FB nicht mehr als Multiinstanz laufen kann! - Denn dann stimmt die DB-Nummer natürlich nicht, weil die Multiinstanz ja gar keinen "eigenen" DB hat.


 

FBs mit Instanzdaten und FCs

Hier der Versuch einer Erklärung was der Unterschied von FBs und FCs eigentlich ist und was die Daten in der Tabelle im Kopf bei der Prgrammierung im KOP/AWL/FUP-Editor eigentlich bedeuten.

Nach IEC 61131 hat eine FC genau einen Rückgabewert (bei Siemens die Variable RET_VAL). Bei Siemens hat die FC dagegen mehrere Einsatzgebiete:
1. ist sie schlichtes Teilprogramm, um ein größeres Programm zu strukturieren
2. Ist sie eine Funktion mit mehreren Ausgangsvariablen und erst
3. ist sie eine Funktion im Sinne der IEC.

Doch egal wie man sie einsetzen mag: Ganz sicher hat sie niemals "Statische Daten". Statische Daten oder scheinbar noch widersprüchlicher "Statische Variablen" sind solche Daten, die im RAM an einem bestimmten Platz gespeichert sind und nicht verloren gehen, wenn der Programmteil, der sie benutzt beendet wird. Denn genau das ist bei "Temporären Daten" der Fall. Statische Daten bleiben also von einem Zyklus zum nächsten erhalten und werden nur durch Schreibzugriffe verändert/gelöscht. Sie haben den Status im System wie ihn auch die klassischen Merker (aus dem M-Bereich) haben.

» Inhaltsverzeichnis


 

Ein sehr einfacher Zähler als FC

» Inhaltsverzeichnis


 

Multiinstanzen/Multiinstanz-Rezept

Multiinstanzen sind FBs, die innerhalb eines FBs aufgerufen werden und keinen eigenen DB haben (wie sonst für FBs obligatorisch). Sie bringen ihre Daten im DB des sie aufrufenden FBs unter. Man könnte sagen, sagen, dass die DBs von Multiinstanzen in einen anderen DB "geschachtelt" sind.

Rezept für das Benutzen von Multiinstanzen

1. Es ist ein FB (a) vorhanden, der sehr oft benutzt werden soll (bedeutet normalerweise, dass es so viele Instanz-DBs geben würde wie die Anzahl der Aufrufe).

2. Ein "Aufrufe-FB" (=übergeordneter FB (ü)) wird angelegt, damit der Instanz-DB als Behälter für die Instanzdaten der aufgerufenen FBs (a) (="Multiinstanzen") benutzt werden kann. Eine "Multiinstanz" ist also ein Instanz-DB des FBs (a), der in einem anderen Instanz-DB (nämlich den des übergeordneten, aufrufenden FBs (ü)) hineingelegt wird.

3. Der "Aufrufe-FB" muss seinerseits von OB1 aufgerufen werden, damit er überhaupt bearbeitet wird. Dabei wird ein DB als Instanz-DB genannt und generiert, den es noch nicht geben darf. Dieser Instanz-DB ist derjenige, der die Multiinstanzen aufnehmen wird und später der einzige DB, der geladen werden muss.

4. In der Deklarationstabelle des "Aufrufe-FB" (ü) werden unter "STAT" Namen für die FB-Aufrufe von FB (a) erfunden und eingetragen. Als Datentyp wird die FB-Nummer von FB (a) eingetragen, damit wird eine Multiinstanz generiert und ist im Multiinstanzen-Ordner verfügbar. Durch diesen Vorgang wird ein virtueller DB des FB (a) in den (echten) DB des FB (ü) integriert. Dies muss so oft geschehen, wie der FB (a) aufgerufen/benutzt werden soll. Jede Multiinstanz darf innerhalb von FB (ü) nur einmal benutzt werden (sonst "Renate").

5. Beim Speichern wird die Warnmeldung "Schnittstelle wurde geändert" angezeigt, deshalb muss der Aufruf von FB (ü) aktualisiert und der Instanz-DB neu (aus den neuen Kopfdaten von FB (ü)) generiert werden.

6. Was muss an die SPS übertragen werden? - FB (a), FB (ü) und dessen Instanz-DB (darin enthalten sind die "virtuellen" DBs der FB (a)-Aufrufe.

» Inhaltsverzeichnis


 

Peripherie-Zugriffe

Mit Peripherie-Zugriffen wird direkt auf die Eingänge und die Ausgänge zugegriffen, ohne die regelmäßige Aktualisierung der Ausgänge anhand des PAA bzw. Aktualisierung des PAE anhand der Eingänge zu Ende/Beginn des OB1-Zyklus abzuwarten.

]---AW4 schreibt ins PAA

]---PAW4 schreibt ins PAA und gleichzeitig auf die wirklichen Ausgänge.
D.h. der Buchhalter macht die Eintragung ins Ausgangsbuch (PAA) und schickt sofort danach einen HiWi mit einem Zettel in den Keller, um die Ausgangsschalter entsprechend umzulegen. Alle anderen Ausgänge bleiben unangetastet.

EB2---[ liest aus dem PAE

PEB2---[ liest aus dem PAE, nachdem das PAE an Hand der wirklichen Eingänge aktualisiert wurde.
D.h. der Buchhalter schickt seinen HiWi in den Keller, um die Werte der gewünschten Adresse von den Eingängen zu holen. Er überträgt die Werte ins Eingangsbuch (PAE) und teilt sie uns mit. Alle anderen Werte des des Eingangsbuches bleiben auf dem alten Stand.

Peripherie-Zugriffe verändern die Prozessabbilder! - Das ist besonders für das PAE interessant, da es ja normalerweise während eines Zykluses gleich bleibt!

Die Mindestdatenmenge eines Peripherie-Zugriffes ist ein vollständiges Byte! - Man kann also nicht nur ein Bit eines Ausganges setzen! - Das heißt, man schreibt bei Peripherie-Zugriffen auf Ausgänge unter Umständen auch "fremde" Bits mit "nach draußen"! - Selbst wenn man die klassiche Sequenz:

L AB 2
T MB 30

U E 0.1
U E 0.2
= M 30.4

L MB 30
T PAB 2

verwendet!

Daher sollte man Peripherie-Zugriffe nur dann machen, wenn es wirklich notwendig ist. Also nur bei zeitkritischen Prozessen, in denen aktuelle Daten erforderlich sind bzw. die Ausgänge sofort angesteuert werden müssen. In allen anderen Fällen sollten die Adressen der Ein- und Ausgangsbaugruppen in die Prozessabbilder gelegt werden (geht bei allen CPUs außer ganz alten 312er, 313er und 314er) oder die Prozessabbilder so weit vergrößert werden, dass die vom System vergebenen Adressen mit drin liegen (Achtung: Diagnose-Adressen von CPs dürfen nicht in den Prozessabbildern liegen).

» Inhaltsverzeichnis


 

Analogwert-Verarbeitung

Baugruppen - Verdrahtung - Adressierung

Analoge Eingangs- und Ausgangsbaugruppen messen Spannungen und Ströme die von Analogsensoren erzeugt werden. Das heißt, der Sensor wandelt die (meist nicht elektrische) Messgröße in die elektrische Größe Spannung oder Strom. Dies geschieht außerdem normiert auf folgende Werte:

Ein Temperatursensor mit dem Messbereich -10°C - +60°C und den elektrischen Werten 4 - 20 mA treibt also bei -10°C genau 4 mA durch den Messkreis und bei +60°C genau 20 mA. Diese normierte elektrische Größe wird von der Eingangsbaugruppe gemessen.

Strommessungen sind genauer und zuverlässiger als Spannungsmessungen. Genauer, weil der Leitungswiderstand nicht mit in den Messwert eingeht, da der Strom an jeder Stelle eines unverzweigten Stromkreises gleich groß ist. Zuverlässiger, weil der notwendigerweise hochohmige Spannungsmesseingang auch elektromagnetische Einkopplungen in die Messleitung mitmisst.

Da 0 V bzw. 0 mA vom Drahtbruch nicht zu unterscheiden sind, sind nur die Messungen deren Wertebereich bei 2 V bzw. 4 mA beginnt drahtbruchsicher.

Analoge Werte gelten oft als Mysterium der SPS, weil der die Umsetzung in verschiedenen Bit-Auflösungen dennoch zum gleichen Wertebereich von -32768 .. +32767 führt, der dann aber doch nur zum Teil ausgenutzt wird.

Vielleicht kann folgende Grafik die Aufteilung der Quanten verdeutlichen:

Bei unipolaren Analog-Baugruppen wird also tatsächlich nur der Wertebereich von 0 .. 27648 ausgenutzt. Werte kleiner als Null oder größer als 27648 sind als Bereichsüberschreitung zu interpretieren. Je nach Auflösung der Baugruppen wird der gültige Wertebereich in verschieden viele Stufen aufgeteilt. Diese Anzahl ist aber keine glatte Zweierpotenz!

Prinzipiell muss man sich über diesen Sachverhalt aber nur wenig Gedanken machen, wenn man die Bausteine SCALE und UNSCALE benutzt, die im Folgenden beschrieben werden.

Analoge Eingangswerte sollten unbedingt in Prozessgrößen umgerechnet werden, so dass man innerhalb des SPS-Programmes in "echten" Prozessgrößen denken und rechnen kann. Dazu gibt es in der Bibliothek: Standard Library: TI-S7 Converting Blocks die beiden Skalierbausteine "SCALE" (FC105) und "UNSCALE" (FC106).

Der Baustein SCALE berechnet aus dem Wert der Analogbaugruppe den Prozesswert. Dazu muss der Baustein die "Bedeutung" des Wertes kennen. Dies wiederum gibt man durch die untere und die obere Grenze des Wertes an.

Die untere Grenze gibt an, was der Analogwert 0 (bzw -27648 bei bipolaren Baugruppen) bedeutet, die obere Grenze sagt, was der Analogwert 27648 heißt. Der Eingangswert ist eine Ganzzahl (INT), die Grenzen und der Prozesswert sind Fließkommazahlen (REAL). Im oben gezeigten Beispiel stammen die Ober- und die Untergrenze aus einem Merker. Das macht die Programmierung flexibler, wenn man mal etwas ändern muss. Idealerweise nimmt man keinen Merker, sondern Daten aus einem Datenbaustein. Das ist auch sinnvoll, um diese Werte an eine Visualisierung zu übergeben. Werden dann in dem DB die Parameter geändert, so ändert sich die Anzeige auf dem Panel gleich entsprechend mit.

Ist der Analogwert kleiner als 0 (bzw. -27648 bei bipolaren Baugruppen) oder größer als 27648 liefert die Skalierfunktion eine "0" an ENO und ein W#16#0008 am Wort-Ausgang RET-VAL. Der Prozesswert hat die Größe der unteren bzw. oberen Grenze.

Was für die analogen Eingänge gilt, trifft natürlich auch für die Ausgänge zu. Erst direkt vor dem eigentlichen analogen Ausgang sollte von Prozessgrößen in die Integer-Werte eines Analogausganges umgerechnet werden. Dies erledigt der Baustein UNSCALE. Seine Benutzung funktioniert genau umgekehrt wie beim SCALE-Baustein.

Eine Skalierfunktion lässt sich aber auch leicht selbst schreiben, was den Vorteil hat, dass man auch außerhalb des Bereichs extrapolierte Werte ausgeben kann und eine Bereichsüberschreitung besser signalisieren kann.

In der bipolaren - also allgemeineren - Version muss aus dem oben gezeigten Diagram die Funktion des Prozesswertes in Anbhängigkeit vom Analogeingangswert gefunden werden.

Diese Funktion

Prozesswert = f(Analogwert)

lässt sich als einfache Geradengleichung in der Form

f(x) = y = m * x + b

darstellen. Dabei ist m die Steigung der Geraden und b der Schnittpunkt der Geraden mit der y-Achse. Wie im obigen Diagramm zu sehen, ergibt sich daraus die Funktionsgleichung für die bipolare Auswertung des Analogeingangssignals:




                           Spanne                                            Spanne
                          /      \                                          /      \
               obere_Grenze  -  untere_Grenze                    obere_Grenze  -  untere_Grenze
Prozesswert = -------------------------------- * Analogwert  +  --------------------------------  +  untere_Grenze
                           2* 27648                                            2


\__ "y" __/   \________ Steigung "m" ________/   \__ "x" __/    \_____________________ "b" _______________________/


Die unipolare Skalierung ist ein wenig einfacher. Die Unterschiede bestehen im anderen Wert für delta x und in der etwas einfacherren Berechung des y-Achsenabschnittes. Die Grafik verdeutlicht dies.

Hieraus ergibt sich die Funktionsgleichung für die unipolare Auswertung des Analogeingangssignals:




                           Spanne
                          /      \
               obere_Grenze  -  untere_Grenze
Prozesswert = -------------------------------- * Analogwert  +  untere_Grenze
                           27648


\__ "y" __/   \________ Steigung "m" ________/   \__ "x" __/    \__ "b" __/


Umgesetzt in ein Programm kann das z.B. wie im Folgenden dargestellt aussehen. Die Berechnung für unipolarer und bipolarer Eingangssignale unterscheidet sich in der Division durch 2 bei der Steigung (die Gerade hat bei bipolarer Anwendung genau die Hälfte der Steigung, weil der delta x doppelt so groß ist) und der anderen Berechung von "b" (die Hälfte der Spanne muss zusätzlich addiert werden).

Die hier gezeigte Variante der Skalierfunktion extrapoliert die Werte auch über den Analogeingangswert 27648 (bzw. -27648) hinaus.

» Inhaltsverzeichnis


 

Profi-Bus-Grundlagen

 

Vor- und Nachteile von Bussystemen und Dezentraler Peripherie (DP)

+ Erhebliche Verringerung des Verdrahtungsaufwandes
+ Übersichtliche Verdrahtung
+ kostengünstiger durch Kupferader Einsparung

- Single-Point-of-Failure: Bei Drahtbruch oder Kurzschluss liegt eine Störung des gesamten Bussystems vor
- kaum ein Eingriff "von Hand" möglich - eine Fehlerdiagnose ist meistens schwieriger als bei konventioneller Verdrahtung

» Inhaltsverzeichnis


 

Profibus = Process Field Bus

Profibus ist so flexibel, dass er von Feld- bis Prozess-/Leitebene eingesetzt wurde. Auf der Prozess-/Leitebene ist er inzwischen von Industrial Ethernet abgelöst. Er wird heute fast nur noch für die Anbindung Dezentraler Peripherie (DP) eingesetzt. Aber auch hier ist Profinet, welches auf Industrial-Ethernet-Hardware aufsetzt, dabei, den Profibus in Neuinstallationen vollständig zu verdrängen und dessen Nachfolge anzutreten.

» Inhaltsverzeichnis


 

Profibus-Topologie - Busstruktur

» Inhaltsverzeichnis


 

Kurzübersicht der Profibus Hardware

* 2-Draht-Schnittstelle, 150 Ohm Impedanz
* seriell (Hinweise auf RS-232 und RS-422)
* EIA 485 (früher: RS-485)
* Multipoint-fähig (mehr als 2 Teilnehmer)
* halbduplex
* Differentielles Signal ("massefrei")
* D-9-Stecker an der Leitung (150 Ohm), D-9-Buchsen an den Geräten (12 kOhm = 1 Unit Load)
* Profibus und MPI sind elektrisch identisch
* max. 1200 m Länge
* max. 12 Mbit/s Datenrate
* Länge und Datenraten hängen umgekehrt proportional von einander ab

                                   |  maximale
                  Geschwindigkeit  |  Länge
                                   |  pro Segment
                  --------------------------------
                                   |
                      9,6  kbit/s  |
                     19,2  kbit/s  |
                     45,45 kbit/s  |  1200 m
                     93,75 kbit/s  |
                                   |
                    187,5  kbit/s  |  1000 m
                                   |
                    500    kbit/s  |   400 m
                                   |
                      1,5  Mbit/s  |   200 m
                                   |
                        3  Mbit/s  |
                        6  Mbit/s  |   100 m
                       12  Mbit/s  |
                                   |
Quelle:
PROFIBUS Systembeschreibung - Technologie und Anwendung 
Version November 2010
PROFIBUS Nutzerorganisation e. V. (PNO)

* max. 32 Teilnehmer in einem Segment (wegen erlektrische Last)
* max 126 Teilnehmer in einem Profibus-Netz (bei Profibus DP-Protokoll mit Adressen 1 bis 126, 0 und 127 frei)
* jedes Segment wir an beiden Enden mit einem Abschlusswiderstand terminiert !

» Inhaltsverzeichnis


 

Profi-Bus-Repeater

Repeater sind erforderlich, wenn die Teilnehmeranzahl 32 übersteigt, weil die Gesamtlast der 32 (parallel geschalteten!) Teilnehmer so groß ist, dass das Signal für weitere Teilnehmer zu schwach wäre oder wenn die Gesamtlänge der Leitung zu groß wird. Was im Einzelfall "zu lang" ist, hängt von der gewählten Übertragungsgeschwindigkeit ab.

Ein Repeater benötigt für seine Funktion keine eigene Profibus-Adresse, weil er ein OSI-Schicht-1-Gerät ist, welches das Signal rein elektrisch verstärkt und von den Daten, die er verstärkt "keine Ahnung" hat.

Häufig werden so genannte Diagnose-Repeater aber eingesetzt, obwohl beide Kriterien (Teilnehmeranzahl und Längenüberschreitung) nicht gegeben sind. Diagnose-Repeater sind über ihre Repeater-Funktion hinaus aktive, also "ansprechbare" Profibus-Geräte und benötigen daher auch eine Adresse. Solche Repeater geben Aufschluss über den Aufbau und den Zustand des Profibus-Segmentes welches sie "überwachen" oder diagnostizieren.

Diese Skizze stellt den Repeater als physikalisches Ende des einen Segmentes bzw. als Anfang anderen Segmentes dar. Ein Repeater kann aber auch in der Mitte eines Segmentes eingebaut werden, um dort eine Stichleitung beginnen zu lassen.

» Inhaltsverzeichnis


 

Profi-Bus: Zugriff auf das Netzwerkmedium - Echtzeit

Profibus benutzt ein hybrides Zugriffsverfahren auf das Medium: Token-Passing ist Master-Slave-Verfahren kombiniert. Daher ist Profibus in dem Sinne "echtzeitfähig", dass vorhersagbar ist, wann die Signale eines Teilnehmers übertragen werden. Das Zugriffsverfahren ist deterministisch.

» Inhaltsverzeichnis


 

Profi-Bus-Rezept I
Dezentrale Peripherie (z. B. ET 200 M) an Profibus-fähiger CPU

Voraussetzung: Anlage ist schon zusammengestellt und enthält die Profibus-fähige CPU mit Profibus-Schnittstelle.

Noch ein Wort zur Adressvergabe für die Ein- und Ausgänge der Dezentrale Peripherie, also des Profi-Bus-Teilnehmers: HW Konfig vergibt die nächste freie Adresse an den eingebauten Bus-Teilnehmer. Das muss nicht immer sinnvoll sein, daher sollte man die Adressen lieber gezielt vergeben. Dabei wiederum ist darauf zu achten, dass sie möglichst im PAE/PAA liegen und keine Peripherie-Zugriffe (obwohl es ja Peripherie ist ...) nötig werden. Wenn die Adressen der Dezentralen Peripherie innerhalb von PAE und PAA sind, kümmert sich praktischerweise das Betriebssystem um den Zugriff.

» Inhaltsverzeichnis


 

Profi-Bus-Rezept II
Dezentrale Peripherie (z. B. ET 200 M) an Profibus CP (-5DA01-) mit "alter" CPU ohne DP

Voraussetzung: Anlage ist schon zusammengestellt und enthält den Profibus CP.

Wenn man CPUs benutzt, die keine eingebaute DP-Schnittstelle haben, so können diese die Adressen der Eingangs- und Ausgangsbaugruppen nicht frei vergeben. Die Adressen folgen der "Steckplatzregel" und sind nicht änderbar.

Adress-Steckplatzregel für Digitalbaugruppen

Rack-Nummer.Steckplatz -> Adresse

0.4  ->  0    1.4  -> 32    2.4  -> 64    3.4  ->  96    
0.5  ->  4    1.5  -> 36    2.5  -> 68    3.5  -> 100   
0.6  ->  8    1.6  -> 40    2.6  -> 72    3.6  -> 104   
0.7  -> 12    1.7  -> 44    2.7  -> 76    3.7  -> 108    
0.8  -> 16    1.8  -> 48    2.8  -> 80    3.8  -> 112    
0.9  -> 20    1.9  -> 52    2.9  -> 84    3.9  -> 116    
0.10 -> 24    1.10 -> 56    2.10 -> 88    3.10 -> 120    
0.11 -> 28    1.11 -> 60    2.11 -> 92    3.11 -> 124 - 127

Adress-Steckplatzregel für Analog- und Funktionsbaugruppen sowie CPs

Rack-Nummer.Steckplatz -> Adresse

0.4  -> 256    1.4  -> 384    2.4  -> 512    3.4  -> 640    
0.5  -> 272    1.5  -> 400    2.5  -> 528    3.5  -> 656   
0.6  -> 288    1.6  -> 416    2.6  -> 544    3.6  -> 672   
0.7  -> 304    1.7  -> 432    2.7  -> 560    3.7  -> 698    
0.8  -> 320    1.8  -> 448    2.8  -> 576    3.8  -> 714    
0.9  -> 336    1.9  -> 464    2.9  -> 592    3.9  -> 730    
0.10 -> 352    1.10 -> 480    2.10 -> 608    3.10 -> 746    
0.11 -> 368    1.11 -> 496    2.11 -> 624    3.11 -> 752 - 767

Noch ein Wort zur Adressvergabe für die Ein- und Ausgänge der Dezentrale Peripherie, also des Profi-Bus-Teilnehmers: HW Konfig vergibt die nächste freie Adresse an den eingebauten Bus-Teilnehmer. Das muss nicht immer sinnvoll sein, daher sollte man die Adressen lieber gezielt vergeben. Dabei wiederum ist darauf zu achten, dass sie möglichst im PAE/PAA liegen und keine Peripherie-Zugriffe (obwohl es ja Peripherie ist ...) nötig werden. Wenn die Adressen der Dezentralen Peripherie innerhalb von PAE und PAA sind, kümmert sich praktischerweise das Betriebssystem um den Zugriff.

» Inhaltsverzeichnis


 

Profi-Bus-Rezept (CPU-CPU-Kopplung)

Warum sollte man CPUs miteinander koppeln?

1. Der Bus ersetzt die klassischer Ein-/Ausgangskopplung oder
2. eine weitere CPU wird an Stelle einer ET 200 M als so genannte "Vorverarbeitende Peripherie" eingesetzt, die bestimmte Signale autonom verarbeitet.

Wie geht das prinzipiell?

Die Kopplung erfolgt tatsächlich nach der Idee der klassischen Ein-/Ausgangskopplung: Teile des PAA der einen Station werden in das PAE der anderen Station eingeblendet (und umgekehrt). Nur dass man eben keine Ein-/Ausgangsbaugruppen und die entsprechenden zahlreichen Drähte dazwischen ver(sch)wenden muss.

Für die Kopplung muss man sich natürlich Bereiche des PAEs bzw. PAAs auswählen, die nicht schon von "echten" Ein- oder Ausgängen verwendet werden.

Das Rezept

» Inhaltsverzeichnis


 

Einführung TCP/IP für Profinet-/Ethernet-CPs

IP-Adressen Kurzübersicht über grundsätzlichen Aufbau und private IP-Adressbereiche

privater IP-Bereich 10.0.0.0 - 10.255.255.255 (16.777.216 Adressen)
                       | | |
                       | | 0 - 255
                       | |
                       | 0 - 255
                       |
                       0 - 255

Netzwerkmaske: Empfehlung: 255.255.255.0 ("eigentlich": 255.0.0.0)



privater IP-Bereich 172.16.0.0 - 172.31.255.255 (1.048.576 Adressen)
                         | | |
                         | | 0 - 255
                         | |
                         | 0 - 255
                         |
                         16 - 31

Netzwerkmaske: Empfehlung: 255.255.255.0 ("eigentlich": 255.255.0.0)



privater IP-Bereich 192.168.0.0 - 192.168.255.255 (65.536 Adressen)
                            | |
                            | 0 - 255
                            |
                            0 - 255

Netzwerkmaske: 255.255.255.0

Dieser letzte Bereich der privaten IP-Adressen wrd für unsere Übungsanlagen genutzt.

Die Maske legt den Teil der Adresse fest, der unbeweglich (255) und im ganzen LAN gleich ist oder beweglich (0) und für jeden Computer im LAN unterschiedlich sein muss. Bei uns sind die ersten drei Stellen der IP-Adresse im LAN gleich:

                 192.168.  9.XXX
daher Netzmaske: 255.255.255.  0

XXX = [1 .. 254]
0   = Netzwerkadresse
255 = Broadcast-Adresse

Welche Adresse hat mein PC/PG?

Windows: Start: Ausführen: command (oder cmd) <ok>

>ipconfig /all

Einfache Netzwerkdiagnose mit "ping"

Der Befehl "ping" verschickt mehrere IP-Pakete (in Windows normalerweise vier) an einen anderen Rechner und erwartet dessen Antwort (der Administrator des anderen Rechners kann diese Antwort auch verweigern, also abschalten).

Befehlssyntax:

>ping [IP-Adresse] <enter>

>ping 192.168.9.14 <enter>

Mit "Pfeil-nach-oben" lässt sich der letzte Befehl wiederholen (und auch edieren), so dass man schnell mehrere Verbindungen testen kann.

Internet-Namen zu IP-Adressen auflösen mit "nslookup"

Wenn man zu einem Server-Namen die Server-IP-Adresse herausbekommen will, benötigt man eine korrekte Internet-Konfiguration. Dann kann man in der Eingabeaufforderung nach der IP-Adresse "fragen":

>nslookup ptbtime2.ptb.de <enter>

» Inhaltsverzeichnis


 

Rezept zur Konfiguration eines modernen Profinet-CPs (1EX30)

Im HW Konfig den CP doppelklicken oder rechte Maustaste: Objekteigenschaften
--> Dialog "Eigenschaften - CP 343-1 IT - (R0/S5)"

Bevor man sich um die Konfiguration der Ethernet-Schnittstelle kümmert, sollten zwei Dinge getan werden: 1. Es ist sinnvoll dem CP einen projektweit eindeutigen Namen zu geben, denn dann behält man leichter die Übersicht innerhalb des Projektes. 2. Man muss auf die Registerkarte "PROFINET" schauen. Nebenbei: Wenn der CP mit einer modernen CPU zusammen eingebaut wird, dann fehlt im oben gezeigten Dialog der Rahmen "Rückwandanschluß" mit der MPI-Adresse.

Wenn ein Profinet-CP eingebaut wird (wie der 1EX30 nun mal ist), dann muss der CP einen netzweit eindeutigen Profinet-Namen haben! Auch dann, wenn Profinet nicht benutzt wird und auch kein Häkchen in die Felder "IO Controller" oder "IO Device ermöglichen" gemacht wird. Übrigens: Ist der CP nicht im Rack 0 eingebaut wird (also mit IM360/361 oder IM365 in ein Erweiterungsrack), kann er kein Profinet-Controller (sozusagen "Master") mehr sein! - Profinet-Device (sozusagen "Slave") ist aber noch möglich.

Nun zurück zur Registerkarte "Allgemein" und dann wählen:
Schnittstelle: Ethernet: Eigenschaften...

--> Dialog "Eigenschaften Ethernet Schnittstelle CP 343-1 (R0/S5)"
hier Konfigurieren:
- IP-Adresse
- Netzwerkmaske
- Router-IP-Adresse

Hinweis zur MAC-Adresse: Heutige CPs haben eine einzigartige MAC-Adresse auch ohne jedwede Konfiguration. Wenn man das ISO-Protokoll verwenden will, muss man zwar den Haken setzen, aber das "Erfinden" einer MAC-Adresse ist nicht angezeigt. Vielmehr sollte man die MAC-Adresse verwenden, die der CP sowieso hat. Eine MAC-Adresse muss zwar nur im LAN eindeutig sein, aber es lohnt sich nicht, den Service der weltweiten Eindeutigkeit zu verschmähen, weil man ja nie wissen kann, ob nicht irgendwann jemand ausgerechnet das Gerät mit derjenigen MAC-Adressen anschließen will, die man sich ungeschickterweise selbst ausgedacht hat ...

dann wählen:
Subnetz: Neu...

--> Dialog "Eigenschaften Industrial Ethernet"

Hinweis: "Subnetz" und "S7-Subnetz-ID" haben nichts mit IP-Subnetzen zu tun sondern sind Siemens-Protokolldaten der TCP/IP-Applikationsschicht. Die S7-Subnetz-ID wird normalerweise vom HW Konfig so erzeugt, dass sie innerhalb des Projektes einzigartig ist.

- OK
- OK
- OK (drei Dialoge wegdrücken)

Station: Speichern und übersetzen

Durch das übersetzen werden im Bausteine-Ordner der entsprechenden CPU die Systemdaten mit den maschinenlesbar kodierten Konfigurationen erzeugt.

Erst wenn diese Systemdaten in die reale CPU übertragen worden sind, ist die Anlage wirklich konfiguriert. Die Übertragung der Systemdaten erfolgt grundsätzlich im HW Konfig mit "Zielsystem_ Laden in Baugruppe...". Dazu muss natürlich eine Datenleitung zwischen Programmiergerät (PG/PC) und Automatisierungsgerät (AG) vorhanden und die notwendige Schnittstelle konfiguriert sein!

Fertig!

Jetzt funktioniert auch die Netzwerkschnittstelle des CPs und kann ebenfalls zu Konfiguration und vor allem zur Programmierung benutzt werden. Zu beachten ist allerdings, dass im Simatic Manager "Extras: PG/PC-Schnittstelle" angepasst wird, um den neuen Zugriffsweg zu benutzen!

» Inhaltsverzeichnis


 

DCP: Zugriff auf unkonfigurierte moderne Profinet-CPs (1EX30) und Hinweise zur MAC-Adresse

Bei älteren Ethernet-CPs konnte man nicht auf die Netzwerkschnittstelle zugreifen, wenn der CP nicht oder falsch konfiguriert wurde. Eine MAC-Adresse hatten die alten CPs nicht fest eingebaut, sie wurde lediglich als Aufkleber zum CP geliefert und musste erst mit HW Konfig eingespielt werden. Und dies gelang nur mit der MPI-Schnittstelle.

Das ist heute anders: Durch die Implementation von Profinet ermöglicht die Simatic-Software den Zugriff per Ethernet auch wenn die Schnittstelle noch nicht konfiguriert ist. Das Verfahren DCP (Discovery and basic Configuration Protocol, nicht zu verwechseln mit DHCP!) ist obligatorischer Bestandteil des Profinet-Protokolls. DCP ermöglicht das, was auch sich auch viele Heim-Administratoren wünschen würden, nämlich ein Gerät, auch ohne die Kenntnis der IP-Adresse im LAN finden und konfigurieren zu können (ohne den eigenen Rechner mehrfach umkonfigurieren zu müssen!).
Das ist möglich per
Simatic Manager --> Ethernet Teilnehmer bearbeiten

Der wichtigste Punkt hier ist
Ethernet Teilnehmer --> Durchsuchen
Damit lassen sich alle Profinet-Geräte ausfindig machen. D.h. man findet mit dieser Funktion nicht alle Geräte des Netzwerkes (meint: LAN, also nicht jenseits eines Routers), sondern nur Profinet-Geräte, weil nur die diese Funktion unterstützen. Alte CPs beipielsweise tun dies nicht!

Wenn man hier einen Teilnehmer ausgewählt hat, wird er in den großen Dialog "Ethernet Teilnehmer bearbeiten" übernommen. Hier lässt sich die Schnittstelle konfigurieren, so dass man über diese Schnittstelle dann auf den Teilnehmer zugreifen kann.

Mit "IP-Konfiguration zuweisen" werden die eingestellten Parameter an den CP übertragen und er hört dann auf die Ethernet-Schnittstelle per TCP/IP. Für Profinet ist ein eindeutiger Name im Netzwerk unbedingt nötig, daher kann dieser ebenfalls hier vergeben werden. Das ist aber nach der IP-Konfiguration auch per HW Konfig möglich.

Hinweis zur MAC-Adresse

Heutige CPs haben eine einzigartige MAC-Adresse auch ohne jedwede Konfiguration. Diese Adresse ist auf dem CP aufgedruckt und im Flash-ROM gespeichert. Man muss die MAC-Adresse also "eigentlich" nicht konfigurieren. Allerdings: Wenn man das ISO-Protokoll verwenden will, muss man einen Haken setzen, der das Eingeben einer MAC-Adresse ermöglicht. Dennoch ist das "Erfinden" einer MAC-Adresse nicht angezeigt! Vielmehr sollte man die MAC-Adresse verwenden, die der CP sowieso hat. Eine MAC-Adresse muss zwar nur im LAN eindeutig sein, aber es lohnt sich nicht, den Service der weltweiten Eindeutigkeit zu verschmähen, weil man ja nie wissen kann, ob nicht irgendwann jemand ausgerechnet das Gerät mit derjenigen MAC-Adressen anschließen will, die man sich ungeschickterweise selbst ausgedacht hat ...

Wenn man die kleinen Zahlen nicht vom Aufdruck abschreiben möchte, dann sollte man die MAC-Adresse aus dem oben gezeigten Dialog kopieren und in den Dialog bequem einfügen.

» Inhaltsverzeichnis


 

Rezept zur Uhrzeitsynchronisation eines Ethernet-CPs (1EX30) mit einem NTP-Server

Hier ist es zwingend notwendig die IP-Adresse des NTP-Servers zu kennen. Im Beispiel verwenden wir

192.53.103.104 ==> ptbtime2.ptb.de

einen Zeitserver der PTB in Braunschweig, den man übrigens auch im Windows eintragen kann.

Wenn man zu einem Server-Namen die Server-IP-Adresse herausbekommen will, benötigt man eine korrekte Internet-Konfiguration. Dann kann man in der Eingabeaufforderung nach der IP-Adresse "fragen":

>nslookup ptbtime2.ptb.de <enter>

» Inhaltsverzeichnis


 

Rezept zur Konfiguration eines älteren IT-Ethernet-CPs (1GX00)

Hier wird Konfiguration eines Ethernet-CPs 343-1 IT (1GX00) beschrieben. Heute heißen diese CPs "Advanced IT". Dieser CP hat einen Web-Server eingebaut, das hat heute zwar praktisch jeder Ethernet-CP, war zu seiner Zeit aber dennoch etwas besonderes. Der IT-CP kann mit eigenen Web-Seiten und auch mit Java-Beans bestückt werden, die z.B. etwas über den automatisierten Prozess anzeigen. Das heißt, man kann den Erfolg der Konfiguration auch direkt mit einem Web-Browser testen: Einfach in der Adresszeile des Browsers
http://[IP-Adresse des CPs]/
eintippen und <enter> (oder <return>) drücken!

Wenn jetzt eine Web-Seite mit einer Meldung des CPs erscheint, dann war die Netzwerkkonfiguration erfolgreich.

Hier das Rezept

Im HW Konfig den CP doppelklicken oder rechte Maustaste: Objekteigenschaften
--> Dialog "Eigenschaften - CP 343-1 IT - (R0/S7)"

Bevor man sich um die Konfiguration der Ethernet-Schnittstelle kümmert, sollte dem CP einen projektweit eindeutiger Namen zu geben, denn dann behält man leichter die Übersicht innerhalb des Projektes. Nebenbei: Wenn der CP mit einer modernen CPU zusammen eingebaut wird, dann fehlt im oben gezeigten Dialog der Rahmen "Rückwandanschluß" mit der MPI-Adresse.

Es geht weiter:
Schnittstelle: Ethernet: Eigenschaften...

--> Dialog "Eigenschaften Ethernet Schnittstelle CP 343-1 IT (R0/S7)"
hier Konfigurieren:
- MAC-Adresse (unbedingt vom Aufkleber auf der Baugruppe abschreiben und nicht selbst ausdenken, Trennzeichen ist der Bindestrich!)
- IP-Adresse
- Netzwerkmaske
- Router-IP-Adresse

Dann kann ein passendes Ethernet ausgewählt werden (wenn es im Projekt schon eines gibt) oder aber ein neues anlegen. Für diesen Fall wählen:
Subnetz: Neu...

--> Dialog "Eigenschaften Industrial Ethernet"

Hinweis: "Subnetz" und "S7-Subnetz-ID" haben nichts mit IP-Subnetzen zu tun sondern sind Siemens-Protokolldaten der TCP/IP-Applikationsschicht. Die S7-Subnetz-ID wird normalerweise vom HW Konfig so erzeugt, dass sie innerhalb des Projektes einzigartig ist.

- OK
- OK
- OK (drei Dialoge wegdrücken)

Station: Speichern und übersetzen

Durch das übersetzen werden im Bausteine-Ordner der entsprechenden CPU die Systemdaten mit den maschinenlesbar kodierten Konfigurationen erzeugt.

Erst wenn diese Systemdaten in die reale CPU übertragen worden sind, ist die Anlage wirklich konfiguriert. Die Übertragung der Systemdaten erfolgt grundsätzlich im HW Konfig mit "Zielsystem_ Laden in Baugruppe...". Dazu muss natürlich eine Datenleitung zwischen Programmiergerät (PG/PC) und Automatisierungsgerät (AG) vorhanden und die notwendige Schnittstelle konfiguriert sein!

Fertig!

Jetzt funktioniert auch die Netzwerkschnittstelle des CPs und kann ebenfalls zu Konfiguration und vor allem zur Programmierung benutzt werden. Zu beachten ist allerdings, dass im Simatic Manager "Extras: PG/PC-Schnittstelle" angepasst wird, um den neuen Zugriffsweg zu benutzen!

» Inhaltsverzeichnis


 

Neue Wege zur Dezentralen Peripherie: Profinet IO

Profinet (Process Field Network) wird als der Nachfolger vom Profibus (oder auch vom Interbus) gesehen. Dabei handelt es sich genau genommen aber um die spezielle Ausprägung Profinet IO. Diese basiert auf Ethernet (also auf MAC-Adressen) und erweitert das Ethernet um die Echtzeitfähigkeit.

Die andere Variante des Profinet ist das Profinet CBA (CBA = Component Based Automation), das der Kommunikation zwischen verschiedenen SPSen dient. Es basiert im Wesentlichen auf TCP/IP, kann aber wohl auch Echtzeitfähigkeit sicherstellen. Dieses Verfahren wird hier nicht behandelt! im Folgenden geht nur um Profinet IO.

Den Anfang macht eine kommentierte Gegenüberstellung von Profinet und Profibus.

» Inhaltsverzeichnis


 

Vergleich/Gegenüberstellung: Profinet - Profibus

  Profinet IO Profibus DP
Hardware Ethernet 100 Base TX (4-polige (!) Leitung)
Zwar wird für 100 Base TX eigentlich eine Cat. 5-Leitung vorgeschrieben, die 8-adrig ist, aber für Profinet IO gibt es spezielle flache/ovale Leitungen mit nur 4  Adern, die sich in speziellen Industrial-Ethernet-Steckern mit Schneid-Klemm-Verbindung leicht installieren lassen.
Außerdem werden in Industrieanlagen mit starker elektromagnetischer Störstrahlung häufig LWL-Strecken (meist POF = Polymere optische Faser) verwendet.
Wie bei anderen Ethernet-Verbindungen auch, ist ebenso WLAN als Medium geeignet, wenn man für eine gute Funkverbindung (Anzahl von Accces Points, Qualität der Antennen) sorgt.
RS-485 (2-polige Leitung)
Mit Hilfe so genannter Optical Link Modules (OLMs) wird eine einfache Umsetzung auf LWL (POF) erreicht.
Topologie Stern/Baum und optional (mit Konfiguration) offene Ringe
Wenn eine Ringtopologie aufgebaut wird, muss diese in konfigurierbaren Switches "angesagt" werden. Dann wird das Netzwerk einfach redundant gegen einen Schaden der Ringleitung.
Bus/Linie (parallel geschaltet)
Protokoll Profinet IO Profibus DP
Adressen MAC (48 Bit) (nicht IP!) und Profinet-Namen
Hier stellt sich die meiste Verwirrung ein: Profinet IO braucht für seine Funktion keine IP-Adressen, weil es auf Mac-Adressen basiert, die im Automatisierungssystem auf Profinet-Namen abgebildet werden. Damit ist Profinet IO nicht routingfähig (was auch mit der Echtzeitfähigkeit kaum zu vereinbaren wäre) und funktioniert nur im LAN.
Allerdings ist für nicht-zyklische Daten auch eine Kommunikation per UDP/IP möglich.
Profibus-Adressen (0,1 - 126,127)
Anzahl der Teilnehmer Theoretisch sehr viele. Wenn man auch IP nutzen will, wäre 16,7 Mio. eine gute Mengenangabe. Tatsächlich hängt aber die Teilnehmeranzahl wesentlich vom PN-Controller ab! Übliche Controller beherrschen 128 oder 256 Teilnehmer. Es sind aber mehrere PN-Controller in einem Netz betreibbar. Die Frage ist aber, ob das empfehlenswert und realistisch notwendig ist. 125 ist eine realistische Angabe. Im Multiple-Master-Betrieb wären auch mehr Teilnehmer pro Profibus-Netz denkbar. Das scheint aber keineswegs empfehlenswert.
Die Aktualisierungszeit erhöht sich mit zunehmender Teilnehmeranzahl!
Datenrate 100 Mbit/s (max. 100 m Länge) bis zu 12 Mbit/s (bei max. 100 m Länge)
Leitungslänge 100 m zwischen (beliebig vielen) Switches bis zu 1200 m zwischen max. 3 Repeater (bei 9,6 kbit/s Datenrate)
Geräte PNIO-Controller ("Master")
PNIO-Device ("Slave")
DP-Master (Klasse 1)
DP-Slave
Aufgabe Feldgeräte input/output
Programmierung nicht über PNIO, sondern per IP, aber auf demselben Medium
Feldgeräte input/output
Programierung des AGs mit PG (ebenfalls Master, aber Klasse 2), multiple Master-Betrieb

» Inhaltsverzeichnis


 

Rezept: Konfiguration und Benutzung eines Profinet-Gerätes an einem Siemens Profinet-CP

» Inhaltsverzeichnis


 

ASI-Bus-Grundlagen

» Inhaltsverzeichnis


 

ASI-Bus-Adressen und Adressen im Prozessabbild

Diese Tabelle ist auf eine eigene Seite ausgelagert: ASI-Bus-Adressen und Adressen im Prozessabbild.

» Inhaltsverzeichnis


Stefan Brix
sx@brix.de

Was macht
fuxia?

www.brix.de