Probleme bei libnodave mit CP-1243-1 / S7 1215C

stuggi

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich kommuniziere mit einem selbstgeschriebenen Serverprozessin der Sprache C mit der der neuesten Version der Bibliothek libnodave.0.8.5 mit einer S7 1215C.

Die Kommunikation funktioniert stabil und ohne Fehler wenndas Netzwerkkabel direkt auf der CPU eingesteckt ist.

Sobald ich aber eine zusätzliche CP-Baugruppe (CP 1243-1) verwende, funktioniert die Kommunikation nach ca. 2-3 Tagen nicht mehr!
Die S7antwortet dann nicht mehr.
Libnodave liefert einen Timeout (Code -1025).


Anschließend muss mein Programm neu gestartet werden undfunktioniert dann meistens wieder.
Manchmal muss aber sogar die S7 durchgestartet werdendamit die Kommunikation wieder funktioniert.



Mein Serverprozess baut nur 1x die Verbindung zur S7 auf undhält diese ewig.

Die Verbindungsparameter sind in beiden Fällen (also mit und ohne CP):
Protokoll: daveProtoISOTCP
Port: 102
MPI: 2(spielt aber keine Rolle bei daveProtoISOTCP ?)
Rack: 0
Slot: 1

Hat mir jemand einen Tipp wo das Problem liegen könnte?
Ich vermute dass es an der CP liegen muss!
Die Anzahl an offenen Verbindungen ist auch im Fehlerfall 1von möglichen 8 (Anzahl S7 Verbindungen).
 
Zuletzt bearbeitet:
Was mir auffällt ist das ich bei der 1200er immer Rack 0 und Slot 0 verwendet habe. Vielleicht funkt dir der CP bei Slot 1 dazwischen?!

Außerdem würde ich deine C Anwendung so anpassen, das bei Verbindungsabbruch die Verbindung geschlossen und neu geöffnet wird.

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was mir auffällt ist das ich bei der 1200er immer Rack 0 und Slot 0 verwendet habe. Vielleicht funkt dir der CP bei Slot 1 dazwischen?!

Außerdem würde ich deine C Anwendung so anpassen, das bei Verbindungsabbruch die Verbindung geschlossen und neu geöffnet wird.

Grüße

Marcel


Hallo Marcel,

danke für die Antwort.

Meine C Anwendung versucht im Fehlerfall die Verbindung neu aufzubauen (also wenn der WRITE oder der READ fehlschlägt).
Jedoch ist es so, dass der Connect dann auch nicht mehr funktioniert, da er wie der WRITE oder READ Befehl auf Timeout läuft.

Slot 0 kann ich mal testen, aber angeblich ist die CPU bei der 1200er immer auf Slot 1??
 
Hallo zusammen,

ich habe nun Tests über mehrere Tage gemacht. Hier das Ergebnis:

Direkte Kommunikation mit CPU (ohne CP Baugruppe):
READ/WRITE auf Block 0, Slot 0: Alles OK. Funktioniert mehrere Tage fehlerfrei
READ/WRITE auf Block 0, Slot 1: Alles OK. Funktioniert mehrere Tage fehlerfrei
READ/WRITE auf Block 0, Slot 2: Connect geht schon schief -> Test abgebrochen

Kommunikation über CP Baugruppe:
READ/WRITE auf Block 0, Slot 0: <Test steht noch aus)
READ/WRITE auf Block 0, Slot 1: C-Programm bricht nach 2-3 Tagen mit TIMEOUT ab
READ/WRITE auf Block 0, Slot 2: <Test steht noch aus)


Ist eine Kommunikation über die CP mit libnodave eigentlich prinzipiell möglich?
Ich habe bei SNAP7 gelesen, dass eine READ/WRITE Kommunikation mit einer CP gar nicht geht??? Oder lese ich das falsch?

siehe Tabelle "S7 Protocol partial compatibility list (See also § LOGO and S7200)"
http://snap7.sourceforge.net/snap7_client.html#smartconnect
 
Zurück
Oben