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:

Optimierung der Rechenleistung eines SubVi



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!

28.09.2011, 13:15
Beitrag #1

DuffiDuck Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Sep 2011

10.0.1
2007
EN


Oesterreich
Optimierung der Rechenleistung eines SubVi
Hallo liebe Community,

ich bin Student und arbeite gerade mit LV 2011. Dieses Forum hat mir schon viel weitergeholfen, nur komme ich jetzt nur durch eure Foreneinträge nicht mehr weiter.

Im Zuge meiner Bachelorarbeit, baue ich eine Testanlage um. Diese Testanlage ist für ein Fördersystem. Auf diesem Fördersystem fahren Shuttle. Sie besteht aus verschiedenen Messeinrichtung und sammelt Werte über Zeitverhalten, Positioniergenauigkeit und Geschwindigkeitsdaten, der Shuttles, ein. Diese Messdaten werden von der Software SPS der Firma Beckhoff erkannt (bzw. vom den Buskopplerklemmen für die die es ganz genau nehmen) und an Labview übergeben. Nun schreibt Labview über das main.vi die Messwerte in ein Datenarray. Wenn der Shuttle nun eine gewisse Rundenzahl erreicht hat werden diese Messwerte (auf grundlage der Report Generation Toolkit for Office) in eine Excel- Tabelle geschrieben. In der Excel- Tabelle werden dann die Durchschnittswerte berechnet. Wie oft ein Fehler aufgetreten ist usw. (Sry muss es so beschreiben da meine Arbeit erst nach einreichtung veröffentlicht wird)

Jetzt zu meiner eigendlichen Frage:
Da mein Programm jetzt mittlerweile Mörder groß ist, bin ich gerade dabei die Laufzeitoptimierung und somit die Rechenleistung zu optimieren dass ich noch mehr Funktionen verarbeiten kann bzw. um die Tests (bzw. deren Verarbeitung möglichst schnell durchzuführen). Eine der Aufgabenstellungen ist nun die Auswertung die in Excel gemacht werden in LabView umzusetzen. Problem dabei ist nun nicht die Umsetzung, sondern die Laufzeit des Sub.vi. Da hier die Anlage eben auf die Verabeitung der Werte wartet und somit für die Zeit der Abarbeitung zum Stillstand kommt. Des is net so guat. Sprich die Abarbeitung soll so schnell wie möglich sein.

Parameter:
Input:
Datenarray maximal 500 Messwerten

Output:
Berechnung von verschiedenen Parametern und Ausgabe dessen

Momentan funktioniert die Berechnung nur wenn die Schleifenbedingung >=1000ms ist. Sonst geht er ein und berechnet die letzten Werte gar nicht mehr.

Ich bitte um eure Hilfe.

Mfg DuffiDuck

P.S.: 1) Ich habe es mal als Version 9 gespeichert andere Formate können auch hochgeladen werden
2) Ich hoffe das ist nicht das falsche unterforum und wenn ja > ich hab kein anderes Gefunden
3) JAJA flat sequenz


Angehängte Datei(en)
9.0 .vi  Excel_Auswertung.vi (Größe: 45 KB / Downloads: 227)

Ich bin kein Politiker,
ich bin kein Dichter,
ich bin kein Mensch...
... ich bin Techniker.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.09.2011, 13:46
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: Optimierung der Rechenleistung eines SubVi
Hi,
für was sind die ganzen Schieberegister in den FOR-Schleifen, wenn du doch nie den Inhalt änderst?

Für die ganzen Variablen innerhalb der Schleifen könntest du allerdings SR verwenden, und keine lok. Variablen!

Wartezeiten in FOR-Schleifen...wozu?

Die ständigen > / < Verlgeiche...warum hast du da kein SubVI daraus gemacht?

> als X UND < als Y....warum nimmst du da nicht "In range"

Nicht laufzeitrelevant:
Warum verballerst du so unendlich viel Platz? Warum ziehst du nicht mal gerade Linien? Räume mal die versteckten Drähte auf...

Gruß
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.09.2011, 14:08
Beitrag #3

DuffiDuck Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Sep 2011

10.0.1
2007
EN


Oesterreich
RE: Optimierung der Rechenleistung eines SubVi
hallo achim,

schieberegister stimmt (ich bin schon ganz Irre vom Programmieren),

SR ist nehm ich an Schieberegister das ich die Werte beim nächsten Durchlauf einfach wieder bereitstelle.

Das mit der Wartezeit im For muss ich ausprobieren morgen (hätte mir gedacht das er den ganzen Speicher vollsaut und dann nix mehr geht??)

Sub.vi ähhmm ja keine Ahnung, Extra Unterprogrammaufruf jedes mal wird wahrscheinlich auch nicht das gelbe von Ei sein (aber ich probiers aus danke)

cool es gibt eine inrange funktion!

Platz was?? Soll ich auf den Cleanup Diagrammbutton klicken? ;-)

Danke muss ich gleich mal ein bisschen Rumprogrammieren!

mfg duffi

Ich bin kein Politiker,
ich bin kein Dichter,
ich bin kein Mensch...
... ich bin Techniker.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.09.2011, 14:15
Beitrag #4

snuz Offline
LV-Eumel
**


Beiträge: 245
Registriert seit: Mar 2009

2011
2008
EN


Deutschland
RE: Optimierung der Rechenleistung eines SubVi
Achim hat ja schon einiges erwähnt.


Angehängte Datei(en)
9.0 .vi  Excel_Auswertung_light.vi (Größe: 43,4 KB / Downloads: 206)

Es gibt 10 Arten von Menschen... Die die Binärrechnung beherrschen und die die es nicht tun.

http://www.techniker2013.eu
http://www.plapilab.de
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.09.2011, 14:30
Beitrag #5

DuffiDuck Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Sep 2011

10.0.1
2007
EN


Oesterreich
RE: Optimierung der Rechenleistung eines SubVi
snuz danke,

ich mach mich mal ran! Bis morgen!

mfg duffi

Ich bin kein Politiker,
ich bin kein Dichter,
ich bin kein Mensch...
... ich bin Techniker.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.09.2011, 15:41
Beitrag #6

Kiesch Offline
LVF-Stammgast
***


Beiträge: 412
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Optimierung der Rechenleistung eines SubVi
Um mal was aufzugreifen, was du oben gesagt hast:

Warum hälst du das Messprogramm für die Auswertung an?

Ich weis zwar nicht wie Zeitkritisch und am Limit der Rechnerresourcen das Messprogramm schon ist, aber an sich sollte man die Auswertung doch nebenläufig durchführen können (während der nächste Messzyklus läuft). Rein programmatisch ist das kein Problem - käme im Zweifel nur auf deine Hardware an.

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.09.2011, 15:43 (Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2011 16:02 von jg.)
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Optimierung der Rechenleistung eines SubVi
So, deine ersten 3 Sequenz-Schritte lassen sich (wenn ich bei den Array-Indices nicht durcheinander gekommen bin), auf das hier eindampfen:
   
Bist du eigentlich sicher, dass du ab Sequenz 4 den richtigen Index für die Auswahl der Seite aus deinem 3D-Array (Hilfe, ein 3D-Array!!) weitergeführt 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
28.09.2011, 23:32
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Optimierung der Rechenleistung eines SubVi
Und wenn mir bei der ganzen Indizierung und Umbauerei keine Fehler unterlaufen sind, dann sollte das folgende VI dasselbe Ergebnis liefern:

9.0 .vi  Excel_Auswertung_VERY-light.vi (Größe: 33,68 KB / Downloads: 217)

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
29.09.2011, 06:41
Beitrag #9

DuffiDuck Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Sep 2011

10.0.1
2007
EN


Oesterreich
Tongue RE: Optimierung der Rechenleistung eines SubVi
Hallo,

@ Kiesch - Wenn TwinCat einen Wert erhalten hat setz es mit AdsOcx eine globale Variable um dadurch ein, in einer Schleife befindlichen, CASE zu aktivieren und verarbeitet den Messwert in einen Sub.vi. Es gibt nun 4 verschiedene Test die das so machen. nur beim letzten Test wird entschieden ob die Rundenzahl errreicht wird. Dann wird ein Excel erstellt und die Daten wieder gelöscht. Wenn ich nun statt case das sub.vi mit der globalen (AdsOcx) Variable beaufschlage stürzt das Programm ab (Fehler ist wegen der AdsOcx erzeugung da auf gleiche Ressourcen zugegriffen wird bzw. könnte die Ressource im gleichen Moment gelöscht werden) Ist so zu sagen so aufgebaut das auf keinen Fall Ressourcen verloren gehen

@ Jens- Danke erstmal hab es bereits durchgesehen und du hast recht (zwecks Index). Sehe funktion hier zum ersten mal. Die Schleife is so zu sagen, eine vergewaltigte CASE Funktion? hab nich gewusst das man >< ein Array reinstopfen kann. Erleichtert das ziemlich allgemein.

Danke an alle erstmal. Werde es morgen direkt auf der Testanlage überprüfen und die Ergebnisse natürlich hier Posten.

Mfg duffi

Ich bin kein Politiker,
ich bin kein Dichter,
ich bin kein Mensch...
... ich bin Techniker.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.09.2011, 07:24 (Dieser Beitrag wurde zuletzt bearbeitet: 29.09.2011 07:27 von jg.)
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Optimierung der Rechenleistung eines SubVi

Akzeptierte Lösung

(29.09.2011 06:41 )DuffiDuck schrieb:  @ Jens- Danke erstmal hab es bereits durchgesehen und du hast recht (zwecks Index). Sehe funktion hier zum ersten mal.
Wenn die Index-Auswahl nicht stimmte, dann also so:

9.0 .vi  Excel_Auswertung_VERY-light2.vi (Größe: 33,56 KB / Downloads: 211)

(29.09.2011 06:41 )DuffiDuck schrieb:  Die Schleife is so zu sagen, eine vergewaltigte CASE Funktion?
Meinst du die For-Loop, die ich eingebaut habe, für deine AGT/PGT Auswertung? Naja, eher so: da 2x dieselbe Auswerteroutine gefahren wird, schreit das nach einer Schleife.
Man könnte aus der xGT-Auswertung auch ein SubVI bauen, und dann 2x aufrufen. Danach könnte man auf einfache Weise auch noch den Rest der Sequenzstruktur löschen und alle Ergebnisse per Draht weiterführen.
(29.09.2011 06:41 )DuffiDuck schrieb:  hab nich gewusst das man >< ein Array reinstopfen kann. Erleichtert das ziemlich allgemein.
Wie, 4 Jahre LV-Erfahrung, und du weißt nicht, dass viele LV-Funktionen auch auf Arrays und/Cluster anwendbar sind?

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Eigenversuch einer ComboBox - Optimierung und Kritik gesucht TpunktN 2 2.450 30.05.2023 07:56
Letzter Beitrag: TpunktN
  Nachträgliche Optimierung von funktionierendem Prgramm Tyll 10 7.036 16.03.2017 14:11
Letzter Beitrag: Tyll
  Queued State Machine: IDLE Optimierung ALuehmann 3 4.921 14.02.2017 14:00
Letzter Beitrag: HVo
  Beenden eines SUBVI ohne Abbruch des MainVI's knutknorrsen 10 12.432 03.07.2012 10:33
Letzter Beitrag: GerdW
  Zugriff auf Queues und Daten eines SubVI Dande 7 9.251 24.04.2012 13:32
Letzter Beitrag: Lucki
  Frontpanel eines bestimmten SubVI rralf 5 5.445 09.02.2012 14:58
Letzter Beitrag: rralf

Gehe zu: