# Master:CPU315 2PN/DP+CP342-5 <-> Slave: CPU315 2DP läuft nicht richtig



## Jan (22 Januar 2010)

Hallo.

Ich habe eine S7-CPU 315 mit CP als Master und eine S7-CPU315 als Slave.
Ich habe auf der Master-CPU die FC1 und FC2 programmiert.
Laut Rückmeldung der FCs sind diese in Betrieb und melden keine Fehler.

Auf der Slave-CPU habe ich die SFC14 programmiert.
Die SFC 14 meldet auch, dass alles OK ist.

In dem Datenbereich, den ich übertrage, habe ich ein Bit, dass ich im 1 Hz Takt takte.

So sollte ich erkennen, ob die Daten auch ankommen. Das Bit beim Slave ändert sich aber nicht.

Nun frage ich mich (euch), woran es liegen kann, dass die Daten nicht übertragen werden, obwohl alles OK sein sollte.

Hier noch ein paar Eckdaten:
Übertragungsrate: 9,6 kBit/s
Slave ist in der HW-Konfig. vom Master eingerichtet, die Verbindung hergestellt und die HW-Konfig. entsprechend in beide CPUs geladen.
Alle LEDs auf den CPUs und der CP sind grün (keine Fehler).
Ich habe das Projekt gerade nicht hier, daher keine Screenshots möglich.

Ich bin für jede Anregung, in welche Richtung ich nach dem Fehler suchen kann, dankbar.


----------



## JesperMP (22 Januar 2010)

Lass uns das ganze Projekt anschauen, inklusiv HW Konfiguration.


----------



## HaDi (22 Januar 2010)

Hast du auch die FC1 und FC2 aus der SIMATIC_NET_CP-Bibliothek verwendet ?

Grüße von HaDi


----------



## Jan (23 Januar 2010)

HaDi schrieb:


> Hast du auch die FC1 und FC2 aus der SIMATIC_NET_CP-Bibliothek verwendet ?
> 
> Grüße von HaDi


 
Worin besteht der Unterschied zwischen den FC1 / FC2 in der Standard Library und in der SIMATIC_NET_CP (gleiche Version und leiche Größe!)?

Ich bin mir fast ganz sicher, dass ich die FC 1 und FC 2 aus der Standard Library genommen habe.


----------



## HaDi (23 Januar 2010)

Da hab ich was verwechselt, sorry, die Bausteine aus der Standard Library sind indentisch und sollten demnach auch gehen.
Was mich aber noch irritiert, ist, dass du in der Slave-CPU SFC14 verwendest, SFC14 ist doch eigentlich dafür da, konsistent Daten von einem Slave zu lesen, also im Master zu verwenden (was aber bei einem CP342-5 nicht geht).
In der HW-Konfig hast du doch mindestens ein Master-Slave-Module angelegt und die dort verwendete Adresse liegt doch sicherlich im Prozessabbild.
Dann kann man doch in der Slave-CPU direkt das Eingangsbit/-byte/-wort ... verwenden ohne irgendein weiteres Handling.

Grüße von HaDi


----------



## JesperMP (23 Januar 2010)

HaDi schrieb:


> In der HW-Konfig hast du doch mindestens ein Master-Slave-Module angelegt und _die dort verwendete Adresse liegt doch sicherlich im Prozessabbild_.


Sicherlich ? Vielleicht ja, vielleicht nicht.
SFC14 funktioniert einfach. Und konsistente Daten werden in die meisten Fällen benötigt.
Aber zum testen kann man ohne weitere die EW oder PEW Adressen beobachten.

Was mich auffällt ist der 9.6kbs Busgeschwindigheit. Mit eine grosse Menge von Daten kann das Buszykluszeit in den sekunden-Bereich gelangen. Dann funktioniert es vielleicht nicht optimal mit ein "blinker-bit". Versuch eventuel ein Zahlen-Wert zu übertragen.


----------



## Jan (23 Januar 2010)

@ HaDi
Ich dachte ich müste die SFC 14 im Slave nutzen um die Daten in meinen DB zu schieben.
Ich habe es auch schon mit SFC20 versucht, hat aber auch nicht funktioniert.

@ Jesper
Ich habe natürlich in der HW-Konfig. vom Master an der CP einen Profibus, an dem der Slave dran ist und auch die Verbindung eingestellt ist.
Ich habe ja auch schon mein Projekt mit dem Beispielprojekt von Siemens verglichen (dort wurde auch der SFC14 verwendet).
Die konsistenten Daten brauche ich schon, sonst muss ich auf beiden Seiten zu viel rechnen.
Das mit dem EW / PEW kann ich mal ausprobieren.
Das mit den 9,6 kBit/s habe ich fast befürchtet, dann werde ich es mal mit einem Wert versuchen (wobei ich beim Testaufbau nur 8 Byte gesendet und 8 Byte empfangen habe).


----------



## JesperMP (23 Januar 2010)

Mit nur 8+8 bytes, und keine weitere DP Stationen, wird TTR ungefähr 2000 ms, aber TTRtyp nur ungefähr 100 ms.
Dann sollte es eigentlich kein Problem sein.

Schau uns deiner gesammte STEP7 Projekt.


----------



## Jan (25 Januar 2010)

*Habe die Fehler gefunden*

Hallo,

ich habe noch mal ne Nacht drüber geschlafen und heute Morgen nochmal drauf geschaut.

Habe drei Fehler gemacht.

1. Ich habe in der HW-Konfig. bei dem Master (CP) mit Adresse 400 
    angefangen (FC1 / FC2 lesen und schreiben aber ab Adresse 0).

2. Ich habe beim Slave ab Adresse 400 geschrieben und gelesen (die 
    Daten werden in dem Prozessabbild geschrieben und gelesen; da dieses 
    nur von 0.0 bis 127.7 geht, war der Bereich zu hoch).

3. Der eingegebene Bereich der Daten war nicht durch acht teilbar (dies 
    ist erforderlich, um die SFC20 im Slave verwenden zu können).

Wenn man weiß wie es geht, ist das in 10 Minuten programmiert; wenn nicht, sitzt man 2,5 Tage dran.

Danke für eure Anregungen und tips.


----------

