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 

Rechendauer reduzieren, um Abtestrate von 1/s sicherzustellen



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!

04.12.2019, 12:59
Beitrag #1

Kaibe Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Dec 2019

2017
2019
DE



Rechendauer reduzieren, um Abtestrate von 1/s sicherzustellen
Hallo liebe Community,

ich bin noch ein Labview Neuling und habe von meinem Semesterarbeits-Vorgänger eine erstellte Labview-Datei erhalten, die auch funktioniert. (Siehe Screenshot)
   

In der For-Schleife werden die Signale zu einem Array zusammengefasst usw... Allerdings steigt mit laufender Laufzeit die Rechendauer meines gesamten Programmes, sodass die Abtastrate der Messignale und somit die Schreibe-Rate in meinem Excel-Dokument auf unter 1 Messpunkt pro Sekunde rutscht. Die Rechendauer wurde im Frontpanel implementiert, daher meine Erkenntnis bzgl. der Rechendauer.

Nun ist meine Frage, wie ich vermeiden kann, dass die Rechendauer exponentiell nach ca. 60s ansteigt.

Eine erste Idee aus einem anderen Forumsbeitrag war folgende: Die For-Schleife soll nur noch die Signalquellen und das zusammenführen des Arrays beinhalten. (Siehe Screenshot 2) Allerdings wird mir dann nur noch der letzte Eintrag des Arrays verarbeitet, das nur noch ein virtuelles Kanal gebildet wird. Also funktioniert das wohl auch nicht.

   

Es wäre super wenn ihr mir da helfen könntet. Smile
Ob ihr auf eine Verbesserung zum Programm meines Vorgängers eingeht oder die Idee von mir passend verbessert, wäre mir egal! :-)

Liebe Grüße,
Michi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.12.2019, 13:14 (Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2019 13:21 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 16.192
Registriert seit: May 2009

09SP1, 11SP1, 17 (selten 19)
1995
DE_EN

10×××
Deutschland
RE: Rechendauer reduzieren, um Abtestrate von 1/s sicherzustellen
Hallo Michi,

das ist immer noch die gleiche (unsinnige) Routine wie in deinem letzten Thread?
Edit: Dieser letzte Thread war im NI-Forum - bitte immer selbst auf Crosspostings hinweisen!

Wieso muss man einen einzelnen Messwert auf ein Array mit anscheinend 12×(30+31)=732 Samples aufblasen???
Statt irgendwelche Folgefehler zu suchen, solltest du gleich am Start deines VIs aufräumen!
Allgemeiner Tipp: InsertIntoArray ist meist falsch verwendet, insbesondere bei Problemen wie deinem.

Außerdem: Anhand eines Bildes, welches nur einen kleinen Ausschnitt deines Programmcodes zeigt, lässt sich ein Problem meist nur schlecht bis gar nicht beheben. Warum hängst du kein VI an?

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

Freddy Offline
LVF-Freak
****


Beiträge: 625
Registriert seit: Aug 2008

2018, 2019, NXG 3.1
1996
DE

76275
Deutschland
RE: Rechendauer reduzieren, um Abtestrate von 1/s sicherzustellen
Hallo Michi,
kurze Anmerkung zum oberen Bild.
Die For-Schleife ist sinnlos, den sie wird immer nur den letzten Wert des Arrays ausgeben.
Warum also ein Array, dass nicht verwendet wird.

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Heute, 11:26
Beitrag #4

Kaibe Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Dec 2019

2017
2019
DE



RE: Rechendauer reduzieren, um Abtestrate von 1/s sicherzustellen
Hallo GerdW,

alles klar, ab jetzt immer auf Crosspostings hinweisen! Danke!

Das VI ist sehr groß und sehr unübersichtlich - ich denke die Code-Qualität wird auch nicht sehr hoch sein. Ich habe keine Zeit das aufzuräumen, ich möchte möglichst nur meinen Fehler behandeln. Aber anbei das angesprochene VI.

Zu deiner Frage: Es ist so, dass zu jedem Modul eine Kaltstellentemperatur ausgegeben wird. Meiner Meinung nach wird jede Kaltstellenspannung hintereinander in diesen Array geschrieben. Die Kaltstellentemperatur wird anschließend in eine Spannung umgewandelt. Diese Kaltstellenspannung wird danach in 732 Zellen des Arrays geschrieben, um diese Spannung zu den anderen 732 Spannungen zu addieren. Ich habe nämlich 732 Thermoelemente.
Geht das auch einfacher/kompakter/mit weniger Rechenaufwand?

Ich habe leider keine Fachkenntnisse bzgl. Signalen, Sensoren, etc. Mir wurde lediglich aufgetragen, das Problem bzgl. der Rechendauer bzw. der Abtastrate zu lösen. Dementsprechend hoffe ich auf einfache Lösungsvorschläge - ich bezweifel allerdings, dass das möglich ist. Huh

@Freddy: Danke für deine Antwort! Smile Ich glaube allerdings, dass die For-Schleife in dem nächsthöheren Struktur doch mehr als nur den letzten Wert ausgibt. Ich erhalte denke ich mehr als 1 Signal.

Das VI ist angehängt - ich wäre bei weiterer sehr sehr dankbar :-)

LG Michi


17.0 .vi  Prozessleitsystem_Packungskolonne_DN600 - Update 02.08.19 - FFaktor in Formelknoten.vi (Größe: 1,01 MB / Downloads: 3)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Who read this thread?
17 User(s) read this thread:
BNT, TpunktN, Lucki, RMR, NoWay, kpa, th13, Ralfk84, IchSelbst, MaxP, Sakis, Kaibe, Freddy, 83Daniel, MarcoN, jg, GerdW

Gehe zu: