MPI Kommunikation

jas

Level-1
Beiträge
19
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte über den MPI-Bus zwei VIPA 116 kommunizieren lassen. Dies wäre mit dem SFC65 und SFC66 möglich. Wo finde ich ein Beispiel oder Literatur hierfür? Als Programmiersoftware habe ich WinSPS-S7.
 
http://support.automation.siemens.com/WW/view/de/21537047
http://support.automation.siemens.com/WW/view/de/20989875
http://support.automation.siemens.com/WW/view/de/430498

Über WIN-SPS7 kann ich dir nicht viel sagen, dass musst du dann schon selbst umsetzen. Mit VIPA CPUs hatte ich schon massive Probleme beim gleichzeitigen Einsatz einer permanenten MPI-Kommunikation und eines CP340/CP341. Im Endeffekt hat nur ein Rausschmeißen der VIPA CPUs an allen Anlagen des Projektes etwas gebracht. Also bei VIPA CPUs nicht immer denken, dass man zu blöd dafür ist. :rolleyes:
 
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
 
Zurück
Oben