Problem mit Profibus-Endgerät oder allgemeine Frage zu Profibus

MandiNice

Level-1
Beiträge
149
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich betreibe ein "spezielles" Profibusgerät an einer CPU313-2DP.
"Speziell" - bedeutet kein Standart Siemensteil
Das Gerät wurde mit einem GSD-File importiert und ich sende 64Byte Steuerdaten über den Peripherie-Ausgangsbereich

Ich schreibe die Daten direkt Byteweise in die PAB's.
Das Gerät folgt meinen Befehlen . Verhält sich aber im NotAus-Fall nicht korrekt - stellt nicht sofort ab.


Ich habe nun vom Hersteller ein Testprogramm für die Simatic bekommen.
Da funktionert es einwandfrei.
Im Testprogramm werden die Daten in einen DB geschrieben und der DB wird dann in einer Schleife den PA-Bereich kopiert.

Wo liegt der Unterschied, wenn ich die Daten direkt in das PAB schreibe oder zuerst in einen DB und dann in die PAB kopieren ?


Wann werden die Daten an den Profibusteiler gesendet ?
Am Ende des Programmzyklus oder kann es auch mitten im Programm gesendet werden ?
Wenn die Daten mitten im Programmzykls gesendet werden können, kann es vorkommen, dass inkonsistente Daten gesendet werden, da das eine PAB schon gesetzt wurde, ein zweites PAB aber noch nicht.

Danke für Eure Hilfe.

lG
Mandi
 
Hallo.

Also wenn du direkt an PAB schreibst wird es auch direkt an die Pheripherie übertragen!Könntest es ja auch einmal im Programm an einer stelle mit dem Baustein SFC 15 "DPWR_DAT" machen.
Ich mach das so und funktioniert eigentich ganz gut!

Mfg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Mandi:
So wie du es beschreibst liegt für mich die Vermutung nahe, dass du dasselbe PAB an unterschiedlichen Stellen im Programm mit unterschiedlichen Werten beschreibst. Den Fehler würde die DB-Variante des Herstellers nicht machen. Hier setzt du die Bits im DB und überträgst dessen Inhalt irgendwann an die Perepherie.

Gruß
Larry
 
@MandiNice
Ich nehme an, dass das Gerät konsistente Daten benötigt.
Wenn Du die Daten Byteweise irgendwo im Programm mit T PAB schreibst, werden Deine Daten exakt in diesem Moment über den Bus gesendet, danach kommt wieder was anderes, dann irgendwann das nächste Byte, Dein Gerät braucht die Daten aber zusammenhängend gesendet, sonst kann es nichts damit anfangen.
Die S7 kann nicht mehr als ein 4 Byte (1 DW) konsistent senden, ohne dass spezielle Programmierung oder SFCs verwendet werden müssen. Diesen Zweck erfüllt die Programmschleife bzw. der SFC15.
 
Zurück
Oben