Änderungshistorie VisiWinNET 6.2 SP2

 

 

VisiWinNET Entwicklung Allgemein

Neue Funktionen und Optimierungen:

  • Variableneditor:
    Strukturnamen werden jetzt bei der Datentypauswahl sortiert aufgelistet.
  • Im Alarmsystem können nun für die Meldegruppen Symbole, auch Grafiken im PNG und BMP Format projektiert werden (*.png und *.bmp Dateien).
  • Für VisiWinNET Compact Projekte können nun unter dem Knoten Projektkonfiguration auch die Zykluszeiten für das applikationsweite Blinken und die Togglezeit der Alarmzeile eingestellt werden.
  • Bei der Übertragung eines Projektes auf das Zielgerät über TCP/IP lässt sich nun die Zeit für die interne Timeout-Überwachung über den Verbindungsdialog konfigurieren.
    Die Übertragung lässt sich so auch für langsame Verbindung (z.B. über DFÜ/Modem) konfigurieren.

Fehlerbehebungen:

  • Die „Suchen und Ersetzen“ Funktion funktionierte bei Einheitenklassen nicht korrekt.
  • Die „Suchen und Ersetzen“ Funktion funktionierte nicht korrekt, wenn die zu ersetzende Spalte sortiert eingestellt war.
  • Die Auswahl von Rezeptvariablen im Rezepteditor war nicht möglich, wenn genau eine Rezeptvariable angelegt war.
  • TextImExport Tool:
    Beim Importieren von Texten konnte es bei leeren Feldern in der Importdatei zu einer Cast-Exception (DBNull -> string) kommen, die zum Abbruch des Importvorgangs führte.
  • Protokollierung VisiWinNET Standard:
    Die Bearbeitung der System-Kategorien über die entsprechenden Eigenschaften konnte zu einem Absturz des Entwicklungssystems führen.
  • Beim Löschen von kompletten Variablen-Namensräumen traten Fehler auf, wenn in den Variablenbezeichnern Sonderzeichen (z.B. ‚[‚ oder ‚]’) vorkamen.
  • Kopieren und Einfügen von Alarmen über die Zwischenablage funktionierte nicht korrekt.
  • In den Variablen-Auswahldialogen wurden Stringvariablen mit einer Feldgröße ungleich 0 bei VisiWinNET Standard Projekten fälschlicherweise als Variablenfeld dargestellt. Da die Feldgröße von der VisiWinNET Standard Laufzeit als Stringlänge interpretiert wird, werden diese Variablen nun als Einzelvariablen dargestellt.
  • Das Setzen des Defaultwertes für spezifische Parameter eines Treibers oder OPC Servers war nicht möglich, wenn der Defaultwert außerhalb der einstellbaren Grenzen lag. Für diesen Fall existiert nun eine Schaltfläche im Konfigurationsdialog, mit dem sich der Defaultwert übernehmen lässt.
  • Fehlende Texte für TouchKeyboards "AlphaPad" und "TinyAlphaPad" in den Projektvorlagen ergänzt.

 

VisiWinNET Smart

Fehlerbehebungen:

  • In einigen Situationen konnte es passieren, das beim Aufruf der Speichern-Funktion, die Daten der VisiWinNET Editoren und Eigenschaftenseiten nicht gespeichert wurden
  • Der Aufruf der Hilfe aus der Eigenschaftenliste führte bei einigen Eigenschaften (z.B. VarIn.Padding) zum Absturz des Entwicklungssystems.

VisiWinNET Professional

Neue Funktionen und Optimierungen:

  • Im Optionen-Dialog des Projektmanagers lassen sich jetzt im Verzeichnisauswahldialog alle beliebigen Verzeichnisse auswählen.
  • Der Splash-Screen des Projektmanagers wird jetzt nach dem vollständigen Anzeigen des Projektmanagers ausgeblendet.
  • Wird aus der "Aktuelle Projekte"-Liste des Projektmanagers ein Projekt konvertiert oder neu gespeichert, wird das neue Projekt jetzt in die Liste eingetragen.

Fehlerbehebungen:

  • Die Auflistung der geladen Assemblies aus dem „Über-Dialog“, führte in VisiualStudio zu einer Exception.
  • Wenn nur Visual Studio 2008 SP1 installiert ist und ein Beispielprojekt geöffnet wurde, gab es die Fehlermeldung "...Visual Studio 8.0 konnte nicht gefunden werden".
  • Beim Starten eines Windows CE Projektes über die Start-Debug Funktion in Visual Studio 2008 wurden in einigen Situationen nicht alle VisiWinNET Dateien auf dem Zielgerät aktualisiert.

VisiWinNET Steuerelemente

Neue Funktionen und Optimierungen:

  • RecipeList:
    Anzeige und Eingabe von Bool-Variablen optimiert. Die Ein-/Ausgabe erfolgt nun über Checkboxen.
  • Neue Systemfunktionen ShowMouseCursor und HideMouseCursor zum Anzeigen und Verstecken des Mauszeigers zur Laufzeit.
  • RecipeList, RecipeClassHandler:
    In den Dialogen zum Laden und Speichern von Rezepten wird das geladene Rezept nun in der Rezept-Auswahlliste automatisch beim Öffnen des Dialoges selektiert.
    In der Rezeptliste wird das geladenen Rezept automatisch selektiert, wenn die Liste aktualisiert wird.
  • RecipeList:
    Beim Speichern eines Rezeptes wird nun die Eigenschaft RecipeFile.FileName im angebundenen RecipeClassHandler nicht mehr zurückgesetzt.
  • Der SmartTag Dialog zur Bearbeitung der Eingabegrenzen im VarIn Steuerelement wurde überarbeitet.
  • Slider / ExtendedSlider:
    Darstellung des Thumb für den Zustand Disabled verbessert.

Fehlerbehebungen:

  • Stringvergleiche mit Leerstrings wurden bei der bedingten Ausführung von Systemfunktionen (IF THEN ELSE - Bedingungen) nicht korrekt ausgeführt.
  • Process-Komponente:
    Die Funktion StartProcess wurde in VisiWinNET Professional nicht richtig serialisiert.
  • Im Dialog zum Anlegen neuer Benutzer wurden die ComboBoxen bei der ersten Selektion nicht geschlossen. Zum Schließen der ComboBoxen mussten diese immer zweimal selektiert werden.
  • Die Funktionen Back und Forward aus der Formularverwaltung funktionierten bei ChildForms nicht korrekt. Bei Aufruf der Funktionen wurden teilweise falsche oder keine Formulare angezeigt.
  • Auf einigen Systemen wurde der Dialog zum Auswählen von sprachumschaltbaren Texten bei jedem Öffnen größer.
  • Bei der Eingabe von Werten über das AlphaPad wurde das ChangeByEditing-Ereignis des bearbeiteten Steuerelementes nicht ausgelöst.
  • RecipeList:
    Bei der Eingabe von Variablen wurde die Einheitenumschaltung nicht berücksichtigt.
    Variablen vom Typ DateTime wurden falsch angezeigt und konnten innerhalb der Liste nicht editiert werden.
  • VarIn:
    Bool Variablen konnten im Rezeptmodus nicht über das NumPad editiert werden.
  • HistoricalAlarmList:
    Beim Auflisten von historischen Alarmen konnte es zu Abstürzen in der Applikation kommen, wenn das Formular während der Ermittlung der Alarme geschlossen wurde.
  • TrendLegend:
    In Spalten vom Typ Unit wurde der Einheitentext nicht angezeigt.
  • XYGraph:
    Die Skalen wurden in einigen Situation nicht korrekt dargestellt.
  • ListView:
    In Spalten vom Typ CheckBox wurde die dargestellte Checkbox nach einem Click auf die Zelle nicht richtig aktualisiert.
    Die im ListView angebunden Variablen wurden bei der formularbezogene Variablenaktivierung und –deaktivierung nicht berücksichtigt.
    Nach einem Sortiervorgang wurden die Eigenschaften SelectedIndex und SelectedItem nicht neu gesetzt.
  • NumPad:
    Bei zweimaliger Betätigung der „-“ Taste wurde in der Anzeige des NumPads wieder ein „+“ Zeichen angezeigt. Der eigentliche Wert blieb aber weiterhin negativ. Nun wird auch der entsprechende Wert negiert.
  • RecipeClassHandler:
    Die Eigenschaften MinButtonHeight, MinInputHeight zur Konfiguration des Load- und Save-Dialogs, wurden nicht ausgewertet und hatten keine Auswirkungen auf die Darstellung der Dialoge.
  • Skalendarstellung:
    Bei allen Steuerelementen mit Skala gab es einen Darstellungsfehler bei wenn die Eigenschaft ScalePosition auf den Wert Secondary eingestellt wurde.
  • Shape:
    Die Farbdarstellung für Outline=RoundedRect war falsch.
  • AlarmLine:
    Für die Alarmeigenschaft "Count" wurde nur ein "-" Zeichen ausgegeben. Jetzt wird korrekt die Anzahl der anstehenden Alarme ausgegeben.

VisiWinNET Compact Laufzeit

Neue Funktionen und Optimierungen:

Prozessanbindung

  • Nach einem synchronen Schreibvorgang wird nun die Variablen-Quality geprüft. Eine Variablen-Quality ungleich OPC_QUALITY_GOOD wird als Fehler gewertet und liefert bei der Funktion VWSet den Rückgabewert „false“ zurück.
  • Wenn „Null“ Werte aus einem Treiber übermittelt werden, wird jetzt nur noch die Qualität nicht aber der Wert übernommen.
  • Die Funktionen VWGet, VWSet, VWGetBit und VWSetBit sind nun threadsicher und können auch in vom Hauptthread abgespaltenen Threads verwendet werden.
  • Wenn ein OPC-Server Variablen mit der Qualität BAD sendet, können die dazugehörenden Variablenwerte nun optional verworfen werden. Die Werte werden dann nicht in den interne Variablencache übernommen.

Alarmverwaltung

  • Variablenwerte, die in Alarmtexten verwendet werden, werden nun beim Generieren des Alarms synchron eingelesen.
  • Der Toggle-Zyklus des Alarmline Objektes lässt sich nun konfigurieren.

Rezeptverwaltung

  • Für nicht kommunizierte Variablen erzeugt das Rezeptsystem nun keine Systemfehler mehr. Die Informationen werden weiterhin in die Logdatei eingetragen.
  • Lese- und Schreibfehler die in der Funktion RecipeClass.Get auftreten, werden nun in der LogDatei protokolliert. Zusätzlich wird im Ereignis GetDone ein allgemeiner Fehler mitgeliefert.
  • Die Funktion RecipeClass.Get liest die Variablen nun synchron aus der Steuerung. Über eine neue Überladung der Funktion können die Variablenwerte aus dem Variablen-Cache gelesen werden.

Fehlerbehebungen:

Allgemein

  • Das automatische Beenden der Laufzeit im Fehlerfall oder bei abgelaufener oder fehlerhafter Lizenz hat nicht immer korrekt funktioniert.

Prozessanbindung

  • Die Change-Ereignisse für Array-Variablen wurden in diversen Situationen nicht korrekt ausgelöst.
  • Fehler beim Schreiben von Arrays behoben.
  • Das mehrmalige Beschreiben der Name-Eigenschaft eines Item-Objektes konnte dazu führen, das die entsprechende Variable deaktiviert und somit anschließend nicht mehr kommuniziert wurde.
  • Bei StateItem Objekten wurde im Rezeptmodus (RecipeMember = true) im Change Ereignis anstelle des Rezeptwertes der Prozesswert übergeben.
  • Die Zugriffsart 1xR (einmaliges Lesen) für Variablen wurden nicht ausgewertet. Alle Variablen die diese Einstellung verwenden, werden nun bei Starten des Projektes einmal synchron gelesen.

Sprachumschaltung

  • Bei der Ermittlung von sprachumschaltbaren Texten (z.B. über die Funktion Localization.GetText) durfte am Anfang der übergebenen TextID kein @-Zeichen stehen. Der entsprechende Text wurde in diesem Fall nicht gefunden. Das @-Zeichen wird nun erkannt und korrekt behandelt.

Alarmverwaltung

  • Wenn eine Alarmgruppe mit anstehenden Alarmen über eine Variable deaktiviert und anschließend wieder aktiviert wurde, wurden die aktiven Alarme nicht in der aktuellen Alarmliste eingetragen.

Trendsystem

  • Fehler die bei der Trendaufzeichnung auftreten werden nun zentral abgefangen und führen nicht mehr zum Absturz der Applikation.
  • In einigen Situationen konnte es passieren das die aufgezeichneten Daten nicht korrekt an das TrendChart Steuerelement übergeben wurden. Das TrendChart Steuerelement hat in diesem Fall keine Kurve dargestellt.

Rezeptverwaltung

  • Beim Speichern und Lesen von Rezeptwerten des Datentyps VT_R4, VT_R8 in Verbindung mit einer Prozesswertumrechung oder Rezeptwertnormierung, wurden die Daten sprachabhängig abgespeichert. Da das Probleme beim Laden von Rezepten auf Systemen mit unterschiedlichen Spracheinstellungen verursacht, werden die Daten nun sprachneutral gespeichert und gelesen.
  • Bei der Verwendung von Einzelvariablen aus einem Variablenfeld in einem Rezept, wurden die Rezeptdateien zu diesem Rezept nicht korrekt abgespeichert und ausgelesen.

Protokollierung

  • Beim Auslesen des Logbuches wurden Einträge mit Indextextparameteren oder benutzerdefinierten Parametern als ungültig markiert (fehlerhafte Checksumme).
  • Beim Ändern von Benutzergruppen wurden zu viele Parameter im Logbuch abgespeichert.
  • Beim Speichern von Ereignissen mit benutzerdefinierten Parametern, wurde ein Systemfehler ausgelöst, wenn die übergebenen Parameter den Wert Null enthielten.

VisiWinNET Standard Laufzeit

Neue Funktionen und Optimierungen:

Allgemein

  • Wenn der Client die Verbindung zum Server verliert, wird nun ein temporärer Systemalarm erzeugt.
  • Geschwindigkeitsoptimierung beim Maskenwechsel für VPN-Verbindungen.
  • Der Dialog zur Anzeige von Fehlern und Ereignissen im Client-Laufzeitsystem passt sich jetzt auch auf Bildschirmauflösung kleiner 640*480 Pixel an.
  • Im Client-Server Betrieb werden nun auch Terminal-Server-Dienste unterstützt.
  • Verhalten bei Client-Server-Kommunikationsabriss optimiert.
  • Fehlerausgabe bei falscher Lizenz verbessert.
  • Client-Server-Verbindungsabrissbehandlung optimiert.

Prozessanbindung

  • Die "Cause"-Eigenschaft in den ChangeEventArgs ist jetzt nicht mehr sichtbar.

Trendsystem

  • Damit die automatische Reparaturfunktion keine falschen Daten liefert, wird im "sicheren" Modus nun zusätzlich zu jedem Sample noch eine Checksumme gespeichert.

Fehlerbehebungen:

Allgemein

  • Der Client-Rechnername wurde bei Client-Server-Projekten nicht richtig übertragen. Dadurch war z.B. die Spalte Rechnername im Protokollsystem bei den LogOn- LogOff-Aufzeichnungen immer leer.
  • Das Fenster zur Anzeige von fehlerhaften Laufzeitlizenzen wurde in einigen Situationen nicht korrekt dargestellt. Manchmal war nur ein weißer Hintergrund zu sehen.
  • Bei Client-Projekten wurde die aktuell eingestellte Sprache nicht abgespeichert.
  • Das manchmal auftauchende "RemServer"-Fenster wurde besser versteckt.

Prozessanbindung

  • Die Nachkommastellen im Item-Objekt konnten bei "Unitconversion=true" in Client-Projekten nicht editiert werden.
  • Die Gruppeneinstellung "Asynchron" wurde bei VWSet nicht berücksichtigt. Die Funktion VWSet schrieb immer synchron.
  • Im Design-Mode wurden den Steuerelementen die Variableninformationen bei mehrfach verschachtelten Feld- oder Strukturvariablen nicht korrekt übergeben.
  • Feldelemente konnten nicht beschrieben werden, wenn ein VisiWinNET-Treiber keinen Einzelzugriff auf Feldelemente erlaubt und stattdessen immer das ganze Feld beschrieben werden muss.
  • Bei manchen OPC-Servern traten beim Verbindungsabbruch durch den Eintrag in das Alarmsystem Probleme auf, so dass die Visualisierung "einfror".

Sprachumschaltung

  • Das Beschreiben der Eigenschaft LocalizedText.Text oder LocalizedText.TextGroup mit dem Wert „null“ führte zu einem Fehler.
  • Bei Verwendung einer nicht vorhandenen Fontklasse konnte es zur Laufzeit zu einem Fehler kommen. In einigen Situation führte das dazu, dass das Projekt nicht gestartet werden konnte.
  • Die Gruppentexte von Alarmuntergruppen wurden bei der Sprachumschaltung nicht umgeschaltet.

Alarmverwaltung

  • In den Ereignisparametern des Clear-Events von CurrentAlarms war die "Deactivation"-Zeit nicht gesetzt, wenn die Alarmquittierung auf "Zurücksetzen" stand und der Alarm ging.
  • In der Date-Formatierungsfunktion bei SQL-Anbindung waren die Werte für Tag und Monat vertauscht, so dass historische Abfragen mit Zeitintervall zu einem falschen Ergebnis führten.

Protokollierung

  • In der Date-Formatierungsfunktion bei SQL-Anbindung waren die Werte für Tag und Monat vertauscht, so dass historische Abfragen mit Zeitintervall zu einem falschen Ergebnis führten.

 

VisiWinNET 6.2 SP1