Step 7 DP DP Koppler Multimaster

widerstand

Level-1
Beiträge
31
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle zusammen,

In der Universität habe ich eine Aufgabe bekommen. Ich muss 3 SPS Anlagen (CPU 413-2DP, CPU 314 mit CP 342-5 DP, CPU 314 mit CP 342-5) über eine PROFIBUS-DP Leitung untereinander verbinden, jede einzeln als Master konfigurieren und Kommunizieren lassen . Bislang habe ich nur gelesen dass es mit einem DP/DP Koppler sinnvoll wäre, jedoch haben wir in der UNI kein DP/DP Koppler. Laut diesem Beitrag hier im Forum:

http://www.sps-forum.de/simatic/47916-multimastersystem-s7-400-s7-300-a.html

...habe ich gelesen dass es mit den Bausteinen Put/Get, USEND/URCV oder Bsend/Breceive möglich wäre. Leider sind die Beiträge auf der SIEMENS Seite nur für Ethernet Verbindung oder andere gefasst. Ich muss es aber über Profibus konfigurieren.

Mein Fragen wären::confused:

1: Ist es überhaupt möglich die 3 oben genannten Stationen alle als Master zu betreiben?
2: Wenn es möglich ist, mit was bzw. nach welcher Anleitung könnte ich das machen?
3: Brauche ich 2 DP/DP Koppler um 3 Stationen zu verbinden oder reicht nur einer aus wobei aber nur 2 Stationen an dem DP/DP Koppler angeschlossen werden können?



Danke im Voraus für eure Antworten
LG
Kurt
 
Ahoi,
wenn möglich solltest du ein Projekt anlegen und alle drei Stationen darin projektieren. Bei der ersten legst du dann auch das Profibus-Netz an. Den anderen teilst du nur noch mit, dass sie am selben Netz hängen.
Im nächsten Schritt kannst du dann über NetPro die Verbindungen erstellen.

1: Ja.
2: Eine Schritt-für-Schritt-Anleitung liefert das Modul D12 der Siemens Step7 Ausbildungsunterlagen, falls du darauf Zugriff hast.
3: Könnte in dieser Anwendung entfallen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Danke für die Antwort. Ich habe vorerst versucht die SPS CP 342-5 DP (Master 1) und die SPS CP 342-5 (Master 2) miteinander kommunizieren zu lassen. Bin dabei nach der beschreibung des Moduls D12 der Siemens Ausbildungsunterlagen vorgegangen. Habe beide Stationen als Master eingestellt und bei NetPro eine FDL-Verbindung angelegt. Für beide Stationen wurde die ID: 1 angegeben. Danach habe ich ein kleines Programm geschrieben um die Ausgänge der einen SPS von der anderen SPS zu steuern.

Master 1: ID=1, Baugruppenanfangsadresse 256 (100 HEX)
Eingangsbyte 8
Ausgangsbyte 16
Master 2: ID=1, Baugruppenanfangsadresse 256 (100 HEX)
Eingangsbyte 4
Ausgangsbyte 12

Nun möchte ich zb. dass wenn ich den Bit 8.0 von Master 1 setze (Schalte), dass der Ausgangsbit 4.0 vom Master 2 schaltet (LED leuchtet).
Hier das Programm von mir, geschrieben nach der Beschreibung von D12 Siemens Ausbildungsunterlagen:

Master 1:
--------------------------------------------------------------------------------------------------------
Netzwerk 1:

CALL "AG_RECV"
ID :=1 // ID der Verbindung zu Master 2 (aus NET-PRO)
LADDR :=W#16#100 // Baugruppenanfangsadresse des CP413-2DP (220)
RECV :=P#E 4.0 BYTE 1 // Adressbereich für die Eingänge von Master 2
NDR :=M99.0 // Kontrollbit
ERROR :=M99.1 // Fehlerbit
STATUS:=MW95 // Statuswort
LEN :=MW97 // Länge der Empfangenen Daten in Byte
--------------------------------------------------------------------------------------------------------
Netzwerk 2:

L EB 4
T AB 12
--------------------------------------------------------------------------------------------------------
Netzwerk 3:

CALL "AG_SEND"
ACT :=TRUE
ID :=1 // ID der Verbindung zu Master 2 (aus NET-PRO
LADDR :=W#16#100 // Baugruppenanfangsadresse des CP413-2DP (220)
SEND :=P#A 12.0 BYTE 1 // Adressbereich für die Eingänge von Master 2
LEN :=1 // Länge der zu sendenden Daten in Byte
DONE :=M99.0 // Statusbit
ERROR :=M99.1 // Fehlerbit
STATUS:=MW95 // Statuswort
##########################################################################
Master 2:
--------------------------------------------------------------------------------------------------------
Netzwerk 1:

CALL "AG_RECV"
ID :=1 // ID der Verbindung zu Master 2 (aus NET-PRO)
LADDR :=W#16#100 // Baugruppenanfangsadresse des CP413-2DP (220)
RECV :=P#E 8.0 BYTE 1 // Adressbereich für die Eingänge von Master 2
NDR :=M99.0 // Kontrollbit
ERROR :=M99.1 // Fehlerbit
STATUS:=MW95 // Statuswort
LEN :=MW97 // Länge der Empfangenen Daten in Byte
--------------------------------------------------------------------------------------------------------
Netzwerk 2:

L EB 8
T AB 16
L EB 16
T AB 8
--------------------------------------------------------------------------------------------------------
Netzwerk 3:

CALL "AG_SEND"
ACT :=TRUE
ID :=1 // ID der Verbindung zu Master 2 (aus NET-PRO
LADDR :=W#16#100 // Baugruppenanfangsadresse des CP413-2DP (220)
SEND :=P#A 16.0 BYTE 1 // Adressbereich für die Eingänge von Master 2
LEN :=1 // Länge der zu sendenden Daten in Byte
DONE :=M99.0 // Statusbit
ERROR :=M99.1 // Fehlerbit
STATUS:=MW95 // Statuswort

########################################################################



Ich denke mein Fehler liegt darin, dass ich die Ein-und Ausgangsbits bzw. Bytes nicht an der richtigen Stelle schreiben. Was müsste ich ändern, damit das Funktioniert?
 
Keiner eine Idee?:icon_sad:

Habe in der Zwischenzeit weitere Versuche durchgeführt aber leider ohne Erfolg. Immer wieder lese ich was von DP/DP Kopplern, zu der Frage 3 (#1) nochmal. Wenn ich mir einen DP/DP Koppler besorge, kann ich damit die Oben genannten 3 Stationen miteinander über dieses Gerät verbinden oder brauche ich 2 Stück von der selben Sorte?

LG
Kurt
 
hallo widerstand

ich habe leider noch nicht so viel mit AG_SEND und AG_RECV zu tun gehabt.

Ich würde erstmal auf beiden Seiten die Aus- und Eingangsadressen auf die selbe Länge bestimmen.

z.B.: Master 1: EB 20
AB 20
Master 2: EB 20
AB 20

Somit wird gewährleistet, dass auch das letzte gesendete Bit vom Master 1 auch vom Master 2 gelesen werden kann.

Wenn deine Baugruppe die Anfangsadresse 256 hat, muss dein EB auch dort anfangen.
Also wäre demnach dein erstes Eingangsbyte 256, das zweite 258 und so weiter. Und das gleiche auch beim Ausgangsbyte.

Die Funktion mit DP/DP-Koppler ist einfach und gut realisierbar. Ich habe 3 CPU's mit 2 Koppler verbunden.
Man braucht auch keine komplizierten Bausteine schreiben, weil man alles mit Lade und Transferiere in die PEW und PAW schreiben kann

Sag bescheid ob ich helfen konnte. ;)

MFG
Kapo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hardware_Master1.JPGHardware_Master2.JPG

Hallo Kapo666 vielen Dank für die Antwort,

was ich nicht verstanden habe ist, warum ich EB20 und AB20 eingeben soll? die Eingangsadresse und Ausgangsadresse von den Modulen sind doch unterschiedlich!

Also bei Master 1 habe ich bei CP 342-5 als E-Adresse 256...271 stehen---> Warum über 16 Byte Länge?
und bei DI 4...7, 8...11 und bei DO 12...13, 16...17, 20...21


Habe ein Bild von der Hardwarekonfiguration von Master 1 und Master 2 im Anhang!

Nun zu der Frage nochmal (#3) was genau müsste ich denn jetzt eingeben damit ich Ein und Ausgänge schalten kann?

LG
Kurt
 
Ah ja...du musst die E/A-Adressen nicht gleich schreiben. Ich habe mich verlesen und was anderes im Sinn gehabt. ;)

die 16 byte sind von der Karte vorgegeben.

ich habe auch bemerkt, dass bei deinem AG_SEND baustein, ACT immer auf TRUE gesetzt ist. Der Baustein fängt bei einer steigenden Flanke an zu arbeiten. Vielleicht kannst du deswegen nichts senden.
Hast du die Kontrollbits beobachtet?
 
Zurück
Oben