# Kommunikation zwischen 2 S7-300 CPUs



## baumert (5 Februar 2010)

Hallo,

ich muss Daten zwischen zwei S7-300 CPUs (4 Byte) austauschen. Dies ist mein erstes Projekt, bei dem ich Daten zwischen zwei CPUs austauschen muss.

Die eine Maschine besitzt ein 312IFM und die andere eine 315-2DP. Beide S7-Projekte wurden in ein Multiprojekt eingebunden und zwischen den CPUs wurde ein MPI-Subnetz hergestellt.

Jetzt wollte ich den Datenaustausch über die Globaldatenkommunikation herstellen. Allerdings kann ich in der Globaldatentabelle immer nur eine CPU auswählen (Spalte markiert, Bearbeiten -> CPU).

Was mache ich falsch?

Was gibt es noch für Möglichkeit, Daten zwischen zwei CPUs auszutauschen?

Vielen Dank für Eure Hilfe.
Mit freundlichen Grüssen
Thomas


----------



## Bernard (5 Februar 2010)

*MPI Kommunikation*

Hallo,
in der Standart Libary,System Function Blocks,gibt es 
die SFC 65-66-67-68(x_send,X_rcv,X_get,X_PUT) für die dynamischen Verbindungen mittels MPI. MIt der SFC 69(X-Abort) läßt sich die Verbindung abrechen.

Viele grüße Bernard


----------



## Taddy (5 Februar 2010)

Hallo,
muss Du Multiprojekt nutzen? Man kann mehrere SPS in einem Projek speichern (nich als Multiprojekt). Ich habe eine Anlage mit 36 SPS in einem Projekt. In so einem Projekt krieg Du keine Probleme mit Globalendaten.


----------



## thomas_1975 (5 Februar 2010)

Hallo,
die GD Kommunikation muß funktioniere, 

-beide CPU´s am gleichen MPI Netz ( versch. Adressen )
-MPI Netz markieren
-rechte Maustaste Globaldaten
-1. Spale markieren
-rechte Maustaste CPU
-1.CPU einfügen
-2.Spalte markieren
-2.CPU wählen
-nun mußt du einen Sender mit der rechten Maustaste einfügen
-Datenbereich festlegen
u.s.w :sm4:

ich hoffe du kommst weiter
gruß Thomas


----------



## baumert (8 Februar 2010)

Hallo,

vielen Dank für Eure Antworten.

Wenn ich die CPUs ohne Multiprojet einfach in ein normales Projekt miteinander verbinde, funktioniert die GD-Kommunikation. So werde ich es auch machen.

Grüsse
Thomas


----------



## Reto (22 Juli 2010)

Um hier gleich anzuknüpfen ...

GD-Kommunikation geht ja nur bis irgendwie 32 Byte oder so ...

Was, wenn ich mehr Daten habe? Rund 70 Byte? Die konfiguration habe ich wie oben beschrieben, nur halt 2x 315-2DP.

Ist hier die Verwendung von X-Put / -Get am besten?

Danke im Voraus


----------



## HannesIVA (23 Juli 2010)

Bei solchen Fällen setzte ich DP-Koppler ein. Profibus ist vorhanden und es lassen sich 128 Byte konsistent (244 inkonsistent)übertragen über die E/A-Ebene.

6ES7 158-0AD01-0XA0


----------



## Jochen Kühner (23 Juli 2010)

Reto schrieb:


> Um hier gleich anzuknüpfen ...
> 
> GD-Kommunikation geht ja nur bis irgendwie 32 Byte oder so ...
> 
> ...



Xput kann glaub 68 Byte....


----------



## Jochen Kühner (23 Juli 2010)

AHG... Ich mein xsend, xput weiß ich nicht...


----------



## Reto (23 Juli 2010)

Ja, habs mittlerweilen mit X_SEND und X_RCV gelöst. Funktioniert tip top so.

Für einen DP-DP-Koppler bruacht's DP (Profibus) ... ich hab aber eine MPI-Verbindung, denn die DP-Schnittstellen beider SPSen sind bereits belegt.


----------



## HannesIVA (27 Juli 2010)

Nur als Info im Hinterkorpf: der DP-Koppler hängt ganz normal als Slave am Bus. D.H. es können durchaus schon andere Slaves vorhanden sein. Spielt keine Rolle. Es lassen sich mittels DP-Koppler zwei Master verbinden. Es ist auch nur ein Koppler für zwei SPSen nötig. Aber welche Lösung man nimmt, ist im Endeffekt egal, Hauptsache es geht.


----------

