Step 7 Bsend brecv

widerstand

Level-1
Beiträge
31
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich versuche gerade Daten von einer SPS_1 (S7-400 CPU413-2DP) zu einer anderen SPS_2 (S7-300 CPU314 mit CP 342-5) mit den Bausteinen BSEND und BRECV über PROFIBUS zu übertragen.
eine s7 NetPro Verbindung habe ich schon aufgebaut. ANHANG1
Ich möchte dass die Daten die sich im DB100 der SPS_1 befinden zu der anderen SPS_2 in den DB101 übertragen werden.
Dies möchte ich mit BSEND realisieren. Ich kann aber nur bei SD_1 etwas angeben. Dies ist doch der Bereich wo der Baustein SFB12 weiss woher er die zu sendenden Daten abholen soll? Oder liege ich da falsch?

Wie bekomme ich das hin?

LG

ANHANG1.JPGANHANG2.JPG
 
Ja, sollte so sein.
Wenn du des SFB in deinem Netzwerk markierst und "F1" drückst, bekiommst du die zugehörige Hilfe angezeigt!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja ... und auf der anderen Seite hast du dann ja den Receive-Baustein, der mit der gleichen ID arbeitet und dem teilst du dann mit wo er die empfangenen Daten hinpacken soll ...

Gruß
Larry
 
Was willst du denn ausser bei SD_1 noch eintragen? Da trägst du ein wo dein Zeug ist und wieviel davon.
Und schickst es dann ab. Mit BRECV holst du es dann ab. Natürlich müssen die R_ID von BRECV und BSEND zusammenpassen und die ID deiner VerbindungsID entsprechen.

mfG René
 
Die Daten werden aus irgend einem Grund nicht übertragen.
Wenn ich die Daten mit BSEND übertrage muss es auf der anderen Seite mit BRECV soffort zum empfangen bereitstehen?
Wenn nicht bleiben die Daten so lange irgend wo in der CPU enthalten bis auf der anderen Seite der Baustein BRCV zum empfang (EN_R) aktiviert wird?


Follgende Fehlermeldungen bekomme ich angezeigt: ANHANG3
Anhang3.JPG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eine Kommunikation findet nur statt wenn beide Teilnehmer vorhanden sind.
In deinem Bild sehe ich allerdings keine Fehlermeldung(en) ...

Nachsatz:
du weißt aber schon, dass das MW8 den Merker 9.x beinhaltet ...?
 
JA, ich habe auf Speichern und übersetzen gedrückt...

Hier noch einmal das ganze als Übersicht: ANHANG4.JPG

Habe beide Stationen in der HW-Konfiguration --> Betriebsart als DP Master eingestellt!

Bei dem Status auf der VAT auf der Rechten Tabelle steht W#16#0019 das ist doch als dezimal die 25 und 25 als Fehlermeldung gibt es in der Fehlerinformation in der HILFE nicht

Und auf der linken VAT spuckt der Status mir den Wert W#16#0004 aus dies ist als dezimal 4 bei ERROR = 1. In der Fehlerinformationstabelle steht dazu:

Fehler im Sendebereichszeiger SD_1 bezüglich der Datenlänge oder des Datentyps, oder am Parameter LEN wurde der Wert 0 übergeben

machen ich da irgend einen simplen Fehler?
 
Ja das habe ich einmal aus NetPro gemacht und einmal aus dem SImatic Manager aus. Leider hat es aber auch so nicht geklappt.

Was ich nicht verstehe ist, wo werden denn die Daten gesendet? MUSS gleichseitig auch der Baustein BRCV aktiviert sein damit er in dem Moment in dem der Baustein BSEND gestartet wird die Daten übertragen kann?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte erts einmal nur ein Byte senden..
kann ich einen weiteren DB erstellen in der ich ein Byte festleg und diese dann ander Stelle LEN angeben.
zb. DB3.DBW0 und muss hier in der DB der Wert mit W#16#1 belegt sein wenn ich nur 1 Byte senden möchte? oder wie gebe ich dem Bereich LEN an wieviel byte gesendet werden sollen?
 
machs nicht komplizierter als es ist.

Du hast ja schon einen Pointer auf Deine Sendedaten. und an LEN muss ein Wert größer 0 kleiner gleich der Pointerlänge.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
es scheint jetzt zu funktionieren. Daten über 1 Byte werden übertragen. Es lag genu an LEN. Ich habe folgendes geschrieben

L 1
T MW13

somit steht jetzt in der VAT bei LEN W#16#0001 und die Übertragung klappt. Aber das gleiche habe ich auch auf der anderen SPS gemacht da steht aber immer noch W#16#0000 vertehe ich nicht da muss doch auch W#16#0001 stehen. die Übertragung klappt aber jetzt.
 
und was genau schreiben ich dann bei LEN wenn ich nur 1 byte senden möchte? und wie sieht es bei 10 Byte aus?

wie wärs mit 1 bzw 10? ist doch irgendwie logisch.

Ausserdem gewöhn dir bitte schnell das wortweise adressieren ungerader Adressen. Wortadressen gehören MW0 MW2 MW4 etc.

Das wird dich sonst früher oder später verarschen. Eher früher.


mfg René
 
Zurück
Oben