R911420423 01 CTRLX Key Value Database App 01VRS ApplicationManual EN
R911420423 01 CTRLX Key Value Database App 01VRS ApplicationManual EN
R911420423, Edition 01
Copyright
Liability
The specified data is intended for product description purposes only and shall not be deemed to be a guaranteed
characteristic unless expressly stipulated in the contract. All rights are reserved with respect to the content of this
documentation and the availability of the product.
DOK-XCORE*-KVD*****V01-AP01-EN-P
cbde50c722062e2e0a347e8813a85fec, 1, en_US
Key Value Database App 3 / 50
Table of contents
1 About this documentation 5
2 Important directions on use 7
2.1 Intended use. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 Areas of use and application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Unintended use. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Safety instructions 9
4 Introduction and overview 11
4.1 Basics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Quick start. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5 Configuration editors 13
5.1 Configuration via the ctrlX web interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2 Configuration via WebDAV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6 General configuration 17
6.1 KVD database configuration (location). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.1 Swap the database to an external storage medium configured for
data exchange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.2 Swap database to external storage medium configured for memory
expansion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7 Configuring the nodes 19
7.1 Configure nodes [nodes.json]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.2 Nodes – configuration examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.3 Explicit nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.4 Implicit nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.5 Volatile nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.6 Read-only nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.7 Node class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.8 Node data type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.9 Node element – "value". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.10 Node element – "unit". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.11 Node element – "displayName". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.12 Node element – "displayFormat". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.13 Node element – "description". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.14 Node element – "descriptionUrl". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8 Configuring Data Layer model nodes 33
8.1 Model interpretation and limitations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.2 Uploading models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.3 Configuring the model instance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.4 Configuring the read-only model node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
8.5 Referencing the model node. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
9 Interaction with the Node-RED app 37
10 Troubleshooting 39
11 Related documentation 41
11.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
11.2 ctrlX AUTOMATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3 Safety instructions
The Safety instructions contained in the available application documentation
feature specific signal words (DANGER, WARNING, CAUTION or NOTICE) and,
where required, a safety alert symbol (in accordance with ANSI Z535.6-2006).
The signal word is meant to draw the reader's attention to the safety instruc-
tion and identifies the hazard severity.
The safety alert symbol (a triangle with an exclamation point), which precedes
the signal words DANGER, WARNING and CAUTION, is used to alert the reader
to personal injury hazards.
The Safety instructions in this documentation are designed as follows:
Safety instructions
In case of non-compliance with this safety instruction,
DANGER
death or serious injury will occur.
In case of non-compliance with this safety instruction,
WARNING
death or serious injury could occur.
In case of non-compliance with this safety instruction,
CAUTION
minor or moderate injury could occur.
In case of non-compliance with this safety instruction,
NOTICE
property damage could occur.
Licensing
The following license is required to operate the Key Value Database:
Description Type identifier Part number
License to operate the SWL-XC*-KVD-KEYVALUE*DB**-NNNN R911418610
Key Value Database app
Further information
Documentation
● ⮫ ctrlX CORE - App basics
● ⮫ ctrlX CORE - License overview
Reference source
● ⮫ ctrlX App Store
Web links
● ⮫ ctrlX CORE - Community
● ⮫ ctrlX CORE - How to
● ⮫ ctrlX CORE - Forum
Application
Configure explicit nodes or root nodes for implicit (dynamic) child nodes
(.../*, .../**) to be inserted into the Data Layer address space. The configura-
tion can be done by editing the configuration file "nodes.json", also see the
following web documentation:
⮫ Setup – Introduction
⮫ Structure of the setup file
Unsupported interactions
Interaction Description
Create node Creating a node by calling the "create" method is not
Method: "create" supported!
Use the "create-on-write" method to create a node, see
the "Supported interactions" section above.
5 Configuration editors
The Key Value Database app is either configured via access using WebDAV or in
the ctrlX web interface in the app settings in the “Manage app data” window,
see:
⮫ Configuration via the ctrlX web interface
⮫ Configuration via WebDAV
Warning
NOTICE
Please do not edit, delete or rename files within the
folder structure where the "db" directory is located.
Configuration editors
Resetting the KVD persistence
NOTICE
Reset the Key Value Database persistence by deleting the
"db" directory from the app configuration.
In this case, the app is restarted and all data is deleted
and reset to default values!
Double-click on one of the configuration files to open the app data editor and
select and save the configuration settings, as shown in the following example in
the “nodes.json” file.
Saved changes are applied immediately.
Configuration editors
3. Click on “Login” to connect to the ctrlX device
4. If required, confirm the dialogs for selecting certificates
🡆 WinSCP now has access to the file system of the ctrlX device
6 General configuration
General configuration settings of the Key Value Database app are stored in the
“"settings.json"” configuration file. The file can be edited either via the ctrlX
web interface or via WebDAV access, see: ⮫ Configuration editors
The file contains the following entries that can be edited:
● "db"
Specifies the path of the underlying database. The app data directory
kvd/db is the default value.
Also refer to: ⮫ KVD database configuration (location)
General configuration
● "readOnly"
Sets the configured node values to read-only, which means that write opera-
tions are forbidden and fail. Default value is: false.
● "verbose"
Activates the detailed trace. Default value is: false.
Example
nodes: [
{
...
"type": "types/datalayer/server-settings",
"metadata": {
"nodeClass": "Variable",
}
},
...
]
Example
nodes: [
{
"address": "types/inertial-value",
"type": "inertial-value.bfbs",
"metadata": {
"nodeClass": "Type",
}
},
...
]
Example
nodes: [
{
"address": "kvd/samples/variables/flatbuffers/inertial-value",
"type": "types/inertial-value",
"value": {
"x": 1,
"y": 2,
"z": 3
},
"metadata": {
"nodeClass": "Variable",
"description": "custom flatbuffers type: 'types/inertial-value'"
Example: Implicit root node/creation and deletion only possible on the next
hierarchy level
{
"address": "mycompany/europe/myplants/plant1/*",
},
Example: Implicit root node/creation and deletion only possible on all subordi-
nate hierarchy levels
{
"address": "mycompany/europe/myplants/plant1/**",
},
If you want to have the flattest possible node structure, use method 2.
1. Volatile node with: "metadata > extensions > autoSave > false"
nodes: [
{
"address": "mycompany/europe/myplants/plant1/volatile_temperature",
"type": "int32",
"metadata": {
"nodeClass": "Variable",
"extensions": [
{
"key": "autoSave",
"value": "false"
}
]
}
},
...
]
Supported operations
Executable by any connected client, depending on the node class:
Operation nodeClass: nodeClass: nodeClass: nodeClass: nodeClass:
Variable Resource Collection Folder Type
Write X X X X
Read X X
Build X X
Delete X
Browse X X X X X
Scalar
Type Description
unknown Unknown data type (not initialized, empty, null)
bool8 bool (8 bit)
int8 signed int (8 bit)
uint8 unsigned int (8 bit)
int16 signed int (16 bit)
uint16 unsigned int (16 bit)
int32 signed int (32 bit)
uint32 unsigned int (32 bit)
int64 signed int (64 bit)
uint64 unsigned int (64 bit)
float, float32 float (32 bit)
double, float64 double (64 bit)
string string (UTF-8)
timestamp timestamp (FILETIME) 64 Bit 100ns since 1.1.1601
(UTC)
flatbuffers bytes as complex data type coded as flat buffer
raw raw bytes
Arrays
Type Description
arbool8 array of bool (8 bit)
arint8 array of signed int (8 bit)
aruint8 array of unsigned int (8 bit)
arint16 array of signed int (16 bit)
aruint16 array of unsigned int (16 bit)
arint32 array of signed int (32 bit)
aruint32 array of unsigned int (32 bit)
Examples
1. Configure the unit of measurement in the meta data: "metadata > unit"
nodes: [
{
"address": "mycompany/europe/myplants/plant1/myconstant2,
"type": "int32",
"value": 42,
"metadata": {
"nodeClass": "Variable",
"unit": "m/s",
}
}
...
]
2. Configure the unit of measurement text in the first level with “UNIT”
nodes: [
{
"address": "mycompany/europe/myplants/plant1/myconstant1,
"type": "int32",
"value": 42,
"unit": "m/s",
"metadata": {
"nodeClass": "Variable",
}
}
...
]
1. Configure the display name in the meta data: "metadata > displayName"
nodes: [
{
"address": "mycompany/europe/myplants/plant1/myconstant2,
"type": "int32",
"value": 42,
"metadata": {
"nodeClass": "Variable",
"unit": "m/s",
"displayName": "velocity axis1",
}
}
...
1. Configure the display format in the meta data: "metadata > displayFormat"
nodes: [
{
"address": "mycompany/europe/myplants/plant1/myconstant2,
"type": "int32",
"value": 42,
"metadata": {
"nodeClass": "Variable",
"displayFormat": "Dez",
}
}
...
]
1. Configure the description text in the meta data: "metadata > description"
nodes: [
{
"address": "mycompany/europe/myplants/plant1/myconstant2,
"type": "int32",
"value": 42,
"metadata": {
"nodeClass": "Variable",
"unit": "m/s",
"displayName": "velocity axis1",
"description": "Velocity of axis1 in m/s",
}
}
...
]
1. Configure the description text in the meta data: "metadata > descriptionUrl"
nodes: [
{
"address": "mycompany/europe/myplants/plant1/myconstant2,
"type": "int32",
"value": 42,
"metadata": {
"nodeClass": "Variable",
"unit": "m/s",
"displayName": "velocity axis1",
"descriptionUrl": "https://www.boschrexroth.com/",
}
}
...
]
Model example
Example
{
"address": "samples/kvd/models/zoo/animals",
"model": "animals.v1.0.yaml",
"metadata": {
"nodeClass": "Resource",
"description": "This is a animals model instance node"
}
},
{
"address": "samples/kvd/models/wildlife/animals",
"model": "animals.v1.0.yaml",
"metadata": {
"nodeClass": "Resource",
"description": "This is a animals model instance node"
}
},
...
Example
...
elements:
my_constant:
description: A constant value.
nodeClass: Variable
mode: read-only
value: 42
typeSchema:
type: int32
...
Unsupported methods
The creation of new nodes with the method "CREATE" is not supported.
msg.path = 'mycompany/europe/myplants/plant1/temperature';
msg.payload = payload;
return msg;
10 Troubleshooting
If a configuration error occurs, the Key Value Database app does not start and
no KVD node is displayed in the ctrlX Data Layer structure. In this case, please
check the diagnostic system in the ctrlX web interface for error details (e.g.
schema validation failed, etc.).
Search the ctrlX diagnostic system for Key Value Database errors
Step 1: Enabling the system messages in the diagnostics
1. Open the ctrlX web interface and switch to the window: “Diagnostics
🠂 Logbook”
Troubleshooting
2. Click on the button to open the dialog “Settings”.
3. Enable the “Show system messages” option and save the setting.
Step 2: Filtering diagnostics according toKey Value Database errors
1. Click on to open the filter settings.
2. Activate the filter category:“Units”
3. In the right drop-down list, scroll down to entry “snap.rexroth-
kvd.kvd.service” and enable the filter option.
🡆 Due to the filter setting, only entries of the Key Value Database app are
displayed, which simplifies the error analysis.
11 Related documentation
11.1 Overview
First Steps
1
Related documentation
4 2
CORE ctrlX
WORKS
7 8 9
OPC-UA OPC-UA EtherCAT
Server Client Master
10 11 12
VPN Remote
Firewall
Client Agent
13 14 15
Oscilloscope IDE Node-RED
16 17 18
3D Telegraf PROFINET
Viewer device
19 20 21
Container IoT
InfluxDB Dashboard
Engine
22 23
Python G-Code
Runtime Runtime
App App
No. Documentation
1 ctrlX WORKS First Steps 01VRS
Quick Start Guide
⮫ Web documentation link
Ordering information:
● DOK-XWORKS-F*STEP**V01-QURS-EN-P
● R911403760
No. Documentation
2 ctrlX WORKS Basic System 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XWORKS-********V01-APRS-EN-P
● R911403761
3 ctrlX PLC Engineering - PLC Programming System 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XPLC**-ENG*****V01-APRS-EN-P
● R911403764
3 ctrlX PLC Engineering - PLC Libraries 01VRS
Reference
⮫ Web documentation link
Ordering information:
● DOK-XPLC**-LIBRARY*V01-RERS-EN-P
● R911403766
Nr. Dokumentation
4 ctrlX CORE - Runtime 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-BASE****V01-APRS-EN-P
● R911403768
ctrlX CORE - Nodes of the Data Layer 01VRS
Reference
⮫ Link zur Web-Dokumentation
Bestellinformationen:
● DOK-XCORE*-BASE*DL*V01-RERS-EN-P
● R911420072
ctrlX CORE - Diagnostics 01VRS
Reference
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-DIAG****V01-RERS-EN-P
● R911403770
Nr. Dokumentation
5 PLC App - PLC Runtime Environment for ctrlX CORE 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-PLC*****V01-APRS-EN-P
● R911403787
6 Motion App - Motion Runtime Environment for ctrlX CORE 01VRS
Application Manual
Related documentation
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-MOTION**V01-APRS-EN-P
● R911403791
7 OPC UA Server App - OPC UA Server for ctrlX CORE 01VRS
Application Manual
⮫ Link zur Web-Dokumentation
Ordering information:
● DOK-XCORE*-OPCSERV*V01-APRS-EN-P
● R911403778
8 OPC UA Client App - OPC UA Client for ctrlX CORE 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-OPCCLIENV01-APRS-EN-P
● R911403781
9 EtherCAT Master App - EtherCAT Master for ctrlX CORE 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-ETHERCATV01-APRS-EN-P
● R911403773
10 VPN Client App - Remote Support Software for ctrlX CORE 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-VPN*****V01-APRS-EN-P
● R911403775
11 Firewall App - Security Functions for ctrlX CORE 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-FIREWALLV01-APRS-EN-P
● R911403783
Nr. Dokumentation
12 Remote Agent App - ctrlX Device Portal Connection for ctrlX Devices
01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-REMOTE**V01-APRS-EN-P
● R911403785
13 Oscilloscope App - Oscilloscope Function for ctrlX Devices 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-OSCI****V01-APRS-EN-P
● R911409806
14 IDE App - Integrated Development Environment 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-IDE*****V01-APRS-EN-P
● R911410625
15 Node RED App - Graphic Programming for ctrlX CORE 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-NODERED*V01-APRS-EN-P
● R911403789
16 3D Viewer App - Browser-based 3D Kinematic Simulation for ctrlX
CORE 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-3D*VIEW*V01-APRS-EN-P
● R911416124
17 Telegraf App - Server Agent for Collecting Data in the Data Layer
01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-TELEGRAFV01-APRS-EN-P
● R911416836
18 PROFINET Device App - PROFINET Device for ctrlX CORE 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-PROFINETV01-APRS-EN-P
● R911417857
Nr. Dokumentation
19 Container Engine App - Use of Docker® Images on ctrlX CORE 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-DOCKER**V01-APRS-EN-P
● R911417855
20 InfluxDB App - Influx Database Connection for ctrlX CORE 01VRS
Application Manual
Related documentation
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-INFLUX**V01-APRS-EN-P
● R911418738
21 IoT Dashboard App - Data Visualization in Dynamic, Interactive Dash-
boards 01VRS
Application Manual
⮫ Web documentation link
Ordering information:
● DOK-XCORE*-GDB*****V01-APRS-EN-P
● R911420426
22 Python Runtime App - Python Runtime Environment for ctrlX CORE
01VRS
Application Manual
⮫ Link zur Web-Dokumentation
Ordering information:
● DOK-XCORE*-PYR*****V01-APRS-EN-P
● R911420430
23 G-Code Runtime App - G-Code Interpreter for ctrlX CORE 01VRS
Application Manual
⮫ Link zur Web-Dokumentation
Ordering information:
● DOK-XCORE*-GCO*****V01-APRS-EN-P
● R911420428
Service Germany
Our technology-oriented Competence Center in Lohr, Germany, is responsible
for all your service-related queries for electric drive and controls.
Contact the Service Hotline and Service Helpdesk under:
Phone: +49 9352 40 5060
Fax: +49 9352 18 4941
Email: ⮫ [email protected]
Internet: ⮫ http://www.boschrexroth.com
Service worldwide
Outside Germany, please contact your local service office first. For hotline
numbers, refer to the sales office addresses on the internet.
Preparing information
To be able to help you more quickly and efficiently, please have the following
information ready:
● Detailed description of malfunction and circumstances
● Type plate specifications of the affected products, in particular type codes
and serial numbers
● Your contact data (phone and fax number as well as your e-mail address)
13 Index
C
Configure node
"value". . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Configure data type. . . . . . . . . . . . . . . . . . 26
Configure node class. . . . . . . . . . . . . . . . . 25
Description text of the node. . . . . . . . . . . . 30
Description URL of the node. . . . . . . . . . . 31
Display format of the node. . . . . . . . . . . . . 29
Displayed name of the node. . . . . . . . . . . . 28
Node unit. . . . . . . . . . . . . . . . . . . . . . . . . . 27
Configure nodes
"volatile". . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Explicit nodes. . . . . . . . . . . . . . . . . . . . . . . 23
General. . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Implicit nodes. . . . . . . . . . . . . . . . . . . . . . . 23
Read-only nodes. . . . . . . . . . . . . . . . . . . . . 24
Volatile nodes. . . . . . . . . . . . . . . . . . . . . . . 23
Configure Nodes
Configuration examples. . . . . . . . . . . . . . . 21
ctrlX AUTOMATION
Related documentation. . . . . . . . . . . . . . . 41
D
Database
Configure storage location. . . . . . . . . . . . . 17
E
Editors
Configuration via the ctrlX web interface. . 13
Configuration via WebDAV. . . . . . . . . . . . . 14
H
Helpdesk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Hotline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
I
Intended use
Areas of application. . . . . . . . . . . . . . . . . . . 7
Areas of use. . . . . . . . . . . . . . . . . . . . . . . . . 7
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 7
K
Key Value Database
Basics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Quick start. . . . . . . . . . . . . . . . . . . . . . . . . 11
M
Methods for interaction with Node-RED. . . . . 37
S
Safety instructions. . . . . . . . . . . . . . . . . . . . . . 9
Service hotline. . . . . . . . . . . . . . . . . . . . . . . . 46
Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
U
Unintended use. . . . . . . . . . . . . . . . . . . . . . . . . 8
Consequences, disclaimer. . . . . . . . . . . . . . 7
R911420423
R911420423