Versionshistorie

Dieses Dokument listet die Änderungen in den freigegebenen Versionen von CoDaBix auf.
Eine Liste bekannter Probleme in der aktuellen Version finden Sie unter Bekannte Probleme.

PREVIEW

Bitte beachten Sie: Diese Versionen sind Vorschauversionen für 0.21.0 und die aufgelisteten Features können sich vor dem Release der fertigen Version 0.21.0 noch ändern.

0.20.60-PREVIEW (freigegeben am 11.11.2019)

  • Das Allen-Bradley Device Plugin (Version 1.0.0) wurde hinzugefügt, das es Ihnen ermöglicht, eine Verbindung zu einer Allen-Bradley-SPS (wie ControlLogix, CompactLogix, Micro800, MicroLogix, PLC-5, SLC 500) herzustellen.

0.20

0.20.0 (freigegeben am 22.07.2019)

  • [Linux] Das I²C Device Plugin wurde aus der Linux-Distribution entfernt, da dieses ausschließlich für die Verwendung auf einem Raspberry Pi vorgesehen ist.
  • [Linux/Raspberry Pi] Das Datei-Locking-Verhalten wurde verbessert.
  • Es wurde ein neuer Werttyp Password Blob eingefügt (ähnlich zum „Password“-Typ), der verwendet werden kann, um Blobs abzulegen, die mit dem Password Key des Projekts verschlüsselt werden.
  • Um die Performance beim Hochfahren zu verbessern, werden beim Starten die zuletzt geschriebenen Historywerte für jede Node nicht länger eingelesen. Dies bedeutet, wenn die History Options eines Nodes auf Yes; only on Value Change gestellt sind, dass der erste erfasste historische Wert für diesen Node nach dem Starten immer in die Datenbank geschrieben wird.
  • Die maximale Arraygröße für Nodewerte wurde auf 100.000 erhöht.
  • Es wurde ein Bug (bestehend seit Version 0.19.0) behoben, der dazu führen konnte, dass ein S7 Device Channel einen falschen Status anzeigte, nachdem dieser neugestartet wurde.
  • Es wurde ein Bug (bestehend seit Version 0.18.6) behoben, der dazu führen konnte, dass eine Skalierung/Konvertierung inkorrekterweise für eine Node angewendet wurde, bei der kein Node Writer registriert war.
  • Es wurde ein Bug behoben, der beim Lesen einer Array-Device-Variablen zu einem Absturz von CoDaBix führen konnte, wenn das Array mehr als die erlaubte maximale Anzahl an Arrayelementen enthielt.
  • Das Dashboard wurde auf Version 0.0.28 aktualisiert:
    • Es wurde ein Bug behoben, der dazu führen konnte, dass die Seite Nodes nicht richtig lud.
  • Das Omron Device Plugin (Version 1.0.0) wurde hinzugefügt, das es Ihnen ermöglicht, eine Verbindung zu einer Omron-SPS herzustellen.
  • Das XML Exchange Plugin (Version 1.0.0) wurde hinzugefügt, das es Ihnen ermöglicht, Daten über eine XML-Datei auszutauschen.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.17 aktualisiert:
    • Es wurde eine neuer Setting-Folder Server Configuration hinzugefügt, der es ermöglicht, das minimale und maximale Session-Timeout zu setzen.
    • Es wurde eine neuer Setting-Folder Diagnostics hinzugefügt, der es ermöglicht, Diagnose-Logging für verschiedene Events in Bezug auf Sessions, Read/Write, Subscriptions und MonitoredItems zu aktivieren und konfigurieren.
    • Beim Erstellen eines neuen Application Certificates wird dieses nun mit dem Password Key des Projekts verschlüsselt.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.18 aktualisiert:
    • Beim Erstellen/Festlegen eines neuen Application Certificates bzw. Login Certificates wird dieses nun mit dem Password Key des Projekts verschlüsselt.
  • Das REST Interface wurde aktualisiert:
    • Zusätzliche Node-Properties werden nun unterstützt: unit, precision, scalingFactor, scalingOffset, maxValueAge.
  • Script API:
    • Die Methode net.httpClient.sendAsync() wurde hinzugefügt, mit der Sie HTTP-Requests an externe Server senden können.
    • Die Methoden createAsync(), deleteAsync(), moveAsync() wurden zum io.directory-Namespace sowie die Methoden getDirectoryName() und getFileName() zum io.path-Namespace hinzugefügt.

0.20.1 (freigegeben am 24.07.2019)

  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.18 aktualisiert:
    • Es wurde ein Bug (bestehend seit CoDaBix 0.20.0) behoben, der dazu führen konnte, dass das Entfernen von Monitored Items nicht korrekt behandelt wurde.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.19 aktualisiert:
    • Es wurde ein Bug (bestehend seit CoDaBix 0.19.0) behoben, der dazu führte, dass benutzerdefinierte Datentypen beim Browsen eines OPC-UA-Servers nicht korrekt erkannt wurden.

0.20.2 (freigegeben am 19.08.2019)

  • Script Interface Plugin:
    • Es wurde ein Bug (bestehend seit CoDaBix 0.20.0) behoben, der dazu führte, dass Scripts mit Strictness Level Medium oder High nicht mehr mit Go Live gespeichert werden konnten.

0.20.4 (freigegeben am 16.09.2019)

  • [Linux/Raspberry Pi] .NET Core wurde auf Version 2.1.13 für Sicherheits- und Stabilitätsverbesserungen upgedatet.
  • Das RFC-1006 Device Plugin wurde auf Version 1.0.3 aktualisiert:
    • Es wurde ein Bug behoben, der beim Stoppen eines Channels zu einem Crash führen konnte.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.20 aktualisiert:
    • Es wurde ein Bug behoben, der dazu führen konnte, dass der Wert einer subscribten Node nicht aktualisiert wurde, wenn die Verbindung zum Server abbrach und der Client keine neue Verbindung aufbauen konnte, oder wenn z.B. die NodeID auf dem Server nicht existiert. In diesen Fällen wird nun ein Bad-Wert in die Node geschrieben, und der Client versucht wiederholt, die Subscription wieder aufzubauen.
    • Es wurde ein Bug (bestehend seit CoDaBix 0.20.1) behoben, der dazu führen konnte, dass Foundation-Datentypen beim Browsen eines OPC-UA-Servers nicht korrekt erkannt wurden.

0.20.5 (freigegeben am 25.09.2019)

  • Das CSV Exchange Plugin wurde auf Version 1.1.1 aktualisiert:
    • Das Trigger-Handling wurde verbessert, sodass ein synchroner Lesevorgang direkt im Eventhandler des Triggers anstatt nach dem Abschluss des vorherigen synchronen Lesevorgangs ausgeführt wird.
      Dadurch wird das Set der gesammelten Werte deterministischer, vor allem wenn der Wert eines Edge-Triggers ebenfalls gesammelt wird; außerdem wird sichergestellt, dass sich Einträge in der Trigger-Warteschlange nicht aufstapeln können, wenn ein Trigger in kürzeren Intervallen auslöst als die Zeit, die synchrone Lesevorgänge zur Ausführung benötigen. Dies gleicht das Verhalten auch an das Database Plugin an.

0.20.6 (freigegeben am 16.10.2019)

  • [Linux/Raspberry Pi] Es wurde ein Bug (bestehend seit Version 0.20.1) behoben, der dazu führte, dass das OPC UA Client Device Plugin und das OPC UA Server Interface Plugin manchmal nicht funktionierten.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.21 aktualisiert:
    • Unterstützung für das Lesen und Schreiben von Werten des Typs LocalizedText wurde hinzugefügt, indem ein neues JSON-Format für den Path beim Browsen des Servers verwendet wird.

0.20.7 (freigegeben am 21.10.2019)

  • Die Performance wurde verbessert, wenn mehrere Leseaufträge für eine Devicevariable zur gleichen Zeit generiert werden.
  • Das S7 Device Plugin wurde auf Version 1.0.12 aktualisiert:
    • Es wurde ein Bug behoben, der dazuführen konnte, dass Variablen den falschen Wert bekamen, wenn mehrere Variablen mit der selben Adresse zur gleichen Zeit gelesen wurden.

0.20.8 (freigegeben am 24.10.2019)

  • Das S7 Device Plugin wurde auf Version 1.0.13 aktualisiert:
    • Eine neue Einstellung DateTimeInterpretation wurde hinzugefügt, die verwendet werden kann, um die Interpretierung von DateTime-Werten zwischen UTC-Zeit und lokaler Zeit umzuschalten.

0.20.9 (freigegeben am 11.11.2019)

  • Das S7 Device Plugin wurde auf Version 1.0.14 aktualisiert:
    • Es wurde ein Bug behoben, der dazu führen konnte, dass das Importieren einiger STEP7-Projekte fehlschlug.

0.19

0.19.0 (freigegeben am 29.05.2019)

  • Der Produktname wurde vereinfacht: CoDaBix® Compact heißt jetzt CoDaBix.
  • Die CoDaBix Projektverwaltung (Project Management) wurde eingeführt, womit nun projektspezifische Einstellungen (wie Backend-Datenbank-Zugangsdaten, Loglevel, HTTP-Port usw.) im Projektverzeichnis (Project Directory, früher Datenverzeichnis (Data Directory)) in der Datei project.cbxproj anstatt in einem benutzer-globalen Verzeichnis gespeichert werden.
    Dadurch wird es einfacher, zwischen verschiedenen Projekten zu wechseln, da die Einstellungen für jedes Projekt separat beibehalten werden.
    • Eine neue Einstellung Project Name wurde hinzugefügt, mit der Sie einen Namen für Ihr Projekt angeben können. Dieser Name wird dann in der Titelleiste der CoDaBix-Anwendung sowie für den Standard-Dateinamen beim Erstellen eines Backups verwendet.
    • In der CoDaBix File Access Security (FAS) wurden die standardmäßigen Einträge für den Level „Normal“ geändert, sodass nicht länger ein Lese-/Schreibzugriff für das komplette Projektverzeichnis enthalten ist, sondern Lese-/Schreibzugriffe für bestimmte Unterordner wie plugins, log, userdata, webfiles, dashboard.
    • Die Benutzererfahrung, wenn CoDaBix einen installierten Dienst mit einem unterschiedlichen Projektverzeichnis erkennt, wurde verbessert.
    • Beim Upgraden von einer früheren CoDaBix-Version werden die bisherigen CoDaBix Settings zu Project Settings im aktuell ausgewählten Projektverzeichnis migriert.
    • [Windows] Wenn Sie ein Backup in der CoDaBix-Anwendung wiederherstellen, können Sie nun vor der Wiederherstellung das Projektverzeichnis wechseln und die Einstellungen bearbeiten.
  • [Windows] Der CoDaBix MSI-Installer wurde verbessert, sodass dieser beim Updaten auf eine neuere CoDaBix-Version das Erstellen eines Backups anbietet.
  • [Linux/Raspberry Pi] Das CoDaBix Setup wurde verbessert, sodass dieses auch unter Linux-Distributionen funktioniert, auf denen sudo nicht vorhanden ist.
  • Das Verhalten des History Timers, der in Version 0.18 eingeführt wurde, wurde überarbeitet:
    • Wenn die History Options eines Nodes aktiviert werden, jedoch kein History Interval angegeben ist, werden historische Werte beim Schreiben eines neuen Werts in den Node erfasst (wie in früheren Versionen), anstatt dass diese vom History Timer mit einem Intervall von 500 ms behandelt werden. Wenn hingegen ein History Interval angegeben ist, werden historische Werte vom History Timer in diesem Intervall erfasst.
    • Die in der CoDaBix Webkonfiguration in der History Options-Combobox angezeigten Einträge „on Interval“ und „on Value Change“ wurden für eine bessere Aussagekraft in „Yes“ und „Yes (only on Value Change)“ umbenannt.
  • Wenn ein Wert in eine Device-Variable geschrieben wird und das Device den Wert zurück in die Node schreibt (nachdem dieser erfolgreich ins Device geschrieben wurde), wird nun der korrekte Statuscode und Timestamp verwendet, anstatt diejenigen aus dem übergebenen Wert zu verwenden.
  • Das Handling von DateTime-Werten in der CoDaBix Webkonfiguration wurde verbessert, sodass Sie Werte im selben Format wie dasjenige, das zum Anzeigen der Werte verwendet wird, eingeben können.
  • Beim Auswählen eines Menüeintrags in der CoDaBix Webkonfiguration können Sie diesen nun in einem separaten Fenster öffnen. Des Weiteren wurde ein neuer Menüeintrag zum Öffnen der CoDaBix Online-Dokumentation hinzugefügt.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.17 aktualisiert:
    • [Windows] Sie können nun eine Verbindung zu einem OPC Classic Server über das URL-Format opc.com://<hostname>(:<port>)/<progId>/<classId> herstellen.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.16 aktualisiert:
    • Requests von OPC-UA-Clients, die Nodes hinzufügen oder löschen würden (welche von CoDaBix nicht behandelt werden) werden nun korrekt verweigert.
  • Das CSV Exchange Plugin wurde auf Version 1.1.0 aktualisiert:
    • Es ist nun möglich, den Dateinamen aus einem Nodewert zu generieren, durch die Verwendung der Syntax ${Pfad/zum/Node} (Node Query Expression) im Path-Attribut des <File>-Elements. Bei Verwendung des SyncMode SystemToFile werden die angegebenen Nodes in den synchronen Lesevorgang der Column-Nodes mit eingeschlossen, und dann beim Schreiben der Datei ausgewertet. Bei Verwendung des SyncMode FileToSystem werden die angegebenen Nodes beim Starten des Channels einmalig ausgewertet.
    • Bei der Verwendung des SyncMode FileToSystem könen Sie einen Filter wie z.B. XY*.csv im Path-Attribut des <File>-Elements angeben, sodass das Plugin alle Dateien, die dem Filter entsprechen, überwacht und verarbeitet.
    • Bei der Verwendung des SyncMode FileToSystem können Sie nun ein <Binding>-Element mit SystemValueType="CreationTimestamp" angegeben, um festzulegen, dass diese Spalte einen Timestamp enthält, der als CreationTimestamp für die CoDaBix-Nodewerte dieser Zeile verwendet werden soll.
    • Bei der Verwendung des SyncMode FileToSystem steht eine neue SyncAction MoveFile zur Verfügung, die im BeforeSyncAction- bzw. im AfterSyncAction-Attribut zusammen mit dem BeforeSyncMoveFileTo- bzw. AfterSyncMoveFileTo-Attribut angegeben werden kann. Dies ermöglicht Ihnen, die Datei vor oder nach der Synchronisierung in CoDaBix umzubenennen oder zu verschieben. Der Dateipfad kann auch eine Node Query Expression enthalten, welche vor dem Verschieben der Datei ausgewertet wird.
    • Bei der Verwendung des SyncMode SystemToFile und eines Triggers vom Typ Edge können Sie nun den ChangeBackValue in einen anderen Node als den durch den Trigger verwendeten Node schreiben lassen, indem Sie das ChangeBackNode-Attribut mit dem Nodepfad angeben.
    • Ein neues Attribut HasHeader wurde zum <File>-Element hinzugefügt, mit dem angegeben werden kann, ob eine CSV-Datei eine Headerzeile enthält. Dies bedeutet, dass für den SyncMode FileToSystem die erste Zeile der CSV-Datei ignoriert wird, und dass für den SyncMode SystemToFile eine Headerzeile ausgegeben wird, falls die Datei leer ist.
      Zusätzlich kann für jedes <Binding>-Element das HeaderName-Attribut mit dem Wert des Headers angegeben werden, der in die CSV-Datei geschrieben werden soll (dieser kann auch eine Node Query Expression enthalten, die in den synchronen Lesevorgang der Column-Nodes eingeschlossen wird).
    • Es ist nun möglich, das Format für DateTime- und TimeSpan-Werte (für beide SyncModes FileToSystem und SystemToFile) festzulegen durch die Angabe des ValueType-Attributs des <Binding>-Elements, welches den Typ (e.g. DateTime) enthält, und durch die Angabe des ValueFormat-Attributs mit der gewünschten Formatzeichenfolge.
    • Es wurde ein Bug behoben, der dazu führen konnte, dass eine CSV-Datei zweimal importiert wurde, wenn sie einmal gespeichert wurde.
  • Das SQL Exchange Plugin wurde auf Version 1.1.0 aktualisiert:
    • Stored Procedures und Funktionen für Oracle-Datenbanken können nun per Method-Nodes angesprochen werden, die z.B. in einem Script per codabix.executeNodeCommandsAsync() aufgerufen werden können.
    • Die Einstellung DateTime Interpretation wurde hinzugefügt, mit der Sie die Interpretierung von Datums-/Zeitwerten zwischen UTC-Zeit und lokaler Zeit pro Datenbank umschalten können.
    • Beim Browsen eines MSSQL- oder MySQL-Servers wird nun der time-Datentyp zum CoDaBix-TimeSpan-Werttyp gemappt.
  • Das H1 Device Plugin wurde auf Version 1.0.1 aktualisiert:
    • Es wurde ein Bug behoben, der das Plugin daran hindern konnte zu starten, wenn mehrere Netzwerkadapter mit dem gleichen Namen verfügbar waren.
  • Das Extension XML Plugin wurde auf Version 1.0.1 aktualisiert:
    • Sie können nun auch Nodewerte exportieren und importieren.
  • Script API:
    • Die Methode runtime.date.format() wurde hinzugefügt, die zum Formatieren eines Date-Objektes mit einer .NET DateTime-Formatzeichenfolge verwenden werden kann (dies kann eine standardmäßige or benutzerdefinierte Formatzeichenfolge sein).
    • Die Methode codabix.executeNodeCommands() wurde durch die Methode codabix.executeNodeCommandsAsync() ersetzt, welche ein Promise-Objekt zurückgibt, das aufgelöst wird, wenn die Ausführung des Node-Commands abgeschlossen ist.

0.19.1 (freigegeben am 22.07.2019)

  • [Windows] Die ASP.NET Core-Komponenten wurden auf Version 2.1.12 für Sicherheitsverbesserungen (CVE-2019-1075) upgedatet.
  • [Windows] Es wurde ein Bug behoben, der dazu führen konnte, dass der Start des CoDaBix-Dienstes fehlschlug, wenn das ausgewählte Projektverzeichnis mit einem Backslah (\) endete.
  • [Linux/Raspberry Pi] .NET Core wurde auf Version 2.1.12 für Stabilitätsverbesserungen upgedatet.
  • Es wurde ein Bug behoben, der verhinderte, dass der private Schlüssel von SSL-Zertifikaten, die für Kestrel verwendet werden, mit dem Password Key des Projekts verschlüselt wird.

0.18

0.18.6 (freigegeben am 08.02.2019)

  • [Windows] Es stehen nun separate .MSI-Installer für x64 (64-Bit) und x86 (32-Bit) zur Verfügung.
  • [Windows] Die Performance des eingebetteten Webbrowsers wurde durch das Wechseln auf einen Chromium-basierten Browser verbessert.
  • [Windows] CoDaBix unterstützt nun offiziell den Betrieb auf einer Windows Server Core-Installation mit installiertem Server Core App Compatibility FOD.
  • [Windows] Die ASP.NET Core-Komponenten wurden auf Version 2.1.7 für Sicherheitsverbesserungen upgedatet.
  • [Raspberry Pi] Wichtige Änderung: CoDaBix benötigt nun Raspbian 9 (Stretch) oder höher.
  • [Raspberry Pi] .NET Core wurde auf Version 2.1.7 für Stabilitäts- und Sicherheitsverbesserungen upgedatet.
  • Unterstützung für Microsoft SQL Server 2012 oder höher für die Verwendung als Backend-Datenbank wurde hinzugefügt.
  • Das CoDaBix Dashboard ist nun in CoDaBix Compact eingebettet und wird vom Webserver über den Pfad /dashboard/ ausgeliefert. Es kann außerdem in der Webkonfiguration angezeigt werden.
  • Ein History-Timer wurde implementiert, welcher den derzeitigen Wert eines Nodes im angegebenen History-Intervall erfasst (für Nodes, bei denen die History Options aktiviert sind), und dadurch das frühere Verhalten ablöst, bei dem ein historischer Wert immer dann erfasst wurde, wenn ein Wert in die Node geschrieben wurde. Wenn die History Options auf on Value Change eingestellt sind, wird ein erfasster historischer Wert nur dann in die Datenbank geschrieben, wenn dieser sich vom zuletzt geschriebenen historischen Wert dieses Nodes unterscheidet. Das neue Verhalben macht das Erfassen historischer Werte daher deterministischer.
  • Eine neue Node-Eigenschaft History Resolution wurde hinzugefügt, die, falls angegeben, numerische historische Werte beim Erfassen auf die angegebene Auflösung rundet.
  • Historywerte werde in der Webkonfiguration nun nach Einfügereihenfolge (statt nach dem Creation Timestamp) sortiert, um eine bessere Übersicht zu erhalten, und zusätzlich wird nun der Receive Timestamp angezeigt.
  • Ein neuer Menüpunkt Password Security wurde zur Webkonfiguration hinzugefügt, mit dem Sie Passwörter unter Verwendung des Password Keys der Backend-Datenbank verschlüsseln können. Dies ermöglicht Ihnen, verschlüsselte Passwörter z.B. in Plugin-XML-Konfigurationsdateien oder in Scriptcode, wo das Passwort mit codabix.security.decryptPassword() entschlüsselt werden kann, abzulegen.
  • Der Password Key (welcher zum Verschlüsseln von Passwörtern verwendet wird) kann nun in den CoDaBix® Settings zurückgesetzt (neu generiert) werden.
  • Wenn der Log Level auf Debug gesetzt ist, wird nun das OPC UA Trace Log in die Logdatei OpcUaTraceLog.txt geschrieben, das Ihnen dabei helfen kann, OPC-UA-Verbindungsprobleme zu diagnostizieren.
  • Die Performance beim Einfügen von historischen Werten wurde verbessert.
  • Die maximale Größe eines Scripts wurde auf 1.000.000 Zeichen erhöht.
  • Die maximale Größe eines String- bzw. Blob-Werts wurde auf 1.000.000 Zeichen bzw. Bytes erhöht.
  • Das Handling beim Anwenden einer Skalierung oder von Value Convertern auf einen Node wurde verbessert.
  • Die Beschränkung auf die durch die Lizenz vorgegebene maximale Channelanzahl bzw. Clientanzahl für Plugins wurde implementiert.
  • Das Lizenz-Handling in Bezug auf den Maschinencode wurde verbessert.
  • Es wurde ein Bug (bestehend seit Version 0.17.0) behoben, der bei der Verwendung eines Scripts, das einen codabix.NodeReader für einen Node registriert, zu einem Hängenbleiben von CoDaBix führen konnte.
  • Es wurde ein Bug behoben, der das Löschen eines Nodes innerhalb eines Variable-Ordners verhinderte, wenn der Node oder einer seiner Kindnodes einen virtuellen Link enthielt.
  • [Windows] Das H1 Device Plugin (Version 1.0.0) wurde hinzugefügt, das es Ihnen ermöglicht, eine Verbindung zu SPS-Geräten über das SINEC-H1-Protocoll herzustellen.
    Beachten Sie: Für dieses Plugin muss WinPcap 4.1.3 oder höher installiert sein.
  • Das Socket Device Plugin (Version 1.0.0) wurde hinzugefügt, das es Ihnen ermöglicht, eine Verbindung zu einem TCP-Server herzustellen.
  • Das Modbus Device Plugin (Version 1.0.0) wurde hinzugefügt, das eine Verbindung zu Modbus TCP-Servern ermöglicht.
  • Das Extension XML Plugin (Version 1.0.0) wurde hinzugefügt, mit dem Sie in der Webkonfiguration über das Kontextmenü Nodestrukturen als XML-Dateien exportieren und importieren können.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.15 aktualisiert:
    • Channels, bei denen SubscriptionType auf OpcSubscription festgelegt ist, verwenden nun korrekt eine OPC-basierte Subscription anstatt Polling.
    • Anstatt den kompletten Server zu browsen, können Sie nun auch einzelne Folder-Nodes browsen.
    • Ein neues Setting MaxMonitoredItemsPerSubscription wurde hinzugefügt, das es Ihnen ermöglicht, Monitored Items über mehrere Subscriptions aufzuteilen (z.B. bei einem Siemens SPS OPC-UA-Server, der nur 1000 Elemente pro Subscription unterstützt).
      Standardmäßig ist der Wert 0 gesetzt, wodurch alle Monitored Items eine einzige Subscription verwenden.
    • Die Performance beim Hinzufügen und Entfernen von CoDaBix-Node-Subscriptions wurde verbessert.
    • Wenn mehr als 1000 Nodes auf einmal vom Server gelesen werden sollen, werden diese nun in Teile zu je bis zu 1000 Nodes aufgeteilt, um sicherzustellen, dass diese korrekt gelesen werden können, wenn der Server die maximale Anzahl an Requestelementen limitiert.
    • Beim Browsen eines Servers werden nun Variable-Nodes mit einem Enumeration-DataType in CoDaBix als Int32-Nodes erstellt.
    • Beim Browsen eines Servers werden nun Variable-Nodes, die als einzige Child-Node „HA Configuration“ enthalten, als Datenpunktnodes statt als Foldernodes erstellt.
  • [Windows] Das Melsec QJ Device Plugin wurde auf Version 1.0.1 aktualisiert:
    • Es wurde ein Bug behoben, der dazu führen konnte, dass mehr Bytes als notwendig gelesen wurden, wenn boolsche Werte gelesen wurden.
  • Das S7 Device Plugin wurde auf Version 1.0.10 aktualisiert:
    • Variablen vom Typ S5 Time werden nun korrekt gelesen, wenn sie den Wert 0 haben.
    • Es wurde ein Bug behoben, der beim Importieren zu STEP7-Projekten zum Fehlen oder zu falscher Ausrichtung einiger Variablen führen konnte.
  • Das SQL Exchange Plugin wurde auf Version 1.0.5 aktualisiert:
    • Es wurde ein Bug behoben, der dazu führen konnte, dass ausstehende synchrone Lesevorgänge nach dem Stoppen des Channels einen Wert mit Status Good zurücklieferten, auch wenn der Lesevorgang tatsächlich fehlgeschlagen ist.
    • Die Unterstützung für Microsoft SQL Server wurde verbessert, sodass auch Werte von Datentypen ohne Vorzeichen geschrieben werden können.
    • Die Unterstützung für Oracle wurde verbessert.
  • Das Database Plugin wurde auf Version 1.0.11 aktualisiert:
    • Sie können nun ein verschlüsseltes Passwort anstatt eines Klartext-Passworts im password-Attribut angeben.
    • Die Unterstützung für Microsoft SQL Server wurde verbessert, sodass auch Werte von Datentypen ohne Vorzeichen geschrieben werden können.
    • Der Start des Plugins schlägt nicht länger fehl, wenn ein Node, der für einen edge- oder valueChange-Trigger oder für eine AfterSyncAction angegeben wurde, nicht gefunden werden konnte; stattdessen wird nun eine Warnung geloggt.
  • Das CSV Exchange Plugin wurde auf Version 1.0.4 aktualisiert:
    • Sie können nun ein verschlüsseltes Passwort anstatt eines Klartext-Passworts im Password-Attribut angeben.
  • [Raspberry Pi] Das UniPi Device Plugin wurde auf Version 1.0.1 aktualisiert:
  • Das REST Interface wurde aktualisiert:
    • Wenn historische Werte abgerufen werden und dabei alle der from-, to- und count-Parameter angegeben werden, und dabei to kleiner ist als from, werden nun die ältesten Werte (limitiert durch count) anstatt der neusten Werte zurückgegeben.
    • Das browse-Kommando zeigt nun Kind-Nodes an, auf die der aktuelle Benutzer nur indirekt Zugriff hat (wenn er keinen Zugriff auf den Node selbst hat, sondern auf einen seiner Nachfahren).
  • Script-API:
    • Inkompatible Änderung: Die value-Property eines codabix.NodeValue, das einen TimeSpan enthält, gibt nun die Millisekunden als number-Wert anstatt eines formatierten string-Werts zurück.
    • Inkompatible Änderung: Wenn historische Werte abgerufen werden und dabei alle der startTime-, endTime- und maxCount-Parameter angegeben werden, und dabei endTime kleiner ist als startTime, werden nun die ältesten Werte (limitiert durch count) anstatt der neusten Werte zurückgegeben.
    • Inkompatible Änderung: Wenn das Promise-Objekt, das durch eine Implementierung der Methode codabix.NodeReader.readValuesAsync() zurückgegeben wird, mit einem Array aus codabix.NodeValue aufgelöst wird, werden diese Werte für das Ergebnis des synchronen Lesevorgangs ignoriert, und stattdessen werden die Werte der zu lesenden Nodes (zu dem Zeitpunkt, an dem das Promise aufgelöst wird), verwendet. Dies hat den Grund, dass ansonsten die zurückgegebenen Werte kein Post-Processing (Skalierung, Konvertierung) erhalten würden und deshalb inkorrekt sein könnten.
    • Callbacks, die mit codabix.Node.registerValueConverter() oder codabix.nodeconfiguration.registerNodeContextMenuAction() registriert werden, können nun eine Ausnahme werfen (oder das zurückgebene Promise-Objekt rejecten), ohne dass dies zum Abbruch des Scripts wegen einer unbehandelten Ausnahme führt.
    • Ein optionaler Parameter throwIfNotFound wurde zu den Methoden codabix.findNode() und codabix.Node.findNode() hinzugefügt, mit dem festgelegt werden kann, dass die Methoden eine Ausnahme werfen sollen, falls der Node nicht gefunden werden konnte, anstatt null zurückzugeben.
    • Die Eigenschaft historyResolution wurde zu den Typen codabix.Node und codabix.NodeStructure hinzugefügt. Zusätzlich wurden die Eigenschaften historyOptions und historyInterval zu codabix.Node hinzugefügt.
    • Die Eigenschaft isValueChanged wurde zum Eventlistener-Argument für das ValueChanged-Event des Nodes hinzugefügt, welche angibt, ob sich der neue Wert tatsächlich vom alten Wert unterscheidet.
    • Die statische Methode codabix.NodeValue.equals() wurde hinzugefügt, mit der festgestellt werden kann, ob zwei Nodewerte als gleich betrachtet werden können, indem ihr Wert und ihr Status geprüft wird.
    • Die Eigenschaft receiveTimestamp wurde zu den von codabix.readNodeHistoryValuesAsync() zurückgegebenen Nodewert-Instanzen hinzugefügt, mit der die Zeit abgerufen werden kann, wann dieser historische Wert in CoDaBix erfasst wurde.
    • Der Enum-Wert IntervalElapsed von codabix.NodeHistoryOptions wurde in Subscription umbenannt. Existierende Scripts, die den vorherigen Namen verwenden, funktionieren nach dem Update auf diese Version weiterhin.

0.18.7 (freigegeben am 11.02.2019)

  • Es wurde ein Bug behoben, der bei einem Upgrade von einer früheren CoDaBix-Version dazu führen konnte, dass Channel-Settings verloren gingen.

0.18.8 (freigegeben am 14.02.2019)

  • [Raspberry Pi] .NET Core wurde auf Version 2.1.8 für Sicherheits- und Stabilitätsverbesserungen upgedatet.

0.18.9 (freigegeben am 04.03.2019)

  • Es wurde ein Bug behoben, der dazu führen konnte, dass unnötige historische Werte für Status-Nodes von nicht geladenen Plugins erzeugt wurden.
  • Das S7 Device Plugin wurde auf Version 1.0.11 aktualisiert:
    • Es wurde ein Bug (bestehend seit CoDaBix® 0.18.7) behoben, der dazu führen konnte, dass Änderungen (z.B. Umbenennen von Channeln oder Variablen oder Ändern der Variablenadresse) aus der XML-Konfigurationsdatei nicht übernommen wurden, nachdem diese editiert wurde.
    • [Raspberry Pi] Es wurde ein Bug behoben, der das Lesen von Gleitkommazahl-Variablen (Single/Double) verhindern konnte.

0.18.10 (freigegeben am 11.03.2019)

  • Das Subscription-Handling wurde verbessert, sodass bei einem Device-Channel mit aktiven Subscriptions beim Stoppen ein „Bad“-Status in die subscribten Variablen geschrieben wird, wodurch das Verhalten nun konsistent mit dem synchronen Lesen eines Wertes ist, bei dem ebenfalls ein solcher „Bad“-Status in die Variable geschrieben wird.
  • Beim Duplizieren eines Nodes wird nun ebenfalls dessen Wert dupliziert.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.16 aktualisiert:
    • Es wurde ein Bug (bestehend seit CoDaBix® 0.18.9) behoben, der unter speziellen Umständen einen Absturz von CoDaBix verursachen konnte.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.13 aktualisiert:
    • Es wurde ein Bug behoben, der beim Stoppen oder Neustarten des Channels dazu führen konnte, dass Subscriptions von OPC-UA-Clients nicht aus CoDaBix entfernt wurden.

0.18.11 (freigegeben am 18.03.2019)

  • CoDaBix® Compact für Linux (x64) ist nun verfügbar für Debian 9 oder höher, Ubuntu 16.04 oder höher, Fedora 29 oder höher, OpenSUSE Leap 15.0 oder höher.

0.18.13 (freigegeben am 15.04.2019)

  • [Linux/Raspberry Pi] .NET Core wurde auf Version 2.1.10 für Stabilitätsverbesserungen upgedatet.
  • Es wurde ein Bug (bestehend seit CoDaBix® 0.18.6 (Raspberry Pi), 0.18.10 (Windows) und 0.18.11 (Linux)) behoben, der beim Upgraden einer Backend-Datenbank, die zuletzt mit CoDaBix® 0.14.0 oder früher verwendet wurde, zu einem Fehler führte.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.15 aktualisiert:
    • Write-Requests, die einen IndexRange angeben (welcher in CoDaBix nicht unterstützt wird), werden nun korrekt mit dem Statuscode BadWriteNotSupported in Übereinstimmung mit der OPC-UA-Spezifikation abgewiesen.
    • Es wurde ein Bug (bestehend seit CoDaBix® 0.18.10) behoben, der dazu führen konnte, dass der CoDaBix-Prozess nach dem Herunterfahren der CoDaBix® Engine nicht beendet wurde, falls versucht wurde, einen Channel mit einem bereits belegten Port zu starten.

0.18.14 (freigegeben am 25.04.2019)

  • Es wurde ein Bug (bestehend seit CoDaBix® 0.18.10) behoben, der dazu führen konnte, dass ein ausstehender synchroner Lesevorgang ein falsches Ergebnis zurücklieferte, wenn der entsprechende Channel nach dem Start des Lesevorgangs, jedoch bevor der Lesevorgang fertig war, gestoppt wurde.
  • Es wurde ein kleinerer Memory Leak behoben, der bei wiederholtem Erstellen und Löschen von Device-Variablen auftreten konnte.

0.18.15 (freigegeben am 29.05.2019)

  • [Linux/Raspberry Pi] .NET Core wurde auf Version 2.1.11 für Sicherheits- und Stabilitätsverbesserungen upgedatet.

0.17

0.17.0 (freigegeben am 27.07.2018)

  • CoDaBix® Compact für Raspberry Pi ist nun verfügbar für Raspbian OS 8.7 oder 9, welches auf einem Raspberry Pi 2 oder 3 ausgeführt wird.
  • [Windows] Wichtige Änderung: CoDaBix benötigt nun das .NET Framework 4.7.2 oder höher. Weitere Informationen finden Sie unter Installation von CoDaBix® Compact.
  • [Windows] Kestrel kann nun als alternative Webserver-Implementierung statt der Windows-basierten HTTP.sys verwendet werden. Unter Windows 7 SP1 und Windows Server 2008 R2 SP1 wird Kestrel automatisch verwendet, um sicherzustellen, dass WebSocket-Verbindungen auch auf diesen Betriebssystemen funktionieren.
  • [Raspberry Pi] Das I²C Device Plugin (Version 1.0.0) wurde hinzugefügt, mit dem es möglich ist, auf Geräte über die I²C-Schnittstelle zuzugreifen.
  • [Raspberry Pi] Das UniPi Device Plugin (Version 1.0.0) wurde hinzugefügt, mit dem es möglich ist, auf UniPi-Neuron-Devices zuzugreifen.
  • [Raspberry Pi] Service-Management wurde zur CoDaBix Shell hinzugefügt, sodass Sie nun CoDaBix Compact als Dienst (wie unter Windows) installieren können, der beim Booten der Maschine automatisch gestartet wird.
  • Die Verwendung von MySQL 8.0 als Backend-Datenbank wird nun unterstützt.
  • Die Performance beim Ausführen eine großen Anzahl an Node-Änderungen wurde verbessert (z.B. beim Erstellen vieler Nodes). Wenn SQLite as Backend-Datenbank verwendet wird, schützt dies auch gegen den Fehler „attempt to write a readonly database“, der manchmal bei hohem Datenaufkommen auftreten kann.
  • Das Handling beim Schreiben von Werten in Device-Variablen wurde verbessert, sodass der Aufrufer nun feststellen kann, ob der Schreibvorgang erfolgreich war. Wenn Sie beispielsweise in der Webkonfiguration einen Wert in eine Variable schreiben und das Device nicht verfügbar ist, wird entsprechend ein Fehler angezeigt.
    Zusätzlich werden nun auch Werte, die in eine Variable geschrieben werden, in der Node gespeichert, wenn der Schreibvorgang erfolgreich war.
  • Nodes mit einem anderen Datentypen als „Null“ können nun auch NULL-Werte bekommen, selbst wenn der Status nicht Bad ist. Dies ermöglicht nun beispielsweise, Null-Werte in Tabellenspalten für das SQL Exchange Plugin korrekt darzustellen.
  • Beim Erstellen eines Backups können Sie nun auswählen, dass Logdateien enthalten sein sollen.
  • Bei den CoDaBix Settings wurde die neue Einstellung Update DB Mode hinzugefügt, mit der die Anzahl der Schreibvorgänge in die Backend-Datenbank eingeschränkt werden kann. Dies kann für eingebettete System wie beispielsweise Raspberry Pi (auf dem diese Option standardmäßig aktiviert ist) nützlich sein.
  • Es wurde ein Problem bei der Verwendung von Node-Subscriptions behoben, das dazu führen konnte, dass ein Node-Wert nicht upgedatet wurde, obwohl er im Gerät geändert wurde.
  • Es wurde ein Problem behoben, das beim Erstellen mehrerer Node-Subscriptions für die gleichen Nodes dazu führte, dass Subscription-Parameter wie Interval nicht korrekt angewendet wurden. Um das Problem zu beheben, musste die Script-API für codabix.NodeReader angepasst werden (siehe unten).
  • Es wurde ein Bug beim Parsen und Anzeigen von DateTime-Werten behoben, welche zuvor in UTC-Zeit anstatt in lokaler Zeit angezeigt wurden.
  • In der CoDaBix® File Access Security (FAS) wurden die standardmäßigen Einträge für den Level „Normal“ geändert, sodass nicht länger ein Nur-Lese-Zugriff für das Installationsverzeichnis enthalten ist (welcher normalerweise nicht benötigt wird).
  • Das SQL Exchange Plugin wurde auf Version 1.0.3 aktualisiert:
    • NULL-Werte, die erfolgreich aus der Datenbank gelesen wurden, werden nun mit einem Good-Status dargestellt.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.10 aktualisiert:
    • Die Startzeit und der Speicherverbrauch wurden reduziert.
    • Die Verarbeitung von Node-Werten wurde verbessert.
    • Wenn das Schreiben eines CoDabix-Nodewerts fehlschlägt (z.B. weil das Gerät nicht verfügbar ist), erhält der OPC UA Client nun einen Bad-Status, der den Fehler anzeigt.
    • Der Name eines CoDaBix-Nodes wird nun als BrowseName für den entsprechenden OPC-UA-Node verwendet, und der DisplayName eines CoDaBix-Nodes wird nun als DisplayName für den entsprechenden OPC-UA-Node verwendet.
    • Es wurde ein Bug behoben, der dazu führte, dass existierende Subscriptions von OPC UA Clients nicht mehr funktionierten, wenn bei einer der subscribten Nodes die History Options geändert wurden.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.12 aktualisiert:
    • Beim Browsen eines Siemens OPC-UA-Servers, welcher Child-Nodes für jedes Arrayelement erstellt, werden diese Arrayelement-Nodes nicht länger in CoDaBix erstellt, da der Parent-Node bereits den Array-Value enthält.
    • Die maximale Anzahl der gebrowsten Nodes ist nun konfigurierbar.
    • Der BrowseName eines OPC-UA-Nodes wird nun als Name für den entsprechenden CoDaBix-Node verwendet, und der DisplayName eines OPC-UA-Nodes wird nun als DisplayName für den entsprechenden CoDaBix-Node verwendet.
  • Das RFC-1006 Device Plugin wurde auf Version 1.0.2 aktualisiert:
    • Sie können nun den TCP-Port angeben, der für die Verbindung verwendet werden soll.
  • Script-API:
    • Inkompatible Änderung: Die Parameter der Methoden codabix.NodeReader.subscriptionCreated() und codabix.NodeReader.subscriptionModified() wurden geändert, um die Parameter interval und forceUpdate für jeden codabix.Node bereitzustellen, anstatt einzelne Parameter für alle Nodes. Diese Änderung war für die Behebung des oben beschriebenen Problems notwendig, bei dem manchmal Subscription-Parameter nicht korrekt angewendet wurden, wenn mehrere Subscriptions für die gleichen Nodes erstellt wurden.
    • Die Methode codabix.NodeReader.readValuesAsync() wurde geändert, sodass diese ein Array aus codabix.NodeValue zurückgeben kann, womit der NodeReader nun direkt die gerade gelesenen Werte angeben kann. Wenn null (oder undefined) zurückgegeben wird, verwendet CoDaBix die aktuellen Nodewerte als Ergebnis des synchronen Lesevorgangs.
    • Die Methode codabix.readNodeHistoryValues() wurde durch die Methode codabix.readNodeHistoryValuesAsync() ersetzt, damit CoDaBix während des Lesens von historischen Werten (was einige Zeit dauern kann) nicht blockiert ist.
    • Die Methoden codabix.writeNodeValueAsync() und codabix.writeNodeValuesAsync() geben nun einen codabix.NodeValueStatus (bzw. ein Array davon) zurück, der angibt, ob die Werte erfolgreich geschrieben werden konnten (wenn die Nodes Device-Variablen sind).
    • Die Eigenschaft codabix.Node.virtualLinkDestination wurde hinzugefügt, die es Ihnen ermöglicht, das Ziel eines Virtual Links einer Node abzurufen.
    • Der Namespace codabix.nodeconfiguration wurde hinzugefügt mit Methoden, mit denen es möglich ist, eine Kontexmenü-Action zu registrieren, welche einen Dateidownload als Resultat generieren kann.
    • Die Methode timer.scheduleCallback() wurde durch die Methode codabix.scheduleCallback() ersetzt, da diese tatsächlich eine CoDaBix-spezifische Funktion und keine reguläre Timerfunktion ist.
    • Die Methode timer.yield() wurde hinzugefügt, die es Ihnen ermöglicht, die Ausführung asynchron zu unterbrechen, indem ein Promise-Objekt zurückgegeben wird, welches „fulfilled“ wird, nachdem die derzeite Scriptausführung beendet wird (und der aktuelle NodeLock freigegeben wird).
    • Scripts können nun mit runtime.onShutdown einen Shutdown-Handler registrieren, der aufgerufen wird, wenn das Script auf normale Weise gestoppt wird (z.B. weil die Engine heruntergefahren wird oder der Benutzer das Script gestoppt hat).

0.17.1 (freigegeben am 10.08.2018)

  • [Raspberry Pi] Das Deployment wird nun als selbstextrahierendes Setup ausgeliefert.
  • [Raspberry Pi] Ein Fehler im Setup wurde behoben, durch den der Installationsordner falsche Zugriffsberechtigungen erhalten hatte.
  • [Raspberry Pi] Ein Fehler im OPC UA Server Interface Plugin wurde behoben, der dazu führte, dass ein Channel, mit dem in OPC UA Client verbunden ist, nicht neugestartet werden konnte.
  • OPC UA Client Device Plugin Ein Channel kann nun im Simulationsmodus betrieben werden. Dadurch kann der Channel ohne einen vorhandenen Server betrieben werden, um eine Simulation durchzuführen.

0.17.2 (freigegeben am 13.08.2018)

  • OPC UA Client Device Plugin Bugfix im Simulationsmodus: Wenn ein Node keinen Wert besitzt, wird nun ein Default-Wert verwendet.

0.17.5 (freigegeben am 03.09.2018)

  • Das OPC UA Client Device Plugin wurde auf Version 1.0.13 aktualisiert:
    • Beim Browsen eines OPC UA-Servers, der das Description-Attribut für Nodes nicht ausgibt (z.B. bei einem S7-1500 OPC UA Server), können Sie nun die Description-Werte über eine exportierte NodeSet-XML-Datei bereitstellen, indem Sie dieses im Pfad <CodabixDataDir>\OpcUaClientDevicePlugin\<ChannelName>\NodeSet.xml ablegen.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.11 aktualisiert:
    • Es können nun zusätzliche Servereinstellungen (z.B. Transport-Settings) konfiguriert werden.
  • Script-API:
    • Node/Value-Tuple-Objekte, die an die codabix.writeNodeValuesAsync()-Methode übergeben werden, können nun zusätzlich eine source-Property enthalten mit einem Wert, der später im ValueChanged-Event einer codabix.Node zur Verfügung gestellt wird; beispielsweise um zu erkennen, wenn ein NodeWriter einen Wert zurück in die Node schreibt, nachdem er erfolgreich in das Device geschrieben wurde.

0.17.7 (freigegeben am 26.09.2018)

  • [Raspberry Pi] Wenn CoDaBix als Dienst läuft, nimmt der Dienst nach dem Binden der Web-Ports die Identität des Benutzers an, der den Dienst ursprünglich installiert hat, um Probleme mit Dateiberechtigungen zu vermeiden.
  • Die Verwendung von MariaDB 10.3 oder höher als Backend-Datenbank wird nun offiziell unterstützt.
  • Die Performance beim Einfügen von großen Datenmengen in eine MySQL- oder MariaDB-Backend-Datenbank (z.B. beim Wiederherstellen eines Backups oder beim Einfügen von historischen Werten) wurde spürbar verbessert.
  • Wenn das Scannen eines Verzeichnisses, das durch eine Directory Node spezifiziert wird, fehlschlägt, werden die Kindknoten nicht gelöscht (da der Fehler als temporärer Fehler behandelt wird), und eine Warnung wird ins Runtime Log geschrieben.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.12 aktualisiert:
    • Es wurde ein Bug behoben, der dazu führen konnte, das CoDaBix nicht mehr reagiert, wenn eine große Anzahl an Requests von OPC-UA-Clients gleichzeitig eintreffen.
  • Das SQL Exchange Plugin wurde auf Version 1.0.4 aktualisiert:
    • Es wurde ein Bug behoben, der das Browsen einer Tabelle direkt nach deren Erstellung verhinderte.
  • Das REST Interface wurde aktualisiert:
    • Bei get- und browse-Requests wird nun die Einheit der Node über die unit-Property ausgegeben, und die History-Options werden nun korrekt über die hi-Property ausgegeben.

0.17.8 (freigegeben am 23.10.2018)

  • Es wurde ein Bug behoben, der unter bestimmten Umständen dazu führen konnte, dass Requests von OPC-UA-Clients (über das OPC UA Server Interface) fehlschlagen und Fehlermeldungen ins Runtime-Log geloggt werden.

0.16

0.16.0 (freigegeben am 13.04.2018)

  • Benutzergruppen (User Groups) können nun als Nur-Lese-Zugriff (Read-only) festgelegt werden, sodass Benutzer aus dieser Gruppe nur Lesezugriff auf die dieser Gruppe zugehörigen Nodes haben, aber keine Werte schreiben oder Nodes verändern können. Diese Einstellung wird im REST Interface sowie im OPC UA Server Interface geprüft.
  • Beim Ausliefern von statischen Dateien im webfiles-Ordner liefert der eingebettete Webserver nun auch GZIP-komprimierte Dateien in ihrer komprimierten Form aus, die auf .gz enden, wenn der Dateiname ohne .gz angefragt wird, wodurch der Netzwerk-Traffic reduziert werden kann.
  • Das Melsec QJ Device Plugin (Version 1.0.0) wurde hinzugefügt, das es Ihnen ermöglicht, Verbindungen zu Mitsubishi-SPSen der Melsec-Q- und Melsec-A-Serie herzustellen.
  • Das AKLAN Device Plugin (Version 1.0.0) wurde hinzugefügt, das es Ihnen ermöglicht, Daten an AKLAN-Dienste zu senden.
    Beachten Sie, dass dieses Plugin zusätzliche Komponenten benötigt, welche manuell installiert werden müssen.
  • Das Demo Data (Continuous)-Plugin wird beim Ausführen des CoDaBix®-Compact-Setups nicht länger standardmäßig installiert.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.9 aktualisiert:
    • Die Zugriffszeit (z.B. wenn ein Client den Server browst) wurde verbessert, wenn sehr viele Nodes erstellt wurden.
    • Beim Schreiben von Nodewerten wird nun geprüft, ob der User nur Lesezugriff hat.
    • Eine neue Einstellung „Hostname Mode“ wurde zu den Channel-Einstellungen hinzugefügt, mit der man auswählen kann, ob als Hostname des Endpoints „localhost“, der aktuelle Computername oder ein benutzerdefinierter Name verwendet werden soll.
    • Der Typ CodabixBlob wird nun dem OPC UA Data Type ByteString zugeordnet.
    • Es wurde ein Bug (bestehend seit Version 1.0.8) behoben, der dazu führte, dass die AutoAcceptUntrustedCertificates-Einstellung ignoriert wurde.
    • Es wurde ein Bug behoben, der dazu führte, dass der Server Skalartypen fälschlicherweise als Arraytypen im ValueRank-Attribut angab.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.10 aktualisiert:
    • Der OPA UA Data Type ByteString wird nun dem Typ CodabixBlob zugeordnet.
  • Das S7 Device Plugin wurde auf Version 1.0.9 aktualisiert:
    • Die Option IsSimulation wurde zu den Channel-Settings hinzugefügt, die es ermöglicht, einen S7-Channel im Simulationsmodus zu betreiben, wodurch er nicht tatsächlich mit einer physischen SPS kommuniziert.
    • Die Performance wurde verbessert, wenn viele synchrone Lesevorgänge für die selbe Variable ausgeführt werden.
    • Es wurde ein Bug behoben, der zu fehlerhafter Dekodierung von Umlauten beim Importieren von STEP7-Projekten führte.
    • Es wurde ein Bug behoben, der zu fehlenden Blöcken, Typen, Werten und Objekten beim Importieren von STEP7-Projekten führen konnte.
  • Das CSV Exchange Plugin wurde auf Version 1.0.4 aktualisiert:
    • Ein Intervalltrigger wurde hinzugefügt, der im SyncMode SystemToFile verwendet werden kann.
    • Es wurde ein Bug behoben, der dazu führte, dass das ColumnIndex-Attribut beim Synchronisieren von CSV-Datein zu CoDaBix ignoriert wurde.
  • Script-API:
    • Die Methode close() in io.Closeable wurde durch die asynchrone Methode closeAsync() ersetzt, da das Schließen einer Resource möglicherweise eine blockierende Operation ist. Existierende Scripts, die die close()-Methode aufrufen, funktionieren nach dem Update auf diese Version weiterhin (solange sie die Methode nicht aufrufen, während eine asynchrone Operation noch läuft), und loggen eine Warnung.
    • Das globale Objekt Guid wurde hinzugefügt, welches es ermöglicht, einen neuen GUID-String zu generieren.
    • Die Methode io.util.encodeXml() wurde nachxml.encode() verschoben. Existierende Scripts, die die vorherige Methode verwenden, funktionieren nach dem Update auf diese Version weiterhin.
    • Das Script-Timeout wurde von 1500 ms auf 5000 ms erhöht.

0.16.2 (freigegeben am 14.05.2018)

  • Es wurde ein Bug beim Schreiben von Werten in Device-Variablen behoben, der dazu führen konnte, dass der zu schreibende Wert ignoriert wurde, wenn der Schreibaufruf rekursiv aus einem im ValueChanged-Event des Devices zur Ausführung geplanten Handler aufgerufen wurde, z.B. in einem Script, das timer.schedule() verwendet.
  • Es wurde ein Bug im Diff Script Editor behoben, der das Speichern des Scripts verhinderte.
  • Das Handling in Bezug auf die Zeitmessung in Device Worker Threads wurde verbessert, um sicherzustellen, dass Variablen, für die eine Subscription erstellt wurde, rechtzeitig gelesen werden, auch wenn sehr viele synchrone Lesevorgänge bearbeitet werden.
  • Pluginlizenzen können nun auch dann verwaltet werden, wenn CoDaBix® Compact als Dienst läuft oder die CoDaBix® Engine nicht läuft.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.11 aktualisiert:
    • Beim Browsen eines OPC-UA-Servers wird nun das Description-Attribut eines OPC-UA-Nodes gelesen und im erstellen CoDaBix-Node gespeichert.
  • Das RFC-1006 Device Plugin wurde auf Version 1.0.1 aktualisiert:
    • Es wurde ein Bug behoben, der dazu führte, dass der Typ des ReceiveBuffer- oder TransmitBuffer-Nodes beim Starten auf Blob geändert wird, wenn der Benutzer diesen zuvor auf String geändert hat.
  • Script API:
    • Die Methoden codabix.subscribeNodes() und codabix.unsubscribeNodes() wurden hinzugefügt, mit denen Sie explizit eine Subscription für eine oder mehrere Nodes erstellen und dabei das Subscription-Intervall angeben können.
    • Die Methoden codabix.Node.registerReader() und codabix.Node.unregisterReader() wurden hinzugefügt, mit denen Sie einen NodeReader registrieren können, der aufgerufen wird, wenn ein synchroner Lesevorgang für die angegebenen Nodes angefordert oder eine Subscription erstellt wird.

0.16.3 (freigegeben am 24.05.2018)

  • Es wurde ein Bug (bestehend seit Version 0.16.2) behoben, der manchmal dazu führen konnte, dass der erste Schreibvorgang in eine Device-Variable ignoriert wurde.
  • Das SQL Exchange Plugin wurde auf Version 1.0.1 aktualisiert:
    • Es wurde Unterstützung für ODBC-Datenbankverbindungen hinzugefügt, wobei der Database Name des Channels als ODBC Data Source Name (DSN) verwendet wird.

0.16.4 (freigegeben am 20.06.2018)

  • Es wurde ein Bug behoben, der dazu führte, dass HTTPS-Bindings bei Angabe eines Hostnamens nicht funktionierten.
  • Das SQL Exchange Plugin wurde auf Version 1.0.2 aktualisiert:
    • Sie können nun 0 als Port für den Microsoft SQL Server angeben, wodurch das Plugin versucht, eine Verbindung zur standardmäßigen SQL-Server-Instanz herzustellen.
  • Das Database Plugin wurde auf Version 1.0.10 aktualisiert:
    • Sie können nun 0 als Port für den Microsoft SQL Server angeben, wodurch das Plugin versucht, eine Verbindung zur standardmäßigen SQL-Server-Instanz herzustellen.

0.15

0.15.0 (freigegeben am 18.01.2018)

  • Inkompatible Änderung: CoDaBix benötigt nun das .NET Framework 4.6.1 oder höher. Weitere Informationen finden Sie unter Installation von CoDaBix® Compact.
  • Der eingebettete Websever kann nun statische Dateien aus dem Ordner webfiles des Datenverzeichnisses ausliefern. Dies ermöglicht Ihnen in Kombination mit dem neuen Script-HTTP-Handler-Feature (siehe unten), Webapps zu entwickeln, die durch den CoDaBix®-Webserver ausgeliefert werden (z.B. zur Visualisierung).
    Zusätzlich können Sie nun in den CoDaBix® Settings eine benutzerdefinierte HTTP-Redirect-URL für den Root-Pfad angeben, sodass Nutzer nur beispielsweise http://<hostname>/ eingeben müssen, um die benutzerdefinierte Webseite anzuzeigen.
  • Das Datenverzeichnis enthält nun einen neuen Ordner userdata, in dem Sie benutzerdefinierte Dateien speichern können. Bei diesem Ordner ist garantiert, dass er in zukünftigen CoDaBix®-Versionen nicht anderweitig verwendet wird.
  • Die Sicherheit von verschlüsselten Passwörtern, die in Datenpunktnodes vom Typ „Passwort“ abgelegt oder über die Script-API codabix.security.encryptPassword() erstellt werden, wurde verbessert.
  • CoDaBix® File Access Security (FAS) verhindert nun den Schreibzugriff auf die SQLite-Backend-Datenbankdateien (außer bei der Einstellung „Full Access“), da diese als Systemdateien betrachtet werden.
  • Die Eigenschaften HistoryOptions und HistoryInterval eines verlinkten Nodes werden nun vom Linkziel abgerufen, da sie in enger Beziehung zu den historischen Werten des Datenpunktnodes stehen.
  • Die Log-Rotation wurde verbessert, sodass die CoDaBix® Runtime-Logdatei, die Database Plugin-Logdatei sowie Logdateien des Entity Models nicht länger jeden Tag rotiert werden, sondern sobald sie eine Größe von mehr als 5 MiB erreicht haben, in welchem Fall sie außerdem automatisch in eine ZIP-Datei komprimiert werden, um Speicherplatz zu sparen.
    Außerdem werden nun standardmäßig Logdateien, die älter als 30 Tage sind, automatisch gelöscht.
  • CoDaBix® Compact kann nun auf Windows-Systemen ausgeführt werden, die die Richtlinie „Systemkryptographie: FIPS-konformen Algorithmus für Verschlüsselung, Hashing und Signatur verwenden“ aktiviert haben.
  • Das Lizenz-Handling wurde in Bezug auf den Maschinencode verbessert.
  • Das CSV Exchange Plugin wurde auf Version 1.0.2 aktualisiert:
    • Inkompatible Änderung: Der Ordnername des Plugins im Datenverzeichnis wurde von B. CSV-Server in CsvExchangePlugin umbenannt, um der Dokumentation zu entsprechen. Wenn Sie CoDaBix® Compact von einer früheren Version updaten, versucht CoDaBix® automatisch, den Ordner zumzubenennen; Sie sollten jedoch prüfen, ob Sie den früheren Pfad in anderen Anwendungen benutzen.
    • Inkompatible Änderung: Bei Verwendung des SyncModes SystemToFile werden CSV-Zeilen nicht länger implizit geschrieben, wenn sich der Wert eines der Nodes ändert. Stattdessen können Sie nun Trigger (ähnlich wie beim Database Plugin) definieren, um festzulegen, wann Werte in die CSV-Datei geschrieben werden sollen. Außerdem führt das CSV Exchange Plugin nun einen synchronen Lesevorgang (wie das Database Plugin) durch, wenn ein Trigger auslöst.
    • Bei Verwendung des Modus SystemToFile können Sie nun angeben, dass ein Systemwert statt eines Nodewerts für ein <Binding> verwendet werden soll, z.B. um die aktuelle Uhrzeit in die CSV-Datei zu schreiben.
  • Script-API:
    • Sie können nun HTTP-Handler durch den Aufruf der Methode net.registerHttpRoute() registrieren. Dies ermöglicht Ihnen, asynchrone Funktionen festzulegen, die aufgerufen werden, wenn ein Client einen HTTP-Request nach CoDaBix® ausführt. Damit können Sie beispielsweise dynamisch HTML-Seiten, ähnlich wie bei PHP oder ASP.NET, generieren.
      Dieses Feature ermöglicht Ihnen außerdem, serverseitige WebSocket-Verbindungen über das net.RawWebSocket-Interface zu handeln, wenn CoDaBix® Compact unter Windows 8 / Windows Server 2012 oder höher ausgeführt wird.
    • Es wurden Überladungen zur timer.scheduleCallback()-Methode hinzugefügt, die einen Callback mit Parametern akzeptieren, und darüber hinaus weitere Argumente akzeptieren, die dem Callback übergeben werden. Dies ermöglicht beispielsweise für einen Eventlistener den Callback abzuspeichern und durch das Durchreichen der Event-Parameter wiederzuverwenden, anstatt bei jedem Eventlistener-Aufruf ein Closure zu erstellen, was relativ teuer ist.
    • Zu den Methoden copyFileAsync(), writeAllTextAsync() und openFileWriterAsync() des io.file-Namespaces wurde ein Parameter hinzugefügt, mit dem Sie angeben können, dass eine Ausnahme geworfen werden soll, falls die Datei bereits vorhanden ist, anstatt diese zu überschreiben.
    • Das Script-Timeout wurde von 1000 ms auf 1500 ms erhöht.
    • Inkompatible Änderung: Die Eigenschaft fileLength der Klasse io.FileReader wurde durch die asynchrone Methode getFileLengthAsync ersetzt, da das Abrufen der aktuellen Dateilänge eine I/O-Operation erfordert, die möglicherweise blockierend ist.

0.14

0.14.0 (freigegeben am 13.07.2017)

  • In den CoDaBix® File Access Security (FAS)-Einstellungen können nun für jeden Pfad Zugangsdaten angegeben werden. Somit kann nun beispielsweise in eine Script auf Dateien zugegriffen werden, auf die der aktuelle Benutzer keinen Zugriff haben würde (intern wird dafür Impersonation verwendet). Zusätzlich kann im Falle eines UNC-Pfads dieser als Netzwerkresource hinzugefügt werden. Dies ist nützlich, wenn CoDaBix® als Dienst ausgeführt wird, da dieser keinen Zugriff auf die verbundenen Windows-Netzlaufwerke (mit entsprechenden Zugangsdaten) des aktuellen Benutzers hat.
  • Bei Device Plugins, Interface Plugins sowie Exchange Plugins werden nun die wichtigsten Einstellungen direkt angezeigt, wenn ein Kanal in der Webkonfiguration angelegt oder editiert wird.
    Weiterhin wird nun ein Control Panel beim Öffnen eines Kanals angezeigt, das eine Live-Übersicht des Kanals darstellt.
  • Die Eigenschaften Scaling Factor und Scaling Offset von Datenpunktnodes werden nun verwendet, um Werte zu skalieren, die von einem Gerät gelesen (oder in dieses geschrieben) werden.
    Da diese Eigenschaften bisher nicht genutzt wurden (man jedoch beliebige Werte eingeben konnte), werden diese Eigenschaften beim Updaten auf diese Version zurückgesetzt, damit vorherige Werte nicht zu Problemen führen.
  • Beim Erstellen eines Backups können Sie nun angeben, dass Passwörter nicht exportiert werden sollen (aus Sicherheitsgründen). Dies gilt für das MySQL-Backend-Datenbankpasswort und für Passwörter, die in Nodes vom Typ Password abgelegt werden (z.B. bei OPC UA Client Device und SQL Exchange), sowie ebenfalls für über die Script-API codabix.security.encryptPassword() verschlüsselte Passwörter, die z.B. in Scripts abgelegt werden.
  • Das CoDaBix® Runtime-Protokoll wird nun im log-Ordner statt im logfiles-Ordner abgelegt.
  • Wenn der Start eines Plugins fehlschlägt, wird nach 30 Sekunden versucht es neuzustarten, damit temporäre Fehlerzustände nicht verhindern, dass das Plugin nach dem Beheben des Fehlers wieder arbeiten kann.
  • Historische Werte können nun im CoDaBix® Settings-Dialog gelöscht werden.
  • Das REST Interface wurde aktualisiert:
    • Authentifizierung per Benutzername und Passwort wurde implementiert.
    • Historische Werte können nun für eine bestimmte Zeitspanne abgerufen werden.
  • Das CSV Exchange Plugin wurde auf Version 1.0.1 aktualisiert:
    • Unterstützung für Dateiübertragung über einen SSH-Server (SCP oder SFTP) wurde hinzugefügt.
    • Das CustomerName-Attribut muss nicht länger in der XML-Konfigurationsdatei angegeben werden.
  • Das S7 Device Plugin wurde auf Version 1.0.7 aktualisiert:
    • Es wurde ein Bug behoben, der das Lesen von Strings mit einer Maximallänge von mehr als 221 Zeichen verhinderte.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.6 aktualisiert:
    • Die Policy-Einstellungen wurden refaktoriert, sodass mehrere Policies für den selben Endpunkt (Channel) aktiviert werden können.
    • Das automatisch erstellte Anwendungsinstanz-Zertifikat verwendet jetzt den Computernamen anstatt „localhost“ als Domainnamen.
    • Es wurde ein Bug behoben, der dazu führte, dass bei jedem Start von CoDaBix® ein neues Anwendungsinstanz-Zertifikat generiert wurde.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.7 aktualisiert:
    • Es wurde eine zusätzliche Einstellung hinzugefügt, die angibt, ob eine normale OPC UA Subscription oder Polling für eine CoDaBix® Subscription auf OPC UA Client Variablen angewendet werden soll.
    • Es wurde ein Bug behoben, der dazu führte, dass bei jedem Start von CoDaBix® ein neues Anwendungsinstanz-Zertifikat generiert wurde (und der verhinderte, dass das Zertifikat als Blob-Wert im entsprechenden CoDaBix® Node abgelegt wurde).
  • Das SQL Exchange Plugin (Version 1.0.0) wurde hinzugefügt, das es Ihnen ermöglicht, Daten bidirektional mit einer MySQL-, MSSQL- oder Oracle-Datenbank auszutauschen.
  • Script-API:
    • Das Event NodeChangeCompleted wurde zum codabix-Namensraum hinzugefügt, welches ausgelöst wird, wenn eine Serie von mehrfachen ValueChanged-, PropertyChanged- oder ChildrenChanged-Ereignissen von Nodes abgeschlossen ist.
    • Die Methode codabix.Node.registerValueConverter() wurde hinzugefügt, mit der eine Rückmeldung registriert werden kann, die aufgerufen wird, wenn ein Wert von einem Gerät gelesen (oder in ein Gerät geschrieben) wird, sodass der Wert nachbearbeitet werden kann.
    • Ein neuer Parameter wurde zur logger.log()-Methode hinzugefügt, der ein Log-Level akzeptiert (der Standardwert ist Info). Zusätzlich wurden die Methoden logDebug(), logInfo(), logWarning() und logError() zum logger-Namensraum hinzugefügt.
    • Der codabix.security-Namensraum wurde hinzugefügt, der Methoden zum Verschlüsseln und Entschlüsseln von Passwörtern enthält, die in einem Passwortnode gespeichert werden sollen.

0.14.1 (freigegeben am 27.07.2017)

  • Das Log-Handling für die Webkonfiguration wurde verbessert: Fehlereinträge im Runtime-Protokoll werden nicht länger direkt angezeigt; stattdessen zeigt ein Button die Anzahl neuer Logeinträge an. Beim Klick auf den Button öffnet sich ein (Live-)Dialog, der die letzten Logeinträge anzeigt.
  • Die maximale Länge der Pfadeigenschaft des Nodes wurde von 200 auf 2000 Zeichen erhöht, um z.B. längere Dateipfade zu unterstützen.

0.14.2 (freigegeben am 06.09.2017)

  • Beim Erstellen eines Backups können Sie nun angeben, dass historische Werte nicht eingeschlossen werden sollen, wenn Sie diese nicht benötigen, um die Größe des Backups zu reduzieren.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.8 aktualisiert:
    • Es wurde ein Speicherleck behoben, das auftreten konnte, wenn ein Server nicht erreichbar ist, während der Client versucht, sich zu verbinden.
    • Das Verhalten beim Browsen wurde verbessert, sodass für einen gebrowsten Data Variable Node eine genauere Typinformation abgerufen werden kann, anstatt einfach den „Null“-Datentyp zu verwenden.
    • Unterstützung für den Basic256Sha256-Security Policy Algorithm wurde hinzugefügt.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.7 aktualisiert:
    • Es wurde ein Speicherleck behoben, das auftreten konnte, wenn Clients sich oft verbinden und die Verbindung wieder trennen.
    • Unterstützung für den Basic256Sha256-Security Policy Algorithm wurde hinzugefügt.
  • Script API:
    • Die Deklaration von codabix.NodeValueConverter wurde verbessert, um das Zurückgeben von undefined zusätzlich zu null zu erlauben.

0.14.3 (freigegeben am 28.09.2017)

  • Es wurde ein Bug behoben, der dazu führen konnte, dass das CSV Exchange Plugin hängen blieb, wenn ein Dateiaustausch über SCP verwendet wurde.
  • Kleinere Bugfixes und Stabilitätsverbesserungen.

0.14.4 (freigegeben am 09.10.2017)

  • Es wurde ein Bug behoben, der dazu führen konnte, dass das CSV Exchange Plugin bei Dateizugriff über SMB (Windows-Freigaben) nach einem Netzwerkproblem keine Dateiänderungen mehr erkannte.

0.14.12 (freigegeben am 24.11.2017)

  • Die Log-Rotation wurde verbessert, sodass die CoDaBix® Runtime-Logdatei und die Database Plugin-Logdatei nicht länger jeden Tag rotiert werden, sondern sobald sie eine Grüße von mehr als 5 MiB erreicht haben, in welchem Fall sie außerdem automatisch in eine ZIP-Datei komprimiert werden, um Speicherplatz zu sparen.
    Außerdem werden nun standardmäßig Logdateien, die älter als 30 Tage sind, automatisch gelöscht.
  • Das Database Plugin wurde auf Version 1.0.9 aktualisiert:
    • Das instantChangeBackValue-Attribut wurde zum Trigger-Element hinzugefügt (für type="edge"), mit dem Sie einen Wert angeben können, der sofort nach dem Auslösen des Triggers in die Node geschrieben wird; im Gegensatz zum changeBackValue-Wert, der erst dann geschrieben wird, wenn das Recordset gesammelt wurde (d.h. der synchrone Lesevorgang abgeschlossen ist).
    • Die Performance wurde durch das Schreiben von Zeilen in einer einzelnen Transaktion, wenn viele Zeilen gepuffert sind, verbessert.

0.14.13 (freigegeben am 20.12.2017)

  • CoDaBix® Compact kann nun auf Windows-Systemen ausgeführt werden, die die Richtlinie „Systemkryptographie: FIPS-konformen Algorithmus für Verschlüsselung, Hashing und Signatur verwenden“ aktiviert haben.
  • Die verbesserte Log-Rotation (inklusive Erstellen einer ZIP-Datei) wird nun auch auf Logdateien des Entity Models angewendet.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.9 aktualisiert:
    • Die Performance beim Browsen eines OPC-UA-Servers wurde verbessert.
    • Es wurde ein Bug behoben, der dazu führte, dass unter einem bereits existierenden Folder-Node hinzugefügte Variablen nicht funktionierten, bis CoDaBix® neugestartet wurde.
    • Der festgelegte OperationTimeout-Wert wird nun korrekt auf Verbindungsversuche angewendet.
    • NodeIds können nun in einem Format wie ns=2;s=ABC angegeben werden, das auch von anderen OPC UA Tools verwendet wird.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.8 aktualisiert:
    • Das ValueRank-Attribut von Datenpunktnodes wird nun für Arraytypen korrekt spezifiziert.

0.12

0.12.0 (freigegeben am 09.05.2017)

  • Im CoDaBix® Settings-Dialog kann nun das Protokoll-Level festgelegt werden, der bestimmt, wie detailliert Protokolldateien geschrieben werden.
  • Log-Rotation wurde implementiert, sodass nun auch die Report-Logdateien nach einem Tag rotiert werden.
  • Wenn SQLite als Backend-Datenbank verwendet wird, werden historische Werte nun in eine separate Datenbank (codabixhistorydb.db) abgelegt, um die Performance zu verbesern.
  • Aus Sicherheitsgründen wird bei neuen CoDaBix® Installationen, bei denen CoDaBix® als Dienst installiert wird, nicht länger automatisch ein Remote-HTTP-Binding für den lokalen HTTP-Port hinzugefügt.
    Wenn Sie den Zugriff auf CoDaBix® von anderen Geräten im Netzwerk erlauben möchten, müssen Sie die Option „Use the Local Port as remote HTTP Binding“ in den „Service HTTP(S) Bindings“-Optionen aktivieren, oder manuell HTTP-/HTTPS-Bindings hinzufügen.
  • Es wurde ein Speicherleck behoben, das beim Ausführen als Dienst auftrat, welches nach einiger Zeit zu einem Crash führen konnte.
  • Es wurde ein Bug behoben, der das Wiederherstellen von Backups verhinderte, wenn diese einen Datenpunktnode vom Typ DateTime enthielten.
  • Es wurde ein Bug behoben, der das Wiederherstellen von Backups auf Windows-Server-Systemen verhinderte, die in der Server-Core-Variante installiert wurden (d.h. ohne Desktopdarstellung).
  • Das S7 Device Plugin wurde auf Version 1.0.6 aktualisiert:
    • Es wurde ein Bug behoben, der bei Verwendung von Char-Variablen dazu führte, dass zu viele Bytes gelesen oder geschrieben wurden.
  • Das Database Plugin wurde auf Version 1.0.7 aktualisiert:
    • Es wurde ein Speicherleck behoben, das auftreten konnte, wenn Trigger schneller auslösen, als Datensätze in die Datenbank geschrieben werden können. Dies konnte zu einem Absturz führen.
  • Script-API:
    • Der Script Editor zeigt nun innerhalb einer async-Funktion einen Fehler bei Methodenaufrufen an, die ein Promise-Objekt zurückgeben, wenn das zurückgegebene Objekt nicht mit await erwartet oder anderweitig verwendet wird. Wenn das „Vergessen“ des Promise-Objekts beabsichtigt ist, können Sie den void-Operator benutzen, um den Fehler auszublenden, z. B. void codabix.writeNodeValueAsync().

0.12.1 (freigegeben am 11.05.2017)

  • Die Startzeit beim Ausführen von CoDaBix® Compact als Dienst wurde verbessert.
  • Es wurde ein Bug behoben, der manchmal verhinderte, dass ein Node über die Webkonfiguration dupliziert werden konnte.
  • Das Database Plugin wurde auf Version 1.0.8 aktualisiert:
    • Ein neuer Triggertyp valueChange wurde hinzugefügt, der auslöst, wenn sich der Wert eines Nodes ändert.
    • Das property-Attribut wurde zum <Node>-Element hinzugefügt, mit dem Sie die Eigenschaft des Nodes angeben können, die in die Datenbank geschrieben werden soll. Anstatt des Nodewerts können Sie nun auch den Zeitstempel des Nodewerts, die Einheit des Nodes usw. schreiben.
    • Wenn ein angegebener Node nicht gefunden wird, wird nun eine bessere Fehlermeldung geloggt.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.5 aktualisiert:
    • Wenn ein OPC UA Server gebrowst wird, werden OPC Nodes mit den Datentypen Integer und UInteger nun als CoDaBix® Nodes mit den Typen Int64 und UInt64 angelegt anstatt des Typs Null, sodass deren Werte gelesen werden können. Beachten Sie aber, dass Integer und UInteger abstrakte Datentypen in der OPC UA sind, weswegen ein Schreibvorgang fehlschlagen kann und Sie in diesem Fall einen anderen, kleineren Datentyp wie Int32 für den Node auswählen müssen.

0.12.2 (freigegeben am 16.05.2017)

  • Wenn ein einzelnes Plugin nicht gestartet werden kann, wird eine Fehlermeldung ins Runtime-Protokoll geschrieben, und anschließend setzt CoDaBix® nun den Startvorgang fort.
  • Es wurde eine Verknüpfung in der CoDaBix® Compact Programmgruppe hinzugefügt, mit der Sie die historischen Werte in der aktuellen Backend-Datenbank löschen können.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.6 aktualisiert:
    • Standardmäßig sind nur 10 gleichzeitige Channels (Verbindungen) erlaubt. Die Anzahl kann über eine Lizenz erhöht werden.
  • Script-API:
    • Es wurde ein Speicherleck behoben, das auftreten konnte, wenn Scripts häufig neugestartet werden. Um das Speicherleck zu beheben, musste die codabix.Node.children-Eigenschaft so angepasst werden, dass diese kein Live-Array mehr zurückgibt, d.h. es wird bei jedem Zugriff auf die Eigenschaft ein neues Array zurückgegeben.

0.11

0.11.0 (freigegeben am 27.02.2017)

  • Die Webkonfiguration wurde überarbeitet:
    • Es wurde ein Kontextmenü implementiert.
    • Foldernodes werden in der Baumansicht erst dann geladen, wenn sie aufgeklappt werden.
    • Variablennodes werden nun ebenfalls in der Baumansicht angezeigt, anstatt nur in der Tabellenansicht.
    • Wenn die historischen Werte eines Nodes mit numerischen Werten angezeigt werden, wird ein Liniendiagramm mit den Historywerten eingeblendet.
  • Es wurde ein Bug behoben, der das Duplizieren von Nodes verhinderte.
  • Es wurde ein Bug behoben, der das Erstellen von neuen Benutzern verhinderte.
  • Das S7 Device Plugin wurde auf Version 1.0.4 aktualisiert:
    • Die Indirektion über den „Variables“-Foldernode beim Erstellen einer Variable vom Typ „Object“ wurde entfernt.
    • Es wurde ein Bug behoben, der die Verwendung des S5-String-Datentyps verhinderte.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.3 aktualisiert:
    • Die Indirektion über den „Variables“-Foldernode beim Erstellen eines Unterordners wurde entfernt.
  • Das Database Plugin wurde auf Version 1.0.5 aktualisiert:
    • Das Trigger-Handling wurde so geändert, dass ein synchroner Lesevorgang direkt im Eventhandler des Triggers, statt kurze Zeit später, ausgeführt wird. Dadurch werden die gesammelten DataSet-Werte deterministischer, vor allem wenn der Wert eines Edge-Triggers ebenfalls gesammelt wird.

0.11.1 (freigegeben am 12.04.2017)

  • Eine Backup-And-Restore-Funktion (Sichern und Wiederherstellen) wurde implementiert, mit der Sie die aktuelle Backend-Datenbank, das Datenverzeichnis sowie die CoDaBix® Einstellungen in einer einzigen komprimierten Datei sichern und später wiederherstellen können. Dies funktioniert sogar dann, wenn Sie beim Wiederherstellen einen anderen Backend-Datenbanktyp (MySQL/SQLite) verwenden.
  • Im CoDaBix® Settings Dialog können Sie nun die Einstellungen speichern und laden.
  • Es können nun Anweisungen von Methodennodes in der Webkonfiguration ausgeführt werden.
  • Es wurde ein zusätzliches Editor Strictness Level „Medium“ für Scripts hinzugefügt, bei dem der Script Editor keine Fehler bei unbenutzen lokalen Variablen sowie unbenutzen Parametern anzeigt.
  • Wenn CoDaBix® Compact als Dienst installiert wird, wird der Starttyp nun auf „Automatisch (Verzögerter Start)“ gesetzt, um sicherzustellen, dass der CoDaBix® Dienst gestartet werden kann, auch wenn die Festplatte des Computers beschäftigt oder die MySQL-Datenbank noch nicht verfügbar ist.
  • Es wurde ein Bug behoben, der verhinderte, dass FAS (File Access Security) „Deny“-Einträge korrekt verarbeitet.
  • Die Performance beim Lesen von durch einen Zeitstempel gefilterten historischen Werten von der eingebetteten (SQLite) Backend-Datenbank wurde verbessert.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.4 aktualisiert:
    • Die Implementierung wurde umgeschrieben, um einen dedizierten Thread pro Channel zu benutzen. Dies vermeidet Verzögerungen in CoDaBix und verbessert die Stabilität des Plugins.
    • Eine Browse-Funktionalität wurde implementiert. Durch das Ausführen des Browse-Kommandos wird der OPC UA Server gescannt und neue Variablennodes werden automatisch im Kanal erstellt.
    • Es wurde ein Bug behoben, der in seltenen Fällen zum Hängenbleiben beim Starten führen konnte.
    • Es wurde ein Bug behoben, der beim Handling von Subscriptions auftrat.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.5 aktualisiert:
    • Unterstützung für Methodennodes wurde hinzugefügt, die nun über einen OPC UA Client aufgerufen werden können.
  • Das S7 Device Plugin wurde auf Version 1.0.5 aktualisiert:
    • Eine neue Einstellung „SolveSiemensPduBug“ wurde hinzugefügt, die ein Problem bei manchen S7-Geräten behebt, die eine fehlerhafte Antwort senden, was zu Fehlern wie „specified data area does not exist“ führen kann.
  • Das Database Plugin wurde auf Version 1.0.6 aktualisiert:
    • In der XML-Konfigurationsdatei wurde das Attribut commandTimeout zum <DbConnection>-Element hinzugefügt.
  • Kleinere Bugfixes und Stabilitätsverbesserungen.
  • Script-API:
    • Die codabix.Node.getNodePath()-Methode wurde implementiert, mit der der absolute Nodepfad abgerufen werden kann.
    • Die codabix.readNodeHistoryValues()-Methode wurde implementiert, mit der historische Werte eines Nodes abgerufen werden können.

0.10

0.10.0 RC1 (freigegeben am 21.12.2016)

  • Das CoDaBix® Typsystem wurde überarbeitet:
    • Für Nodewerte und den Pfad des Nodes können Enum-Typen definiert und Validation-Expressions angegeben werden.
    • Die Typen DateTime und TimeSpan wurden hinzufügt.
    • Der Typ „Byte-Array“ wurde an den Typ „Blob“ angeglichen:
      • Die maximale Größe eines Byte-Arrays wurde von 1000 Byte auf 500000 Byte erhöht.
      • Byte-Arrays werden effizienter serialisiert.
  • Das CoDaBix® Entity Modell wurde überarbeitet:
    • Devices und Channels können nun unter Verwendung ihres Action-Nodes gestoppt und (neu-)gestartet werden.
    • Beim Erstellen eines neuen Channelnodes wird dessen Teilbaum automatisch erstellt und angezeigt.
  • Es ist nun möglich, diverse HTTP- und HTTPS-Bindungen für den eingebetteten Webserver festzulegen, wenn CoDaBix® als Dienst ausgeführt wird. Dies ermöglicht Ihnen, eine Verbindung zu CoDaBix® von fremden Maschinen über eine verschlüsselte TLS-Verbindung herzustellen.
  • Es wurde eine pluginspezifische Lizenzierung implementiert. Für jedes Plugin kann dessen Lizenz verwaltet werden.
  • Es wurden Benutzerzugriffslevel pro Node implementiert, sodass ein Plugin festlegen kann, welche Nodes der Benutzer verändern darf.
  • Das RFC-1006 Device Plugin (Version 1.0.0) wurde hinzugefügt, mit dem Sie sich zu Clients oder Servern über das RFC-1006-Protocol verbinden können.
  • Das S7 Device Plugin wurde auf Version 1.0.2 aktualisiert:
    • Unterstützung für die Date, DateTime, Time, TimeOfDay und S5Time-Datentypen wurde hinzugefügt.
    • Wenn das Lesen einer Variable fehlschlägt, wird nun ein detaillierterer Statustext (statt nur „Good“ oder „Bad“) protokolliert und in der Webkonfiguration angezeigt.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.4 aktualisiert:
    • Der Standardport für neue Installationen wurde auf 4840 geändert.
  • Inkompatible Änderungen: Das Database Exchange Plugin wurde in Database Plugin (Version 1.0.3) umbenannt:
    • Der Ordner des Plugins im Datenverzeichnis (<CodabixDataDir>) wurde von "DataBaseExchangePlugin" in "DatabasePlugin" umbenannt.
    • Die Konfigurationsdatei des Plugins wurde von "CoDaBix.DataBaseExchangePlugin.Settings.xml" in "CoDaBix.DatabasePlugin.Settings.xml" umbenannt.
  • Scripts starten nun ebenfalls automatisch neu, wenn eine unbehandelte Ausnahme in der Initialisierungsphase aufgetreten ist, und nicht nur dann, wenn diese in der Callbackphase aufgetreten ist.
  • Inkompatible Änderungen der Script-API:
    • Die Methode timer.setImmediate() wurde durch die Methode timer.scheduleCallback() ersetzt, welche effizienter ist.
    • Die Methode timer.sleepAsync() wurde umbenannt in timer.delayAsync().
    • Die NodeValue-Klasse unterstützt nun Date-Instanzen, um mit dem CoDaBix®-DateTime-Typ zu arbeiten.
    • Die type-Eigenschaft der codabix.Node-Klasse enthält keine Werttypen wie Int32 mehr. Stattdessen sind diese nun über die valueType.typeCode-Eigenschaft verfügbar. Die Eigenschaft valueType.isArray gibt dabei an, ob es sich um einen Array-Typ handelt.
    • Der Typ codabix.NodeValueStatus (wie er z.B. in codabix.NodeValue.status benutzt wird) wurde in ein Interface mit einer statusCode- und einer statusText-Eigenschaft geändert.

0.10.1 (freigegeben am 27.01.2017)

  • Inkompatible Änderung: File Access Security (FAS) wurde implementiert, um den Zugriff auf Dateien in CoDaBix® zu beschränken. Das Feature ist in den CoDaBix®-Einstellungen konfigurierbar.
    Dieses Feature verhindert, dass ein Benutzer, der das CoDaBix®-Adminpasswort sowie lokalen oder Netzwerkzugriff auf die Webkonfiguration hat, auf beliebige Dateien zugreifen kann (vor allem wenn CoDaBix® als Dienst läuft). Standardmäßig ist das Datenverzeichnis für Lese- und Schreibzugriff sowie das Installationsverzeichnis für Lesezugriff zugelassen.
    Diese Einstellung wird angewendet auf:
    • Filenodes (auf die per HTTP-Access-URL oder über einen OPC UA Client zugegriffen wird) sowie Directorynodes
    • Scripts, die die io.file- und io.directory-Namensräume benutzen
    • Pfade zu CSV-Dateien, die in der XML-Konfigurationsdatei des CSV Exchange Plugins angegeben werden
  • Geschwindigkeitsverbesserungen und Bugfixes.
  • Das S7 Device Plugin wurde auf Version 1.0.3 aktualisiert:
    • Konfigurator: Funktion zum Kopieren von Kanälen und Variablen
    • Kanäle: Unterstützung für Beschreibungen wurde hinzugefügt
    • Variablen: Unterstützung für Beschreibungen wurde hinzugefügt
  • Der Typ „Method“ für Nodes wurde hinzugefügt, über den Plugins ausführbare Befehle bei einem solchen Node registrieren können.
  • Das Database Plugin wurde auf Version 1.0.4 aktualisiert:
    • In der XML-Konfigurationsdatei wurden die Attribute connectTimeout und maxPoolSize zum <DbConnection>-Element hinzugefügt.
  • Script-API:
    • Die io.file-, io.directory- und io.path-Namensräume wurden implementiert, um Scripts den Zugriff auf Dateien zu ermöglichen, z. B. zum Lesen und Schreiben von Textdateien.

0.10.2 (freigegeben am 07.02.2017)

  • Die Zuverlässigkeit von CoDaBix® Compact wurde verbessert.
  • Es wurde ein Bug behoben, der das Lesen von Arraywerten und historischen Werten verhinderte.
  • Es wurde ein Bug behoben, der zum Reset der „HistoryOptions“-Eigenschaft eines Nodes nach einem Neustart von CoDaBix® Compact führte.
  • Es wurde ein Bug behoben, der verhinderte, dass das Script-Timeout auf Scriptcode in catch- oder finally-Abschnitten angewendet wird.
  • Es wurde ein Bug behoben, der das Erstellen von Variablen für das OPC UA Client Device Plugin verhinderte.

0.10.4 (freigegeben am 09.02.2017)

  • Das OPC UA Client Device Plugin wurde auf Version 1.0.2 aktualisiert:
    • Es wurde ein Bug behoben, der das Lesen und Schreiben von Variablennodes verhinderte, die in einer Foldernode erstellt wurden.
    • Die Konvertierung von Arrays aus gewrappten OPC UA Werten wurde verbessert, sodass diese in CoDaBix® Nodes mit einem Arraytyp geschrieben werden können.
    • Wenn mehrere Nodes gleichzeitig gelesen werden und einer davon nicht gelesen werden kann, werden die anderen Nodes nun dennoch gelesen.

0.9

0.9.0

  • Die interne Datebankstruktur wurde geändert, sodass nun jeder Node eine GUID zur Identifizierung bekommt.
  • Plugins können sich nun automatisch neustarten, wenn ihre Einstellungsdatei verändert wurde.
  • Es können nun Nodewerte direkt über die Webkonfiguration geschrieben werden.
  • Das Database Exchange Plugin wurde hinzugefügt, mit dem man Nodewerte in externe MySQL- bzw. MSSQL-Datenbanken schreiben kann.
  • S7-Variablen haben keine GUID mehr als Namen, sondern ihren korrekten Variablennamen.
  • Das S7 Device Plugin kann nun Arrays (z. B. Int32-Array) lesen und schreiben.
  • Das S7 Device Plugin liest nun nicht mehr automatisch Werte. Stattdessen wartet es darauf, dass eine externe Subscription (z. B. über einen OPC UA Client, der über das OPC UA Server Plugin verbunden ist) erstellt wird, oder bis ein synchroner Lesevorgang angefordert wird.

0.9.2

  • Das CoDaBix.AutoSubscribe-Plugin wurde hinzugefügt, welches automatisch Subscriptions für Nodes erstellt, bei denen „Has History Values“ auf „Yes“ gesetzt ist. Damit können nun S7-Variablen automatisch regelmäßig gelesen werden, ohne dass extra eine Subscription (z. B. über einen OPC UA Client) erstellt werden muss.
  • Im CoDaBix® Compact Setup kann man nun genau auswählen, welche Plugins installiert werden sollen.
  • Die Webkonfiguration zeigt nun den Status für Istwerte eines Nodes an.
  • Ein Bug wurde behoben, der das Verwenden des Int16-Array-Datentyps verhinderte.

0.9.3

  • Ein Bug wurde behoben, der das Schreiben von UIn64-Werten verhinderte.
  • Ein Bug wurde behoben, der die Verwendung von MySQL als Backend-Datenbank verhinderte.

0.9.4 (freigegeben am 07.09.2016)

  • Die Webkonfiguration wurde komplett überarbeitet für bessere Optik und Bedienung. Beispielsweise ist es nun möglich, in der Webkonfiguration einen synchronen Read auf S7-Variablen durchzuführen.
  • Das S7 Device Plugin überprüft nun automatisch regelmäßig die Verbindung zur S7, damit der Kanalstatus immer den aktuellen Verbindungsstatus zur SPS anzeigen kann.
  • Das S7 Device Plugin kann nun SPS-Objekte lesen.
  • Der Verzeichnisname des S7 Device Plugins im Datenverzeichnis (<CodabixDataDir>) wurde von "S7DeviceServer" zu "S7DevicePlugin" geändert, und die Konfigurationsdatei wurde von "CoDaBix.S7DeviceServer.Settings.xml" zu "CoDaBix.S7DevicePlugin.Settings.xml" geändert.
  • Der Verzeichnisname des Database Exchange Plugins im Datenverzeichnis (<CodabixDataDir>) wurde von "DataBase" zu "DataBaseExchangePlugin" geändert, und die Konfigurationsdatei wurde von "CoDaBix.DataBase.Settings.xml" zu "CoDaBix.DataBaseExchangePlugin.Settings.xml" geändert.
  • Das DataBase Exchange Plugin unterstützt nun Flankentrigger.

0.9.5 (freigegeben am 08.09.2016)

  • Einige kleinere Bugs in der Webkonfiguration wurden behoben.
  • Das DataBase Exchange Plugin wurde auf Version 1.0.1 aktualisiert:
    • Es wurden „AfterSyncActions“ hinzugefügt, die es erlauben, einen Wert in einen Node zu schreiben, nachdem die Werte des Datensatzes gesammelt wurden.

0.9.6 (freigegeben am 13.09.2016)

  • Das S7 Device Plugin wurde auf Version 1.0.1 aktualisiert:
    • Der S5 String Datentyp wurde hinzugefügt, welcher kein 2-Byte-Längenpräfix verwendet.

0.9.7 (freigegeben am 14.09.2016)

  • Es wurde ein Bug behoben, der das Speichern von Script Plugins verhinderte.

0.9.8 (freigegeben am 20.09.2016)

  • Die Typen „Directory“ und „File“ für Nodes wurden hinzugefügt, die eine physische Datei auf dem Hostcomputer repräsentieren. Dies ermöglicht Ihnen, Dateien über einen OPC UA Client zu lesen (sobald das Feature im OPC UA Server Interface Plugin implementiert wird) oder per HTTP Access URL herunterzuladen.
  • Der Plugin Manager erstellt nun automatisch eine Sicherung der Pluginkonfiguration, wenn ein Plugin erfolgreicht startet. Falls der Start eines Plugins fehlschlägt, wird stattdessen die zuvor gesicherte Konfiguration verwendet, falls vorhanden.
  • Das Database Exchange Plugin wurde auf Version 1.0.2 aktualisiert:
    • Es wurde ein Bug behoben, der zum doppelten Schreiben von Datensätzen führte, wenn derselbe Trigger in verschiedenen Datensätzen verwendet wurde.

0.9.10 (freigegeben am 05.10.2016)

  • Die Script-Plugin-API wurde überarbeitet, um eine durchdachtere und stabilere API für zukünftige Veröffentlichungen bereitzustellen.
  • Das OPC UA Client Device Plugin wurde hinzugefügt, mit dem Sie sich zu anderen OPC UA Servern verbinden und deren Variablen in CoDaBix® abbilden können.
  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.2 aktualisiert:
    • Der Zugriff auf historische Werte von CoDaBix® Nodes über HDA (Historical Data Access) wird nun unterstützt.
    • Das Übertragen von Dateien, die durch CoDaBix® Filenodes dargestellt werden, wird nun unterstützt.
  • Die Oberfläche der Webkonfiguration wurde überarbeitet.

0.9.11 (freigegeben am 17.10.2016)

  • Das OPC UA Server Interface Plugin wurde auf Version 1.0.3 aktualisiert:
    • Das Konfigurationsschma wurde verbessert, um dem der anderen Plugins zu entsprechen. Die Konfiguration befindet sich nun unter dem Systemnode „Interfaces“.
    • Man kann nun das Anwendungsinstanz-Zertifikat konfigurieren, sowie den „SignAndEncrypt“-Modus für eine verschlüsselte Übertragung aktivieren.
    • Es wurden einige Bugs bezogen auf die Benutzerauthentifizierung sowie das Aktualisieren von Nodes behoben.
  • Das OPC UA Client Device Plugin wurde auf Version 1.0.1 aktualisiert:
    • Wenn mehrere Nodes zusammen auf einmal gelesen werden und ein Node davon nicht gelesen werden kann, bekommt dieser nun einen Wert mit dem Status „Bad“, wohingegen die anderen Nodes korrekt gelesen werden.
  • Systemweite Fehler werden nun sofort in der Webkonfiguration angezeigt (zusätzlich zur CodabixDebugLog.txt), sodass Sie nicht mehr regelmäßig die Protokolldatei manuell öffnen und schließen müssen.

0.9.12 (freigegeben am 18.10.2016)

  • Es wurde ein Problem in der Webkonfiguration behoben, das auftrat, wenn das System für die Verwendung eines Proxyservers konfiguriert wurde.

0.9.13 (freigegeben am 21.10.2016)

  • Es wurde ein Bug behoben, der den Start des OPC UA Server Interface Plugins und des OPC UA Client Device Plugins sowie das Installieren von CoDaBix® Compact als Dienst verhinderte, wenn der CoDaBix® Compact Process zuvor unsauber beendet wurde.

0.9.15 (freigegeben am 03.11.2016)

  • Die Zuverlässigkeit von CoDaBix® Compact wurde verbessert.
  • Dateien, die duch Filenodes repräsentiert werden, können nun direkt in der Webkonfiguration über den „Write a new value“-Button heruntergeladen werden.
  • Die browse-Funktion des REST/JSON Interface Plugins unterstützt nun den ttl-Parameter, um einen synchronen Lesevorgang auszuführen.