Daten zwischen CPU´s tauschen

SPS_NEU

Level-2
Beiträge
567
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wie ist es möglich, Daten eines DB´s von einer CPU in einer anderen zu lesen?
Gibt es dafür Sende/Empfangsbausteine? Ich möchte aber im NetPro nichts ändern...
 
ASi? CAN? EiB? was willste denn verwenden?
wenn ich deinen beitrag so lese würde ich dir ja hardwaresignale empfehlen

Code:
*
//CPU1
     U    DB10.DBX 12.0
     =    A 2.0
     L    DB10.DBW 14
     T    AW 4
//CPU2
     U    E 4.0
     =    DB10.DBX 24.0
     L    EW 6
     T    DB10.DBW 26
 
über den MPI Bus

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

.............................
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn Du in Net-Pro nichts ändern möchtest, fallen die Globaldaten schon mal weg.
X_PUT und X_GET findest Du in den Systemfunktionen. SFC67 und SFC68.
Hier kannst Du gezielt von einer bestimmten MPI-Adresse Datenbereiche einlesen, bzw. beschreiben. In der Onlinehilfe zu den Bausteinen wird auch sehr gut erklärt wie es funktioniert.
Hier mal ein Beispiel für das Daten holen
(Immer1 ist ein Merker der immer VKE=1 hat)

CALL "X_GET"
REQ :="Immer1"
CONT :=TRUE
DEST_ID :=W#16#9
VAR_ADDR:=P#DB6.DBX0.0 BYTE 22
RET_VAL :=#Ret_Val_R1
BUSY :=#Busy1
RD :=P#DB6.DBX0.0 BYTE 22

Von der MPI-Adresse 9 werden, aus dem DB6 ab dbx0.0, 22 Byte ausgelesen.
Diese werden in der Steuerung, in der SFC67 aufgerufen wird, in den DB6 geschrieben.
Vorteile hier sind, dass man die Daten holen kann wann man will und das man im Programm die Datenübertragung sieht. Bei Globaldaten sieht man später im Programm nichts von der Übertragung.
 
Zurück
Oben