TIA Profibus-Kommunikation CP 1542-5 <-> ET200S IM 151-7 CPU

miroblaz

Level-1
Beiträge
47
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!

Ich habe ein Profibus-Kommunikationsproblem zwischen einem 1500er und einem ET200S.
Aufbau:
CPU 1512C-1 PN mit einem CP 1542-5 DP Mastermodul
3 x CPU IM151-7 als DP Slaves.
Zustand:
Die HW-Konfig. ist laut TIA Portal in Ordnung.
Alle DP-Teilnehmer ohne BF. (LED leuchten alle grün)
Die Kommunikation von Slave Richtung Master funktioniert.
Allerdings, die Daten vom Master zu Slave werden nicht übertragen.
Für die Übertragung habe ich beiderseits die Funktionen DPWR_DAT und DPRD_DAT benutzt.
DPWR_DAT und DPRD_DAT leuchten auch grünbei der Onlinebeobachtung.

Kennt jemand den Grund dafür?

Dankeschön im Voraus

Miro
 
Zuviel Werbung?
-> Hier kostenlos registrieren
TIA Profibus-Kommunikation CP 1542-5 <-> ET200S IM 151-7 CPU

Sind die DP E/A im IM151-7 innerhalb oder ausserhalb von Prozessabbild ?
Die Größen beider Prozessabbilde sind 2048.
Meine Ein- und Ausgangsbereiche sind 1000 16 Byte (Gesamte Länge)

Was sind die RET_VAL Werte von DPWR_DAT bzw. DPRD_DAT in beide Steuereungen ?.
Beide zeigen 0 an.
 
Hast du tatsächlich das Prozessabbild auf 2048 Bytes eingestellt ?
Das ist aussergewöhnlich gross.
Oder meinst du die für diese CPU den maximal einstellbare Wert ?

Wenn man DPRD_DAT oder DPWR_DAT für Daten innerhalb von das Prozessabbild verwendet, dann funktioniert es meines Wissens nicht.
In den Fall sollte aber RET_VAL ein Fehlercode anzeigen.

Meine Ein- und Ausgangsbereiche sind 1000 16 Byte (Gesamte Länge)
Was genau meinst du mit 1000 16 ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Komischerweise, alles funktioniert mit einer IM151-8 & PB Master anstatt die 1512C CPU & CP 1542-5
OK, dann liegt das Problem beim 1512C/CP1542-5.
Ich habe leider kein Erfahrung mit diese Kombination. Bin nicht sicher das DPRD_DAT/DPWR_DAT die richtige Bausteine für CP1542-5. Aber in den Fall sollte man ein Fehlercode von RET_VAL erhalten.
 
Sorry, es war max. einstellbarer Wert des Prozessabbildes. Die liegen beide bei 128.
Alle RET_VAL zeigen 0 an. Bloß, auf der IM151-7 kommen keine Daten an.
Ich meinte die Adressen 1000, und die Datenpakete sind 16 Byte lang.
 
Hast Du vielleicht den Datenbereich bei DPRD_DAT.RECORD symbolisch falsch angegeben und übergibst nur 1 Byte an die Peripherie bzw. DPRD_DAT?
Kannst Du mit einer Beobachtungstabelle oder Forcetabelle direkt auf die Ausgabeadressen (%AB1000, .., %AB1015 bzw. %AB1000:p ..) die Werte ändern und kommen die bei dem Slave an?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kam gerade dazu, es noch mal zu Probieren.
Es war so, dass ich nur ein Teil einer Datenstruktur senden wollte. Z.B. P#DB210.DBX82.0 BYTE 16
Nachdem ich die Struktur so geändert habe, dass diese 16 Byte lang ist und die auch komplett an DPWR_DAT.RECORD übergeben habe, funktionierte das ganze auch.
 
Zurück
Oben