Senden und Empfangen von anderen CPUS

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,
also folgendes Problem.
Wir haben es mit 4x 314 CPUs zu tun.Diese sind mit MPI verbunden.
Es werden die Siemens Bausteine SFC 65(empfangen) und SFC 66(senden) verwendet, für die Kommunikation zwischen allen 4 CPUs.
Es können doch auch die Daten mit Globaldaten von Step7 abgeglichen werden oder nicht?
Problem ist hierbei aber das die Blockbreite die transferiert wird, 74 Bytes enthalten.
für die CPU 1 ist der DB 101 zuständig
CPU 2 = DB 102
CPU 3 = DB 103
CPU 4 = DB 104
Hat jemand von euch eine Lösung, ob dieses auch irgendwie mit den Globaldaten möglich ist, da es ein Datenwust und eine Verschieberei in dem alten Programm ist.
 
Die Anzahl der Globaldatenbytes sind beschränkt.
Bei 300: 22 Byte Nutzdaten,
bei 400: 54 Byte Nutzdaten.
Abweichungen bei neueren CPUs sind möglich.

Globaldatenaustausch ist auch nicht sicher, da keine Quittung vom Partner kommt.
Das senden und Empfangen ist auch nicht zyklussynchron.

Ich würde davon abraten.

Gruß
raika
 
Code:
Man kann doch aber eine neue Zeile einfügen und wieder 22 Byte Nutzdaten nehmen oder?
Nein. Es werden Kommunikationskreise gebildet. Das Sendefach der CPU ist max. 22 Byte für Nutzdaten und wird z.B. alle 8 CPU-Zyklen auf den MPI-Bus geschickt. Die Partner-CPUs lesen die Daten oder auch nicht. Es wird kein Quittungstelegramm zurückgeschickt.
Das Sendefach wird nur einmal definiert. Eine größere Datenmenge auf meherere Telegramme aufzuschlüsseln ist, denke ich mit größerem Aufwand verbunden als mit Send und Receive-Bausteinen zu arbeiten.

Gruß
raika
 
Zurück
Oben