Step 7 Projektierte TCP Verbindung mit Ziel "unspezifiziert" , max 240 Bytes?

cocojack

Level-1
Beiträge
29
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Schönen guten Tag,

ich habe mir mit s7-pro ein Testprogramm erstellt, welches Daten von einer zur anderer CPU sendet,

ich habe insgesamt jeweils 2 mal :
CPU315
CP343-1
CP343-1 Lean

Dabei kann ich mit einer offenen Verbindung vom CPU zur CP343-1 meine gewohnten 8kB per TSEND (an AG_RECV) verschicken, welche auch in der anderen CPU korrekt ankommen, jedoch wenn ich versuche mit AG_SEND über eine projektierte Verbindung an die CPU (TRCV) sende kommen nur 240 Bytes an.

In der Beschreibung des AG_SEND steht, dass für eine S7-400 bei AG_SEND maximal 240 Bytes möglich sind. Kann es sein dass die S7 aus Gründen mein Paket darauf begrenzt, da ich nicht angegeben habe, dass mein Ziel eine S7-300 ist?

lg Coco
 
In der Beschreibung des AG_SEND steht, dass für eine S7-400 bei AG_SEND maximal 240 Bytes möglich sind. Kann es sein dass die S7 aus Gründen mein Paket darauf begrenzt, da ich nicht angegeben habe, dass mein Ziel eine S7-300 ist?
Nein, das heißt nur das du bei einer S7-400 die "Long-Bausteine" LSEND / LRECV nehmen musst, wenn du über 240 Byte hantieren möchtest.
Für die S7-300 gibt es nur den normalen SEND/RECV
Wie alt sind deine CPU / CP's?
Bei älteren Varianten musste man explizit im Hardwaremanager den Haken setzen wenn man mehr als 240 Byte senden wollte.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die CPUs sind alle beide V3.0

wenn ich jeweils über eine "korrekt" projektierte Verbindung gehe (sprich sps auf sps) dann funktionieren die AG_X Bausteine auch tadellos, jedoch möchte ich hier etwas ungewöhnlicheres machen. Die Verbindung wird auf "(unspezifiziert)" projektiert. Auf der "unspezifizierten" Seite wird nun mit TRCV empfangen.
 
jedoch möchte ich hier etwas ungewöhnlicheres machen.
Was "gewöhnlich" möglich ist: CPU-CPU Kommunikation mit SIMATIC Controllern (Kompendium)
siehe die Kapitel 19.2.2, 19.4.2, 31 und 32

Die TSEND/TRCV-Bausteine funktionieren nur für Verbindungen über die CPU-integrierte PN-Schnittstelle, jedoch nicht über CP. Über CP sind AG_SEND/AG_RECV zu verwenden. Mit dem OC Wizard kann man keine Verbindungsbeschreibung für Verbindungen über CP343-1 erstellen ...

Ich sehe bei Deiner Hardwareaufzählung keine PN-CPU.

Harald
 
ich dachte die CPU315 gibts nur als PN

also es ist eine CPU315 2PN/DP

Meine Verbindung:

CPU315 2PN/DP---"TSEND"---> 8kb ----"AG_RCV"--->CP345-1 |(angekommen :8kb)
CP345-1---"AG_SEND"--->8kb---"TRCV"--->CPU315 2PN/DP | (angekommen : 240 Bytes )

NetPro:
CPU315 2PN/DP Vernetzt mit "Ethernet(1)"
CP345-1 Vernetzt mit "Ethernet(1)", Projektierte Verbindung mit CPU315 -> "(unspezifiziert)" , 192.168.0.1:2000 (ja korrekte IP)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wertest Du die RCVD_LEN aus NUR bei NDR=1? (vielleicht gibt TRCV die 240 nur als Zwischenmeldung?)

Wie sieht Dein TRCV-Bausteinaufruf aus?
Steht am LEN-Eingang 8192 ?
Zeigt der Empfangsbereich-ANY an DATA auf einen Bereich P#...BYTE 8192 (Zugriffsbreite 8192 Byte)?

In der Verbindungsbeschreibung der Parameter "connection_type" ist B#16#12 ?

Ist bei der Empfangs-CPU nur an der CPU-PN-Schnittstelle ein Netzwerkkabel angeschlossen? Nicht, daß tatsächlich über den CP empfangen wird ...

Harald
 
ich werte die RCVD_LEN nur bei NDR=1 aus, müsste ich mal überprüfen.

ich habe den LEN eingang freigelassen, aber es auch schon mit 8k versucht, kein Erfolg.
Zeiger-Bereich zeigt auf P#DBX2.0 BYTE 8192 (DBX0.0 ist für die Länge)
connection_type stimmt auch.

Alle Module hängen am Ethernet(1).
 
Zurück
Oben