daveV ???

der Micha

Level-2
Beiträge
19
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In der libnodave 8.2 finde ich auch nichts wenn ich suche . Habe das im Netz beim Googlen gesehen .
PPI_area {
daveSD = 0x3, daveInputs = 0x81, daveOutputs = 0x82, daveFlags = 0x83,
daveDB = 0x84, daveDI = 0x85, daveLocal = 0x86, daveV = 0x87,
daveCounter = 28, daveTimer = 29

Auf der Seite stand noch mit bei :

00034 daveLocal = 0x86, //not tested
00035 daveV = 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 .
 
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
 
Was ist das ??

Hallo,

der Micha schrieb:
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
THX für das schnelle Antworten . Denke mal er meint dieses :

[FONT=Arial,Bold]
Temporäre Daten (TEMP) in allen Bausteinen​
[/FONT]
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.

 
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
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
 
L-Stack

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 :ROFLMAO: :ROFLMAO: :ROFLMAO:

Gruss

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
L-Stack

Hallo Axel, Du böse Achse

afk schrieb:
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
 
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
 
Zuletzt bearbeitet:
Also diese Kennungen von 81h bis 87h finden sich in der Simatic Manager-Hilfe bei den Any-Pointern:
Code:
[B]Hexadezimalcode [/B][B]Bereich [/B][B]Beschreibung
[/B] 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 Lokaldaten
Und 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...
 
Zurück
Oben