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 

Speicher voll / Programmaufbau



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!

13.12.2016, 16:03
Beitrag #1

yapete Offline
LVF-Neueinsteiger


Beiträge: 1
Registriert seit: Dec 2016

16.0
2016
DE



Speicher voll / Programmaufbau
Hallo Zusammen,

ich bin relativ neu in der LabView Welt. Eigentlich beschäftige ich mich hauptsächlich der Programmierung von SPS Systemen. Bei einem aktuellen Projekt muss mit einem Lab View Porgramm ein 2-Achs Linear System gesteuert werden. Die Steuereinheit für die Antriebe kommt aus dem Hause Systec (Xemo).
Auf dieser Steuerung läuft bereits ein Programm (MotionBasic, erweite Basic Programmierung) zur Initialisierung der Achsen, dieses läuft automatisch nach dem Einschalten an. Die Steuerung ist via USB mit dem Labview Rechner verbunden. Über die Labview Bedienoberfläche sollen die Antriebe referenziert und gesteuert werden.
Vom Hersteller gibt es eine VI Bibliothek um die Kommunikation herzustellen und um diverse andere Befehle auszuführen.

Nun tritt in meinem ersten Programm folgender Fehler auf: Sobald ich einen Get Befehl ausführe um z.b die Serienummer auszulesen erscheint Speicher voll. Ich habe schon im Forum nach dem Fehler gesucht und rausgefunden das eine Wartezeit in die While Schleife gehört da die Schleife sonst zu oft ausgeführt wird. Aber eine wirkliche Besserung konnte ich nicht feststellen. Weitere hilfreiche Tipps finde ich zu dem Thema leider nicht.

Also die Kommunikation zu der Steuerung scheint zu funktionieren, da die Serienummer manchmal ausgelesen wird.

Im Anhang mal ein Bild meines ersten Versuchs, ich habe das Gefühl das ich generell in Labview irgendwas komplett falsch mache...


Ich bin für jeden Tipp von euch dankbar!


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.12.2016, 16:12 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2016 16:14 von Trinitatis.)
Beitrag #2

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Speicher voll / Programmaufbau
(13.12.2016 16:03 )yapete schrieb:  Ich habe schon im Forum nach dem Fehler gesucht und rausgefunden das eine Wartezeit in die While Schleife gehört da die Schleife sonst zu oft ausgeführt wird. Aber eine wirkliche Besserung konnte ich nicht feststellen. Weitere hilfreiche Tipps finde ich zu dem Thema leider nicht.

Hallo,

das mit der Wartezeit ist zwar richtig, macht dein Programm aber allenfalls langsam. Der Speicherfehler entsteht, wenn LabView einen zu großen zusammenhängenden Speicher alloziieren soll. Generierst du z.B. mit der Funktion "Array initialisieren" ein 2D-Array mit 100M mal 100M Byte, dann wirst du diesen Fehler auch bekommen.

Also suche nach Arrays, die in deinen Sub-VIs erstellt werden - gern auch autoindiziert an Schleifen oder nach Queues in die geschrieben wird, ohne aus ihnen zu lesen. Der übliche Verdächtige wird aber ein Array sein, mglw. gekoppelt mit einem Registerüberlauf, mit dem es dann initialisiert werden soll.


Gruß, Marko
Nachtrag:
Die Fehlermeldung sollte dir eigentlich auch schon das Übeltäter-VI und den Stop-Knoten namentlich nennen bzw. bei ihrer Bestätigung dort hineinspringen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.12.2016, 16:21 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2016 16:25 von jg.)
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Speicher voll / Programmaufbau
Wieso initialisierst du alle 100ms die DLL und die Schnittstelle? Im Normal muss das nur 1x bei Programmstart aufgerufen werden. Vor allem, da du keinen DeIni-Aufruf programmiert hast.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  OHNE VI: Arbeitsspeicher läuft voll ddrayss 8 5.596 12.10.2019 17:05
Letzter Beitrag: ddrayss
  Probleme mit Queues und Programmaufbau stefan1312 6 4.582 30.10.2018 17:08
Letzter Beitrag: NoWay
  Arbeitsplatz läuft voll kompass453 6 3.768 05.09.2017 14:10
Letzter Beitrag: kompass453
  Arbeitsspeicher läuft voll Michael1984 10 9.299 04.03.2015 09:45
Letzter Beitrag: Y-P
  Speicher läuft in Statemachine voll (großes Array...) Peter04 5 7.097 30.11.2013 22:42
Letzter Beitrag: D_Sev
  Funktion Systembefehl ausführen gibt Fehler "Speicher voll" aus. vogster 6 7.568 17.11.2013 16:55
Letzter Beitrag: Lucki

Gehe zu: