libnodave s7-1200 DB lesen

bommel

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, bisher habe ich mit der S7-200 keine Probleme mit libnodave gehabt. Mit der S7-1200 geht leider nicht mehr alles. Ich bekomme eine Verbindung über die integrierte Netzwerkschnittstelle der 1200er. Die SPS in RUN/STOP versetzen klappt leider nicht. Merker kann ich lesen. Leider gelingt mir der Zugriff auf eine DB nicht. DB1 ist vorhanden, kann aber weder beschrieben, noch ausgelesen werden. Kennt jemand die korrekte Vorgehensweise, um per libnodave auf die DBs der SPS Zugriff zu bekommen? Vielen Dank :) Gruß bommel
 
Ich sollte vielleicht noch dazu schreiben, dass ich beim Lesen von Bytes als area daveDB und areanumber 1 genommen habe. Als Fehlermeldung kommt
Code:
The desired object is not available in the  PLC
Die Datenbank ist aber angelegt und in der SPS vorhanden. Haken bei 'nur symbolisch' ist aus.

gruß
bommel
 
habe jetzt mal mit Wireshark ein Logfile erstellt. Enthält lediglich den Verbindungsaufbau und den versuch, in VB100 einen Bytewert (dezimal 23) zu schreiben.
Rechner hat IP 192.168.1.99
SPS hat die IP 192.168.1.102

Gruß
bommel
 

Anhänge

  • S7-1200_write_VB100.pcap.zip
    1,5 KB · Aufrufe: 58
Im Request wird angegeben, dass ein Wort geschrieben werden soll. Es wird aber nur ein Byte eingetragen. Deshalb beschwert sich die Steuerung über die falsche Länge und nicht darüber, dass der Baustein nicht vorhanden ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hmm, aufgerufen wird jedenfalls Writebyte. Sehr merkwürdig.
Habe mal ein Log von Readbyte, nachdem die Verbindung zur SPS schon steht.
 

Anhänge

  • S7-1200_Read_VB100.zip
    670 Bytes · Aufrufe: 24
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Rainer,

vielen Dank für den Tip bezüglich der DB-Länge!
Die Software der S7-1200 nervt einfach nur. Ich ging davon aus, dass ich VB100 direkt belegen kann wie vorher. Habe aber die Daten nur in die ersten 2 Bytes der DB geschrieben. Greife ich auf VB0 und VB1 zu, geht es.
War mal wieder eigene Blödheit, sorry!

Vielen Dank!

PS: Was aber weiterhin nicht geht, ist das Setzen der SPS in RUN oder STOP per libnodave
 
Hier sind die Logs von START und STOP nachdem die Verbindung steht.
Lief mit einer S7-200 problemlos.
 

Anhänge

  • S7-1200_Start_Stop.zip
    616 Bytes · Aufrufe: 40
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier sind die Logs von START und STOP nachdem die Verbindung steht.
Lief mit einer S7-200 problemlos.

Jetzt noch ein Log vom gleichen mit libnodave, dann kann man ja sehen was der unterschied ist. Ich hab grad mal in die nodave.c geschaut, das Telegramm sieht aber auf den ersten blick wie in deinem log aus.
 
Ja, das waren die Logs von Libnodave.

anbei sind die Logs vom Start/Stop per "Totally Integrated Automation Portal" ;)
Leider etwas größer, da das wohl nicht über s7comm läuft und ich somit bei Wireshark nichts filtern konnte.
 

Anhänge

  • S7-1200_Start_Stop_original.zip
    2,3 KB · Aufrufe: 37
Zurück
Oben