TIA TRCV_C S7-1500 / TCON S7-300 ==> unbekannter Fehlercode

MFreiberger

Level-3
Beiträge
3.309
Reaktionspunkte
945
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Zusammen,

ich moechte gerne eine TCP-Verbindung zwischen einer S7-1515F 2 PN (TRCV_C) und einer S7-317F 2 PN/DP (TCON) aufbauen.
Nach einigen Problemen konzentriere ich mich gerade auf die Verbindung an sich.

Hardware:
- S7-1515F 2 PN (Schnittstelle X2/P1)
- S7-317F 2 PN/DP (Schnittstelle X2/P1)
- Switch XF204

Probleme, Einstellvarianten, etc.:
  • HW-Kennung 1500er:
    • X1 = 64
    • X1/P1 = 65
    • X1/P2 = 66
    • X2 = 72
    • X2/P1 = 73
    • ich gehe von 72 aus, da dies ja die Schnittstelle identifiziert
  • HW-Kennung 300er
    • X1 = MPI/DP
    • X2 = 64
    • Ich gehe davon aus, dass hier fuer X2/P1 und X2/P2 auch 65/66 vergeben sind. Da dies aber in jedem Besipiel mit 64 beschrieben ist, trage ich das auch ein (dies ist auch mein Grund, bei der 1500er 72 einzutragen)
  • Verbindungs-ID habe ich auf 1 gestellt
  • Connection-type:
    • 300er: b#16#11 (TCP)
    • 1500er: b#16#B (TCP) oder "...zu Kompalitaetszwecken..." b#16#11 ==> habe ich auf b#16#11 eingestellt
  • 1500er: aktiv
  • 300: passiv
  • IP-Adressen passen
  • Ports passen (kreuzweise auf beiden Seite = 2000)

Grundsätzlich habe ich auch schon mehrfach Kommunikation dieser Art aufgebaut, allerdings bisher immer S7-300er <-> PC.

Ich bekomme jetzt auch auf beiden Seiten Statusanzeigen, die NICHT in der jeweiligen Dokumentation vorhanden sind:
  • 300er (TCON): w#16#877F (statisch, d.h. egal was ich mache, die Anzeige aendert sich nicht)
  • 1500er (TRCV_C): w#16#80c5 (toggelt mit w#16#7001, wenn CONT = TRUE)

Fragen:
  • fuer die ganzen Ports kann man ja spezifizierte Partnerports vergeben (steht bei auf "beliebiger Partner"). Koennte das ein Problem sein?
  • Sicherheitseinstellungen der 1500er ==> Zugriffsschutz steht auf kein Zugriff - kann man hier irgendwo ein passwort vergeben?


mfg
MFreiberger
 
Zuletzt bearbeitet:
Ich bekomme jetzt auch auf beiden Seiten Statusanzeigen, die NICHT in der jeweiligen Dokumentation vorhanden sind:
  • 300er (TCON): w#16#877F (statisch, d.h. egal was ich mache, die Anzeige aendert sich nicht)
  • 1500er (TRCV_C): w#16#80c5 (toggelt mit w#16#7001, wenn CONT = TRUE)
Deine Fehlercodes sind schon dokumentiert...

S7-300:
F1-Hilfe zu Baustein TCON, Bereich mit den Fehlercodes, letzte Zeile in Tabelle
Code 8xyy | Allgemeine Fehlerinformation - Dem "Siehe Auch..."-Link folgen
Dort ist dann eine Erklärung wie Siemens Standard-Fehlercodes (Nicht-Bausteinspezifisch) aufgebaut sind. Ganz unten gibt es wieder eine Tabelle mit dem Eintrag...
Code 8x7F | Zeigt einen Fehler am Parameter x an.

Demnach meldet der Baustein dass er mit Parameter 7 nicht einverstanden ist.
Hab nie ganz kapiert wie die Nummerierung funktioniert, aber im Endeffekt kanns eh nur einer der Eingangsparameter sein.​
S7-1500
Der Code ist eh direkt dokumentiert...
Code 80C5 | Der Verbindungsparter verweigert den Verbindungsaufbau....usw.

Mal so ein paar Einwürfe.

  • Wie hast du die CONNECT-Verbindungsdaten erstellt? Selbst oder von TIA erstellen lassen?
  • Am CONNECT-Eingang der 300 muss ein TCON-PARAM (UDT65) hängen.
  • Von welcher HW-Kennung sprichst du? Wo trägst du die ein?
  • Wenn die CPUs im gleichen TIA-Projekt sind kannst du die Verbindungs-Projektierung ja gleich von TIA erledigen lassen...

 
Moin,

erst einmal vielen Dank für Eure Antworten!

S7-300:
F1-Hilfe zu Baustein TCON, Bereich mit den Fehlercodes, letzte Zeile in Tabelle
Code 8xyy | Allgemeine Fehlerinformation - Dem "Siehe Auch..."-Link folgen
Dort ist dann eine Erklärung wie Siemens Standard-Fehlercodes (Nicht-Bausteinspezifisch) aufgebaut sind. Ganz unten gibt es wieder eine Tabelle mit dem Eintrag...
Code 8x7F | Zeigt einen Fehler am Parameter x an.

Demnach meldet der Baustein dass er mit Parameter 7 nicht einverstanden ist.
Hab nie ganz kapiert wie die Nummerierung funktioniert, aber im Endeffekt kanns eh nur einer der Eingangsparameter sein.

Tatsächlich hört die Tabelle bei mir mit dem Eintrag 8x45 auf :confused:.

S7-1500
Der Code ist eh direkt dokumentiert...
Code 80C5 | Der Verbindungsparter verweigert den Verbindungsaufbau....usw.

Ich fürchte hier liegt der Hase im Pfeffer. Jetzt habe ich allerdings ein Problem: wenn ich für die CPU "kein Zugriff" einstelle, benötige ich für die OUC ein DNS-Server im Netz um die Zugangsdaten zu hinterlegen. Das habe ich nicht.
Ich würde den Zugriff gerne erlauben, aber:
Unter "Globale Security-Einstellungen" kann ich mich nicht mehr anmelden, da ich das Passwort nicht mehr weiß :oops:. Eigentlich benutze ich immer unser Standard-Passwort für solche Sachen. Allerdings hat sich diese Programm von "ersten Versuchen", zu der auch die Security-Einstellungen gehört, zu einem Programm entwickelt, dass wir nutzen wollen.
Ich habe schon überlegt ein zweites Projekt anzulegen und da alle Bausteine über ein Bibliothek hineinzukopieren...

Inzwischen habe ich das ganze Projekt über eine globale Bibliothek in ein neues Projekt geholt. Jetzt sind die globalen Security-Einstellungen weg, aber ich kann an der CPU wieder "Vollzugriff" einstellen. Leider hat es nicht geholfen. Ich habe weiterhin die gleichen Fehleranzeigen an den Bausteinen.

Wie hast du die CONNECT-Verbindungsdaten erstellt? Selbst oder von TIA erstellen lassen?

...von TIA erstellen lassen (als Datentyp "TCON_IP_v4" verwendet).

Am CONNECT-Eingang der 300 muss ein TCON-PARAM (UDT65) hängen.

...ganau. So habe ich es gemacht.

Von welcher HW-Kennung sprichst du? Wo trägst du die ein?

Mit der Hardware-Kennung meine ich:
  • S7-1500: "InterfaceID" (erster Eintrag in den Verbindungseinstellungen)
  • S7-300: "block_length" (erster Eintrag in den Verbindungseinstellungen (UDT65))
Im TIA-Portal unter der CPU: Gerätekonfiguration > CPU wählen > PROFINET-Schnittstelle [X1] > HW-Kennung (unterster Eintrag)
Ich nutze die PROFINET-Schnittstelle [X2] (1515F-2 PN), hier steht 72 drin.
Unter "Erweiterte Optionen" sind noch spezifischere HW-Kennungen eingetragen (hier wird der Port spezifiziert).

Wenn die CPUs im gleichen TIA-Projekt sind kannst du die Verbindungs-Projektierung ja gleich von TIA erledigen lassen...

Das geht nicht, da wir in der jeweiligen Anlage die Verbindung zu einem Office-Rechner aufbauen müssen.

mfg
MFreiberger
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Zusammen,

ich bin einen kleinen Schritt weiter:
In der 300er hatte ich am CONNECT-Eingang den DB angetragen, der die UDT65 enthaelt.

Mein DB: DB165 "DB_TCON_PAR"

Ich habe nur DB_TCON_PAR an den CONNECT-Eingang geschrieben...:roll:
Haette ich den Pointer angetragen (P#DB165.DBX0.0 BYTE 64), haette ich gleich gesehen, dass "PARAMETER" fehlt.
Durch TIA bin ich inzwischen einfach zu sehr an symbolische Adressierung gewoehnt, nur dass ich es hier nicht durchgezogen habe.

Allerdings: meine Struktur im DB heisst "T_CON". Woher kommt der Name "PARAMETER"???

Jetzt versucht die 300er eine Verbindung aufzubauen, leider will die 1500er noch nicht....

mfg
MFreiberger






In den Kommunikationseinstelllungen der 1500er fehlte noch was. Jetzt habe ich Folgendes eingestellt:

Datentyp: TCON_IP_v4
InterfaceID: HW_ANY = 72
ID: CONN_OUC = 16#0001
ConnectionType: BYTE = 16#11 (in der Beschreibung steht 16#0B, aber aus Kompatibilitätsgrunden 16#11 für TCP)
ActiveEstablished: BOOL = TRUE
RemoteAddress.ADDR[1]: BYTE = 16#C0 (192)
RemoteAddress.ADDR[2]: BYTE = 16#A8 (168)
RemoteAddress.ADDR[3]: BYTE = 16#FB (251)
RemoteAddress.ADDR[4]: BYTE = 16#63 (99)
RemotePort: UInt = 2000
LocalPort: UInt = 2000


mfg
MFreiberger



Bei der OUC scheint der Zugriffschutz bzgl. der Kommunikation von S7-300 zu S7-1500 egal zu sein (ich habe Vollzugriff eingestellt und kann Daten übertragen (300er->1500er).
Den inversen Weg (1500er->300er) habe ich noch nicht getestet.
 
Zuletzt bearbeitet:
Tatsächlich hört die Tabelle bei mir mit dem Eintrag 8x45 auf :confused:.
Sag uns mal wie und womit du arbeitest. TIA-Version? Beide Steuerungen in einem Projekt ja/nein? Welche 300er-Type?
Zur Hilfe, hast du auch die Hilfe zur 300er-Version des TCON-Betrachtet, da gibt's in TIA 2 Versionen, eine Hilfe für 300/400 und eine für 1200/1500.
Den richtigen Eintrag findet man am besten in dem man den Baustein selbst im Programm anklickt und dann F1 drückt...

Zwischenfrage: Bei den Einstellungen der 1500 ist der PUT/GET-Zugriff (Schutz & Security) eh aktiviert oder.

Ich fürchte hier liegt der Hase im Pfeffer. Jetzt habe ich allerdings ein Problem: wenn ich für die CPU "kein Zugriff" einstelle, benötige ich für die OUC ein DNS-Server im Netz um die Zugangsdaten zu hinterlegen. Das habe ich nicht.
Welches "kein Zugriff" meinst du? Meinst du die Security-Stufe ala "Vollzugriff/Lesezugriff/HMI-Zugriff"?
Die lass mal auf Vollzugriff bis die Kommunikation mal geht.

Mit der Hardware-Kennung meine ich:
  • S7-1500: "InterfaceID" (erster Eintrag in den Verbindungseinstellungen)
OK. Da muss bei einer 1515F die HW-Kennung aus der KW-Konfig rein (typ. 64/72)
  • S7-300: "block_length" (erster Eintrag in den Verbindungseinstellungen (UDT65))
Wie kommst du denn auf die Idee?
Bei mir steht als Kommentar neben block length "Length of the UDT (64Bytes) " - Dementsprechend muss da auch ein W#16#40 reingeschrieben werden.
Das Interface-Wahl geschieht beim Datentyp "TCON_PARAM" über den Eintrag "local-device-id".
Das ist aber nicht die HW-Kennung aus der Hardwarekonfig - Siehe mein Link von vorhin.


Das geht nicht, da wir in der jeweiligen Anlage die Verbindung zu einem Office-Rechner aufbauen müssen.
Den Zusammenhang verstehe ich nicht.
Sonst mach dir halt ein kleine Testprojekt wo die 1515 und die 300 im selben Projekt ist. Konfigurere die IPs und verbinde die CPUs in der Netzansicht.
Dann machst du den OB1 von einer auf und fügst einen TCON ein, dann gehst du auf die Einstellmaske (linkes Icon - rechts oben am Baustein).
Da füllst du dann alles aus - TIA erstellt dann sowohl für die 300 als auch die 1500 einen Datenbaustein mit den Verbindungsdaten.
In den Datenbausteinen sind die Werte für die Verbindung korrekt in den Startwerten eingetragen. Die kannst du jetzt als Vorlage nehmen und mit deinem Stand vergleichen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

noch ein letzter Nachtrag:
offensichtlich ist die Einstellung der Zugriffstufe nicht für die OUC relevant.
Ich habe jedenfalls alle Zugriffstufen bis zu "kein Zugriff" durchprobiert und konnte immer Daten zwischne 300er und 1500er bidirektional übertragen.

quote_icon.png
Zitat von MFreiberger


  • S7-300: "block_length" (erster Eintrag in den Verbindungseinstellungen (UDT65))



Wie kommst du denn auf die Idee?
Bei mir steht als Kommentar neben block length "Length of the UDT (64Bytes) " - Dementsprechend muss da auch ein W#16#40 reingeschrieben werden.
Das Interface-Wahl geschieht beim Datentyp "TCON_PARAM" über den Eintrag "local-device-id".
Das ist aber nicht die HW-Kennung aus der Hardwarekonfig - Siehe mein Link von vorhin.

Ich kam so darauf:


  • 1500er:
    • X1 = 64 (erste Ethernetschnittstelle)
    • X2 = 72 (zweite Ethernetschnittstelle)
  • 300er
    • X1 = MPI/DP
    • X2 = 64 (erste Ethernet-Schnittstelle)

Aber Du hast mit "Length of the UDT (64Bytes)" natürlich recht!

Noch einmal vielen Dank für die Hilfe :D!


mfg

MFreiberger
 
Hex oder Dez!?

Hallo,
ich habe hierzu noch ein Frage:
Moin Zusammen,

ich bin einen kleinen Schritt weiter:
In der 300er hatte ich am CONNECT-Eingang den DB angetragen, der die UDT65 enthaelt.
...
ConnectionType: BYTE = 16#11 (in der Beschreibung steht 16#0B, aber aus Kompatibilitätsgrunden 16#11 für TCP)
...
Was meinst du mit "Kompatibilätsgründen"? Wo hast du das gefunden? Ich finde in der Beschreibung einmal 16#11 (hex oder dez) oder 11#0B (eindeutig hex). Komischerweise musste ich aber hexadezimal 16#11 eingeben. Ich bin verwirrt!

Viele Grüße
Volker
 
Du scheinst hier die Schreibweisen ein wenig missverstanden zu haben. Der 16#-Teil weist auf die Zahlenbasis 16(HEX) hin. 16#11 entspricht 17(dezimal), könnte man auch 10#17 schreiben, ist aber wenig gebräuchlich. Bei der Angabe 11#0B hast du eher was durcheinander gebracht, das würde ja 11 als Zahlenbasis bedeuten (11#0B wäre auch 11dez).

Für die Angabe des Connection_Type einer Open User Communication sind folgende Werte denkbar:
  • 16#1 oder 01dez - TCP nativ Kompatibilitätsmodus
  • 16#11 oder 17dez - TCP nativ
  • 16#12 oder 18dez - ISO on TCP
  • 16#13 oder 19dez - UDP

Den Kompatibilitätsmodus habe ich noch nie gebraucht.
In der TIA-Hilfe bin ich mit dem Suchbegriff "TCP (Kompatibilitätsmode)" auf folgenden Text gestoßen:
TIA-Hilfe schrieb:
Connection_Type

Hier wird der Verbindungstyp für den Aufbau der Verbindung durch die Anweisung TCON definiert. Der einzustellende Wert ist CPU-abhängig.

TCP (Kompatibilitätsmode): B#16#01 für CPU 315 bzw. 317 <= FW V2.3
TCP: B#16#11 für CPU 315 bzw. 317 >= FW V2.4, IM 151-8 PN/DP CPU, CPU314C, CPU319, CPU412, CPU414 und CPU416

Je nach verwendeter Firmware können diese Angaben variieren.
Das sollte das eigentlich ausreichend erklären. Die 16#01 wirst du heutzutage wohl nicht mehr brauchen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Datentypen TCON_IP_RFC und TCON_Param

Hallo Ronin,
vielen Dank für deine ausführliche Antwort, die mich noch einmal zum Nachdenken bewegt hat :-).
war ein Schreibfehler. Jetzt weiss ich aber, was mich irritiert hat. Es ist nicht der Kompatibiltätsmodus bei der 300er CPU B#16#01 (Bild 1), sondern die unterschiedlichen Verbindungsparameter für die beiden möglichen Datentypen TCON_IP_RFC und TCON_Param. Bei Ersten ist Iso-on-TCP 12dez und beim Zweiten 12hex (Bild 2).

Viele Grüße
Volker



Connection_Type S7-300.JPG Connection_type TCON_Param und TCON_IP_RFC.JPG
Bild 1 Bild 2
 
Zuletzt bearbeitet:
Zurück
Oben