TIA Profinet IO Kommunikation über CP 343-1

Papaschlumpf

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich benötige eure Hilfe da ich mit meinem aktuellen Problem auf keine Lösung komme.
Der Aufbau u.a. ist eine CPU 315-2 DP mit einem CP 343-1 wobei der CP 343-1 als Profinet-Controller konfiguriert ist.
Dieser ist verbunden mit einem Profinet-Device dessen definierter E-Bereich ich auslesen möchte.
Der SFC14 wäre gut, kann aber in dieser Hardware-Konstellation nur 4 Bytes max. auslesen.
Wäre die CPU PN fähig und wäre dies der Controller dann würde es lt. Beschreibungen gehen.
Nun, geht also nicht, ich benötige also den PNIO_RECV Baustein.
240 Bytes können maximal ausgelesen werden, jedoch habe ich den E-Bereich auf 300.0 ... konfiguriert!

Meine Fragen dazu:
1. Kann ich die Adressen auch auf 0.0 ... legen wenn es diese bereits bei den normalen Baugruppen gibt?
2. Wenn die Adressierung von 300.0 ... bleibt, welche Bausteine muss ich hierfür verwenden und wie?

Wäre spitze wenn mir da Jemand weiter helfen könnte!!!
 
Wenn du einen Profinet CP verwendest, dann gilt die Adresse für den Offset im Zielbereich des PNIO_RECV. Wenn du am PNIO_RECV bespielsweise als Zielbereich einen Datenbaustein verwendest, dann würden dort die Daten ab Adresse 300 landen wenn du in der HW-Konfig 300 einstellst. Darum kannst du hier theoretisch auch 0.0 einstellen auch wenn es diese Adresse an anderen lokalen Baugruppen schon gibt, aufgrund des PNIO_RECV dazwischen gibt es keine Überschneidungen.

Was ich schon einmal gemacht habe, ist nach den PNIO_RECV die Daten selber auf einen freien Bereich im Prozessabbild umzukopieren, damit du dann wie bei einer PN-CPU mit E300.0 auf die Daten des Profinet-Slaves zugreifen kannst, und dann über Ausgänge in gleicher Weise schreiben und anschließend mit PNIO_SEND an den CP übertragen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der CP343-1 hat einen eigenen von der CPU unabhhängigen EA-Adressbereich für die Profinet Geräte. Die EA-Adressen sollten möglichst lückenlos ab Adresse 0 vergeben werden, damit PNIO_SEND und PNIO_RECV möglichst wenige unbenutzte Füllbytes in jedem Zyklus zwischen CPU und CP kopieren müssen, weil sie kopieren immer von Adresse 0 an so viele Bytes, wie die höchste E/A-Adresse ist bzw. am Baustein angegeben ist.

Harald
 
Zurück
Oben