INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

shared Memory



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

01.11.2011, 11:28
Beitrag #11

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: shared Memory
Hi Daniel,
das war wohl mein Fehler. Die Erinnerung trügte mich und die Doku habe ich dann doch nicht mehr so genau gelesen.

Du hattest Recht. SharedMemory ist die richtige Wahl, um Memory von verschiedenen Executables zu schreiben und zu lesen. Ich habe das in der Treiberbibliothek enthaltene Beispiel SharedMem_SharedMemApplicationExample.vi in zwei aufgeteilt und zwei Executables gebaut, die über das SharedMem kommunizieren können. (Das Virus-Problem wurde durch eine Ausnahme-Verzeichnis gelöst.) Ich habe sie als VI-Snippets angehängt.

Das Geheimnis ist ein Stück Memory, das statisch von der DLL allokiert wird. Über die Hilfs-VIs kann man die Start-Adresse und Größe abfragen. Es können beliebige Daten geschrieben werden. Die Daten müssen jedoch via Typecast in ein Byte-Array verwandelt werden. Beim Schreiben und Lesen wird dann der Offste von der Start-Adresse und die Länge der zu lesenden/schreibenden Daten angegeben. Es ist also nicht nötig die DLL für verschiedene Datentypen anzupassen oder zu erweitern. Für das Memory Layout ist also der Entwickler zuständig.

Die DLL-Quelle muss ich erst beim Entwickler anfragen.

Gruß Holger

   
   

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.11.2011, 14:36
Beitrag #12

M@rRy Offline
LVF-Padawan
***


Beiträge: 273
Registriert seit: Aug 2011

7.1
2011
EN


Deutschland
RE: shared Memory
Gelten zur Verwendung hiervon irgendwelche Regeln? Sowas wie "Beide Applikation müssen im selben Ordner sein"? Ich hab es nun ein paar mal versucht aber so wirklich funktionieren möchte es bei mir nicht.

Gruß
Daniel

Nur wer neugierig ist, lernt ständig dazu.

Mythos:
Mit LabView lassen sich gut Programme leichter entwickeln

Realität:
Mit LabView lassen sich gut und schlechte Programme leichter enwickeln!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2011, 08:33
Beitrag #13

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: shared Memory
Hi Daniel
Beide Applikationen müssen dieselbe DLL verwenden, weil diese den Speicher statisch allokiert.

Zwei DLLs -> zwei verschiedene Speicher!

Du könntest die DLL in das Windows\system 32 schieben, wenn Deine Applikationen in verschiedenen Ordnern liegen. system32 ist normalerweise im Suchpfad enthalten, sodass die DLL auch dort gefunden werden sollte.

Gruß Holger

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2011, 11:20 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2011 11:21 von BNT.)
Beitrag #14

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: shared Memory
Hi Daniel
Ich habe mal meine Executables, die ich in ein Zielverzeichnis gebaut hatte, als Anhang bereitgestellt.
Die zwei Executables entsprechen den zwei VI-Snippets aus dem Beitrag 11.

Probier doch mal aus.

Gruß Holger


Angehängte Datei(en)
0.0 .zip  SharedMemory.zip (Größe: 301,55 KB / Downloads: 213)

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2011, 12:39
Beitrag #15

M@rRy Offline
LVF-Padawan
***


Beiträge: 273
Registriert seit: Aug 2011

7.1
2011
EN


Deutschland
RE: shared Memory
Ja nun gehts auch. Mhh. Also wenn ich das so richtig verstanden habe ist es immer wichtig auf die Größe und die Daten zu achten die geschrieben werden. Oke aber so geht es ja erstmal, mal sehen was meine Programme nun dazu sagen ^^ Vielen Dank erstmal und wenn du wegen dem Quellcode was hast wäre ich noch dankbarer Tongue

Gruß
Daniel

Nur wer neugierig ist, lernt ständig dazu.

Mythos:
Mit LabView lassen sich gut Programme leichter entwickeln

Realität:
Mit LabView lassen sich gut und schlechte Programme leichter enwickeln!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Memory-Probleme eyk107 7 7.954 28.08.2014 09:11
Letzter Beitrag: eyk107
Question Shared Variable Ben 1 3.737 12.06.2012 08:23
Letzter Beitrag: Y-P
  Shared Variable kcccp 12 17.184 17.08.2010 14:19
Letzter Beitrag: kcccp
  Shared Variables hotte82 9 10.432 30.11.2009 09:02
Letzter Beitrag: Y-P

Gehe zu: