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 

Wert von numer. Bedienelement kontinuierlich erhöhen (Sprung vermeiden)



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.04.2011, 13:11
Beitrag #1

lemmo Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Feb 2010

2010 (10.02f)
-
DE

10626
Deutschland
Wert von numer. Bedienelement kontinuierlich erhöhen (Sprung vermeiden)
Hallo,

ich möchte den Benutzer an einem numerischen Bedienelement einen Wert (neuer Sollwert) einstellen lassen. Mein Programm soll dann diesen Wert langsam (kontinuierlich) anfahren ohne dass ein harter Sprung entsteht. Ich hatte einige Ideen aber keine davon war erfolgreich. Kann mir jemand einen Hinweis geben?

Beispiel: Es ist an einem numer. Bedienelement der Wert 1 eingestellt. Der User gibt nun als neuen Sollwert 10 ein. Das Programm soll dann in z.B. 5 Sekunden langsam den Wert 10 anzeigen und das ohne das übrige Programm z.B. durch eine While Schleife anzuhalten.

danke schon mal für eure Mühe


LV-Version 2010
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.04.2011, 14:14
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Wert von numer. Bedienelement kontinuierlich erhöhen (Sprung vermeiden)
(28.04.2011 13:11 )lemmo schrieb:  Das Programm soll dann in z.B. 5 Sekunden langsam den Wert 10 anzeigen
Siehe Muster.
Zitat:und das ohne das übrige Programm z.B. durch eine While Schleife anzuhalten.
"ohne das übrige Programm durch eine While Schleife anzuhalten" ist relativ. Da LV eine Multitasking-Umgebung ist, kann du (beliebig) viele While-Schleifen parallel laufen lassen, ohne dass der Rest des Programmes (wesentlich) gestört wird. Einfach das angehängte VI parallel zu allem anderen laufen lassen.

Dieses VI ist lediglich ein Vorschlag, der erheblich optimiert werden kann. Dazu sollte man aber modular (z.B. OOP) programmieren. Propertys der verwendeten Art sind für diesen Anwendungszweck eigentlich ungeeignet. In das Modul gehört eine Event-Steuerung, die auf Änderungen (im Eingabeelement) reagiert. Ob per User-Event oder Queue sei mal dahin gestellt. Das Modul würde z.B. einen Melder zur Verfügung stellen, der den sich langsam anpassenden Wert enthält. Durch ein Modul würde eine Entkopplung zwischen Berechnung (= While-Schleife) und Eingabe-/Anzeige-Element erreicht werden.

Natürlich gilt auch in diesem Falle, wenn so reicht ...


Angehängte Datei(en)
2010 .vi  Muster.vi (Größe: 11,47 KB / Downloads: 302)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.04.2011, 14:35
Beitrag #3

Kiesch Offline
LVF-Stammgast
***


Beiträge: 401
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Wert von numer. Bedienelement kontinuierlich erhöhen (Sprung vermeiden)
Gibt es von NI eigentlich Analoge Hardware die genau so ein Einstellverhalten erlaubt?

Sprich: Ich stelle nicht diskrete Schritte ein die ich dann eben entsprechend der maximalen Taktrate der Hardware halten muss, sondern gebe vor, dass eine Rampe ausgegeben werden soll (analog) die in einer bestimmten Zeit vom Minimalwert zum Maximalwert läuft.

Aktuell realisiere ich eine Anwendung die so etwas braucht auf einem Fieldpoint System - jedoch erlaubt das eben auch nur alle ca. 0,3 - 0,5 ms ein neues setzen des Wertes, weshalb man mit der Rampe um die Vernünftig darzustellen auf Frequenzen deutlich unter 2kHz beschränkt ist. Wäre schon schick stattdessen gleich vorzugeben, dass das Gerät eine Rampe fahren soll.

Gruß Kiesch

p.S: Genaugenommen ist das Musterprogramm ja auch nur ein digitales Simulieren eines kontinuierlichen Verfahrens.

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
28.04.2011, 18:14
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Wert von numer. Bedienelement kontinuierlich erhöhen (Sprung vermeiden)
Hier noch Variante mit Ereignisbehandlung. (Den Beitrag #4 habe ich nicht berücksichtigt)

2010 .vi  Slider.vi (Größe: 13,62 KB / Downloads: 276)
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
  EOF Fehler vermeiden chrissy 6 5.152 13.12.2016 08:26
Letzter Beitrag: chrissy
  Wert an naheliegensten Wert aus Array anpassen TSC 17 9.985 26.07.2016 06:59
Letzter Beitrag: TSC
  Polling von Curser-Position in Waveform Graph vermeiden UFPhC 11 7.746 16.10.2014 12:00
Letzter Beitrag: Trinitatis
  Aktueller Wert von vorherigem Wert abziehen Semicon 6 6.358 18.06.2014 16:34
Letzter Beitrag: jg
  Bearbeitung kontinuierlich verändernden Elementen derdak 9 5.320 19.03.2014 14:14
Letzter Beitrag: derdak
  Wie sehr großen Cluster vermeiden? Matze 10 8.321 31.10.2013 17:21
Letzter Beitrag: macmarvin

Gehe zu: