×
Siemens Industry Online Support
Siemens AG
Beitragstyp: Anwendungsbeispiel Beitrags-ID: 23175255, Beitragsdatum: 24.08.2007
(0)
Bewerten

Programmierung einer S7-Kommunikation zwischen zwei CPU-Baugruppen für STEP 7 und CFC

  • Beitrag
  • Betrifft Produkt(e)

Aufgabenstellung:
Die Kommunikationsbausteine AS_BSEND und AS_BRECV können für den Datenaustausch zwischen zwei CPU-Baugruppen einer S7-Kommunikation verwendet werden. Diese beinhalten den Aufruf der Systemfunktionsbausteine SFB12 (BSEND) für die Senderichtung und SFB13 (BRCV) für die Empfangsrichtung.

  • In STEP 7 erfolgt der Aufruf der Kommunikationsbausteine AS_BSEND und AS_BRECV in den vorgefertigten Bausteinen SEND_S7 und RECV_S7. Diese Bausteine können Sie im KOP / FUP / AWL-Editor editieren.
     
  • In S7-SCL erfolgt der Aufruf der Kommunikationsbausteine AS_BSEND und AS_BRECV in den vorgefertigten Bausteinen SEND_SCL und RECV_SCL. Diese Bausteine können Sie im S7-SCL-Editor editieren.

Dadurch erhalten Sie die Möglichkeit, die Struktur der zu übertragenden Daten individuell anzupassen.

Die Systemfunktionsbausteine BSEND und BRCV beinhalten als Schnittstelle für den Sende- und Empfangspuffer einen ANY-Pointer, sodass Sie die zu übertragenden Daten vor bzw. nach dem Aufruf der Kommunikationsbausteine in den Sendepuffer bzw. aus dem Empfangspuffer kopieren müssen. Weiterer Programmieraufwand benötigen Sie für die Auswertung der Rückmeldung der Systemfunktionsbausteine, da die Status-Bits DONE, NDR und ERR und die Fehleranzeige STATUS nur für einen Zyklus anstehen.

Diese S7-Kommunikation kann für CPU-Baugruppen angewendet werden, die die Kommunikationsbausteine BSEND und BRCV unterstützen. Realisiert wird die Kommunikation mit STEP 7 oder mit den Optionspaketen S7-SCL und CFC.

Lösung:
Es wird eine Anbindung der zu übertragenden Daten und Koordinierung der Kommunikationsaufträge zur Verfügung gestellt. Die Bausteine SEND_S7 und RECV_S7 stehen Ihnen als KOP / FUP / AWL-Bausteine und die Bausteine SEND_SCL und RECV_SCL stehen Ihnen als S7-SCL-Quellen zur Verfügung. In allen Bausteinen müssen Sie lediglich die Schnittstelle ändern, wenn Sie die Struktur der zu übertragenden Daten ändern möchten.

Beschreibung des Programmbeispiels:
Das Programmbeispiel beinhaltet die S7-Stationen "SIMATIC 400 SEND" und "SIMATIC 400 RECV". Die beiden S7-Stationen sind über eine MPI-Verbindung miteinander vernetzt. Um eine Kommunikation über BSEND und BRECV zu ermöglichen, wurde in NetPro eine S7-Verbindung zwischen den beiden Stationen eingerichtet.


In der Station "SIMATIC 400 SEND" ist im Baustein SEND_S7 bzw. SEND_SCL als Eingangsparameter exemplarisch eine Struktur mit dem Namen DATA definiert. Dieselbe Struktur ist auch in der Station "SIMATIC 400 RECEIVE" als Ausgangsparameter enthalten. Diese Struktur befindet sich jeweils zwischen den Parametern FIRST_VAR und LIMIT_VAR, die zur Begrenzung des Sende- / Empfangspuffers dienen.

Möchten Sie den zu übertragenden Datenbereich ändern, so müssen Sie in den korrespondierenden Bausteinen SEND_S7 und RECV_S7 bzw. SEND_SCL und RECV_SCL den Parameter DATA durch die gewünschte, in beiden Bausteinen identische Datenstruktur ersetzen. Dabei muss es sich nicht um eine Struktur handeln, sondern es können beliebig viele Variablen sein, bis zur maximal möglichen Datenlänge. Bei der Anwendung von CFC müssen Sie darauf achten, dass die Variablen nicht vom Datentyp ARRAY sind.

  • Bei der Anwendung von S7-SCL bzw. im KOP / AWL / FUP - Editor müssen die Parameter ver- und entsorgt werden.
  • Bei der Anwendung mit CFC können die Parameter beliebig verschaltet werden.

Bild 02 zeigt die Verschaltung des Bausteins SEND_SCL in CFC.



Bild 02

Bild 03 zeigt die Verschaltung des Bausteins RECV_SCL in CFC.



Bild 03

Neustartverhalten:
Im Anlauf der CPU werden die Fehleranzeigen gelöscht. Soll die Fehlerhistorie zurückgesetzt werden, muss im Anlauf der Eingang RES_HIST gesetzt werden. Dies kann in den Bausteinen SEND_S7 bzw. SEND_SCL oder in den Bausteinen RECV_S7 bzw. RECV_SCL programmiert werden.

Anbindung der Onlinehilfe zu den Bausteinen "AS_BRECV" und "AS_BSEND":
Um die Hilfedateien für die Bausteine "AS_BRECV" und "AS_BSEND" anzubinden,  müssen Sie noch die Einträge in die Registry vor nehmen. Durch Markieren der Bausteine mit dem Cursor und Betätigen der F1-Taste erscheint dann zu diesen Bausteinen die selbst erstellte Onlinehilfe ("S7COMSCLA.hlp"). Weitere Informationen zur Anbindung der selbst erstellten Onlinehilfe und die Voraussetzungen hierzu finden Sie in unserem FAQ:

  • Wie erfolgt die Anbindung einer selbst erstellten Onlinehilfe zu einem programmierten Baustein?
    Beitrags-ID: 23174950.

Die nachstehende Tabelle enthält die Schnittstellen der Ein- und Ausgangsparameter der Funktionsbausteine SEND_S7, RECV_S7, SEND_SCL und RECV_SCL:

Ein- und Ausgangsparameter der Kommunikationsbausteine:

Parameter (Tabelle)

SEND_S7:  Sendebaustein für den KOP / AWL / FUP - Editor Bild 04
RECV_S7:  Empfangsbaustein für den KOP / AWL / FUP - Editor: Bild 05
SEND_SCL:  Sendebaustein für den CFC-Editor: Bild 06
RECV_SCL:  Empfangsbaustein für CFC-Editor Bild 07

Hinweise zur Projektierung bei Verwendung anderer Baugruppen:
Die beiden STEP 7 Projekte "COMM_STEP7" und "COMM_CFC_SCL" wurden mit den beiden S7-400-Baugruppen CPU 416-2DP und CPU 414-2DP konfiguriert. Sollten Sie nach dem Laden der Projekte andere CPU-Baugruppen projektieren, so beachten Sie bitte die Hinweise gemäß nachstehender Tabelle. Die unten aufgeführten Projektierungen nach dem Tausch der Baugruppen bzw. Neuerstellung der Hardwarekonfiguration sind für die S7-MPI-Verbindung obligatorisch:
 

Nr. Hinweise für die Projektierung neuer CPU-Baugruppen für die MPI-Verbindung:
1 Öffnen Sie in der S7-Station die Hardwarekonfiguration, in der Sie die CPU-Baugruppe getauscht bzw. neu projektiert haben und öffnen Sie mit Doppelklick die Objekteigenschaften der "MPI/DP"-Schnittstelle. Klicken Sie anschließend im Dialog "Eigenschaften -MPI/DP" im Register "Allgemein" auf die Schaltfläche "Eigenschaften...".



Bild 08

Überprüfen Sie gemäß Bild 08, ob der Schnittstellentyp auf "MPI" und die Baugruppe mit dem MPI-Bus vernetzt ist. Beide CPU-Baugruppen in den Stationen müssen mit dem selben MPI-Bus (wie hier im Beispiel "MPI(1)") vernetzt sein.

2 Klicken Sie anschließend auch im Dialog "Eigenschaften-MPI Schnittstelle" auf die Schaltfläche "Eigenschaften..." und überprüfen Sie im Register "Allgemein" die "S7-Subnetz-ID". Die Nummer der "S7-Subnetz-ID" muss mit dem Parameter Verbindungs-ID "ID" bei den Bausteinen "AS_BSEND" und "AS_BRECV" identisch sein. Für beide Bausteine wurde für die "ID" die Nummer "0001" projektiert und somit sollte in beiden S7-Stationen die "S7-Subnetz-IDs auf "0001" (für Send/Receive) eingestellt sein. Die Verbindungs-ID können Sie auch im OB35 und im OB100 bei beiden Stationen ändern.

Beenden Sie alle Dialoge mit OK und speichern und übersetzen Sie die Hardwarekonfiguration.



Bild 09

Hinweis:
Für die Baugruppe CPU416-2DP wurde die MPI-Adresse "2" und für die Baugruppe CPU414-2DP wurde die MPI-Adresse "3" eingestellt.

3 Öffnen Sie anschließend NetPro entweder über die Ikone oder über "Extras > Netz konfigurieren". Zum Einrichten einer S7-Verbindung markieren Sie bei einer Station die CPU (z.B. CPU416-2DP) und wählen die Funktion "Einfügen > Neue Verbindung...". Im Dialog "Neue Verbindung einfügen" markieren Sie die für Ihre Verbindung zur Verfügung stehende CPU (wie im Bild 10 die CPU 414-2DP) und klicken Sie auf die Schaltfläche "Übernehmen".



Bild 10

Bestätigen Sie den nachfolgenden Dialog "Eigenschaften-S7-Verbindung" mit OK. In der Verbindungstabelle trägt STEP 7 die Verbindung des markierten Teilnehmers ein und vergibt für diese Verbindung die lokale ID, die Sie bei der Programmierung der Kommunikationsbausteine benötigen.

Speichern und übersetzen Sie die Konfiguration in NetPro und laden Sie die Stationen in die Baugruppen über "Zielsystem > Laden im aktuellen Projekt > Markierte und Partnerstationen".

Weitere Informationen über das Einrichten einer S7-Verbindung finden Sie in unserem FAQ "Hinweise zur Verwendung der Systemfunktionsbausteine SFB12 und SFB13 (BSEND/BRCV)" unter der Beitrag-ID: 1152252.

Downloads 
Kopieren bzw. extrahieren Sie die Dateien "ComSTEP7.zip" und "ComS7CFC.zip" in ein separates Verzeichnis. Die STEP 7  Projekte werden dann automatisch mit allen dazugehörigen Unterverzeichnissen entpackt. Anschließend können Sie die entpackten Projekte mit dem SIMATIC Manager öffnen und bearbeiten.
 

Inhalt der Downloads

Download

STEP 7 Projekt mit den Bausteinen "AS_BSEND" / "AS_BRECV" und "SEND_S7" / "RECV_S7"
Zur Verwendung in KOP, FUP oder AWL
Com_STEP7.zip ( 434 KB )
STEP 7 Projekt mit den Bausteinen "AS_BSEND" / "AS_BRECV" und "SEND_SCL" / "RECV_SCL":
Zur Verwendung im CFC.
Com_STEP7.zip ( 434 KB )
Onlinehilfe zu den Kommunikationsbausteinen "AS_BSEND" und "AS_BRECV": S7_COMSCLA.zip ( 3 KB )

Ablauffähigkeit und Testumgebung:
In der folgender Tabelle sind die Komponenten aufgeführt, mit denen dieser Beitrag erstellt und die beschriebene Funktionsweise verifiziert wurde:
 

Testumgebung Version
PC Plattform Intel(R) Pentium(R) M Processor 1.73 GHz, 1,49 GB RAM
PC-Betriebssystem MS Windows XP Professional SP2
STEP 7 STEP 7 Professional V5.3 SP3
Optionspakete CFC V6.1 SP1
(S7-SCL V5.3 SP1)*
S7-CPUs CPU 416-2DP (6ES7 416-2XK02-0AB0)
CPU 414-2DP (6ES7 414-2XG03-0AB0)
* S7-SCL ist in STEP 7 Professional enthalten.

Hinweis:
Der Datentyp UDT wird von den "BSEND" und "BRECV" Bausteinen nicht unterstützt. Weitere Informationen dazu finden Sie in der Onlinehilfe des SFB12 "BSEND" und SFB13 "BRECV".

Historie

Ausgabe

Änderungen

4/2006 Erstausgabe

 

Securityhinweise
Um technische Infrastruktur, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches IT Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Weitergehende Informationen über Cyber Security finden Sie unter
https://www.siemens.com/cybersecurity#Ouraspiration.