Datenaustausch von 2 CPU über MPI

seppi82

Level-1
Beiträge
39
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

hatte ein Problem mit einer Anlage aus Frankreich (Doku auf französisch).

Die Anlage besteh aus 2 einzelnen Stationen die jeweils eine eigene CPU haben.
Es erfolgt eine Übergabe von Meldungen über einen DB.
Dieser DB ist in jeder CPU gleich. Die CPUen sind über MPI miteinander verbunden. Jedoch erfolgt nach meinem jetzigen Kenntnisstand nur ein Austausch von der einen zur anderen und nicht wieder zurück.

Kann mir jemand erklären wie der Datenaustausch funktioniert?
Wie kann ich Meldungen hinzufügen?
Wie kann mann einen gegenseiten Austausch reasisieren?

DANKE für eure Mithilfe.

Grüße Seppi
 
Hi,
wäre das, das da in jede CPU in Programm gibt eine Sender und Empfänger Block ?
waldy
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es gibt im Netpro einen Button "Globale Variablenliste".
(Soweit ich mich erinnern kann Rechtsklick auf den MPI Strang, und dann steht es im Kontextmenü).

Dort sind alle über MPI vernetze Stationenn aufgelistet.
Nun kannst du dort Variablen eintragen, z.B. die aus deinem
DB. Bei einer CPU sollte bereits die eine Spalte farblich hinterlegt sein,
dies zeigt an das diese CPU sendet, die andere (oder wenn es mehr sind die anderen) können diese Variable dann lesen, aber nicht selbst beschreiben.

Ich hoffe diese Infos helfen dir weiter, ansonsten frag gern nochmal nach!

MfG

Marcel
 
Globaldatenkommunikation ist nix schönes. Kommunikation die nicht im Programm auftaucht und somit auch nicht von mir beeinflusst werden kann ist mir fies.

Schau dir mal die Systemfunktionen XSend und Xrecieve an, damit kannst du pro Auftrag 76 byte übertragen. Alternativ, wenn du nur in einer CPU programmieren kannst/darfst nimm XPut und XGet.

Die Bausteine heissen SFC65-SFC69.
 
Schau dir mal die Systemfunktionen XSend und Xrecieve an
- haben Sender nicht nummer 105 und 104 ? ( habe schon nicht in Kompf ).

Es ist so, von CPU 1 von XSend nach CPU 2 nach Xrecieve daten übetragen ( z.B: ) als DW .
Und umgekehrt, von CPU 2 XSend nach CPU 1 Xrecieve werden mit Daten umgetauscht.

gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wie der name schon sagt, eine globaldatentable hat den nachteil, das es sie nur einmal pro projekt geben sollte.

der vorschlag von lars ist wesentlich besser, als dieses veraltete zeugt

btw. benutzt eigentlich noch jemand die globaldatentabelle ausser bei transline 2000?
 
Ich hab mich damals schon mit dem Fuzzi von Siemens angelegt ihm gesagt er solle den Leuten nicht so einen scheiss beibringen....ich hab das noch nie gebraucht !
 
wenn du transline 2000 machst brauchst du diesen scheiss um mit dem bedienpult zu kommuniziern.

was man aber machen soll, wenn man drei steuerungen im projekt hat, die jede ein bedienpult hat, man aber nur eine globaldatentabelle hat, konnte mir der support von siemens auch nicht sagen *ROFL*
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir machen die Globaldatenkommunikation, seit es die S7 gibt.
Der Trend geht zwar zur Ethernetkopplung, aber solange es Lieferanten gibt, die ihre Serien-Kleinmaschinen nur mit einer 312 ausstatten, brauchen wir immer noch diese Art der Kopplung.

Gehst Du mit rechter Maustaste in der Projektübersicht auf den MPI-Bus, wird dort "Globaldaten definieren" angezeigt.
In der Tabelle kannst Du dann eintragen, welche Adressen von der einen CPU auf welche Adressen der anderen CPU übertragen werden.

Es ist zwar ein Krampf, weil diese Tabelle nicht immer richtig im Projekt archiviert wird, weil die Kommunikation nicht sicher ist, usw..
Aber immer noch die billigste Möglichkeit, S7-Steuerungen zu verheiraten.
 
Zurück
Oben