.. highlightlang:: us .. index:: Gaslaufzeiten korrigieren .. index:: Abgasmessverzugszeiten .. index:: Zeitverzug korrigieren .. index:: Wandlungszeit korrigieren. .. index:: Anstiegszeit (t90) .. _gaslaufzeiten_korrigieren: .. _gasresponsetime_correction: Gaslaufzeiten korrigieren ========================= Mit Hilfe des Addins "Gaslaufzeiten korrgieren" können Gaslaufzeiten oder anders verursachte zeitliche Verschiebungen von Signalen korrigiert werden. Die Korrektur kann auf ausgewählte Kanäle angewendet werden. Die Kanäle werden individuell nach früh oder nach spät verschoben. Die fehlenden Datenpuntke am Ende bzw. am Anfang der Messung werden mit ungültigen Datenpunkten (missing) aufgefüllt. Installation ------------ * Wählen Sie :ref:`tools-add-in-manager`. * Markieren Sie das Add-In :guilabel:`Gaslaufzeiten korrigieren`. * Wählen Sie OK. * Erzeugen Sie mit dem Windows Datei-Explorer eine Kopie der Datei :file:`\\uniplot\\addin\\rs_delaytime\\delaytime_example.ini`. Geben Sie der Datei den Namen :file:`delaytime.ini` oder einen anderen frei wählbaren Namen an und speichern Sie die Datei in einem beliebigen Verzeichnis. Konfiguration ------------- Bevor Sie das Addin verwenden können, muss es entsprechend konfiguriert werden. * Wählen Sie **Extras=>Gaslaufzeitenkorrektur Konfiguration** * Markieren Sie die Option "Gaslaufzeitenkorrektur einschalten". * Im folgenden Dialogfeld wählen Sie die von Ihnen erstellte Ini-Datei aus. Drücken Sie dazu auf die Schaltfläche ``Öffnen...``. * Nachdem Sie die Ini-Datei ausgewählt haben drücken Sie den Schalter "Datei bearbeiten". Die Datei wird geöffnet. Schließen Sie nun das Dialogfeld mit *OK* um die Datei zu bearbeiten. .. image:: S:/uniplot-obj/images/delaytime-config-de.* In der INI-Datei werden nun die gewünschten Kanäle eingegeben. Konfigurationsdatei ------------------- .. highlight:: ini Die Beispieldatei sieht etwa so aus:: ; ; UniPlot-Konfigurationsdatei zur Kompensation von Zeitverzügen. ; Beispiel: Gaslaufzeiten ; ; Damit die Verschiebung korrekt angewendet werden kann, müssen die Daten ; mit einer konstanten Abtastfrequenz aufgezeichnet worden sein. ; ; Verschiebung von einzelnen Kanälen um einen Zeitabschnitt. ; ; Die Zeitverschiebungen müssen in der Einheit des Zeitkanals angegeben werden. ; Dezimaltrennzeichen ist der Punkt. ; Beispiel: NOx = 1.5 verschiebt die Daten des Signals Nox um 1.5 s nach früh. ; Die entsprechende Anzahl Datenpunkte am Ende des Kanals wird mit missing ; aufgefüllt. ; ; Die Verschiebung muss kleiner sein, als der in der Datei gespeicherte ; Zeitabschnitt. ; ; Die Kanalnamen müssen so eingegeben werden, wie sie in der NC-Datei ; angezeigt werden. Bei MDF-Dateien wird der Name des Zeitkanals ohne die ; laufende Nummer eingegeben. ; [TimeChannel] Name=Zeitstempel_QP1 [DataChannel] NOx = 1.5 HC = 3.1 CO2 = 1.9 Geben Sie im Abschnitt TimeChannel den Namen des Zeitkanals an. Es kann auch eine durch Komma getrennte Liste von Zeitkanalnamen eingetragen werden. Für die berechnung der Verschiebung wird dann der erste gefundene Namen verwendet. Beispiel:: [TimeChannel] Name=Zeitstempel_QP1, Time, acttime Im Abschnitt DataChannel können Sie beliebig viele Kanäle angeben. Die Schreibweise der Kanalnamen muss mit der Schreibweise in der NC-Datei übereinstimmen. Hinter dem Gleichheitszeichen wird die Verzugszeit in Sekunden angegeben. Als Dezimaltrennzeichen muss ein Punkt verwendet werden. Nachdem Sie alle Änderungen an der Ini-Datei vorgenommen haben, speichern Sie die Datei. Benutzung --------- * Wenn die Gaslaufzeitenkorrekur eingeschaltet ist, werden die Kanäle entsprechend nach früh oder spät verschoben. Die am Anfang oder am Ende fehlenden Datenpunkte werden mit missing_values aufgefüllt. * Die Verschiebung wird im Kanalattribut ``delaytime`` gespeichert. Falls das Attribut ``delaytime`` bereits im Kanal existiert, wird bei einem weiteren Aufruf der Funktion keine weitere Verschiebung durchgeführt. * Die Kompensation wird vor der Berechnung der Formeln aufgerufen. * In die NC-Datei wird ein globales Attribut DT_delaytime_applied = 1 eingetragen. Falls das Attribut existiert, werden die Gaslaufzeiten nicht angewendet. UniScript-Schnittstelle ----------------------- .. highlight:: us Innerhalb eines Skripts können die Gaslaufzeiten mit Hilfe der Funktion DT_ApplyDelayTimes angewendet werden. Dazu muss das Addin geladen sein. Im Konfigurationsdialog muss die Option "Gasverzugszeitenkorrektur" abgeschaltet sein. Das kann mit dem folgenden Aufruf vor der Anwendung der Funktion erreicht werden:: _DT_EnabelDelayTime("0"); Mit dem Wert "1" kann die Option wieder eingeschaltet werden. Der erste Parameter der Funktion DT_ApplyDelayTimes() ist der Name einer NC-Datei oder die *ncid* einer zum Schreiben geöffneten NC-Datei. Der zweite Parameter ist ein Objekt. Der Zeitkanal wird im Element ``obj[1]`` gespeichert. Es kann ein Stringvektor mit den Namen von Zeitkanälen übergeben werden. In diesem Fall wird der erste in der NC-Datei gefundene Zeitkanal verwendet. Die einzelnen Gaslaufzeiten werden wie im folgenden Beispiel definiert: :: obj = [.] obj[1] = ["Time", "RECTime"]; obj["NOX"] = 3.49 obj["HC"] = 2.2 obj["CO"] = 4.12 DT_ApplyDelayTimes(ssNCFileName, obj); .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2014.2 - UniScript Schnittstelle. * - R2013.0 - Neu. :sub:`id-1502096`