Hallo Jas,
leider habe ich keinen geeigneten Code zur Verfügung.
Hier mal ein schnell zusammen geschriebenes Beispiel.
Ungetestet, aber so oder so ähnlich sollte es gehen:
// Code für Sender
// M 100.0 muss zum Senden angestossen werden
CALL "X_SEND" // SFC 65
REQ :=M100.0
CONT :=TRUE // 0=dynamische Verb., 1=statische Verb.
DEST_ID:=W#16#4 // MPI Adr. des Partners
REQ_ID :=DW#16#1 // Auftkennung, muß bei Empf. gleich sein
SD :=P#DB10.DBX 0.0 BYTE 32 // Zeiger auf zu sendente Daten
RET_VAL:=MW102 // RetVal, bzw. Status
BUSY :=M100.1 // busy flag
U M 100.0 // Anstoß nur für einen Zyklus
R M 100.0
// Code für Empfang im Partner:
CALL "X_RCV" // SFC 66
EN_DT :=M110.0 // Daten abholen
RET_VAL:=MW112 // RetVal, bzw. Status
REQ_ID :=MD114 // ID des empfangenen Datentelegramms
NDA :=M118.0 // true=Daten vorhanden
RD :=P#DB11.DBX 0.0 BYTE 32 // Zeiger auf Empfangsfach
// wenn NDA=true, dann Daten von Empfangsfach in Zielbereich umkopieren.
// Achtung, dieser Code wurde nicht getestet.
// Er wurde nur so runtergeschrieben.
Ich hoffe dieses Beispiel ist für Sie hilfreich.
Normalerweise ziehe ich die Verwendung von SFC67 X_Get bzw.
SFC68 X_Put vor.
Damit können Sie Daten aus einer entfernten Steuerung holen, bzw. Daten dorthin schicken, ohne in der Partner CPU das Programm zu ändern.
mfg. vipaner_112