# Senden via Ethernet



## amantido (6 April 2010)

Hallo erstmal,

so nachdem ich jetzt lange das Forum durchstöbert habe zwecks Kommunikation zwischen 2 CPUs via Ethernet bin ich zwar schon schlauer aber hab immer noch zwei Fragen.

1. Woher weiß ich welchen dieser ungefähr 20 verschiedenen Send und Receive Bausteine brauche ich? (Es gibt ja FB5/6; FB 8/9; FB14/15; usw...)

2. Welche Verbindung macht am meisten Sinn (ISO on TCP oder S7 Kommunikation etc...)

Die Hardware mit der ich zu tun habe ist sehr unterschiedlich. Nur eines ist gemeinsam, es sind CPUs aus der S7-300er Reihe. Mal an PN/DP (mit integriertem Ethernet) mal mit CP 343-1 ausgestattet.

Keine der CPUs ist mit einer anderen im gleichen Projekt.

Übertragen werden müssen jeweils etwa 2-8 Zustand Bits.

Hoffe ihr könnt mir weiterhelfen.

MfG amantido


----------



## dalbi (6 April 2010)

Hi,

http://www.automation.siemens.com/net/quickstart012003/html_00/allgemein/allgemein.htm

Gruss Daniel


----------



## Taddy (7 April 2010)

Hallo,
Verbindungen? ---> ISO on TCP + unspezifiziert (weil verschiedene Projekte)
FC? ---> FC 5 und FC 6


----------



## amantido (9 April 2010)

Ok, wenn ich diese FCs nehme muss ich die mit ID und LADDR bestücken.

ID bedeutet ja Verbindungs ID. Da muss ich bei Sender und Empfänger das gleiche Eintragen oder?
Und bei LADDR jeweils die des anderen?


----------



## Paule (9 April 2010)

amantido schrieb:


> Ok, wenn ich diese FCs nehme muss ich die mit ID und LADDR bestücken.
> 
> ID bedeutet ja Verbindungs ID. Da muss ich bei Sender und Empfänger das gleiche Eintragen oder?
> Und bei LADDR jeweils die des anderen?


Nein!
ID ist die Verbindungsnummer im Netpro.
Wenn das z.b. Deine 4. Verbindung ist dann musst da eine 4 eintragen.
Das kann beim Empfänger aber die Verbindung 1 sein.
LADDR = Adresse der Baugruppe in der Hardware, aber als Hez angeben.


----------



## amantido (9 April 2010)

Gut ok. Aber woher wissen die beiden SPSen dann zu welcher SPS sie senden bzw. von welcher sie empfangen soll? Ich habe nirgends ne Möglichkeit gefunden die IP des CPs einzutragen.

Wenn ich das ganze irgendwann mal auf die Reihe bekomme, wird es bei mir im Betrieb mehr als 1 Verbindung geben.


----------



## Murdok (9 April 2010)

Bei einem Ethernet-CP kannst du die Ip-Adr. in der Hardware-Konfig. eingeben.


----------



## Paule (9 April 2010)

amantido schrieb:


> Gut ok. Aber woher wissen die beiden SPSen dann zu welcher SPS sie senden bzw. von welcher sie empfangen soll? Ich habe nirgends ne Möglichkeit gefunden die IP des CPs einzutragen.


Die Adresse Deines CPs gibst Du in der Hardware an:
Steuerung > Hardware > Auf CP Klicken > Eigenschaften > IP Adresse einstellen und Netz anwählen.
Die Verbindung zu anderen wird dann im NetPro angelegt.
Die Erkennung der SPSen erfolgt über die TCP/IP Adresse. (NetPro)


----------



## amantido (12 April 2010)

Also im CP ist ja jeweils schon eine IP Adresse vorhanden. Ich kann da nirgends die des Partners eintragen. Ein Subnetz ist auch schon vorhanden.

Habe jetzt 2 Projekte mit NetPro so vorbereitet wie es mir gesagt wurde. Wenn ich jetzt auf Speichern/Übersetzen gehe bringt er mir die Meldung:

Ausgaben zu Verbindungen in SIMATIC 300/CPU 313C-2 DP:
Fehler: SIMATIC 300\CPU 313C-2 DP : 0005 A050: Die projektübergreifende Verbindung wurde noch nicht zusammengeführt (Menü Bearbeiten - 'Verbindungen zusammenführen ...').
Ergebnis: 1 Fehler, 0 Warnungen (12.04.2010 19:08:13)

So gehe ich nun auf Bearbeiten - Verbindung zusammenführen sieht die SPS nur sich selbst. Es ist egal von welchem der 2 Projekte ich darauf gehe ich sehe immer nur diese Meldung.

Muss ich im CP auf "Router verwenden" umschalten?

Gruß amantido


----------



## Paule (12 April 2010)

amantido schrieb:


> Also im CP ist ja jeweils schon eine IP Adresse vorhanden. Ich kann da nirgends die des Partners eintragen. Ein Subnetz ist auch schon vorhanden.


Die Adresse des Partners trägst Du bei der Verbindung im NetPro ein.
Siehe Bild 2:


----------



## amantido (12 April 2010)

Okay dann weiß ich woher dieser Fehler kommt.
Ich bin immer auf:
"In unbekanntem Objekt" gegangen. Da die Partner SPS ja in einem anderen Projekt ist.

So eingetragen konnte ich Speichern/Übersetzen ohne Fehler.

Jetzt hoffe ich nur noch dass ich das mit den FCs hinbekomme.
Warum ruft Siemens diese FCs eigentlich in einem FB auf?


----------



## Paule (12 April 2010)

amantido schrieb:


> Jetzt hoffe ich nur noch dass ich das mit den FCs hinbekomme.


Sonst einfach fragen. 


amantido schrieb:


> Warum ruft Siemens diese FCs eigentlich in einem FB auf?


Musst Du nicht.
Das kannst Du machen wie Du es gerade brauchst oder möchtest.


----------



## amantido (16 April 2010)

Ok also, Hardwaremäßig scheint es nun zu funktionieren.
Ich erhalte aber beim Empfangsbaustein die Fehlermeldung: 
80b0 Baugruppe kennt den Datensatz nicht.

```
U     "M 1.7"
      SPBNB _001
      CALL  "AG_RECV"
       ID    :=5
       LADDR :=W#16#120
       RECV  :=P#DB10.DBX0.0 BYTE 2
       NDR   :="M69.3"
       ERROR :="M69.2"
       STATUS:=MW70
       LEN   :=MW72
_001: NOP   0
```
 
M1.7 ist mein Taktmerker
ID und Laddr hab ich von NetPro übernommen
DB 10 ist mein EmpfangsDB in ihm hab ich nun auch schon so ziemlich alles versucht aber nichts hat bisher geklappt.
Mit der SUFU komm ich auch nicht weiter und die Siemens Hilfe ist was den Fehler angeht nicht sonderlich hilfreich.
so ist es bei mir Konfiguriert


----------



## Paule (16 April 2010)

amantido schrieb:


> Ok also, Hardwaremäßig scheint es nun zu funktionieren.
> Ich erhalte aber beim Empfangsbaustein die Fehlermeldung:
> 80b0 Baugruppe kennt den Datensatz nicht.


Das heißt wenn Du auf den CP im NetPro klickst > Diagnosse > Verbindungen > Brille 
siehst Du den Schwarzen Stecker ohne roten Balken und ohne gelbes Dreieck? Das wäre schon mal gut.

Sendest Du auch wirklich nur 2 Byte?
Hast Du bei beiden CPUs die Systemdaten über das NetPro übertragen? (Wichtig)


----------



## R.Blum (16 April 2010)

Wenn ich mich recht erinnere, werden die Verbindungen ohne zutun der Kommunikationsbausteine aufgebaut, also erst mal den Status in NETPRO Prüfen und da die Verbindung aufgebaut angezeigt wird, kann man sich dem Programm zuwenden.
Die Anzeige in NETPRO ist aber kein Garant, denn wenn die Verbindungen ständig auf- und abgebaut werden bekommt NETPRO davon nur teilweise etwas mit, was dann so aussehen kann als ob die Verbindung immer oder nie aufgebaut ist.

Wenn man eine 400er Steuerung hat und eine Kommunikation angestoßen hat wird im CP der Empfangspuffer nur so groß eingerichtet wie beim Erstaufruf des Kommunikationsbausteins.
Bei einer 300er kann man die Sende-/Empfangslänge im laufenden Betrieb beliebig modifiziert werden.
Das gilt für die AG-SEND/RECEIVE Bausteine. Ob das gleiche für die (S)FB12-(S)FB14 Bausteine auch gilt weiß ich nicht.

Bitte noch beachten, dass die Sende/Empfangs Bausteine aus der richtigen Bibliothek verwendet werden.

Das gilt für die Bausteine FB12-FB14, bzw. SFB12-SFB14 (BSEND, BREC, GET, PUT)

Für AG-SEND FB5/50 und AG-RECEIVE FB6/60 wird nur die SIMATIC_NET_CP Bibliothek verwendet.

Für (S)FB12-(S)FB14 gilt:
CP-Baugruppe: SIMATIC_NET_CP sortiert nach 300/400 CPUs
PN-CPU: STDLIB30 im Programm Communication Blocks


Hier noch mal ein Auszug der Beschreibung von Siemens, hab leider den Oroginal Link dazu nicht.

*Hinweis zur S7 Kommunikation:*
Die S7-Kommunikation wird bei der *S7-300* über die Funktionsbausteine FB14/15 "GET/PUT, FB12/13 "BSEND/BRCV" oder FB8/9 "USEND/URCV" angeboten. Sie funktioniert über: 
 die *integrierte PN-Schnittstelle* mit den Funktionsbausteinen aus der *Standard Libary -> Communication Blocks*. 
 *CPs mit den Funktionsbausteinen aus der SIMATIC_NET_CP libary*.
Bei der *S7-400* erfolgt der Datenaustausch mittels der S7-Kommunikation über Systemfunktionsbausteine SFB14/15 "GET/PUT, SFB12/13 "BSEND/BRCV" oder SFB8/9 "USEND/URCV". Diese finden Sie in der *Standard Libary -> System Function Block* 
*Hinweis zur Kommunikation über die integrierte PN-Schnittstelle der CPU:*
Der Datenaustausch mittels TCP-, ISO-on-TCP- und UDP-Protokoll erfolgt über offene IE Kommunikation. Die Projektierung der Verbindung und des Datenaustauschs erfolgt mittels folgender Kommunikationsbausteine: 
 UDT 65 "TCON_PAR" mit der Datenstruktur zur Verbindungsparametrierung 
 UDT 66 "TCON_ADR" mit der Datenstruktur der Adressierungsparameter des remoten Partners (UDP) 
 FB 65 "TCON" zum Verbindungsaufbau 
 FB 66 "TDISCON" zum Verbindungsabbau 
 FB 63 "TSEND" zum Senden von Daten über TCP und ISO-on-TCP 
 FB 64 "TRCV" zum Empfangen von Daten über TCP und ISO-on-TCP 
 FB 67 "TUSEND" zum Senden von Daten über UDP 
 FB 68 "TURCV" zum Empfangen von Daten über UDP


Gruß Rolf


----------



## amantido (17 April 2010)

> Das heißt wenn Du auf den CP im NetPro klickst > Diagnosse > Verbindungen > Brille
> siehst Du den Schwarzen Stecker ohne roten Balken und ohne gelbes Dreieck? Das wäre schon mal gut.


Muss ich noch schauen hab aber über das Wochenende hin keine Möglichkeit das ganze zu kontrollieren



> Sendest Du auch wirklich nur 2 Byte?


Jo mach ich. Beim Sendebaustein geb ich an P#DB15.DBX0.0 Byte2



> Hast Du bei beiden CPUs die Systemdaten über das NetPro übertragen? (Wichtig)


Ja hab ich. Kam ja dann ne Meldung dass die Systemdaten überschrieben werden.

Ich poste am Montag Bilder der Bausteinaufrufe posten.

Gruß amantido


----------



## amantido (19 April 2010)

Also, hab das ganze nun im NetPro angeschaut.
Bei der Passiven CP ist ein gelbes Dreieck mit Ausrufezeichen, die Statusmeldung lautet: "Passiver Verbindungsaufbau läuft"
Bei der aktiven CP kann ich gar keine Diagnose ausführen. Mein PG schafft es nicht im NetPro eine Verbindung aufzubauen. Ein Online Zugriff kann ich aber durchführen (ebenfalls per Netzwerk) Der Aktive Partner ist eine VIPA CPU mit integriertem CP. Da muss das CP ja projektiert sein (an letzer Stelle) obwohl kein CP eingebaut ist (jeder der mit VIPA zu tun hatte weiß was ich meine)
Wenn ich die Diagnose abbreche fragt er mich auf welchem Slot das CP eingebaut ist. Jetzt die Frage wie kann muss ich das ganze mit einer VIPA CPU aufbauen.


----------



## Paule (19 April 2010)

amantido schrieb:


> Ich poste am Montag Bilder der Bausteinaufrufe posten.


Poste doch mal den Sendebaustein.

Du hast beim Empfangsbaustein bei ID eine 5 eingetragen.
Hast Du mehrere Verbindungen projektiert?
Wenn ja, funktioniert denn eine Kommunikation oder hast Du nur so die Verbindungsnummer 5 gewählt?


----------



## amantido (19 April 2010)

Paule schrieb:


> Du hast beim Empfangsbaustein bei ID eine 5 eingetragen.
> Hast Du mehrere Verbindungen projektiert?
> Wenn ja, funktioniert denn eine Kommunikation oder hast Du nur so die Verbindungsnummer 5 gewählt?


 Ja hab ich einfach so genommen.


----------



## amantido (19 April 2010)

Und noch Anlage 2


Also um das ganze noch genauer zu beschreiben:
Anlage 1:
Sende CPU (Siemens CPU 314 mit CP343-1 Lean)
IP: 10.136.xx.120

Anlage2:
Empfangs CPU (VIPA 313SC integiertem CP)
IP: 10.136.xx.220

Beide SPSen sind im Firmennetz integriert und ich komme auf beide per Netzwerk um zu Programmieren


----------



## HaDi (19 April 2010)

Der integrierte CP343 der VIPA-CPU ist lt. Handbuch für PG/OP-Kommunikation, das verstehe ich im Umkehrschluss so, dass er keine "richtigen" Verbindungen (zu anderen Teilnehmern) kann.
Oder gibt es da andere Erkenntnisse bzw. Aussagen?
Hast du den AG-RECV-Baustein von VIPA drin?

Grüße von HaDi


----------



## amantido (19 April 2010)

Hab vorher mal bei VIPA angerufen, und der Vertreter meinte dass die integrierte PN Schnittstelle nur eine Passive ist. Und ich doch einfach Aktiver/Passiver Verbindungsaufbau tauschen soll. Hab ich gemacht. aber dadurch zeigt die Diagnose nun "Verbindung abgebaut" (bei der Siemens SPS) und bei der VIPA CPU kann ich weiterhin keine Diagnose machen.

Werde morgen früh beim Support von denen anrufen und die nochmal fragen.

Bausteine hab ich FC5/FC6 (musste sie nur umbenennen da FC5/FC6 bereits vergeben waren) genommen. Ich habe nirgends spezielle Bausteine für VIPA gesehen

Richtige Verbindungen kann die VIPA auch, aber es muss von einer Master SPS aus gestartet werden (laut Vertreter), wie gesagt morgen früh werd ich bei denen im Support Center anrufen.


----------



## HaDi (19 April 2010)

amantido schrieb:


> Bausteine hab ich FC5/FC6 (musste sie nur umbenennen da FC5/FC6 bereits vergeben waren) genommen. Ich habe nirgends spezielle Bausteine für VIPA gesehen


VIPA LIB

Grüße von HaDi


----------



## amantido (20 April 2010)

Also es liegt definitiv an der VIPA SPS. Und bei ihr schon an der Hardware Konfiguration.
Habe Testweise 2 Siemens SPSen miteinander verknüpft und die Verbindung war sofort "aufgebaut" (ohne einen Baustein laden zu müssen). Die Verbindung von Siemens zu VIPA steht immer auf "abgebaut".

Warte jetzt ab bis der VIPA Support sich meldet. Mal schauen was die sagen.


----------



## amantido (20 April 2010)

So nun hab ich mit VIPA telefoniert.
Und die Lösung des Problems:
Es gibt keine. Diese 2 CPUs können nicht miteinander kommunizieren. VIPA kann nur S7-Verbindung. Ein CP343-1 Lean kann eine solche Verbindung nicht.


----------



## Longbow (20 April 2010)

amantido schrieb:


> So nun hab ich mit VIPA telefoniert.
> Und die Lösung des Problems:
> Es gibt keine. Diese 2 CPUs können nicht miteinander kommunizieren. VIPA kann nur S7-Verbindung. Ein CP343-1 Lean kann eine solche Verbindung nicht.



Die integrierte Ethernet Schnittstelle (PG/OP-Kanal) der VIPA-CPU kann nur als Server für S7-Verbindungen agieren.
Die VIPA SN-CPUs haben zusätzlich einen vollwertigen CP 343 integriert.

Der CP343-1 Lean von SIEMENS kann auch nur als Server für S7-Verbindungen agieren. (+ RFC1006...)  aber nicht als Client.

Zwei Server können nicht miteinander reden.


----------



## amantido (22 April 2010)

So jetzt läuft alles.

Hab an der VIPA CPU en CP 343-1 Lean angehängt. Dann alles so eingestellt und Programmiert wie Paule es sagte, und tadaaa nun läufts.

Danke an alle die geholfen haben.


----------



## cebalo (22 April 2010)

ich habe nur eine frage an dich
wollte gern mal wissen ob die Zuklyszeit der Datenübertragung zwischen die zwei SPS ermittelt hast?


----------



## amantido (22 April 2010)

cebalo schrieb:


> ich habe nur eine frage an dich
> wollte gern mal wissen ob die Zuklyszeit der Datenübertragung zwischen die zwei SPS ermittelt hast?


Ne hab ich noch nicht. Aber werd ich morgen mal machen. Willst du dann die Zykluszeit beider wissen oder wie schnell die Übertragung geht?


----------



## cebalo (22 April 2010)

eigentlicht beider, hab auch so ein Projekt mit Profinet I/O gehabt und war schwer die Zeit zu ermittelt wenn du es hast, kannst du mir bitte mal zeigen wie du das gemacht hast. Ich meine die Programmierung ok?
danke im voraus


----------

