Ethernet: BSEND zyklisch aufrufen? Performenz vergleich (S7,TCP/IP,ISO)

Ligatschow

Level-1
Beiträge
65
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Kollegen,

ich möchte folgendes wissen. Ich betreibe auf 11 Stück S7-417 Steuerung mit Ethernet-CP 443-1EX11 zu jeder S7 eine S7-Verbindung. Der Aufruf des SFB12 BSEND erfolgt zyklisch im OB1.

Hat jemand Erfahrung ob man den BSEND zyklische aufrufen darf! Wie wirkt sich das auf den Ethernet aus. Oder ist es nicht besser den BSEND im OB33 (500ms) aufzurufen um die Telegrammlast zu reduszieren. Das Eternet ist ein 100MBit Netz.

Ich habe einmal hier im Forum eine Bewertung der verschiedenen Verbindugsarten (S7,TCP/IP,ISO usw.) gelesen. Kann mir jemand den Link auf dieses Thema schicken?

Das Problem ist das mein zur Zeit verfügbarer Internetzugang sehr langsam ist.
 
Wenn Du Step7 auf Deinem PC hast, liegt dort auch ein PDF mit der Beschreibung BSEND/BRCV. Zitat:

Der erfolgreiche Abschluß des Sendevorgangs wird am Zustandsparameter DONE mit 1 angezeigt.
Nach Abschluß eines Sendevorganges, kann erst wieder ein neuer Sendeauftrag bearbeitet werden, wenn die Zustandsparameter DONE oder ERROR den Wert 1 angenommen haben.

Aufgrund der asynchronen Datenübertragung kann ein erneutes Senden von Daten erst gestartet werden, wenn die vorhergehenden Daten durch Aufruf des Partner-SFB/FB abgeholt wurden. Bis die Daten abgeholt wurden, wird beim Aufruf des SFB/FB "BSEND" der Statuswert 7 (s.u.) ausgegeben.

Also zyklisches Senden sollte ausfallen, auch 500ms halte ich je nach zu verschickenden Datenmenge für ganz schön heftig, wenn soviele Sender an einen Empfänger schicken.

Dein Internetzugang geht nicht zufällig übers gleiche Netzwerk:rolleyes: ?
 
Danke für die Antworten.

Also ich sende nicht über diese Internetverbindung aus zentral Indien sondern über einen 100MBit Ethernet!

Nochmals die Frage: Natürlich halte ich die Konventionen für den Aufruf des BSEND ein! Aber was ist wenn ich immer wenn ich Senden kann auch sende?

Wäre es in diesem Fall nicht besser den Sendeaufruf in den 500ms OB oder vieleicht sogar in den 1s OB zu legen.

Vieleicht ist es ja auch so das dem Ethernet das egal ist wenn man immer sendet wenn man senden kann. Aber ich meine der Trafic auf dem Netz wird auf jeden Fall deutlich erhöht!

Gruss Ligatschow
 
Leider weiß ich nicht, welche Datenmengen Du verschickst?

Ich habe mal gelernt:
-das ab einer Auslastung von ca. 30% die Nutzdatenrate eines Ethernets deutlich sinkt - wegen der dann immer mehr zunehmenden Kollisionen.
- das jeder Teilnehmer nur für eine maximale Zeit (30ms) am Stück senden darf, dann wird er zwangsgetrennt

Wenn Du mal rechnest:
Anzahl der Sender * Paketgröße in Byte * 8Bit * Anzahl Sendungen pro Sekunde zuzüglich eines Zuschlages von 10% für Protokolloverhead usw. und es kommen mehr als 30 Millionen raus, denke ich schon das die Datenmenge das Netz langsamer werden läßt.

Bei einer Anwendung mit einem Datenkonzentrator habe ich ein Netzwerk mit S5 und S7-400 in einem 10MBit-Netz mit 8 Sendern, wo jeder Sender so schnell wie möglich sendet, allerdings mit SEND und nicht BSEND. Die S5 (zwei CPU 928 teilen sich eine CP143 im Rack) schaffen es alle 2 Sekunden mal 1000 Byte zu schicken, die S7-400 mit CP443 schaffen es 2-3 mal pro Sekunde je 2-4000 Byte zu schicken.

Die FB Send laufen zyklisch im OB1 - die Sendebits werden allerdings in einem Zeit-OB mit 100ms Grundtakt erzeugt. Das ist aber nur so, weil der Auftraggeber mal zyklisch alle 100ms seine Daten haben wollte.

Achja - Forumsuche:
http://www.sps-forum.de/showthread.php?t=1183&highlight=UDP

http://www.sps-forum.de/showthread.php?t=11444&highlight=UDP

Evt. hilfts ja weiter....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also, ich hab mich mal mit dem Thema beschäftigt
http://www.sps-forum.de/showthread.php?t=9946
http://www.sps-forum.de/showthread.php?t=10631

Soweit mir Bekannt ist, muss der Baustein BSEND zyklisch aufgerufen werden, da pro Aufruf ein Datenhappen gesendet wird. Erst wenn alles gesendet wurde, wird das Signal "Done" ausgegeben.

Um das Senden im Zaum zu halten, wäre z.B. denkbar, nur alle 1 sek oder 2 sek das Senden anzustoßen, bzw. den nächsten Sendevorgang erst 500ms oder 1 sek nach "Done" zu starten. Wird das Senden zyklisch angestoßen, läufst Du Gefahr, dass irgendwann der Empfangspuffer der Gegenüber-Station überläuft, und diese Daten verwerfen muss.

Das Problem mit dem Pufferüberlauf ist mir vor 2 Jahren passiert. 4 gleiche Anlagen mit Verbindungen über Iso-Transport. Bei allen wird das Senden zyklisch gestartet - bei 1 hatte ich das Problem, dass die Verbindung z.T. 1-2 sek zum Stillstand kam, weil beim Empfänger der Empfangspuffer überlief.


mfg
Maxl
 
Zurück
Oben