# libnodave s7-1200 DB lesen



## bommel (10 November 2010)

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


----------



## bommel (11 November 2010)

Ich sollte vielleicht noch dazu schreiben, dass ich beim Lesen von  Bytes als area daveDB und areanumber 1 genommen habe. Als Fehlermeldung  kommt 
	
	



```
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


----------



## Rainer Hönle (11 November 2010)

bommel schrieb:


> IHaken bei 'nur symbolisch' ist aus.



Und war der Haken beim Anlegen des DBs auch aus? Oder wurde er nachträglich entfernt?


----------



## bommel (11 November 2010)

Der haken war direkt beim Anlegen der DB aus. Kann das nachträglich überhaupt geändert werden?


----------



## Rainer Hönle (11 November 2010)

bommel schrieb:


> Der haken war direkt beim Anlegen der DB aus. Kann das nachträglich überhaupt geändert werden?



Kann geändert werden. Wenn er aber beim Anlegen an war, kann nicht mehr von außen darauf zugegriffen werden (auch wenn der Haken mittlerweile weg ist).


----------



## bommel (11 November 2010)

Dann sollte der Zugriff ja funktionieren. Die Frage ist jetzt, wieso die DB nicht gefunden wird.
Hat das überhaupt schon mit der 1200er funktioniert?


----------



## Rainer Hönle (11 November 2010)

Mal ein wireshark-Log erstellen und posten.


----------



## Jochen Kühner (11 November 2010)

Rainer Hönle schrieb:


> Kann geändert werden. Wenn er aber beim Anlegen an war, kann nicht mehr von außen darauf zugegriffen werden (auch wenn der Haken mittlerweile weg ist).



Ja aber die Siemens TouchPanels können doch auch drauf zugreifen oder nicht?


----------



## Rainer Hönle (11 November 2010)

Jochen Kühner schrieb:


> Ja aber die Siemens TouchPanels können doch auch drauf zugreifen oder nicht?



Richtig, aber die haben die Infos aus den Projekten und greifen nicht im OldStyle darauf zu.


----------



## bommel (11 November 2010)

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


----------



## Rainer Hönle (11 November 2010)

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.


----------



## bommel (11 November 2010)

Hmm, aufgerufen wird jedenfalls Writebyte. Sehr merkwürdig.
Habe mal ein Log von Readbyte, nachdem die Verbindung zur SPS schon steht.


----------



## Rainer Hönle (11 November 2010)

Und wie lang ist der DB1 genau?


----------



## Rainer Hönle (11 November 2010)

bommel schrieb:


> Hmm, aufgerufen wird jedenfalls Writebyte. Sehr merkwürdig.


Sorry, es wird doch byteweise zugegriffen.


----------



## bommel (11 November 2010)

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


----------



## Jochen Kühner (11 November 2010)

bommel schrieb:


> PS: Was aber weiterhin nicht geht, ist das Setzen der SPS in RUN oder STOP per libnodave



Mach mal eine Wireshark Aufzeichnung vom starten und eine vom stoppen der SPS.


----------



## bommel (11 November 2010)

Hier sind die Logs von START und STOP nachdem die Verbindung steht.
Lief mit einer S7-200 problemlos.


----------



## Jochen Kühner (11 November 2010)

bommel schrieb:


> 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.


----------



## Rainer Hönle (11 November 2010)

Jochen Kühner schrieb:


> 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.



Ich denke, das ist der Log von libnodave, denn es funktioniert ja nicht. Die SPS meldet schließlich einen Fehler.


----------



## bommel (11 November 2010)

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.


----------

