TIA TRCV TSEND auf 2 verschiedenen Ports mit der gleichen IP-Adresse möglich ?

Softi79

Level-1
Beiträge
220
Reaktionspunkte
12
Zuviel Werbung?
-> Hier kostenlos registrieren
Nabend zusammen,

ich muss mit einer 1200 Steuerung mit einem PC kommunizieren und auf zwei verschiedenen Ports Daten verarbeiten

IP-Adresse SPS: 192.168.178.1
IP-Adresse PC: 192.168.178.2


Also
Verbindung_1: SPS senden an PC auf Port 2000 und soll ebenfalls auf Port 2000 empfangen
Verbindung_2: SPS senden an PC auf Port 2001 und soll ebenfalls auf Port 2001 empfangen

Die SPS soll muss der Server sein.

Bisher habe ich das ganze mit einer Verbindung über TRCV_C und TSEND_C gelöst, dies hat auch funktioniert, jetzt soll eine zweite Kommunkkation über Port 2001 aufgebaut werden, beide Verbindungen senden und Empfangen Zyklisch...
Jeder Baustein hat eine eigene Verbindungs ID es kommt immer auf einem Kanal die Fehlermeldung 80C4, mal funktioniert der eine mal der andere aber nie alle Gleichzeitig, unter Verbindungsresourcen habe ich ein Warnung..... zu viele Verbindungen.

Wie viele Verbindungen brauche ich für diesen Aufbau 1, 2 oder 4 ?

Im Suport Forum von Siemens habe ich gefunden dass man wohl die Kombination TRCV_C <=> TSEND und TSEND_C <=> TRCV verwenden soll, die Bausteine von der gleichen "Gruppe" würden sich stören....

Vorab schon mal Danke für eure Tipps

Gruß Softi
 
Moin Softi79,

Im Suport Forum von Siemens habe ich gefunden dass man wohl die Kombination TRCV_C <=> TSEND und TSEND_C <=> TRCV verwenden soll, die Bausteine von der gleichen "Gruppe" würden sich stören....

Ja, die stören sich. Interessant, dass es bisher funktioniert hat.
Also: das _C am Baustein steht für Communication und gibt an, dass damit die Verbindung verwaltet (aufgebaut, abgebaut, diagnostiziert,...) wird. Das kann ja nicht zweimal für ein und dieselbe Verbindung richtig sein.
Früher gab es folgende Bausteine:
TCON
TDISCON
TSEND
TRCV
T_RESET
T_DIAG
T_CONFIG

In den Bausteinen TRCV_C und TSEND_C sind jeweils die Bausteine TCON, TDISCON, T_DIAG, ... enthalten. Also eigentlich wird nur die Menge der aufzurufenden Bausteine reduziert.
Aber man ruft ja auch nicht TCON 2x auf, um eine Verbindung aufzubauen.

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ok gut erklärt, hätte man früher damals als es noch keine "_C" Bausteine gab den TCON dann 1 oder 2 mal aufrufen müssen? Also für Port 2000 eine Verbindung und für Port 2001 eine Verbindung ?
 
ich hatte jetzt kürzlich eine ähnliche anwendung (meine erste auf dieses art).
ich hatte tsend_c und trcv_c verwendet. dies baut 2 verbindungen auf.
der pc antworte aber auf dem gleichen port welcher vom tsend_c aufgebaut wurde.
das hat so also nicht funktioniert.
des rätsels lösung war dann.
tsend_c (welcher die verbindung aubaut) und der normale rcv (ohne c)
dort musst du dann die id des tsend_c angeben.
das sollte auch mit mehreren verbindungen klappen
 
Moin Softi79,

ok gut erklärt, hätte man früher damals als es noch keine "_C" Bausteine gab den TCON dann 1 oder 2 mal aufrufen müssen? Also für Port 2000 eine Verbindung und für Port 2001 eine Verbindung ?

Ja, genau so ist es: man musste TCON zweimal mit unterschiedlichen Parametern aufrufen um zwei Verbindungen aufzubauen. Dabei hat jede Verbindung ihre ID bekommen und mit dieser ID hat man dann die Bausteine TRCV und TSEND aufgerufen.

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusammen,

ich habe jetzt
1x TRCV_C + TSEND ==> Funktioniert dürfte ja egal sein ob so wie beschrieben oder TSEND_C + TRCV oder?

sobald ich aber für den zweiten Kommunikationsweg mit unterschiedlicher ID und Port Nr. starte dann kommt die Fehlermeldung 80C4

Die SPS ist in beiden fällen der passive Part deshalb die Einstellung AcctiveEstablished = FALSE;
Muss ich bei RemotePort oder bei LocalPort oder bei beiden den Port eintragen ?

Gruß Softi
 
Moin Soft79,

ich bin da nicht 100% sattelfest.
Aber der remote Port muss natürlich eingetragen werden, sonst weiß Deine Verbindung ja nicht, an welcher "Tür" sie anklopfen soll.
Auch der Partner braucht die Information zur richtigen "Tür" (local Port).

Beispiel:

Verbindung 1:

eigene Steuerung (local Port): 2000
entfernter Partner (remote Port): 2001

Verbindung 2:

eigene Steuerung (local Port): 2002
entfernter Partner (remote Port): 2003


Das muss der Partner dann natürlich auch richtig eintragen:

Verbindung 1:

eigene Steuerung (local Port): 2001
entfernter Partner (remote Port): 2000

Verbindung 2:

eigene Steuerung (local Port): 2003
entfernter Partner (remote Port): 2002

Jetzt weiß jeder wo er bei welcher Verbindung anzuklopfen hat.


VG

MFreiberger
 
Bei einer passiven Verbindung sollte der remote Port egal sein, die SPS muss ja nicht "anklopfen" sondern soll eingehende Verbindungen von der remote IP annehmen. Den Verbindungspartner auf einen bestimmten remote/Absender-Port zu zwingen ist eher unüblich.
Es muss der lokale Port angegeben werden, auf dem die SPS auf eingehende Verbindungswünsche des Partners wartet/lauscht.

@Soft79
Hast Du für beide Verbindungen unterschiedliche lokale Port projektiert?

Harald
 
Zurück
Oben