Step 7 Kommunikation grosser Datenmengen

borromeus

Level-1
Beiträge
2.271
Reaktionspunkte
329
Zuviel Werbung?
-> Hier kostenlos registrieren
Hat wer eine Idee wir man zwischen einer 300er und einer 400er 3 Datenbausteine a 64kB übertragen kann?
AG_SEND/RCV gibt es bei beiden Steuerungen, laut Handbuch ist das aber bei einer 400er auf 240 Byte beschränkt.

Was vielleicht geht ist mittels PUT/GET in einer Schleife zu arbeiten, wo die Adresspointer dynamisch erstellt werden.

Gruß
Karl
 
PUT/GET unterliegt den gleichen (oder zumindest ähnlichen) Beschränkungen bezüglich der Datenmenge.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@ #2
Ja, schon, aber darum meinte ich dass man sich in einer Schleife die Quell-/ Zieladresse mit einem Pointer dynamisch zusammenbastelt und eben 240 Byte Stück für Stück abholt.
Gibt es bessere Lösungen?
Zeit ist vernachlässigbar.
 
Auf welchem Weg willst Du kommunizieren? AG_SEND/AG_RECV kann man nur bei Verbindungen über CP benutzen.
Mit BSEND/BRCV kann man ca. 64kB übertragen über CPU-interne Schnittstellen, nur 32kB wenn es bei der S7-300 über einen CP geht.

Harald
 
Auf welchem Weg willst Du kommunizieren? AG_SEND/AG_RECV kann man nur bei Verbindungen über CP benutzen.
Mit BSEND/BRCV kann man ca. 64kB übertragen über CPU-interne Schnittstellen, nur 32kB wenn es bei der S7-300 über einen CP geht.

Harald
Die Hardware kann ich mir noch aussuchen.
Ich habe dem "300" Partner mal gesagt eine CPU315-2PN/DP + CP343-1 Lean.
Die 400er wird erst gebaut, aber dort kann ich keinen PN-CP verwenden.
BSEND/RCV schaut aber ziemlich gut aus.
 
Synchronisierung/Kennzeichnung von DB-Teilhäppchen bei BSEND geht einfach über R_ID

Mengengerüste und Wissenswertes
- Hilfe zu Systemfunktionen > Index > Gemeinsame Parameter der SFBs/FBs und der SFC/FC der S7-Kommunikation
- Bausteinhilfe zu AG_SEND aufrufen > Siehe auch: FCs für die SEND/RECEIVE-Schnittstelle

Falls doch AG_SEND/AG_RECV: geht bis zu max 8kB

Harald
 
Zuletzt bearbeitet:
Im Handbuch steht bei der S7-400 geht max 240 Byte mit AG_SEND/AG_RECV.
Wenn man es länger braucht soll man AG_LSEND/AG_LRECV verwenden.
Das ist doch kein Problem, wenn es für S7-400 noch zwei verschiedene Bausteine gibt.
Wie werden die Kommunikationsbausteine FC50 "AG_LSEND" und FC60 "AG_LRECV" programmiert?


Bei der 300er geht es erstaunlicherweise aber schon bis 8kB.
Früher gab es auch bei S7-300 getrennte FC AG_SEND und AG_LSEND
Seit Bausteinversion 4.0 kann AG_SEND bis 8kB und AG_LSEND wurde überflüssig.


Hier der offizielle Link zu dem von Dir verlinkten Handbuch (Version 2007)
S7-CPs für Industrial Ethernet Projektieren und in Betrieb nehmen Handbuch Teil A - Allgemeine Anwendung

und zur aktuellen Version (2013)
SIMATIC NET S7-300/400 - Industrial Ethernet / PROFINET S7-CPs für Industrial Ethernet Projektieren und in Betrieb nehmen Projektierungshandbuch Teil A - Allgemeine Anwendung

Die Infos sind aber auch in der mit Step7 installierten Hilfe zur Bibliothek SIMATIC_NET_CP zu finden (siehe mein Beitrag #8) oder hier in der Handbuch-Form
SIMATIC NET, Programmbausteine für SIMATIC NET S7-CPs, Programmierhandbuch

Harald
 
Ich habe dem "300" Partner mal gesagt eine CPU315-2PN/DP + CP343-1 Lean.

Hallo,
weshalb wird hier für die Kopplung nicht die PN Schnittstelle der CPU verwendet? Ich habe demnächst ein ähnliches Projekt und noch nicht oft mit vernetzten CPU's gearbeitet.

Leo
 
Zurück
Oben