Wertänderung begrenzen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Wertänderung begrenzen (/Thread-Wertaenderung-begrenzen) |
Wertänderung begrenzen - Icey - 26.06.2007 11:05 Hallo, Ich möchte in meinem Programm einen Wert (Drehzahl) manuell ändern. Damit es nicht aus versehen zu großen Sprüngen kommt möchte ich bei falscher Eingabe eine Warnmeldung ausgeben. Der einstellbare Drehzahlbereich ist von -6000 bis +6000 und als maximalen Sprung soll 500 erlaubt sein. Im Forum habe ich noch nichts brauchbares gefunden. Ich habe überlegt den aktuellen Wert temporär zu speichern und ihn dann bei einer Wertänderung mit dem neuen zu vergleichen, und falls die Wertänderung in Ordnung ist, dann soll der Wert übernommen werden. Irgendwie komm ich aber bei der Speicherung nicht weiter. Wie realisier ich sowas am besten? Hat jemand schonmal was ähnliches gemacht? Ich hoffe Ihr könnt mir helfen Gruß, Icey Wertänderung begrenzen - Kvasir - 26.06.2007 12:37 Spontan fallen mir da 2 Möglichkeiten ein: - Du realisierst es über ein Schieberegister. Dort speicherst du den Wert. Bei einer Änderung überprüfst du zuerst die Gültigkeit. Ist es erlaubt, speicherst du den neuen Wert im Schieberegister. - Du verwendest eine Eventstruktur. Du greifst dabei den Case "Value Change" ab. In der Eventstruktur kannst du dann direkt auf den alten und neuen Wert zugreifen. Gruß edit: Habe dir ein kleines Beispiel gebastelt. Oben die Variante ohne Event, unten mit Event. Wie du siehst habe ich auch im Eventcase ein Schieberegister verwendet. Das brauchst du nicht unbedingt. Die Änderung realisiert die Eventstruktur alleine, aber du musst ja den Wert dann aus dem Event herausbekommen. Dazu könntest du natürlich auch lokale Variablen verwenden. Im Endeffekt wird es darauf ankommen, wie du es einbauen kannst / willst. Die Version mit Schieberegister ist sicher einfacher und flexibler, die Eventstruktur dafür eleganter, wenn es in deine Programmstruktur passt. Gruß Wertänderung begrenzen - Icey - 28.06.2007 07:20 Hallo, Danke für das Programm Prinzipiell funktionerts schon, allerdings nicht in meinem eigentlichen Programm. Irgendwie kommt er nicht in die Event-Struktur. Das Drehzahl signal ist in einem Cluster. Ich habe das Cluster aufgelöst und das Signal einzeln ausgegeben. Ich habe schon alle Varianten für den Wert ausprobiert. Aber irgendwie springt er nicht in die Event-Struktur. Weiss jemand wie es einfacher zu realisieren ist? Edit: Das Cluster Antriebsparameter enthält den Drehzahlwert, der überwacht werden soll. Gruß Icey Wertänderung begrenzen - katsumi - 28.06.2007 08:20 Ist die Eventstruktur ueberhaupt in eine Schleife ? Sonst wird sie nur einmal ausgefuehrt. Scheinbar ist dein erstes Event [0] ein Timeout, sonst koenntest du keine Zeit [1 ms] angeben. D.h. das Event Timeout wird jede 1ms ausgefuehrt - soll das so sein ? Und das ist auch das Problem, denn die Wertaenderung von Drehzahl wird nicht richtig von LV erfasst und damit springt es auch nicht den den Event. Falls dein Timeout Event (keine Ahnung was du darin hast) nur ein einiziges mal ausgefuehrt werden soll, dann solltest du per Schieberegister an der Schleife eine 0 anlegen und -1 am Ende (zwischen Eventstruktur und Schleife) reinfuehren. Cu, katsumi Wertänderung begrenzen - Lucki - 28.06.2007 08:23 Wäre es nicht besser so: Drehzahlsprung in Rampe umwandeln. Dann brauchtest Du nicht, wenn die Drehzahl von 0 auf 6000 geändert werden soll, 12 mal hintereinander zu bedienen. Im Beispiel wird die Drehzahl alle 50ms um 50 geändert, solange, bis der neue Stellwert erreicht ist. Man kann natürlich auch alle 1 sec 500 nehmen oder was Du willst. [attachment=7171] Wertänderung begrenzen - Icey - 28.06.2007 14:57 Hallo, Also ich hab noch n bissle rumprobiert, hab aber nix zu stande gebracht Ich werd morgen mal versuchen Lucki´s Idee mit der Rampe zu realisieren. Danke allen die mir geholfen haben. Gruß Icey Wertänderung begrenzen - katsumi - 28.06.2007 16:40 Hab hier eine Loesung gefunden. Cu, katsumi [attachment=7178] [attachment=7181] [attachment=7182] Wertänderung begrenzen - katsumi - 28.06.2007 16:46 Oh, ich weiss nun nicht, ob du den Wert per Drehknopf einstellen moechtest. Hab bei Drehzahl an Drehknopf gedacht... Wertänderung begrenzen - Icey - 02.07.2007 06:50 Guten Morgen Danke katsumi für die Mühe, allerdings hab ich das ganze jetzt mit Rampenfunktion geregelt, da dies für unsere Anwendung sogar besser passt. Danke auch an alle anderen für die Tipps :top: Gruß, Icey PS: Ich benutz eine numerische Eingabe |