Simatic s7-300 TCP/IP Kommunikation

Osccon

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich bin völlig neu auf dem Gebiet der PLCs und experimentiere gerade mit einem Simatic s7-300.
Dabei geht es mir gerade nicht ums programmieren sondern um den Datenaustausch mit einem PC ueber das Ethernet bzw. genauer TCP/IP.
Bei meiner Suche bin ich auf libnodave gestoßen und konnte damit erfolgreich Daten austauschen.
Jetzt möchte ich aber gerne aus Spaß und um ein tieferes Verständnis zu bekommen das ganze ohne libnodave basierend auf einer einfachen TCP/IP Verbindung implementieren.
Soweit ich das verstehe ist das ueber das ISO on TCP bzw. ISO over TCP oder auch RFC1006 möglich.
Jedoch handelt es sich doch bei ISO on TCP noch um ein allgemeineres Protokoll nicht spezifisch zum Datenaustausch mit einem Simatic s7-300 entwickelt.
Aber ich kann im Internet keine Spezifikation oder sonst was finden was den eigentlich Datenaustausch mit einem Simatic s7-300 über ISO on TCP beschreibt.
Wo finde ich diese Informationen?
 
Hallo

das Thema wurde gerade besprochen: S7 300 bzw. INSEVIS CPU über libnodave ansprechen:


INSEVIS vom PC (VB6-Proggi & Libnodave) ansprechen.
Gelöst.
so geht es:

Code:

// Public Const CONNECTION_TYP_MPI = 1
// Public Const CONNECTION_TYP_MPI_IBH = 2
DaveConntyp = 1

DaveSpeed = 1

// Public Const daveProtoS7online = 50 ' S7 using Siemens libraries & drivers for transport
// Public Const daveProtoISOTCP = 122 ' ISO over TCP
// Public Const daveProtoISOTCP243 = 123 ' ISO over TCP with CP243
DaveProtokoll = 122
DaveComPortNr = 0
DaveIp = 192.168.0.55

// D_avePort = 1099
DavePort = 102
quote_icon.png
Zitat von Senator42
Hallo Gemeinde,

Hat schon mal jemand die INSEVIS mit einem PC-Proggi (C, C#, VB) über LibNoDave verbunden, um
z.b. E,A,M, DBs zu lesen, schreiben ?

Bisher habe ich eine S7-300 über IBH-Link (MPI) erfolgreich verbunden.

Code:
Public Const CONNECTION_TYP_AS511 = 0
Public Const CONNECTION_TYP_MPI = 1
Public Const CONNECTION_TYP_MPI_IBH = 2
Public Const CONNECTION_TYP_PPI_IBH = 3
Public Const CONNECTION_TYP_PPI = 4

Public Const daveProtoMPI = 0 ' MPI for S7 300/400
Public Const daveProtoMPI2 = 1 ' MPI for S7 300/400, "Andrew's version"
Public Const daveProtoMPI3 = 2 ' MPI for S7 300/400, Step 7 Version, not yet implemented
Public Const daveProtoPPI = 10 ' PPI for S7 200
Public Const daveProtoAS511 = 20 ' S5 via programming interface
Public Const daveProtoS7online = 50 ' S7 using Siemens libraries & drivers for transport
Public Const daveProtoISOTCP = 122 ' ISO over TCP
Public Const daveProtoISOTCP243 = 123 ' ISO over TCP with CP243
Public Const daveProtoMPI_IBH = 223 ' MPI with IBH NetLink MPI to ethernet gateway */
Public Const daveProtoPPI_IBH = 224 ' PPI with IBH NetLink PPI to ethernet gateway */
Public Const daveProtoUserTransport = 255 ' Libnodave will pass the PDUs of S7 Communication to user defined call back functions.
S7-300 geht bei mir so:
DaveConntyp = 2
DaveProtokoll = 230 bzw.
DaveProtokoll = 223 je nach Adapter.

Wer sagt mir, wie ich das mit TCP machen muss. Müsste eigentlich einfach sein.
Die Insevis hat keinen MPI, sondern TCP, und der Simatic-Manager geht auch wenn man die 192.168... richtig erinstellt.

Ist von Senator24.
 
Hi,

dann solltest du eventuell nochmal ganz konkret fragen was du wissen willst.
in dem Link steht alles drinne was du zum ISO Protokoll für die S7Communication wissen must.

Gruß
Christoph
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Oh verdammt, habe beim lesen etwas übersehen.
Ich dachte erst, dass das S7 Protocol die einzige Möglichkeit, wäre über TCP zu kommunizieren.
Aber dieses ist nicht öffentlich zugänglich sprich dokumentiert weshalb man das, wenn überhaupt, nur mit großer mühe hätte implementieren können.
Jetzt ist mir beim 2. mal lesen aber noch Open TCP aufgefallen zu dem man glücklicherweise einige Spezifikationen finden kann und was genau nach dem richtigen aussieht.

Danke für eure mühen :)
 
Zurück
Oben