PDA

View Full Version : daveV ???



der Micha
26.06.2007, 23:05
Hallo zusammen !

Bin mit libnodave ein wenig am probieren und es klappt recht gut . Letztens habe ich daveV und davelokal irgendwo gelesen und wollte in Zottels Codes mal nachsehen was man da mit anstellen kann , mein Prob ist nur ich Finde nichts darüber . Hat jemand dieses schon benutzt / genutzt , welche Funktion steckt dahinter ?

Gruss Micha

Ralle
27.06.2007, 08:33
Nie davon gehört, was soll das denn sein?

der Micha
27.06.2007, 15:05
In der libnodave 8.2 finde ich auch nichts wenn ich suche . Habe das im Netz beim Googlen gesehen .
PPI_area (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15e) {
daveSD (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15eae053133644a3d03a74b2cacff 16c493) = 0x3, daveInputs (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15ed52ebd8785bb40c94c8753b510 1f742d) = 0x81, daveOutputs (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15e1e2016d3368b37e09df7aa09b3 8e62b1) = 0x82, daveFlags (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15ef51c2a354c8c646397897fae48 430778) = 0x83,
daveDB (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15e71c78fabe2614506f17234b998 ceac30) = 0x84, daveDI (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15ea9697acc3b952b0f25877dee25 97076f) = 0x85, daveLocal (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15ed74a46258f28604f1fd790979d 6928e6) = 0x86, daveV (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15e8ebcfd8d2785d4320127c54bf7 ac2446) = 0x87,
daveCounter (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15e6414fbb22899c0f24a006fa0dc 7d6619) = 28, daveTimer (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15ea8f9792eaee2a3f17124cbbecb 8f5557) = 29

Auf der Seite stand noch mit bei :

00034 daveLocal (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15ed74a46258f28604f1fd790979d 6928e6) = 0x86, //not tested
00035 daveV (http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classrlPPIClient.html#c4b654c0804020fd686648a62c21d15e8ebcfd8d2785d4320127c54bf7 ac2446) = 0x87, // don't know what it is

Gut , der Beitrag ist was älter , dachte erst es ist was für die V Area der 200er , aber die ruft man ja mit DB1 ab .

afk
27.06.2007, 15:22
00034 daveLocal = 0x86, //not tested
00035 daveV = 0x87, // don't know what it is
Das ist aus der nodave.h, und eigentich hat Zottel alles, was Du wissen willst, in die Kommentare geschrieben: daveLocal hat er noch nicht ausprobiert, und bei daveV weiß er nicht, wofür es da ist. Wenn irgendein libnodave-User mehr dazu wüßte, dann hätte er bestimmt entsprechende Rückmeldung bekommen.


Gruß Axel

Question_mark
27.06.2007, 21:11
Hallo,


00034 daveLocal = 0x86, //not tested
00035 daveV = 0x87, // don't know what it is

Also, wenn es denn weiterhilft :

0x86 sind die Lokaldaten, also der L-Stack der CPU
0x87 ist der vorherige L-Stack

Gruss

Question_mark

afk
27.06.2007, 22:13
0x86 sind die Lokaldaten, also der L-Stack der CPU
0x87 ist der vorherige L-Stack
Aha, QM ist in dem Fall also der Einäugige unter den Blinden ;), aber mit dem Zweiten sieht wohl trotzdem nur Siemens ... :mad:

Jetzt klär mich als dummen PC-Programmierer doch bitte auch noch auf, ob das Auslesen des L-Stacks vom PC aus überhaupt sinnvoll ist, bzw. wofür der L-Stack da ist.


Gruß Axel

der Micha
28.06.2007, 01:23
THX für das schnelle Antworten . Denke mal er meint dieses :


Temporäre Daten (TEMP) in allen Bausteinen

Temporäre Daten sind Lokaldaten eines Bausteins, die während der Bearbeitung eines Bausteins im
Lokaldaten-Stack (L-Stack) abgelegt werden und nach der Bearbeitung nicht mehr verfügbar sind.

Zottel
28.06.2007, 08:03
Danke, jetzt wissen wir ein bischen mehr...


Jetzt klär mich als dummen PC-Programmierer doch bitte auch noch auf, ob das Auslesen des L-Stacks vom PC aus überhaupt sinnvoll ist,

für typische Anwendungen von Libnodave sicher nicht. Lesen mittels daveRead...() erfolgt meines Wissens irgendwann während der Programmausführung und der Inhalt des L-Stacks wechselt.
Die Konstanten 0x86, 0x87 werden allerdings in gleicher Weise bei den Testfunktionen verwendet, die die SPS zur Verfügung stellt, um einem PG das Beobachten zu ermöglichen.


bzw. wofür der L-Stack da ist.

Für die lokalen Variablen, im Prinzip genauso wie in Pascal.

Ralle
28.06.2007, 08:16
für typische Anwendungen von Libnodave sicher nicht. Lesen mittels daveRead...() erfolgt meines Wissens irgendwann während der Programmausführung und der Inhalt des L-Stacks wechselt.

Das denke ich auch, der L-Stack wird ja von allen Bausteinen genutzt, ein Auslesen hätte ja nur richtig Sinn, wenn man auch Informationen dazu bekommt, an welcher Stelle des Programms sich die SPS gerade befindet, wer also den L-Stack gerade benutzt.

afk
28.06.2007, 08:21
Die Konstanten 0x86, 0x87 werden allerdings in gleicher Weise bei den Testfunktionen verwendet, die die SPS zur Verfügung stellt, um einem PG das Beobachten zu ermöglichen.
Jetzt bin ich neugierig geworden. Daraus schließe ich, daß die SPS über das S7-Protokoll auch Funktionen zur Verfügung stellt, um bestimmte, nur temporär innerhalb vom SPS-Zyklus gültige Werte auszulesen, ist das richtig ?

Falls ja, geht das dann auch mit libnodave ?


Gruß Axel

Question_mark
28.06.2007, 20:52
Hallo,

den Lokalstack wird man schon brauchen, um eine Darstellung im Status "Baustein beobachten" (oder so ähnlich heisst das doch bei den PG-Funktionen?) zu realisieren. Die Notwendigkeit des vorherigen L-Stacks habe ich auch noch nicht ganz begriffen, aber wie der Kollege mit dem Wikingerhelm ja schon richtig festgestellt hat : Ich bin nur der Einäugige :mrgreen: :mrgreen: :mrgreen:

Gruss

Question_mark

Question_mark
28.06.2007, 21:51
Hallo Axel, Du böse Achse


daß die SPS über das S7-Protokoll auch Funktionen zur Verfügung stellt, um bestimmte, nur temporär innerhalb vom SPS-Zyklus gültige Werte auszulesen,

Ich denke mal nicht über das S7-Protokoll, sondern eher über die PG-Funktionen, wie schon von Zottel gesagt (Äähemmm geschrieben).

Gruss

Question_mark

afk
29.06.2007, 07:36
Wie bereits geschrieben, jetzt bin ich neugierig geworden, darum wird dieser Thread jetzt wohl zur Fragerunde:


Ich denke mal nicht über das S7-Protokoll, sondern eher über die PG-Funktionen, wie schon von Zottel gesagt (Äähemmm geschrieben).
Was meinst Du mit PG-Funktionen ?

In libnodave gibt es Funktionen zum Abfragen der SZL der CPU, damit lese ich schon die Konfiguration der CPU, die LED-Anzeigen, einen Teil der Hardware-Konfiguration und den Diagnosepuffer aus. Das ist aber auch ein Bestandteil des S7-Protokolls. Meinst Du das ?

Wenn ich das richtig sehe, dann teilt Step7 der CPU mit, welche Daten über welchen Programmausschnitt erfasst werden sollen, und die CPU überwacht das dann im Zyklus und gibt die gesammelten Daten zurück. Mich würde einfach interessieren, ob man diese Diagnosefunktionen auch mit libnodave nutzen kann.


Gruß Axel

hovonlo
29.06.2007, 16:35
Also diese Kennungen von 81h bis 87h finden sich in der Simatic Manager-Hilfe bei den Any-Pointern:


Hexadezimalcode Bereich Beschreibung
b#16#81 E Speicherbereich der Eingänge
b#16#82 A Speicherbereich der Ausgänge
b#16#83 M Speicherbereich der Merker
b#16#84 DB Datenbaustein
b#16#85 DI Instanz-Datenbaustein
b#16#86 L Lokaldaten (L-Stack)
b#16#87 V Vorherige LokaldatenUnd beim Einsatz von Any-Pointern im Programmcode auf der SPS ist die Verwendung des Lokaldatenbereichs oder der vorherigen Lokaldaten ja durchaus sinnvoll. Bei der Verwendung von libnodave wird da wohl nicht unbedingt was vernünftiges rausfallen...

Question_mark
29.06.2007, 20:32
Hallo Axel,


Meinst Du das ?

Nein, ich dachte da eher an die Funktionen um z.B. die Statusinformationen beim Beobachten von Bausteinen auszulesen oder auch den Transfer von Bausteinen (also auch SDB, DB, FB, FC etc.) u.s.w.

Gruss

Question_mark