Eine Liste bekannter Probleme in der aktuellen Version finden Sie unter Bekannte Probleme.
v1.5.0 (freigegeben am 28.07.2023) (Änderungen verglichen mit v1.4.21)
ImportNodes
und ExportNodes
wurden hinzugefügt, welche genutzt werden können, um Nodes aus/in eine XML-Datei zu importieren oder exportieren; wobei der gleiche Mechanismus wie bei den Kontextmenüeinträgen „Export nodes as XML“ und „Import nodes from XML“ in der Codabix Webkonfiguration genutzt wird. /System
-Node hat, dieser implizit Read+Write-Zugriff auf alle Nodes hat, da der User diese Methodnodes benutzen kann! /System
-Node hat, wenn diese nicht auch Read+Write-Zugriff auf alle Nodes haben sollen..xls
) lesen und schreiben können. NodeId
-Route-Parameter in der URL verwendet werden./api/rest/Nodes/{id}/execute
aufgerufen werden (vorausgesetzt der Benutzer hat Lese+Schreibzugriff auf den Method-Node).ExecuteNodeCommands
aufgerufen werden (vorausgesetzt der Benutzer hat Lese+Schreibzugriff auf den Method-Node).codabix.Blob
-Instanz anstatt als Base64-String zurückgegeben (z.B. bei codabix.NodeValue.value
).codabix.Blob
wurde hinzugefügt, mit der auf Blob-Werte zugegriffen werden kann.readAllBytesAsync
und writeAllBytesAsync
wurden zum io.file
-Namespace hinzugefügt, die es ermöglichen, auf Binärdateien mithilfe von ArrayBuffer
zuzugreifen (z.B. um diese in eine Blob-Node zu schreiben).options
wurde zur Methode net.httpClient.sendAsync
hinzugefügt, der es ermöglicht festzulegen, dass SSL/TLS-Fehler bei https-Requests zu Testzwecken ignoriert werden sollen.v1.5.1 (freigegeben am 23.08.2023)
Table per Node
verwendet wurde.authentication: "mandatory"
oder authentication: "optional"
im options
-Parameter angeben, mit einem Internal Server Error fehlgeschlagen sind.v1.5.3 (freigegeben am 04.09.2023)
Purge
genutzt wurde und einige der zu löschenden Nodes vom System erstellt wurden (sodass dem User die Berechtigung fehlt, den Node zu löschen).v1.5.6 (freigegeben am 14.09.2023)
Purge
genutzt wurde und einige der zu löschenden Nodes vom System erstellt wurden (sodass dem User die Berechtigung fehlt, den Node zu löschen). Zusätzlich werden nun beim Updaten von Nodes alle Properties (nicht nur bestimmte) daraufhin geprüft, ob der User die nötigen Rechte hat; ansonsten wird die Property ignoriert, damit der Import in einem solchen Fall nicht mehr fehlschlägt.timeInterval
-Parameters führte (wie in der Dashboards-App).v1.5.10 (freigegeben am 17.10.2023)
DateTime
-Nodes wird nun im ISO-8601-Format mit fraktionalen Sekundenanteilen angezeigt.Use History Value Streaming
(standardmäßig aktiviert) wurde hinzugefügt, die angibt, dass Historywerte an den Client gestreamt werden sollen, wenn dieser einen HistoryRead ausführt. Dies bedeutet, dass anstatt alle Historywerte auf einmal aus der Datenbank zu lesen und diese zu puffern bevor sie an den Client gesendet werden können, diese stattdessen während des Lesens bereits an den Client (in Stücken) gesendet werden, was den Arbeitsspeicherverbrauch im Server signifikant reduzieren kann und bessere Antwortzeiten ermöglicht. MaxHistoryConfigurationPoints
-Einstellung des Servers auf 1
gesetzt, sodass eine Session nicht mehr als einen offenen History Continuation Point haben kann.v1.5.11 (freigegeben am 03.11.2023)
[Audit]
-Einträgen in der CodabixLog.txt
führt, sobald ein Benutzer Änderungen im Codabix Node-Tree vornimmt.v1.5.12 (freigegeben am 09.11.2023)
Max History Streaming Continuation Points
wurde hinzugefügt, die es ermöglicht, die maximale Anzahl an History Continuation Points zu definieren, wenn die Setting Use History Value Streaming
aktiviert ist. Diese Setting dient zum Limitieren der Anzahl der Backend-Datenbankverbindungen, die eine OPC UA Session „locken“ kann, wenn diese offene History Continuation Points hat. Der Standardwert ist 2
.maxValueAge
, historyResolution
, maxHistoryValues
und maxHistoryAge
kann nun zugegriffen werden.v1.5.13 (freigegeben am 16.11.2023)
v1.5.14 (freigegeben am 20.11.2023)
v1.5.15 (freigegeben am 06.12.2023)
Bitte beachten Sie: Dieses Release enthält einige kleinere Breaking Changes aufgrund von Sicherheitsverbesserungen.
Normal
(in den Access Security Settings des Projekts) nicht länger Schreibzugriff auf den log
-Unterordner des Projektverzeichnisses, sondern erlaubt nur noch Lesezugriff. Damit wird sichergestellt, dass der Codabix Admin-Benutzer (oder andere Benuter) das Audit Trail Log (wenn aktiviert) nicht überschreiben können, dessen Intention die Nachverfolgung aller durch Benutzer durchgeführten Änderungen im Node-Tree ist. log
-Unterordner schreiben möchten, müssen Sie einen separaten Access-Security-Eintrag in den Project Settings hinzufügen, der Schreibzugriff auf die Datei erlaubt.codabix backup
-Kommando erstellt wird, ist beim Angeben der --include-security-keys
-Option der Project Settings Password Key nicht länger automatisch enthalten (der z.B. zum Verschlüsseln des Backend-Datenbank-Login-Passworts verwendet wird). Um diesen Key ebenfalls einzuschließen, muss zusätzlich die neue Option --include-project-settings-password-key
angegeben werden. Login Name
-Field angegeben wurde.Debug
-Eintrag ins Runtime Log (CodabixLog.txt
) geschrieben, um das Nachverfolgen der Schritte vor allem bei Active-Directory-Authentifizierung zu ermöglichen.CodabixLog.txt
-Logdatei werden nun C0- und C1-Steuerzeichen (außer HT, LF, CR) ersetzt, damit Terminals beim Ausgeben der Logdatei nicht mit Escapesequenzen manipuliert werden können.v1.5.16 (freigegeben am 15.12.2023)
v1.5.17 (freigegeben am 12.01.2024)
OUT
-Nodes geschrieben werden.v1.5.18 (freigegeben am 02.02.2024)
Path
-Property des Nodes weiterhin Werte aus der alten Adresse gelesen wurden.Auto Reconnect
(standardmäßig aktiviert) wurde hinzugefügt, mit der festgelegt werden kann, ob ein automatischer Reconnect erfolgen soll, nachdem die Verbindung geschlossen wurde oder nicht hergestellt werden konnte.null
-Wert (anstatt eines Strings) in den Transmit-Buffer geschrieben wirdv1.5.19 (freigegeben am 07.02.2024)
io.storagemodel
wurde hinzugefügt, welcher Typen für den Zugriff auf FTP-Server enthält.v1.5.20 (freigegeben am 05.03.2024)
Variant
und Variant-Array
wurden hinzugefügt, wobei ersterer es ermöglicht, beliebige primitive (nicht-Array) Werte außer CodabixObject
zu schreiben; und letzterer es ermöglicht, ein Array zu schreiben, wobei jedes Element ein beliebiger primitiver (nicht-Array) Wert außer CodabixObject
sein kann, inlusive Null
-Werte.ColumnsSet
-Nodes auf den neuen Variant-Array
-Value-Type ändern, sodass es möglich ist, Spalten zu lesen, bei denen eine der Zeilen einen NULL
-Wert enthält.UserGroups
-Einträge, die vom /api/rest/Users/authenticate
-Endpunkt zurückgegeben werden, enthalten nun den Namen der Gruppe in der name
-Property.FtpStorage
-Konstructor (hinzugefügt in v1.5.19) nicht geprüft hat, ob ausgehende Verbindungen (Outbound Connections) in den Access-Security-Einstellungen der Codabix Project Settings erlaubt waren.v1.5.21 (freigegeben am 21.03.2024)
ColumnsSet
-Folder, deren Value Type auf Variant-Array
(eingeführt in v1.5.20) gesetzt wurde, diesen Typ bei, anstatt zum ursprünglichen Value Type zu wechseln, mit dem keine NULL
-Werte gelesen werden können.receiveTimestamp
enthalten, die den Receive Timestamp des Werts enthält.receiveTimestamp
enthalten, die den Receive Timestamp des Werts enthält. Codabix.Web.SignalR
in einer .NET-Anwendung erfordert diese Änderung mindestens die Version 1.0.0-preview9-240322, um Historywerte lesen zu können.v1.5.22 (freigegeben am 12.04.2024)
CreateNode
-Endpunkt ein Node-ID-Format ausgab, das beim Zurückgeben an das Interface nicht geparst werden konnte.globalIdentifier
und token
wurden beim Lesen einer Node hinzugefügt.CreateNode
-Endpunkt ein Node-ID-Format ausgab, das beim Zurückgeben an das Interface nicht geparst werden konnte.globalIdentifier
und token
wurden beim Lesen einer Node hinzugefügt.v1.5.23 (freigegeben am 15.04.2024)
UserName
und UserID
im Data
-Folder von Change
-Events hinzugefügt, die die Werte für user_name
und user_id
enthalten.v1.4.0 (freigegeben am 28.07.2022) (Änderungen verglichen mit v1.3.12)
/dashboards/
abrufbar ist, wurde auf Version 1.1.0 upgedated, die Verbesserungen enthält.MaxHistoryValues
und MaxHistoryAge
wurden hinzugefügt, die verwendet werden können, um die Anzahl bzw. das Alter von historischen Werten für eine Node zu beschränken. ClientID
angeben. Falls nicht angegeben, wird für jede Session eine neue ID generiert.Upload
-Methode überträgt eine Datei aus der Maschine zu Codabix, während die Download
-Methode eine Datei von Codabix in die Maschine überträgt.Operator Panel
für S7-300 und S7-400 verwendet wurde, selbst wenn Programmer Device
ausgewählt war.Nodes
-Folder. Wenn dieser nicht leer ist, während der Channel gestartet wird, werden dessen Childnodes direkt im Objects
-Folder des OPC UA Servers bereitgestellt, anstatt dass dieser einen Codabix
-Folder bereitstellt, der die Codabix Root-Nodes enthält.runtime.convert
wurde hinzugefügt, welcher Methoden zum Konvertieren eines Base64-Strings (der beispielsweise beim Zugreifen auf einen Blob-Wert zurückgegeben wird) in einen ArrayBuffer
und umgekehrt enthält.v1.4.1 (freigegeben am 18.08.2022)
NodePath
, die den absoluten Node-Pfad des gelesenen Nodes enthältNodePath
, die den absoluten Node-Pfad des gelesenen Nodes enthältv1.4.2 (freigegeben am 14.09.2022)
v1.4.3 (freigegeben am 12.10.2022)
v1.4.4 (freigegeben am 04.11.2022)
/
verwendet, das auch in den vorherigen Versionen verwendet wurde.True
- und False
-Werte) in einem angegebenen Intervall in Nodes (wie Device-Variablen) zu schreiben.v1.4.5 (freigegeben am 09.11.2022)
admin
als Benutzername verwendet wird (wie z.B. in der Codabix Dashboards-Anwendung).admin
als Benutzername verwendet wird (wie z.B. in der Codabix Dashboards-Anwendung).v1.4.6 (freigegeben am 14.12.2022)
Server Diagnostics Enabled
(im Diagnostics
-Folder) wurde hinzugefügt, mit der Server Diagnostics aktiviert werden können, um beispielsweise die derzeit aktiven Session im OPC UA Server
-Objekt anzuzeigen.v1.4.7 (freigegeben am 16.01.2023)
v1.4.8 (freigegeben am 07.02.2023)
/System/Environment
-Folder enthält nun die Subfolder Backend
und History
, die den Status der Backend- und historischen Datenbank überwachen. &displayMode=kiosk
)&showTitle=false
)v1.4.9 (freigegeben am 27.02.2023)
v1.4.10 (freigegeben am 16.03.2023)
GETINFO
-Response-Dateien auftreten konnte.GETINFO
- und Session-Response-Dateien hinzugefügt, die von bestimmten Maschinen produziert werden.udev
-Rules-Datei festgelegt wurde.v1.4.12 (freigegeben am 05.04.2023)
Min Session Number
wird nun berücksichtigt.v1.4.13 (freigegeben am 19.04.2023)
IsReadOnly="True"
-Attributs in einer XML-Datei, die zum Importieren von Nodes verwendet wird; durch die Verwendung eines Scripts, das die isReadOnly
-Property auf true
setzt; oder durch das REST/SignalR Interface), wodurch ein Benutzer keine Property der Node (außer IsReadOnly
) mehr ändern kann, die Node nicht mehr (un-)linken kann, und keine Werte mehr in die Node schreiben kann.NO_MORE_SPACE_IN_FG
), werden historische Werte, deren CreationTimestamp
kleiner als der kleinste CreationTimestamp
plus 24 Stunden ist, automatisch gelöscht, damit wieder neue historische Werte eingefügt werden können.File
in einen anderen Typen geändert wird.DeleteRows
wurde hinzugefügt, mit der ein DELETE FROM …
SQL-Statement für die Tabelle ausgeführt werden kann. Sie können die dazugehörige WHERE
-Clause in der DeleteSqlExpression
-Table-Setting festlegen.v1.4.15 (freigegeben am 16.05.2023)
SelectClause
eines EventFilter
(für eine Event-Subscription) hinzugefügt wurden.v1.4.16 (freigegeben am 17.05.2023)
Check Connection
zum Channel hinzugefügt, die es ermöglicht, zu prüfen ob eine TCP-Verbindung zur SPS aufgebaut werden kann, und den Zustand im Channel-Status anzuzeigen (wie bei anderen Device Plugins). v1.4.17 (freigegeben am 14.06.2023)
logger
-Funktionen), nach der der String abgeschnitten wird, wurde auf 5000 Zeichen erhöht.v1.4.20 (freigegeben am 06.07.2023)
EventType
-Nodes für Alarme wurde von Int32
auf String
geändert, um mit Maschinen zu funktionieren, die fälschlicherweise einen Text anstatt einer Zahl für das alarm_number
-Field schreiben.GETINFO
-Requests können nun den Response Mode May Linger
verwenden.Read Holding Register
-Funktion (03) anstatt der Read Coil
-Function (01), da nicht alle Modbusgeräte letztere unterstützen.True
beim Browsen des Servers die Optimierung zum Überspringen von Nodes, die ein Array-Element repräsentieren, deaktiviert.v1.4.21 (freigegeben am 13.07.2023)
v1.4.22 (freigegeben am 23.08.2023)
Table per Node
verwendet wurde.v1.3.0 (freigegeben am 16.12.2021) (Änderungen verglichen mit v1.2.6)
Allow outbound connections
wurde zu den Codabix Access Security Settings hinzugefügt, die deaktiviert werden kann, um ausgehende Socket- und Serial-Port-Verbindungen abzulehnen. forceUpdate
-Flag beim Erstellen von Subscriptions berücksichtigt wird.DOWNLOAD
- und UPLOAD
-Kommandos auszuführen.v1.3.1 (freigegeben am 20.12.2021)
NodeValueSubscriptionParameters
der ForceUpdate
-Parameter auf False
gesetzt ist, sodass ein neuer Wert aus dem ValueChanged
-Event nur dann an den Client gesendet wird, wenn sich der Wert tatsächlich geändert hat (wenn IsValueChanged
True
ist), um den Netzwerk-Traffic zu reduzieren.v1.3.2 (freigegeben am 12.01.2022)
schema
zum <DbConnection>
-Element hinzugefügt, mit dem das Tabellenschema angegeben werden kann (z.b. bei MSSQL, wenn es nicht dbo
ist).PerformRead
auf true
gesetzt ist, oder ein Batch-Read verwendet wird) fehlschlägt.NoAccess
festgelegt ist.net.httpClient.connectWebSocketAsync()
behoben, durch das kein Timeout angewendet wurde, was unter bestimmten Umständen (wenn die Netzwerkverbindung unterbrochen wurde oder der Server keine Response sendete) zu einem Hängenbleiben führen konnte. v1.3.3 (freigegeben am 13.01.2022)
v1.3.4 (freigegeben am 31.01.2022)
Locales
Zu den Application Settings hinzugefügt, mit der die unterstützten Locales festgelegt werden können.AutoAcceptUntrustedCertificates
auf true
gesetzt ist (der Standardwert), werden andere Zertifikatsprobleme (z.B. ein abgelaufenes Zertifikat) ebenfalls ignoriert, da bereits keine sichere Verbindung mehr besteht.BadNodeIdUnknown
, um anzugeben, dass das Monitored Item nicht mehr funktioniert, anstatt dass der Client fälschlicherweise weiterhin einen veralteten Wert mit dem Status Good
anzeigt.v1.3.5 (freigegeben am 10.02.2022)
v1.3.6 (freigegeben am 09.03.2022)
v1.3.7 (freigegeben am 20.04.2022)
v1.3.8 (freigegeben am 25.04.2022)
v1.3.9 (freigegeben am 04.05.2022)
v1.3.10 (freigegeben am 20.05.2022)
get
wurde zu den inputArguments
- und outputArguments
-Arrays des NodeCommandContext
hinzugefügt, sodass es möglich ist, ein Node Argument über den Namen abzurufen.v1.3.12 (freigegeben am 20.06.2022)
Use Break Detection
hinzugefügt, welche, wenn aktiviert, regelmäßig ein GETINFO
-Kommando an die Maschine sendet, um zu prüfen, ob diese aktive Reports/Events verloren hat, und diese in dem Fall neuzustarten.v1.2.0 (freigegeben am 29.09.2021) (Änderungen verglichen mit v1.1.6)
NO_COLOR
-Umgebungsvariable wurde zur Codabix-Shell-Anwendung hinzugefügt, sodass virtuelle Terminalsequenzen („ANSI Color“) deaktiviert werden, wenn diese Variable vorhanden ist.Command Response Mode
-Einstellung auf MayLinger
gesetzt ist.Alarms + Events
-Folder hinzugefügt.i=24
) werden nun eingebaute strukturierte Datentypen wie DataValue
, LocalizedText
, Range
vollständig als JSON serialisiert.i=24
) im Path angeben (JSON-Format), damit eingebaute strukturierte Datentypen wie DataValue
, LocalizedText
, Range
als JSON serialisiert werden.Columns
gibt es nun einen Folder ColumnsSet
, der ebenfalls Column-Nodes nach dem Browsen der Datenbank/Tabelle enthält, jedoch mit Array-Typen. Dies ermöglicht Ihnen, ein komplettes Result-Set (d.h. mehrere Zeilen) aus der Tabelle zu lesen, wobei bei jedem Node das Array dann die Werte der einzelnen Zeilen für diese Spalte enthält, die gelesen wurden.CHAR(36)
-Spalte beim Verwenden einer MySQL- oder MariaDB-Datenbank als String gelesen werden konnte.Read
-Methode auf File-Nodes ein falscher Werttyp (Byte-Array statt ByteString) zurückgegeben wurde.Access-Control-Allow-Credentials
wird aus Sicherheitsgründen nicht mehr gesendet, da er für diese Anwendung nicht benötigt wird. Bei browserbasierten SignalR-Clients können Sie "withCredentials": false
in dem von withUrl()
verwendeten Objekt angeben.net.ping.sendAsync
wurde hinzugefügt, die es ermöglicht, einen ICMP Echo Request zu senden.net.registerHttpRoute
hat nun einen zusätzlichen options
-Parameter, mit dem Benutzerauthentifizierung ermöglicht bzw. erzwungen werden kann. Wenn aktiviert, kann der Client ein Token über das REST Interface v2 erhalten und dieses in einem Authorization: Bearer <token>
Header senden. Informationen über den authentifizierten User können dann über die net.HttpContext.user
-Property abgerufen werden.expectContinue
wurde zu net.httpClient.HttpRequestMessage
hinzugefügt, mit der festgelegt werden kann, dass ein Expect: 100-continue
-Header gesendet werden soll, um auf eine Response vom Server zu warten, bevor der Request-Body gesendet wird.timer.delayAsync
angegeben, wurde bei niedrigen Werten verbessert.v1.2.1 (freigegeben am 14.10.2021)
v1.2.2 (freigegeben am 18.10.2021)
net.RawWebSocket.receiveAsync
behoben, durch das die Methode sofort zurückkehren konnte, ohne eine Nachricht zu empfangen, oder leere Nachrichten „verschlucken“ konnte.v1.2.3 (freigegeben am 28.10.2021)
ConditionId
-Node wird nun beim Browsen eines Events, dessen Typ von ConditionType
abgeleitet ist, automatisch angelegt.v1.2.4 (freigegeben am 26.11.2021)
v1.2.6 (freigegeben am 01.12.2021)
APPEND
-Modus erstellt, um sicherzustellen, dass die Reportdaten nicht überschrieben werden.v1.2.7 (freigegeben am 16.12.2021)
forceUpdate
-Flag beim Erstellen von Subscriptions berücksichtigt wird.v1.1.0 (freigegeben am 07.05.2021) (Änderungen verglichen mit v1.0.10)
/dashboards/
abrufbar.CoDaBix.*.Settings.xml
in Codabix.*.Settings.xml
geändert. Wenn Sie Codabix von einer früheren Version upgraden, versucht Codabix automatisch, die Dateien umzubenennen; Sie sollten jedoch prüfen, ob Sie die früheren Dateinamen in anderen Anwendungen benutzen.Precision
-Eigenschaft bei Nodes wurde durch die Format
-Eigenschaft ersetzt, die eine .NET-Formatzeichenfolge bei numerischen und DateTime
/TimeSpan
-Werttypen enthalten kann. Precision
-Werte automatisch in entsprechende Format
-Werte konvertiert.ReceiveBuffer
-Node bei Verbindungsereignissen geschrieben: Ein Null
-Wert mit Status Good
sobald die Verbindung hergestellt wurde, und ein Null
-Wert mit Status Bad
sobald die Verbindung geschlossen wurde.ReceiveBuffer
- und TransmitBuffer
-Nodes verwenden weiterhin UTF-8).ReadValueMode
wurde hinzugefügt, die angibt, wie der REPORT
-Befehl zum Lesen von Werten generiert wird.OperationTimeout
wurde hinzugefügt, die angibt, wie lange auf Lese-/Schreiboperationen gewartet wird, bevor diese abgebrochen werden.SELECT
-Kommandos zum Lesen von Column-Nodes wurde durch die Verwendung einer LIMIT 1
-Klausel (für MySQL/PostgreSQL/SQLite) bzw. TOP (1)
-Klausel (für MSSQL) verbessert, da nur die erste zurückgegebene Zeile tatsächlich verwendet wird./api/rest
erreichbar ist. Es bietet eine RESTful API, um auf eine Codabix-Instanz zuzugreifen und diese zu managen.v1.1.1 (freigegeben am 02.06.2021)
NO_BACKSLASH_ESCAPES
, damit Backslashes innerhalb eines String-Literals nicht als Escape-Zeichen interpretiert werden, wodurch das Verhalten konsistent mit anderen Datenbanken wie PostgreSQL, SQLite und MSSQL wird.ReadSqlExpression
oder WriteSqlExpression
setzen und dabei ein String-Literal aus benutzerdefinierten Daten angeben müssen.ArrayDimensions
-Attribut wird nun korrekt bei Variable-Nodes angegeben, die einen Arraywert repräsentieren.v1.1.2 (freigegeben am 11.06.2021)
v1.1.3 (freigegeben am 26.07.2021)
v1.1.4 (freigegeben am 23.08.2021)
v1.1.5 (freigegeben am 20.09.2021)
v1.1.6 (freigegeben am 29.09.2021)
v1.1.7 (freigegeben am 14.10.2021)
v1.1.8 (freigegeben am 30.11.2021)
v1.0.0 (freigegeben am 11.12.2020)
CoDaBix-Shell[.exe]
auf codabix[.exe]
CoDaBix.exe
auf codabix-ui.exe
codabix --help
ausführen, um eine Auflistung der möglichen Kommandos und Argumente zu erhalten. --projectDirectory:<path>
auf --project-directory=<path>
geändert.--remoteHttp
wurde in der Codabix Shell-Anwendung entfernt. Stattdessen können Sie nun Remote HTTP-Bindings (inklusive https
) über die Projekteinstellungen konfigurieren.Windows HTTP Server API
(früher: HTTP.sys
) wird nur noch unter Windows 10 Version 1607/Windows Server 2016 oder höher unterstützt. Unter älteren Windows-Versionen können Sie stattdessen Embedded (Kestrel)
verwenden.Windows HTTP Server API
gesetzt ist (welcher nur unter Windows unterstützt wird), verweigert Codabix nun den Start, anstatt stillschweigend zu Kestrel zu wechseln. Sie können den Modus in den Projekteinstellungen in der Codabix Shell-Anwendung ändern.SUDO_*
-Umgebungsvariablen die ursprüngliche Benutzer-ID zu ermitteln, um sicherzustellen, dass Dateien, die durch den Dienst erstellt werden, den korrekten Besitzer aufweisen.https
-Bindings in den Projekteinstellungen wird nun automatisch ein selbstsigniertes SSL-Zertifikat für Testzwecke generiert.X-Frame-Options
, der bisher vom Webserver gesendet wurde, wurde durch einen Content-Security-Policy
-Header mit einer frame-ancestors
-Direktive ersetzt, die nur Seiten vom gleichen Ursprung (Origin) erlaubt, Inhalte in Frames einzubetten. project.cbxproj
-Settingsdatei String-Einträge zum ContentSecurityPolicyFrameAncestorSources
-Array hinzugefügt werden.Action
und StartMode
wurden zu einem einzigen Node IsActive
vereint. Dies stellt sicher, dass nach einem Neustart von Codabix ein Modul bzw. Channel genau dann gestartet wird, wenn er beim Herunterfahren von Codabix gestartet war.Good
-Status als Ergebnis des Schreibvorgangs zurückgegeben, anstatt des Status des zu schreibenden Wertes. Dies ist darin begründet, da ein zu schreibender Wert den Status Bad
haben kann, das Schreiben dieses Wertes in die Node jedoch tatsächlich funktioniert hat, und der zurückgegebene Status angeben soll, ob das Schreiben funktioniert hat.S7 TCP-IP Device
in S7 Device
umbenannt. Falls Sie den Nodepfad /System/Devices/S7 TCP-IP Device
z.B. in einem Script verwenden, müssen Sie diesen auf /System/Devices/S7 Device
ändern.The specified CPU could not be found
fehlschlägt, müssen Sie möglicherweise die Rack-/Slot-Einstellungen auf die korrekten Werte anpassen.LInt
(Int64
), LWord
(UInt64
) und LReal
(Double
) wurde hinzugefügt..fgg
) wurde hinzugefügt.BOOL
-Typen) wurde hinzugefügt, zusammen mit einer neuen Pfad-Syntax, die es ermöglicht, den Bit-Bereich anzugeben.GETID
-Befehls) zum automatischen Anlegen der verfügbaren ParameterREPORT
-Kommandos, das einen einzelnes Sample aufzeichnet)SET
-Kommandos)CoDaBix.CsvFileServer.Settings.xml
in CoDaBix.CsvExchangePlugin.Settings.xml
geändert. Wenn Sie Codabix von einer früheren Version upgraden, versucht Codabix automatisch, die Datei umzubenennen; Sie sollten jedoch prüfen, ob Sie den früheren Dateinamen in anderen Anwendungen benutzen.ColumnIndex
-Attribut für ein <Binding>
-Element anzugeben, wenn der Spaltenindex gleich dem Elementindex ist.LocalSystem
) als der Benutzer, der den Dienst installiert hat. Damit die Windows-Authentifizierung funktioniert, müssen Sie das Benutzerkonto für den Dienst in der Dienste-Anwendung umstellen.OPC-UA Server Interface
in OPC UA Server Interface
umbenannt. Falls Sie den Nodepfad /System/Interfaces/OPC-UA Server Interface
z.B. in einem Script verwenden, müssen Sie diesen auf /System/Interfaces/OPC UA Server Interface
ändern.TransportProtocol
wurde hinzugefügt, welche es ermöglicht, HTTPS anstatt OPC UA TCP (opc.tcp
) als Transportprotokoll zu verwenden.OPC-UA Client Device
inOPC UA Client Device
umbenannt. Falls Sie den Nodepfad /System/Devices/OPC-UA Client Device
z.B. in einem Script verwenden, müssen Sie diesen auf /System/Devices/OPC UA Client Device
ändern.Variant
-Datentyp als String
-Nodes anstatt als Null
-Nodes in Codabix erstellt, um das Lesen von Werten zu ermöglichen."ct"
-Property (Category) bei Nodewerten wurde entfernt.doNotCreateSubscription
der Methode codabix.Node.addValueChangedEventListener
wurde invertiert und in createSubscription
umbenannt. Falls Sie für diesen Parameter zuvor true
angegeben haben, um keine Subscription zu erstellen, sollten die das Argument auf false
ändern.fields
) wurde im codabix.Type
-Konstruktor nach typeCode
hinzugefügt.codabix.Node.path
und codabix.NodeStructure.path
wurde von string | null
in NodePathType
(entspricht NodeValueType
) geändert, da es nun möglich ist, beliebige Typen, nicht nur String-Typen, als Path Type zu verwenden.codabix.Node.registerCommand
wurde hinzugefügt, die es ermöglicht, ein Node Command (Callback) für Nodes vom Typ Method
zu registrieren, inklusive Unterstützung für Argumente, die beim Aufruf der Methode übergeben werden. net.httpClient.connectWebSocketAsync
wurde hinzugefügt, mit der eine Verbindung zu einem WebSocket-Server hergestellt werden kann.codabix.TypeMember
und codabix.TypeField
wurden hinzugefügt.codabix.Type.getFields
, die codabix.TypeField
-Instanzen zurückgibt, wenn der Type
den Object
-Typecode hat, wurde hinzugefügt.codabix.Object
, die strukturierte Daten repräsentiert und in Nodes mit einem Objekt-Werttypen abgelegt werden kann, wurde hinzugefügt.codabix.NodeReader.readValuesAsync
wurde von Promise<(NodeValue | null)[] | null | undefined>
in Promise<void>
geändert, da die zurückgegebenen Werte seit Version 0.18 nicht verwendet werden. Existierende Scripts, die den vorherigen Rückgabetyp verwenden, funktionieren nach dem Update auf diese Version weiterhin.net.registerHttpRoute
registriert wurde, eine Ausnahme zu werfen, ohne dass dies dazu führt, dass das Script gestoppt wird.Object.setPrototypeOf
wird nun unterstützt.Promise
-basierten Methoden wurde verbessert.v1.0.1 (freigegeben am 14.12.2020)
e.isValueChanged
in einem ValueChanged
-Eventlistener in einem Script verwendet haben, konnte dies true
zurückgeben, selbst wenn der Wert gleich dem vorherigen Wert war.v1.0.2 (freigegeben am 17.12.2020)
Bad
-Status geschrieben wird, wenn der Channel derzeit gestoppt ist.v1.0.3 (freigegeben am 13.01.2021)
PropertyChanged
- und ChildrenChanged
-Events werden nun korrekt beim Verlinken eines Nodes (sowie beim Entfernen der Verlinkung) ausgelöst.v1.0.4 (freigegeben am 05.02.2021)
v1.0.5 (freigegeben am 10.02.2021)
v1.0.6 (freigegeben am 02.03.2021)
v1.0.7 (freigegeben am 10.03.2021)
v1.0.8 (freigegeben am 12.03.2021)
v1.0.9 (freigegeben am 09.04.2021)
io.file.readAllTextAsync()
behoben, die fälschlicherweise ein UTF-8 BOM am Anfang einer zu lesenden Datei als ein U+FEFF-Zeichen als Teil des Strings zurückgab.v1.0.10 (freigegeben am 07.05.2021)
DTL
-Datentyp (Variablentyp DateTimeLong
) wurde hinzugefügt, der in Codabix in einer Variablen mit dem DateTime
-Value-Type verwendet werden kann.Char[10]
in einer String-Variable behoben, das dazu führte, dass nur ein einziges Zeichen gelesen wurde.codabix.writeNodeValueAsync()
) auf dem Stapel waren, wodurch es in bestimmten Fällen zu einem Absturz aufgrund eines Stapelüberlaufs kommen konnte.0.23.0 (freigegeben am 25.06.2020)
dashboard
, log
, plugins
, userdata
, webfiles
codabixdb.db
, codabixdb.db-*
, codabixhistorydb.db
, codabixhistorydb.db-*
, project.cbxproj
, project.cbxkeys
0.23.1 (freigegeben am 30.07.2020)
--namedInstance:<name>
wurde hinzugefügt, mit dem ein Instanzname festgelegt werden kann.LocalizedText
-Array-Typ verwenden.0.23.2 (freigegeben am 09.09.2020)
0.23.3 (freigegeben am 19.10.2020)
0.23.4 (freigegeben am 30.10.2020)
0.23.5 (freigegeben am 13.11.2020)
0.23.7 (freigegeben am 10.02.2021)
Browse
-Methodnode jedes Channels hat nun zwei zusätzliche IN
-Argument-Nodes, mit denen das Browsing-Verhalten kontrolliert werden kann.0.22.0 (freigegeben am 27.04.2020)
S7DevicePlugin
-Ordner des Projektverzeichnisses verwendet werden, um Channel automatisch zu synchronisieren, jedoch mit den folgenden Änderungen:CoDaBix.S7DevicePlugin.Settings.xml
) verwendet nun jeder Channel seine eigene Datei mit dem Dateinamensformat CoDaBix.S7DevicePlugin.<ChannelName>.Settings.xml
. Beim Upgraden von einer früheren CoDaBix-Version wird die früher verwendete Datei automatisch in separate Dateien pro Channel aufgeteilt.ChangeType
-Attribut wurde entfernt. Um eine Variable aus CoDaBix zu löschen, genügt es, sie einfach in der S7-XML-Konfigurationsdatei zu entfernen; außer beim Starten des S7-Plugins (d.h. beim Starten von CoDaBix), da dann Variablen, die in der S7-XML-Konfigurationsdatei fehlen, zu dieser hinzugefügt werden.CoDaBix.S7DevicePlugin.Settings.xml
-Datei im aktuell eingestellten CoDaBix-Projektverzeichnis können nun manuell S7-XML-Konfigurationsateien von beliebigen Orten geöffnet und gespeichert werden.PATCH
als HTTP-Methode bei der Methode net.httpClient.sendAsync
wurde hinzugefügt.0.22.3 (freigegeben am 25.05.2020)
0.22.4 (freigegeben am 25.06.2020)
0.22.5 (freigegeben am 29.07.2020)
0.21.0 (freigegeben am 18.12.2019)
Environment
wurde im System
-Pfad hinzugefügt, welcher Nodes enthält, die Informationen über die CoDaBix-Umgebung bereitstellen; einschließlich der CoDaBix-Version, des Projektverzeichnis/-namens sowie der aktuellen Systemzeit.Hostname
-Wert als Dateipfad zur Datenbank verwendet wird).0.21.2 (freigegeben am 15.01.2020)
LogNodeManagerTrace
wurde hinzugefügt, mit der die Zeit geloggt werden kann, die der Node Manager mit Operationen wie das Updaten von Nodewerten verbringt.0.21.5 (freigegeben am 25.05.2020)
0.20.0 (freigegeben am 22.07.2019)
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.Server Configuration
hinzugefügt, der es ermöglicht, das minimale und maximale Session-Timeout zu setzen.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.unit
, precision
, scalingFactor
, scalingOffset
, maxValueAge
.net.httpClient.sendAsync()
wurde hinzugefügt, mit der Sie HTTP-Requests an externe Server senden können.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)
0.20.2 (freigegeben am 19.08.2019)
Medium
oder High
nicht mehr mit Go Live gespeichert werden konnten.0.20.4 (freigegeben am 16.09.2019)
Bad
-Wert in die Node geschrieben, und der Client versucht wiederholt, die Subscription wieder aufzubauen.0.20.5 (freigegeben am 25.09.2019)
0.20.6 (freigegeben am 16.10.2019)
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)
0.20.8 (freigegeben am 24.10.2019)
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)
0.20.12 (freigegeben am 19.11.2019)
Edge
- oder ValueChange
-Trigger im Modus SystemToFile
nicht funktionierten.0.20.13 (freigegeben am 15.01.2020)
0.19.0 (freigegeben am 29.05.2019)
plugins
, log
, userdata
, webfiles
, dashboard
.sudo
nicht vorhanden ist.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.opc.com://<hostname>(:<port>)/<progId>/<classId>
herstellen.${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.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.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.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.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.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. <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).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.codabix.executeNodeCommandsAsync()
aufgerufen werden können.time
-Datentyp zum CoDaBix-TimeSpan
-Werttyp gemappt.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).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)
\
) endete.0.18.6 (freigegeben am 08.02.2019)
/dashboard/
ausgeliefert. Es kann außerdem in der Webkonfiguration angezeigt werden.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.codabix.security.decryptPassword()
entschlüsselt werden kann, abzulegen.OpcUaTraceLog.txt
geschrieben, das Ihnen dabei helfen kann, OPC-UA-Verbindungsprobleme zu diagnostizieren.codabix.NodeReader
für einen Node registriert, zu einem Hängenbleiben von CoDaBix führen konnte.Variable
-Ordners verhinderte, wenn der Node oder einer seiner Kindnodes einen virtuellen Link enthielt.SubscriptionType
auf OpcSubscription
festgelegt ist, verwenden nun korrekt eine OPC-basierte Subscription anstatt Polling.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). 0
gesetzt, wodurch alle Monitored Items eine einzige Subscription verwenden.Enumeration
-DataType in CoDaBix als Int32
-Nodes erstellt.S5 Time
werden nun korrekt gelesen, wenn sie den Wert 0
haben.Good
zurücklieferten, auch wenn der Lesevorgang tatsächlich fehlgeschlagen ist.password
-Attribut angeben.edge
- oder valueChange
-Trigger oder für eine AfterSyncAction
angegeben wurde, nicht gefunden werden konnte; stattdessen wird nun eine Warnung geloggt.Password
-Attribut angeben.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.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).value
-Property eines codabix.NodeValue
, das einen TimeSpan
enthält, gibt nun die Millisekunden als number
-Wert anstatt eines formatierten string
-Werts zurück.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.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.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.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.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.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.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.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.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)
0.18.8 (freigegeben am 14.02.2019)
0.18.9 (freigegeben am 04.03.2019)
0.18.10 (freigegeben am 11.03.2019)
0.18.11 (freigegeben am 18.03.2019)
0.18.13 (freigegeben am 15.04.2019)
BadWriteNotSupported
in Übereinstimmung mit der OPC-UA-Spezifikation abgewiesen.0.18.14 (freigegeben am 25.04.2019)
0.18.15 (freigegeben am 29.05.2019)
0.17.0 (freigegeben am 27.07.2018)
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.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.Interval
nicht korrekt angewendet wurden. Um das Problem zu beheben, musste die Script-API für codabix.NodeReader
angepasst werden (siehe unten).Good
-Status dargestellt.Bad
-Status, der den Fehler anzeigt.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.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.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.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.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.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).codabix.Node.virtualLinkDestination
wurde hinzugefügt, die es Ihnen ermöglicht, das Ziel eines Virtual Links einer Node abzurufen.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.timer.scheduleCallback()
wurde durch die Methode codabix.scheduleCallback()
ersetzt, da diese tatsächlich eine CoDaBix-spezifische Funktion und keine reguläre Timerfunktion ist.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).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)
0.17.2 (freigegeben am 13.08.2018)
0.17.5 (freigegeben am 03.09.2018)
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.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)
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)
0.16.0 (freigegeben am 13.04.2018)
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.CodabixBlob
wird nun dem OPC UA Data Type ByteString
zugeordnet.AutoAcceptUntrustedCertificates
-Einstellung ignoriert wurde.ValueRank
-Attribut angab.ByteString
wird nun dem Typ CodabixBlob
zugeordnet.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.SystemToFile
verwendet werden kann.ColumnIndex
-Attribut beim Synchronisieren von CSV-Datein zu CoDaBix ignoriert wurde.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.Guid
wurde hinzugefügt, welches es ermöglicht, einen neuen GUID-String zu generieren.io.util.encodeXml()
wurde nachxml.encode()
verschoben. Existierende Scripts, die die vorherige Methode verwenden, funktionieren nach dem Update auf diese Version weiterhin.0.16.2 (freigegeben am 14.05.2018)
ValueChanged
-Event des Devices zur Ausführung geplanten Handler aufgerufen wurde, z.B. in einem Script, das timer.schedule()
verwendet.ReceiveBuffer
- oder TransmitBuffer
-Nodes beim Starten auf Blob
geändert wird, wenn der Benutzer diesen zuvor auf String
geändert hat.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.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)
0.16.4 (freigegeben am 20.06.2018)
0
als Port für den Microsoft SQL Server angeben, wodurch das Plugin versucht, eine Verbindung zur standardmäßigen SQL-Server-Instanz herzustellen.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 (freigegeben am 18.01.2018)
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). http://<hostname>/
eingeben müssen, um die benutzerdefinierte Webseite anzuzeigen.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.codabix.security.encryptPassword()
erstellt werden, wurde verbessert.HistoryOptions
und HistoryInterval
eines verlinkten Nodes werden nun vom Linkziel abgerufen, da sie in enger Beziehung zu den historischen Werten des Datenpunktnodes stehen.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.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.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.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. net.RawWebSocket
-Interface zu handeln, wenn CoDaBix® Compact unter Windows 8 / Windows Server 2012 oder höher ausgeführt wird.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.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.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 (freigegeben am 13.07.2017)
codabix.security.encryptPassword()
verschlüsselte Passwörter, die z.B. in Scripts abgelegt werden.log
-Ordner statt im logfiles
-Ordner abgelegt.CustomerName
-Attribut muss nicht länger in der XML-Konfigurationsdatei angegeben werden.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.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.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.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)
0.14.2 (freigegeben am 06.09.2017)
Basic256Sha256
-Security Policy Algorithm wurde hinzugefügt.Basic256Sha256
-Security Policy Algorithm wurde hinzugefügt.codabix.NodeValueConverter
wurde verbessert, um das Zurückgeben von undefined
zusätzlich zu null
zu erlauben.0.14.3 (freigegeben am 28.09.2017)
0.14.4 (freigegeben am 09.10.2017)
0.14.12 (freigegeben am 24.11.2017)
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).0.14.13 (freigegeben am 20.12.2017)
OperationTimeout
-Wert wird nun korrekt auf Verbindungsversuche angewendet.ns=2;s=ABC
angegeben werden, das auch von anderen OPC UA Tools verwendet wird.ValueRank
-Attribut von Datenpunktnodes wird nun für Arraytypen korrekt spezifiziert.0.12.0 (freigegeben am 09.05.2017)
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)
valueChange
wurde hinzugefügt, der auslöst, wenn sich der Wert eines Nodes ändert.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.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)
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 (freigegeben am 27.02.2017)
0.11.1 (freigegeben am 12.04.2017)
commandTimeout
zum <DbConnection>
-Element hinzugefügt.codabix.Node.getNodePath()
-Methode wurde implementiert, mit der der absolute Nodepfad abgerufen werden kann.codabix.readNodeHistoryValues()
-Methode wurde implementiert, mit der historische Werte eines Nodes abgerufen werden können.0.10.0 RC1 (freigegeben am 21.12.2016)
Action
-Nodes gestoppt und (neu-)gestartet werden.Date
, DateTime
, Time
, TimeOfDay
und S5Time
-Datentypen wurde hinzugefügt.<CodabixDataDir>
) wurde von "DataBaseExchangePlugin"
in "DatabasePlugin"
umbenannt."CoDaBix.DataBaseExchangePlugin.Settings.xml"
in "CoDaBix.DatabasePlugin.Settings.xml"
umbenannt.timer.setImmediate()
wurde durch die Methode timer.scheduleCallback()
ersetzt, welche effizienter ist.timer.sleepAsync()
wurde umbenannt in timer.delayAsync()
.NodeValue
-Klasse unterstützt nun Date
-Instanzen, um mit dem CoDaBix®-DateTime
-Typ zu arbeiten.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.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)
io.file
- und io.directory
-Namensräume benutzenconnectTimeout
und maxPoolSize
zum <DbConnection>
-Element hinzugefügt.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)
catch
- oder finally
-Abschnitten angewendet wird.0.10.4 (freigegeben am 09.02.2017)
0.9.0
0.9.2
0.9.3
0.9.4 (freigegeben am 07.09.2016)
<CodabixDataDir>
) wurde von "S7DeviceServer"
zu "S7DevicePlugin"
geändert, und die Konfigurationsdatei wurde von "CoDaBix.S7DeviceServer.Settings.xml"
zu "CoDaBix.S7DevicePlugin.Settings.xml"
geändert.<CodabixDataDir>
) wurde von "DataBase"
zu "DataBaseExchangePlugin"
geändert, und die Konfigurationsdatei wurde von "CoDaBix.DataBase.Settings.xml"
zu "CoDaBix.DataBaseExchangePlugin.Settings.xml"
geändert.0.9.5 (freigegeben am 08.09.2016)
0.9.6 (freigegeben am 13.09.2016)
0.9.7 (freigegeben am 14.09.2016)
0.9.8 (freigegeben am 20.09.2016)
0.9.10 (freigegeben am 05.10.2016)
0.9.11 (freigegeben am 17.10.2016)
0.9.12 (freigegeben am 18.10.2016)
0.9.13 (freigegeben am 21.10.2016)
0.9.15 (freigegeben am 03.11.2016)
browse
-Funktion des REST/JSON Interface Plugins unterstützt nun den ttl
-Parameter, um einen synchronen Lesevorgang auszuführen.