TIA S7 1200 Empfangsspeicher löschen

Magoo50

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,
Als neuer Nutzer des TIA-Portal gleich die erste Hürde.
Ich will eine offene Verbindung mit den Bausteinen TCON, TRECV und TSEND aufbauen. (temporär auf eine 315)
Stand:
Die Verbindung wird aufgebaut, Daten werden gesendet. Partner spiegelt die gesendeten Daten zurück.
Nun das Problem: Nachdem das Empfangen einige Zeit funktioniert hat, empfange ich plötzlich die Daten auf 2 Telegramme verteilt.
(ich arbeite mit fester Telegrammlänge (LEN <>0)).
Gibt es eine Möglichkeit, den Empfangsspeicher zu löschen / initialisieren / redeten ?

Noch einen schönen Nachmittag

Magoo50
 
Die Verbindung wird aufgebaut, Daten werden gesendet. Partner spiegelt die gesendeten Daten zurück.
Wer ist der Partner?

Nun das Problem: Nachdem das Empfangen einige Zeit funktioniert hat, empfange ich plötzlich die Daten auf 2 Telegramme verteilt.
(ich arbeite mit fester Telegrammlänge (LEN <>0)).
Wenn du mit fester Länge arbeitest? Ist dann nur ein Teil der Daten im ersten bzw. zweiten Telegramm und der Rest ist Leer?
Wie groß ist LEN?

Gibt es eine Möglichkeit, den Empfangsspeicher zu löschen / initialisieren / redeten ?
Was passiert wenn die CPU neustartest oder die Instanz-DBs bzw. den Kommunikations-DB neu einspielst?
Ist dann wieder Ruhe?

Ob es nicht besser ist zuerst die Ursache für dieses Verhalten zu finden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo RONIN,

danke für die schnelle Antwort.

[QUOTE=RONIN;526232]Wer ist der Partner?[/QUOTE]

Zum Testen nutze ich eine S7 325-2 PN/DP

[QUOTE=RONIN;526232]Wenn du mit fester Länge arbeitest? Ist dann nur ein Teil der Daten im ersten bzw. zweiten Telegramm und der Rest ist Leer?
Wie groß ist LEN?[/QUOTE]

Ja genau. Als Länge habe ich 28 Bytes

[QUOTE=RONIN;526232]Was passiert wenn die CPU neustartest oder die Instanz-DBs bzw. den Kommunikations-DB neu einspielst?
Ist dann wieder Ruhe?[/QUOTE]

Nach Neustart, bzw Laden der DB's erfolgt keine Besserung

[QUOTE=RONIN;526232]Ob es nicht besser ist zuerst die Ursache für dieses Verhalten zu finden.[/QUOTE]

Da gebe ich Dir recht.
Der Punkt ist doch, ich sende 28 Byte zur S1200 (zu sehen im Sendebereich der S7 315)
Die S7 1200 empfängt 28 Bytes, zu sehen an "RCVD_LEN" in Verbindung mit "NDR".
Die Daten beginnen jedoch nicht im 1. Byte. Nach einigen Bytes mit 16#00 beginnen die Nutzdaten
bis zur Menge von 28 Byte. Danach folgt ein weiteres Telegramm mit den restlichen Nutzdaten aufgefüllt
mit leeren Bytes bis Telegramm-Ende -28 Byte-

Das dieser Zustand eintritt ist schon schlimm,
doch wie kann ich den Zustand wieder stabil und sicher bekommen ?

 
Zuletzt bearbeitet:

Nach Neustart, bzw Laden der DB's erfolgt keine Besserung

Anders, wenn du die Kommikation stoppst (kein REQ an den T-Bausteinen, T-DISCON oder CPU-Stopp auf beiden Seiten) und dann die
Instanz-DBs der T-Bausteine glattbügelst und dann auch noch die Komm-DBs reinitialisierst, dann sollte eigentlich Schluss sein.

Der Punkt ist doch, ich sende 28 Byte zur S1200 (zu sehen im Sendebereich der S7 315)
Die S7 1200 empfängt 28 Bytes, zu sehen an "RCVD_LEN" in Verbindung mit "NDR".
Die Daten beginnen jedoch nicht im 1. Byte. Nach einigen Bytes mit 16#00 beginnen die Nutzdaten
bis zur Menge von 28 Byte. Danach folgt ein weiteres Telegramm mit den restlichen Nutzdaten aufgefüllt
mit leeren Bytes bis Telegramm-Ende -28 Byte-
Überschneiden sich die Sende und Empfangsdaten-Bereiche an den T-Bausteinen?
Soll heißen: Arbeiten TSEND und TRECV im selben Datenbereich?

Voll allem dort wo du das Telegramm "spiegelst".
TSEND und TRECV arbeiten azyklisch zu OB1.
Der Inhalt der Empfangsdaten eines TRECV ist bis zum Ausgeben des NDR nicht konsistent, könnte also sein
dass du mit dem TSEND auf Daten zugreifst die, sozusagen, noch nicht vollständig angekommen sind.

Bin mir allerdings, aus dem Kopf raus, über das Konsistenzverhalten der T-Bausteine bei LEN<>0 nicht sicher.
Versuch doch mal
die Daten nur nach Erhalt des NDR vom TRECV, in den Sendebereich des TSEND zu kopieren.



Das dieser Zustand eintritt ist schon schlimm,
Wie gesagt, normal ist es nicht. Aber ich glaube es wird einen Grund dafür geben. :grin:
 
Morgen, hier bin ich noch einmal,


Anders, wenn du die Kommikation stoppst (kein REQ an den T-Bausteinen, T-DISCON oder CPU-Stopp auf beiden Seiten) und dann die
Instanz-DBs der T-Bausteine glattbügelst und dann auch noch die Komm-DBs reinitialisierst, dann sollte eigentlich Schluss sein.

All das schon versucht, leider ohne ersichtlichen Erfolg.


Überschneiden sich die Sende und Empfangsdaten-Bereiche an den T-Bausteinen?
Soll heißen: Arbeiten TSEND und TRECV im selben Datenbereich?


Nein, Empfangs- und Sendebereich sind zwar im selben DB, haben aber getrennt Bereiche.


Voll allem dort wo du das Telegramm "spiegelst".
TSEND und TRECV arbeiten azyklisch zu OB1.
Der Inhalt der Empfangsdaten eines TRECV ist bis zum Ausgeben des NDR nicht konsistent, könnte also sein
dass du mit dem TSEND auf Daten zugreifst die, sozusagen, noch nicht vollständig angekommen sind.

Das Spiegeln der Daten geschieht in der Partner-CPU (315-2 PN/DP)
Auch hier sind die Empfangs- und Sendebereiche getrennt und die Daten in den Bereichen im Online so wie erwartet.

Wie gesagt, normal ist es nicht. Aber ich glaube es wird einen Grund dafür geben. :grin:

Du triffst den Nagel auf den Kopf.

Das bisher beschrieben Problem bestand bei einem Empfangsbereich von 50 Bytes und einer Länge von 28 Bytes.
Ich habe jetzt den Empfangsbereich auf ebenfalls 28 Bytes reduziert.
Dadurch erhalte ich nur noch ein Telegramm, hier aber die Daten seltsam gemischt. Ein System lässt sich hierbei nicht erkennen.

Ein weiteres Phänomen:
Wenn die Partner-SPS nicht sendet, die Test-SPS aber empfangsbereit ist, so meldet sie mir alle 28(!) Sekunden ein Telegramm,
mit 28 mal dem gleichen Byte-Inhalt, und zwar das 1. Byte des letzten empfangenen Telegramm.
(Bei einem Empfangsbereich von 50 Bytes alle 50 Sek.)

Meine Sorge besteht darin, dass durch Fehlverhalten des Partners (z.B. falsche Telegrammlänge) die SPS in einen fehlerhaften Zustand gerät,
der durch Programmierung nicht abgefangen bzw. wieder bereinigt werden kann.

Danke für die Unterstützung
 
Hallo Forum,

ich möchte dieses Problem abschliessen.

Danke für die Versuche mir zu helfen.
Leider habe ich die Partner-SPS (S7-319) unsauber programmiert, sodass sie sporadisch Telegramme einstreute.

Nochmals vielen Dank und bis zum nächsten Mal

Magoo50
 
Zurück
Oben