Totzeitglied - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Totzeitglied (/Thread-Totzeitglied) |
Totzeitglied - Frimi_2 - 27.03.2007 21:37 Zugegeben eine vielleicht banale Frage, aber gibt es in LabVIEW sowas wie ein Totzeitglied? Vorne Signal rein, hinten Signal raus mit der Verzögerung T. Ist schließlich eines der elementarsten Regelungstechnik Glieder. Ich hab schon versucht mir eines zu bauen aber bisher ohne Erfolg. Natürlich gehts mit so Sachen wie "Warten" o.ä. aber dann stehen mir ja auch alle anderen Signale, und das kann ich in dem Fall ned brauchen. Weiß jemand abhilfe? Danke. Totzeitglied - eg - 27.03.2007 21:54 Ja, also mit dem Warten kannes gelöst sein, die anderen Signale kann man ja in anderen Tasks auslesen und verarbeiten. Oder denke ich falsch? Eugen Totzeitglied - Frimi_2 - 27.03.2007 22:13 Prinzipjell schon, aber dann bekomm ich die Daten die aus dem Totzeitglied rauskommen nicht in die andere Schleife rüber in der die Daten den anderen Kanäle gespeichert werden. Ich werd mal ein wenig daran tüfteln. Aber einfach währe es halt wenn ich nur das Steuerelement einsetzen muss. Ein ähnliches Teil gibt es ja schon mit "Verzögerungswerte" aber das verzögert die Daten nur um eine feste anzahl an Schleifeniterationen. Eigentlich genau was ich meine nur unbrauchbar da nicht konfigurierbar... Totzeitglied - Kvasir - 28.03.2007 10:12 Also ich glaube das Ganze ist etwas differenzierter zu betrachten hier. In Programmiersprachen gibt es, im Gegensatz zur Elektronik, den Begriff Zeit (relativ) ja nicht so einfach. Nimm als Beispiel einfach 2 Daten die du addieren willst. Beide Daten werden jede Sekunde gemessen. Da hilft dir nun keine Verzögerung in einem der Beiden Datendrähte, da am AdditionsVi auf jeden Fall gewartet wird, bis ein Datenpunkt an beiden Leitungen liegt. Um Totzeiten zu programmieren kannst du (meiner Meinung nach, bin kein Experte hier) 2 Sachen machen: 1. Du hast deine Daten als Arrays. Dann kannst du (sofern du ein delta_t der Arraypunkte hast) durch verschieben der Indexe Daten zeitlich verschieben. 2. Du misst deine verschiedenen Daten in 2 seperaten, synchronisierten While Schleifen. Damit simulierst du am ehesten ein "echtes" System. Hier kannst du dann in einer 3. Schleife über Melder, Queues die Daten aus den 2 Schleifen abfragen und dadurch eine Totzeit simulieren. Hier erzeugst du die Totzeit also dadurch, dass du aus den 2 Schleifen Daten von verschiedenen Zeiten abgreifst. Gruß Totzeitglied - eg - 28.03.2007 10:16 Ja, genau, die Signale kann man ja verschieben und dehnen. Eugen |