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 

Anzeige und Bedienelement in einem



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!

19.08.2020, 09:08
Beitrag #1

mikadm Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: May 2020

LV 2015
2019
DE



Anzeige und Bedienelement in einem
Hallo Zusammen,

Mein Programm enthält eine Regelung von Proportionalventilen.Es funktioniert auch sehr gut aber ich möchte die Möglichkeit haben, händisch nachzuregeln.
Die Regelung befindet sich in einer While-Schleife und der vorherige Wert wird mit einem Schieberegister in den nächsten Durchlauf übergeben. Der Sollwert wird vorher mit einer Kennlinie berechnet.
Die ist aber ungenau, weswegen ich möchte, dass der Aktuelle Wert angezeigt wird, aber gleichzeitig auch verändert werden kann.
dafür wäre es hilfreich eine Funktion zu haben, die gleichzeitig ein Bedien-und Anzeigeelement ist.
Gibt es so etwas ?

LG
mikadm
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.08.2020, 09:29
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Anzeige und Bedienelement in einem
Hallo mikadm,

Zitat:ich möchte, dass der Aktuelle Wert angezeigt wird, aber gleichzeitig auch verändert werden kann.
dafür wäre es hilfreich eine Funktion zu haben, die gleichzeitig ein Bedien-und Anzeigeelement ist.
Jein…

Du kannst ein Control nehmen und dort per lokaler Variable ständig den "aktuellen Wert" reinschreiben.
Dummerweise führt das aber zu Problemen, wenn der User gleichzeitig versucht, selbst einen Wert einzutippen: dein VI schreibt ja dauernd selbst einen Wert in das Control…
(Für das bessere Verständnis, insbesondere der genauen Bedeutung des Wortes "ständig" in diesem Zusammenhang, wäre es schön, wenn du dein VI bereitstellen würdest…)

Ich mache das üblicherweise so, dass entweder nur der Regler aktiv ist - oder eben nicht und der User dann Handsteuerung machen darf.
Wenn der User "zusätzlich" eingreifen können darf, dann bekommt er eine Eingabe eines "Korrekturwertes", der dann zum Regler-Stellwert addiert (oder sonstwie verrechnet) wird.
Oder es handelt sich um eine Sicherheits-Einrichtung, dort greift dann meistens eine "Maximalwert"-Auswertung: der größere Wert von Regler- und manueller Vorgabe gewinnt…

Zitat:Der Sollwert wird vorher mit einer Kennlinie berechnet. Die ist aber ungenau, weswegen ich möchte, dass der Aktuelle Wert angezeigt wird,
Da du hier von einem Regler redest, solltest du zur Klarheit auch "ordentliche" Reglernamen verwenden.
"Sollwert" ist das, was der Regler als Zielgröße erhält. Ich habe mich in den Sätzen zuvor aber auf den "Stellwert" bezogen: das ist der Ausgabewert des Reglers.
Jetzt bringst du auch noch den "Aktuellen Wert" dazu: ist das jetzt deine Messgröße, die der Regler dann mit dem Sollwert vergleicht, um die Stellgröße zu berechnen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2020, 08:14
Beitrag #3

mikadm Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: May 2020

LV 2015
2019
DE



RE: Anzeige und Bedienelement in einem
Danke für deine Antwort GerdW!

Schade dass es so etwas nicht gibt. Mein VI darf ich leider nicht hochladen...
Ich habe mit aktuellem Wert auch den Sollwert gemeint. Die Regelung funktioniert einwandfrei und ich möchte wegen einer zusätzlichen Bedingung eingreifen können.

Ich werde es mit einem Korrekturfeld probieren.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2020, 08:44 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2020 08:45 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Anzeige und Bedienelement in einem
Hallo mikadm,

Zitat:Mein VI darf ich leider nicht hochladen...
Du könntest ein Beispiel-VI erstellen, welches dein Problem demonstriert - ohne irgendwelche "geheimen" Firmeninterna…

Zitat:Ich habe mit aktuellem Wert auch den Sollwert gemeint.
Der Sollwert wird vorher mit einer Kennlinie berechnet. Die ist aber ungenau,
Wäre es dann nicht einfacher, die Kennlinie zu korrigieren/verbessern?
Oder gar durch ein Kennfeld zu ersetzen? (Oder bei noch mehr Eingangsgrößen durch eine Berechnung?)

(Meine User wünschen sich üblicherweise mehr (Regelungs-)Automatismus und weniger Handsteuerung. Und wenn Regler Kennlinien-/Kennfeld-basiert arbeiten (aka feed forward control), dann sollte man an dieser Stelle bestmögliche Vorgaben machen…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.08.2020, 09:00
Beitrag #5

THL Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 109
Registriert seit: May 2011

2012
2009
EN


Deutschland
RE: Anzeige und Bedienelement in einem
(19.08.2020 09:29 )GerdW schrieb:  Du kannst ein Control nehmen und dort per lokaler Variable ständig den "aktuellen Wert" reinschreiben.
Dummerweise führt das aber zu Problemen, wenn der User gleichzeitig versucht, selbst einen Wert einzutippen: dein VI schreibt ja dauernd selbst einen Wert in das Control…
Vor dem Problem stand ich auch. Ich habe es so gelöst, dass die property 'KeyFocus' vor dem Schreiben abgefragt wird. Falls TRUE wird der Wert nicht vom Programm verändert,
da der Nutzer offensichtlich gerade dort am Gange ist. Zusätzlich ist das Ganze noch mit einem kurzen Timer abgesichert, der ausgelöst wird wenn der Nutzer einen neuen Wert eingegeben hat
(und KeyFocus FALSE wird), damit dieser Wert auch verarbeitet wird, bevor das Programm wieder anfängt eigene Werte hineinzuschreiben.
Bisschen kompliziert und umständlich, tut aber seinen Zweck.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.08.2020, 09:09
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Anzeige und Bedienelement in einem
Hallo THL,

Zitat:Ich habe es so gelöst, dass die property 'KeyFocus' vor dem Schreiben abgefragt wird.
Interessanter Lösungsweg!

Ich habe darauf verzichtet, weil ich dieses "gleichzeitig Anzeige und Eingabe" hauptsächlich in unserer Prüfstandssoftware benötige (mit diversen Reglerkreisen), wo ich jetzt nicht periodisch in den UserThread wechseln will, um den KeyFocus abzufragen - dass würde mir die Performance wahrscheinlich doch stark beeinträchtigen.
Wenn NI nur endlich mal diesen (mittlerweile 9 Jahre alten) Eintrag im IdeaExchange umsetzen würde…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.08.2020, 10:11
Beitrag #7

mikadm Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: May 2020

LV 2015
2019
DE



RE: Anzeige und Bedienelement in einem
Ich arbeite an der Kennlinie. Das ist wirklich die schönste Lösung.
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
  Zustandsautomat (Anzeige-Element aus einem Frame) David_EA 3 3.563 04.09.2013 09:02
Letzter Beitrag: David_EA
  Mit Booleschen Schalter zwischen Anzeige- und Bedienelement schalten YYYs 3 5.325 12.06.2011 09:56
Letzter Beitrag: YYYs
  InLabVIEW Anzeige Elemente zu einem SubVI zusammenfassen Florian_TU-BS 11 12.997 10.08.2010 14:36
Letzter Beitrag: jg
  Bedienelement in/über Anzeige-Element legen Peter04 5 5.578 01.10.2009 09:07
Letzter Beitrag: TSC
  Extrahieren von einzelnen Daten aus einem Cluster in einem 2d-Array cblaise 1 3.410 16.07.2009 08:51
Letzter Beitrag: Y-P
  wie nach einem Druck auf ein OK-Schalter einen Bedienelement auf Null zabi 9 6.112 04.05.2009 06:35
Letzter Beitrag: Dennis.Moser

Gehe zu: