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 

Dieses Thema hat akzeptierte Lösungen:

Arbeitsspeicher läuft hoch bei .dll-Aufruf



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!

12.12.2013, 18:23 (Dieser Beitrag wurde zuletzt bearbeitet: 12.12.2013 18:29 von ManRyMuc.)
Beitrag #1

ManRyMuc Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Dec 2013

2011
2006
EN



Arbeitsspeicher läuft hoch bei .dll-Aufruf
Hallo zusammen!
Ich bin hier immer mal wieder unterwegs und habe schon sehr oft Hilfe gefunden! Vielen Dank dafür!

Nun habe ich allerdings ein Problem, das mit zu schaffen macht.

Ich lese Werte aus einer Beckhoff SPS mithilfe AdsSyncReadReq, das Teil der TcAdsDll.dll Bibliothek ist.
Ich übergebe an den Call Function Library Node (AdsSyncReadReq) die geforderten Parameter (ADS-Net-ID, den Datagruop Index (4020), Offset (=Adresse), Länge in Byte und den Datentyp (DBL).
Das funktioniert prinzipiell gut, ich lese die Werte sauber aus.
Nur leider ist es so, dass der Arbeitsspeicher (im Win-Taskmanager zu beobachten) peu à peu hochläuft und dann das Programm irgendwann abstürzt.
Woran könnte das liegen? Ich bin mir nicht sicher, ob das angehängte VI funktioniert, wenn man die SPS nicht hat. Es soll aber das Probelm zeigen.
U.U. liegt es ja an einer fehlerhaften datenübergabe (pointer o.ä., Allocation usw..) wie es mir hier bei dll-Problemen immer mal wieder begegnet ist. allerdings bin ich da völlig blank und weiß nicht so recht, wie ich das Problem lösen kann.

Ich bin um jeden Ratschlag dankbar!

Danke!

Manuel


Angehängte Datei(en)
0.0 .dll  TcAdsDll.dll (Größe: 216 KB / Downloads: 291)

11.0 .vi  ADS_lesen_TEST.vi (Größe: 27,06 KB / Downloads: 355)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.12.2013, 19:06
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Arbeitsspeicher läuft hoch bei .dll-Aufruf
Hallo Manuel,

leider kann man ohne entsprechende Beschreibung der DLL (Funktionen und deren Parameter) kaum prüfen, ob du dies korrekt programmiert hast...

Nur so ein Gedanke: Muss man die Ports jedesmal öffnen und schließen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.12.2013, 09:06
Beitrag #3

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Arbeitsspeicher läuft hoch bei .dll-Aufruf
Ich schliesse mich Gerd an. Ports definitiv nicht jedesmal neu öffnen und wieder schliessen. Ich mache nicht Gebrauch von dieser DLL aber es ist gut möglich dass im Open oder Close etwas nicht korrekt abgeschlossen wird.

Also erst mal das Open und Close aus der Loop nehmen und dann weiter sehen.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.12.2013, 18:59
Beitrag #4

ManRyMuc Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Dec 2013

2011
2006
EN



RE: Arbeitsspeicher läuft hoch bei .dll-Aufruf

Akzeptierte Lösung

Hallo Ihr beiden!

vielen Dank für die spontanen Hinweise!
Genau das war es! Ich habe das open / close aus der for-Schleife raus. Funktioniert trotzdem und der Speicher bleibt stabil!
Warum bei einem solachen open/close allerdings der Arbeitsspeicher hochläuft bleibt mir ein Rätsel. Weil ich ja auch direkt nach dem Öffnen auch wieder schließe...

Na ja, egal! es funktioniert!

Vielen Dank!

Manuel
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
  CLF-Node treibt Prozessorlast hoch. Commander Laserstrahl 9 7.848 13.02.2008 09:42
Letzter Beitrag: rolfk

Gehe zu: