Was ist neu in UniPlot 5.6.0

Auf dieser Seite werden die Änderungen von UniPlot 5.6.0 gegenüber UniPlot 5.5.1 beschrieben.

Änderungen und Erweiterungen

Verzögertes Laden von Kanälen beim Messdateien-Import

Verzögertes Laden von MDF-Datendateien und TDM-Datendateien. Wenn die Option „Verzögertes Importieren von Datenkanälen“ eingeschaltet ist (siehe Extras=>Weitere Optionen), werden nicht alle Kanäle sofort aus der Quelldatei in die netCDF-Datei kopiert, sondern die Kanäle werden erst bei Bedarf geladen. Enthält eine Messung z. B. 400 Kanäle, der Anwender ist aber nur an 8 Kanälen interessiert, wird der Import fast 50 mal schneller ausgeführt.

In dieser UniPlot-Version ist verzögetes Laden nur mit MDF/INCA und TDM-Dateien möglich. In den nächsten Versionen wird dies auch in die anderen Formate (z. B. ASAM-ODS) eingebaut.

Bei Standard-netCDF-Dateien wird beim verzögerten Laden jedoch kein Dateigrößenvorteil erreicht, weil der Platz für alle Kanäle bei der Erzeugung bereits reserviert wird. Bei dem neuen Messdatendateien-Format (netCDF-up) werden jedoch kleinere Dateien erzeugt.

Verbessertes Dateiformat für Messdatendateien (netCDF-up)

Es gibt nun ein neues alternatives Format für netCDF-Dateien (netCDF-up) mit einer Reihe von Vorteilen.

Vorteile von netCDF-up

  • Das Zufügen oder Entfernen von Attributen oder Kanälen führt bei netCDF-Dateien intern zum Kopieren der gesamten Datei. Bei netCDF-up ist dies nicht erforderlich, deshalb werden wesentlich höhere Geschwindigkeiten bei diesen Operationen erreicht.

  • Stabilität: In netCDF können mit nc_abort keine Änderungen an den Daten rückgängig gemacht werden. Wird eine Reihe von Änderungen an den Daten durchgeführt und eine der Änderungen schlägt fehlt (z. B. wegen Netzwerkstörungen, Stromausfall oder Softwarefehlern), ist die Datei fehlerhaft. Bei netCDF-up können die Änderungen seit dem Öffnen der Datei bzw. dem letzten nc_sync-Aufruf wieder rückgängig gemacht werden.

  • Häufig kompaktere Dateien, weil Teile der Datei komprimiert werden. In der folgenden Tabelle werden die Dateigrößen dreier typischer MDF/VS-100-Dateien mit netCDF- und netCDF-up-Dateien verglichen (alle Werte in kBytes):

    Datei Orginal (MDF/INCA) netCDF (Original) netCDF-up
    Datei klein 11 17 12
    Datei mittel 934 1426 453
    Datei groß 13727 33883 4271

    In Einzelfällen (z. B. reine Zufallszahlen als Messwerte) können netCDF-up-Dateien jedoch auch größer als netCDF-Dateien sein. In der Praxis wird dies jedoch selten vorkommen.

  • Keine Größenbeschränkung der Dateien auf 2 GBytes mehr.

  • Das Dateiformat der nächsten UniPlot-Version (6.0) basiert auf dem selben Dateiformat wie netCDF-up-Dateien (siehe Überblick UPDF-Dateien). Deshalb können netCDF-up-Dateien in UniPlot-6.0-Dateien eingebettet werden. Es ist dann möglich, die Datensätze in einem Browser zu editieren. Dabei werden die Änderungen sofort in den Kurven angezeigt.

    Siehe auch Überblick UniPlot-Datendateien. Einschalten können Sie das neue Format im neuen Dialog Extras=>Weitere Optionen.

Verbesserter Dialog „Extras=>Weitere Optionen“

Verbesserter Dialog für den Befehl Extras=>Weitere Optionen. Es ist nun auch möglich, dass der Anwender dem Dialog eigene Optionen zufügt (siehe Funktion option_add).

Weitere Änderungen

  • ASAM-ODS Browser (RPC): Submatrizen können nun in eine NC-Datei gelesen werden. Im Browser werden zu einer Submatix alle Kanalnamen, Einheiten und die Werte des ersten Rekords (i=1) angezeigt.

    ../../_images/ods-browser.png
  • Neues Addin zum Import von TCM Dateien (TestCellManager-Dateiformat der FEV GmbH). Siehe Import von TCM-Dateien.

  • Neues Addin zum Verwalten und Auswählen von Messdaten-Dateien (siehe NC-Explorer).

  • Die maximale Anzahl an Zeitgruppen pro Messdatendatei ist nun nicht mehr auf 100 beschränkt. Es können nun max. 1000 Zeitgruppen pro Datei vorhanden sein. Die max. Anzahl an Kanälen pro Datei wurde von 8192 auf 10000 erhöht. Siehe auch Programm-Grenzen.

  • Für die Funktion updf_create_file sind zwei neue Flags vorhanden: UPDF_REPACKING und UPDF_ZLIB_COMPRESSION.

  • Der Dialog zum schnellen Finden einer Seite kann nun mit einem Doppelklick auf den Seitenreiter einer IPW-Datei geöffent werden (Ansicht=>Gehe zu Seite).

  • Neue Funktion, um eine Dokument mit mehreren Seiten in mehrere Dokumente mit einer Seite zu zerlegen (Datei=>Dokument auftrennen). Mit dem Befehl Datei=>Mische Dokumente können Seiten aus geöffneten Dokumenten zusammengefasst werden.

Neue UniScript-Funktionen

Eine Tabelle mit allen neuen UniScript-Funktionen finden Sie unter UniScript 5.x.

Geänderte UniScript-Funktionen

Die Änderungen werden in den History-Tabellen am Ende der Funktionsbeschreibungen angegeben.

  Geänderte Funktionen in UniPlot 5.6.0
DialogBox Mit der Funktion DialogBox können Dialogfelder mit den Dialogelementen Textfeld, Editierfeld, Listenfeld, mehrfach selektierbares Listenfeld, Reportliste (Liste mit mehreren Spalten), Kombinationsfeld (Combo-Box), Kontrollfeld (Check-Box), Propertyliste, Gruppenfeld, Baumlisten und Schaltfläche erzeugt werden.
RegGetValue RegGetValue erfragt einen Wert aus der Registrierdatenbank.
RegSetValue RegSetValue setzt einen Wert für den angegebenen Schlüsselnamen.
auto_LoadStyleFile Die Funktion auto_LoadStyleFile lädt eine Stildatei. In der Stildatei befinden sich Beschreibungen, wie die Datensätze dargestellt werden sollen. Einige Beispiel-Dateien befinden sich im Sample-Verzeichnis von UniPlot. Sie haben die Dateinamenserweiterung .sty oder .icb.
nc_attcopy nc_attcopy kopiert ein Attribut in eine andere netCDF-Datei.
nc_create nc_create erzeugt eine neue UniPlot-Datendatei oder eine netCDF-Datei.
nc_inquire_format nc_inquire_format erfragt das Format einer offenen NC-Datei.
nc_seterror_options nc_seterror_options legt fest wie sich die netCDF-Funktionen bei einem Fehler verhalten sollen.

Fehlerkorrekturen

Der folgende Fehler wurde korrigiert:

  • (ID290): Der Statusbar-Text wurde nach 127 Zeichen abgeschnitten.

  • (ID1413): Der Befehl im Datenbrowser „Formel-Kanäle überprüfen“ funktionierte nicht richtig, wenn die Option „Importierte Kanäle nicht überschreiben“ (siehe Extras=>Formel-Konfiguration) eingeschaltet war.

  • (ID1444): MDF-Dateien mit mehr als 100 Zeitgruppen konnten nicht gelesen werden. Die maximale Anzahl an Zeitgruppen pro Datei wurde in UniPlot 5.6 auf 1000 heraufgesetzt. Der Dateibrowser älterer UniPlot-Versionen kann diese Dateien jedoch nicht mehr korrekt anzeigen.

  • (ID1494): Die Funktion FileToField verhielt sich fehlerhaft, wenn eine Zelle mit Anführungszeichen begann (") aber nicht mit Anführszeichen endete.

  • (ID1495): Die Funktion sorti hatte einen Fehler bei Zeichenkettenvektoren. Es wurdem nur Spaltenvektoren jedoch keine keine Zeilenvektoren sortiert.

  • (ID1502): Der Befehl im Datenbrowser „Formel-Kanäle überprüfen“ funktionierte nicht richtig, wenn alternative Formeln vorhanden waren (siehe Formelinterpreter 1 - Einführung).

  • (ID1512): In ExcelWrite konnte es zu einer Speicherzugriffsverletzung kommen, wenn große Matrizen (> 100000 Elemente) mit Zeichenketten geschieben werden sollten. Der Fehler war in allen UniPlot 5.x-Versionen vorhanden.

  • (ID1513): Beim Editieren von Tabellen-Objekten konnte es zu einer Speicherzugriffsverletzung kommen, wenn die Dialogbox mit „Abbrechen“ verlassen wurde. Der Fehler trat nur auf, wenn vorher die Funktion auto_ReplaceText aufgerufen wurde.

  • (ID1514): Beim Importieren von Excel-Dateien mit Hilfe der Funktion auto_GetFileNameDialog wurde der Tabellenname überflüssigerweise noch einmal abgefragt.

  • (ID1515): Der Befehl „Formel löschen“ in Extras=>Formelliste funktionierte nicht immer. Es gab Probleme, wenn die Namen mehrere Formeln mit den gleichen Zeichen anfingen.

  • (ID1519): Die Linienstile der Messcursor (Daten=>Daten-Cursor Konfiguration) ließen sich nur einstellen, wenn beide Cursor eingeschaltet waren.

  • (ID1520): UniPlot Start-Option /IniFileName fehlerhaft dokumentiert. In UniPlots Verwendung der Registrierdatenbank stand zwischen der Option /IniFileName und dem Dateinamen ein Gleichheitszeichen „=“, es muss aber ein Leerzeichen sein. Z. B.:

    c:\programme\uniplot\program\uniplot.exe /IniFileName "d:\uniplot.ini"
    
  • (ID1524): Die Funktion XYZGetInterpolZValues lieferte fehlerhafte Werte, wenn als Interpolationsverfahren „Linear“ ausgewählt war und sich der gesuchte Punkt außerhalb der Hülle befand. Der Fehler trat nicht immer aus, sondern zufällig.

  • (ID1527): Die Dokumentation der Funktion Daten=>Cursor=>Datensätze verschieben fehlte.

  • (ID1529): Es konnte zu Fehlern beim Öffnen von netCDF-Dateien im Datenbrowser kommen (siehe Datei=>Daten importieren), wenn die Datei bereits von einem anderen Anwender geöffnet wurde. Der Fehler befand sich ab Version 5.3.2 in UniPlot.

  • (ID1530): Rainflow-Addin: Im Histogramm wurden die „half cycles“ nicht korrekt verarbeitet.

  • (ID1532): Durch Fehler in verschiedenen Windows-Versionen (siehe z. B. http://support.microsoft.com/kb/286360/en) schlägt die Windows-API-Funktion GetEffectiveRightsFromAcl() auf einigen Rechnern fehl. Dies führt zu Fehlern in den Funktionen GetFileWriteAccess und GetDirectoryWriteAccess. Falls dieser Fehler auftritt, wird eine Meldung in die UniPlot-Ereignis-Anzeige geschrieben und die Funktionen liefern anschließend immer TRUE.

  • (ID1539): auto_ImportData: Die Funktion konnte den Tabellennamen in eckigen Klammern hinter dem Dateinamen bei Excel-Dateien nidcht mehr auswerten, Beispiel:

    ssNCName = auto_ImportData("d:/test.xls[a]") // Tabelle a importieren klappte nicht
    
  • (ID1543): Das Dialogfeld Datei=>Import Optionen hatte einen Fehler. Das Feld „Formelkanäle beim Importieren berechnen“ wurde abgeschaltet, wenn das Dialogfeld mit OK beendet wurde.

  • (ID1544): Bei Datensatzstilen von 1D-Datensätzen wurde der Startwert, falls im Stil angegeben, auf den für die Schrittweite angegeben Wert gesetzt.

  • (ID1546) Seitenansicht: In der Druckvorschau wurden die Feldfunktion und die globalen Platzhalter nicht aktualiert.

  • (ID1547): auto_LoadDataset: In einer Automatisierung, in der nicht explizit eine Stildatei geladen wird, verwendet UniPlot die gerade aktive Stildatei, um die Datensatzstile festzulegen. Da im Stil auch Filterfunktionen und Skalierwerte (Offset/Faktor) enthalten sein können, kann es unabsichtlich passieren, dass Kurven verschoben dargestellt werden. Ab UniPlot 5.6.0 wird deshalb beim Start einer Automatisierung die aktive Stildaten entladen. Soll eine Stildatei verwendet werden, muss im Skript die Stildatei mit Hilfe der Funktion auto_LoadStyleFile geladen werden. Nach dem die Automatisierung abgeschlossen ist wird die ursprünglich aktive Stildatei wieder geladen.

  • (ID1550): Wenn die Feldfuktion @f{legend} ohne Angabe eines Diagrammnames in den Hintergrundlayer kopiert wird, wurde die Legende nicht mehr angezeigt. Es wird nun als Legendentext eine Fehlermeldung ausgegeben: Invalid Legend - no Diagram Name (Fehlerhafte Legende - kein Diagrammname).

  • (ID1553): XYZGetIsoline: Die Zuordnung des Index zum Isolinienwert stimmte bei der Funktion nicht.

  • (ID1155): Ab UniPlot 5.5.0 wird der UTX-Filter zum Laden von Excel- und Text-Dateien verwendet. Durch die Umstellung wurde die Behandlung von Kanalnamen unabsichtlich verändert. Leerzeichen im Kanalnamen wurden durch Unterstriche ersetzt. Nun werden aus dem Kanalnamen wieder alle Leerzeichen entfernt und nur Sonderzeichen durch Unterstriche ersetzt. Das verursachte Probleme beim Datenaustausch.

  • (ID1557) IFile: Die Saugrohrdruckkalibrierung („nultyp“ = 4) wird nun auch beim „nultyp“ = 257 ausgeführt.

  • (ID1560) Die simplify-Filterfunktion zur Reduzierung der Punktanzahl von Datensätzen war fehlerhaft (siehe Daten=>1D und 2D Datensatz bzw. Filterfunktionen für XY-Datensätze).

    Die Bedeutung des Parameters nTolerance wurde geändert. nTolerance gleich 1 bedeutet, dass alle Punkte der transformierten Kurve höchstens einen Abstand von 10% zur Originalkurve haben. Die Werte 2, 3, 4 bis 30 halbieren die Tolerenz. 4 ist also ein Abstand von 1.25%, bei 20 ist der Abstand nahezu 0.

id-483889