Vnode QuickGuide v1.20
Vnode QuickGuide v1.20
USER
GUIDE
V.1.20
www.vnodeautomation.com
QUICK USER
GUIDE
INDEX
INTRODUCTION 3
Welcome to vNode 3
vNode Installation 6
Windows Setup 6
Linux Setup 10
vNode Links 20
Introduction to Links 20
Link configuration 21
vNode Historian 22
Introduction to Historian 22
Data retrieval 22
Historian configuration 23
vNode Logs 24
www.vnodeautomation.com
2
QUICK USER
GUIDE
INTRODUCTION
Welcome to vNode
Welcome to vNode, the next generation of accessible, scalable, and data-centric IIoT software.
vNode was designed from the ground up to be approachable and easy to get started with,
at the same time as being highly flexible and easy to scale up for larger projects. This guide
aims to provide an introduction to vNode and its architecture, so you can get started as soon
as possible.
vNode Modules
vNode is a modular platform, meaning that its functionality can be adapted to the specific
needs of each application using different modules. The following connectors allow data to
be exchanged with other systems:
www.vnodeautomation.com
3
QUICK USER
GUIDE
www.vnodeautomation.com
4
QUICK USER
GUIDE
The platform design allows user applications to connect, manage, monitor, and control
diverse automation devices and software applications through one intuitive user interface.
OPC UACLIENT
(SCADA,
MES, ETC.)
NO SQL
DATABASE RESTAPICLIENT
(ERP, ETC.)
SQL
DATABASE
HISTORICAL
DATAFILES
INVERTER vNode
Central
DATABASE
PLC AMAZON
WEB SERVICES
AZURE
IoT HUB
SCADA
STORE MQTT
& FORWARD
DATAFILES
GENERAL ARCHITECTURE
vNode
Remote
…… n REMOTES
www.vnodeautomation.com
5
QUICK USER
GUIDE
In order to load a license file, open the WebUI, navigate to Licensing > Add license file and
upload or copy/paste the license file. All modules included in the license file will automatically
switch from demo to production mode. No restart is required.
vNode Installation
Getting vNode up and running is quick and easy. Installation takes less than a minute and
the system will then be ready to immediately start collecting data. Simply download the
installer from the vNode website, run the installer and the WebUI will automatically open as
soon as the installer has finished.
Windows Setup
•Windows XP, 7, 8, 8.1 and 10, including all editions (Home, Pro, IoT Enterprise).
•Windows Server 2003, 2008, 2008 R2, 2012, 2012 R2, 2016 and 2019.
www.vnodeautomation.com
6
QUICK USER
GUIDE
1 Setup: Right click on the setup file and select “Run as administrator”.
In x64 bit systems, no external databases are required to run Historian, as a MongoDB
instance will be automatically installed in the vNode folder to provide Historian
storage. For other architectures (x32 and ARM), a MongoDB instance can be installed
manually and used as a database for Historian.
www.vnodeautomation.com
7
QUICK USER
GUIDE
3 Setup: Choose the required TCP ports and finish the installation.
TCP ports assigned to vNode must not be in use by any other application.
4 Setup: The WebUI will automatically launch in the default web browser. To access vNode
WebUI from a different machine, use the machine’s IP and the port that was configured for
the WebUI during setup (by default 8003 for HTTP or 8443 for HTTPS)
To access vNode WebUI from a different machine, make sure that the
Windows Firewall on the host machine is not blocking the port that was
been assigned to vNode WebUI during setup.
www.vnodeautomation.com
8
QUICK USER
GUIDE
vNode runs as a service and is automatically initiated when Windows is started. The service
can also be stopped/started manually from the Start menu.
In demo mode, vNode will run with full functionality for one hour. To
restart the demo period, simply restart each module or service from the
Web interface. The service may also be restarted from the Windows Start
Menu or Windows Services (“vNode” service). (“Stop Service” and them
“Start Service”).
www.vnodeautomation.com
9
QUICK USER
GUIDE
User Account Control Settings must be set to the lowest possible level
in order to enable loading configuration backups from the vNode Web
interface.
Linux Setup
vNode has been tested on the following Linux distributions:
•Debian and derived from Debian like Ubuntu, Mint, Raspbian, DietPi and other
specific distros.
•RHEL and derived like CentOS, Oracle Linux and Amazon Linux 2.
•Yocto Linux (depending on the specific compilation) and Gentoo.
vNode does not require Linux GUI, which means that it can be installed on any headless
device. It can either be installed using the console or an SSH connection. It can then be
configured from the Web interface. This User Guide assumes a basic knowledge of Linux
systems and their administration.
www.vnodeautomation.com
10
QUICK USER
GUIDE
The following procedure will install vNode to the /opt folder. It is also possible to install vNode
to a different folder, depending on the end user’s preferences.
cd /
x64 Debian 9 sudo wget http://www.vnodeautomation.com/setup/linux/vNode-set
up-linux-x64-debian9-last.tar.gz
cd /
x64 Debian 7,8 sudo wget http://www.vnodeautomation.com/setup/linux/vNode-set
up-linux-x64-debian6_7_8-last.tar.gz
cd /
x64 CentOS 7 sudo wget http://www.vnodeautomation.com/setup/linux/vNode-set
up-linux-x64-centos7-last.tar.gz
cd /
x86 Any OS sudo wget http://www.vnodeautomation.com/setup/linux/vNode-set
up-linux-x86-last.tar.gz
cd /
ARM Raspbian sudo wget http://www.vnodeautomation.com/setup/linux/vNode-set
up-linux-ARM-last.tar.gz
2 Setup: Decompress the file, where <distro> is the Linux distribution in the target
machine and <version> corresponds to the vNode version downloaded.
www.vnodeautomation.com
11
QUICK USER
GUIDE
4 Setup: To access the vNode WebUI from a different machine, use the machine’s IP and
the port that was configured for the WebUI (by default 8003 for HTTP or 8443 for HTTPS).
In x64 bit systems, external databases are not required to run Historian, as
a MongoDB instance will automatically be installed in the vNode folder to
provide Historian storage. For other architectures (x32 and ARM), a MongoDB
instance can be manually installed and used as a database for Historian.
To access the vNode WebUI from a different machine, make sure that the
vNode host machine is reachable and that there are no firewalls blocking
the port assigned to vNode WebUI (8003 and/or 8443 by default).
In demo mode, each module runs with full functionality for one hour.
In order to restart the demo mode, simply restart the module from the
Web interface.
www.vnodeautomation.com
12
QUICK USER
GUIDE
vNode service can be controlled from the console using the following commands:
For older Linux versions, like Debian 7, a different command must be used to control the
service
For example, if vNode is installed in the ‘/opt/vnode’ folder, the command would be:
sudo /opt/vnode/bin/vnode uninstall
For example, if the vNode folder is /opt/vNode the command would be:
sudo rm -r /opt/vnode
www.vnodeautomation.com
13
QUICK USER
GUIDE
3 Setup: Extract the new version of the binary files from the installer, where <distro>
is the Linux distribution on the target machine and <version> corresponds to the vNode
version that has been downloaded. The following command assumes vNode is installed in
/opt/vnode:
4 Setup: Re-start the service again and login into the WebUI to check that everything is
running correctly:
www.vnodeautomation.com
14
QUICK USER
GUIDE
By default, WebUI can be reached using plain HTTP (port 8003 by default) and secure HTTPS
(port 8443 by default). In order to force secure connections only, HTTP mode can be disabled.
WebUI is automatically installed with vNode and does not require a license. More than one
instance of the WebUI can be created in the same node (for instance when configuring a
different logo, access from different networks, etc.). In this case, any new instances would
run in demo mode unless a valid license is provided.
Real-Time: Displays the values of all collected data, along with the quality, timestamp
and description.
Historical: Allows users to create charts displaying the historical values of all tags and
export data to csv files. Historical data stored in other linked nodes can be retrieved and
displayed also.
Alarms:
System:
Diagnostics: Displays the current status of each node and its components.
Config: Allows users to configure the node and all the components.
Licensing: Displays licensing information and allows to apply licenses to each node.
www.vnodeautomation.com
15
QUICK USER
GUIDE
Inline Help
WebUI provides an inline help box at the bottom of the configuration area, displaying the
description of each parameter and configuration examples.
www.vnodeautomation.com
16
QUICK USER
GUIDE
Active functionalities or modules also require licensing. Each module requires a valid license
to run in production mode. If a module doesn’t find a valid license, it will run in demo mode
for one hour. In order to restart the demo period, the module must be restarted.
•Data format
•Scaling
•Data Source (pointing to a connection configured in the previous step)
•Alarms
•Historization
Once the tag has been created and the configuration has been saved, the real-time value of
the tag will be available from the Real-Time menu.
www.vnodeautomation.com
17
QUICK USER
GUIDE
Each vNode node can exchange data with other nodes. When receiving connections from
other nodes, the inbound connection should be configured. When connecting to other
nodes, the outbound connection must be configured. See the chapter on vNode Links for
more information about vNode Links.
www.vnodeautomation.com
18
QUICK USER
GUIDE
The Model tree for each section can be used to instantiate templates and provide the values
for Custom Properties, assigning different values for each instance.
This User Guide assumes a basic understanding of Object-Oriented paradigm.
Custom Properties
In order to use the templates, it is possible to create Custom Properties within each template
to be used as parameters. Custom properties are what differentiate instances derived from
the same template. These Custom Properties can then be referenced in the Expressions to
calculate specific values for each instance.
Custom properties are referenced in the Expressions using the name of the Custom Property
in curly braces { }.
Expressions
JavaScript expressions can be used on each data entry to calculate the value. All expressions
start with “=” (like in spreadsheets). Expressions are only evaluated during the start-up of the
module.
Number01 Number 5
Number02 Number 25
www.vnodeautomation.com
19
QUICK USER
GUIDE
Sum ={Number01}+{Number02} 30
Conditional ={Boolean01}==1?{Number01}:{Number02} 5
Conditional =[‘A’,’B’,’C’,’D’,’E’][{Number01}-2] D
vNode Links
Introduction to Links
Each vNode node can connect to other nodes and exchange data using vNode Links. These
connections between vNode nodes provide the following advantages:
•Real-time: Data flows continuously between nodes, displaying the current value of
tags in both the source and destination node. Data is time stamped at the origin,
maintaining time consistency across the entire fleet.
•Secure: All data sent is encrypted using the TLS 1.2 cryptographic protocol to prevent
data tampering. vNode nodes exchange Digital Certificates for instant authentication.
•Reliable: All connections between vNode nodes include automatic Store&Forward
mechanism, meaning that any data which is not delivered due to a communication
outage between nodes is saved locally and automatically sent once connection is
restored.
•Firewall friendly: No open ports are required at remote facilities.
•Bi-directional: Once the connection is established, it is fully bi-directional, so each
node can both send and receive data. This makes links very convenient for sending
commands to remote nodes.
•Easy configuration: Tags are only configured in the source node. Destination nodes
display the same information as source nodes, without requiring any extra configuration.
•Low bandwidth requirement: All data sent is highly compressed so that links will
work correctly on slow and high latency TCP connections, such as 2G and Satellite.
www.vnodeautomation.com
20
QUICK USER
GUIDE
Link configuration
Each link requires two different nodes; the node initiating the connection and the node
receiving the connection. Once the connection is established, it is fully bi-directional and data
is exchanged between both nodes, independently of which node initiated the connection.
Connections received by a node are configured as Inbound connections. A node can receive
connections from many other nodes.
Step 1: Provide a unique name among all vNode nodes to each of the nodes connected.
Step 2: Configure the Inbound connection for the node receiving the connections. Once
Inbound connection is enabled, it will listen to the configured port for incoming connections
from other vNode nodes. The default port for incoming connections is 3001.
Step 3: Configure the Outbound connection for the node initiating the connection. The
name of the Outbound connection must be the same as the name of the node receiving
the connection.
See the example of Link configuration chapter for more information on configuring links for
node connections.
www.vnodeautomation.com
21
QUICK USER
GUIDE
vNode Historian
Introduction to Historian
vNode Historian is a high-performance time-series storage system based on a non-SQL
database (MongoDB). In x64 bit systems, the ModgoDB instance is automatically installed
in the vNode installation folder, so Historian is ready to store data as soon as installation is
complete. In x32 and ARM architectures, the user must first install MongoDB so that Historian
can then be configured to store the data in this ModgoDB instance.
vNode Historian can store any tag values that have been collected locally in the same node
or those collected remotely by other nodes and received in the Historian node through
vNode Links.
Historian provides efficient data compression and partitioning mechanisms, allowing the
storage of massive volumes of time-series data without reducing its performance over time.
Data retrieval
Historian stores events (changes in value, quality, or timestamp). Data can be retrieved from
the storage in different modes:
•Raw: Data retrieved contains all the values for all events stored in the database.
•Delta: Data retrieved contains all the values of all events displaying incremental changes
compared to any previous event that is larger than the configured deadband. It only
contains the second event (the one taking place after the first event that surpassed the
deadband).
•Filter: Data retrieved contains all the values for all events displaying changes compared
to any previous event that is larger than the configured deadband. In this case it contains
both events, the one before the change that surpassed the deadband and the one after
the change.
www.vnodeautomation.com
22
QUICK USER
GUIDE
Data stored in Historian can be retrieved using the following methods:
•WebUI: Includes a rich HTML5 interface to retrieve and visualize data in charts and data
tables (raw and aggregated data). Data can be also exported to CSV files. The historical
data retrieved can be located in the same vNode node as the WebUI or in a different
vNode node, providing that the nodes are connected through a vNode Link.
•REST API Server: By using the optional RestApiServer module, historical data can be
retrieved in JSON format using REST API calls (raw data and aggregated data). The
historical data retrieved can be located in the same vNode node as the REST API server
or in a different vNode node, providing the nodes are connected through a vNode Link.
•Delta: Data retrieved contains all the values of all events displaying incremental changes
compared to any previous event that is larger than the configured deadband. It only
contains the second event (the one taking place after the first event that surpassed the
deadband).
•MongoDB client: Direct connection to the MongoDB database to retrieve data in raw
mode.
SteHistorian charts
from the WebUI
Historian configuration
Steps to configure Historian:
Step 1: Create the Historian module instance in the vNode node where data will be stored.
Step 2: Configure the historization for each tag pointing to the Historian module. If
the Historian module is located in a different vNode node, then the module name will be
“NodeName/ModuleName”
For more details about vNode Historian configuration, please refer to the Historian
configuration example chapter.
www.vnodeautomation.com
23
QUICK USER
GUIDE
vNode Logs
Bootstrap and instances from each module log all activity in their own log file. In this way, the
log for one module is not affected by the behaviour of any other modules that are running in
the same node. There are five different log levels:
Debug and Trace modes may log large amounts of data so they should only be used for
troubleshooting. They should be avoided in production environments.
Log files can be retrieved from the WebUI in Diagnostics => This node => Export logs button.
Log files can be opened using any text editor.
To avoid accumulating very large files, each module generates a new daily log file at 00:00
UTC. Older files are automatically deleted to avoid filling the hard drive with log files. The
number of days that files should be stored for on the hard drive can be configured through
the WebUI.
www.vnodeautomation.com
24
QUICK USER
GUIDE
Step 1: Create the module: (Config => Modules => button to the left of Modules => New
module)
Step 2: Provide a name for the module (in this case MbClient), assign the type of module
(in this case ModbusClient) and save the new configuration.
www.vnodeautomation.com
25
QUICK USER
GUIDE
Step 3: Configure the log (usually the default values are sufficient). Save the log
configuration.
Step 4: Set up the Modbus channel. Each connection to a Modbus server is setup
with a channel and a device. The channel represents the connection media (Ethernet or
serial connection) and the device represents the Modbus server (or Modbus slave for serial
connections). This means that in order to connect to a Modbus sever, a Modbus channel
must be created and configured first, providing all the necessary communication settings.
www.vnodeautomation.com
26
QUICK USER
GUIDE
Step 5: Set up the Modbus device. Save the Modbus driver configuration and restart the
module once the device has been configured.
Step 6: Create a tag to connect through to the Modbus sever: Config => Tags => New Tag
Step 7: Configure the tag. All details regarding the communication should be configured
in Source entry:
•Source.Enabled: True
•Source.Module Type: ModbusClient
•Source.Module name: MbClient (the module created in previous steps)
•Source.Config.Device: Channel01/1 (the channel/device created in previous steps)
www.vnodeautomation.com
27
QUICK USER
GUIDE
Step 7: Configuration
of tags belonging to
Modbus devices
Step 8: The tag should now be available, displaying as good quality in the Real-Time
display.
www.vnodeautomation.com
28
QUICK USER
GUIDE
The following steps show how to connect to KEPServerEX and TOPServer using the OPC DA
client.
Step 1: Create the module: (Config => Modules => button to the left of Modules => New
module)
Step 2: Provide a name for the module (in this case OPCDAClient01), assign the module
type (in this case OpcDaClient) and save the new configuration.
www.vnodeautomation.com
29
QUICK USER
GUIDE
Step 3: Configure the log (usually the default values are sufficient). Save the log
configuration.
www.vnodeautomation.com
30
QUICK USER
GUIDE
Step 5:
OPC DA client
configuration
for connecting
to KEPServerEX
6 in the same
host
Step 6: Create a tag to connect to the OPC sever: Config => Tags => New Tag
Step 6:
New tag
creation
www.vnodeautomation.com
31
QUICK USER
GUIDE
Step 7: Configure the tag. All details regarding the communication should be configured
in Source entry:
•Source.Enabled: True
•Source.Module Type: OpcDaClient
•Source.Module name: OPCDAClient01 (the module created in previous steps)
•Source.Config.Client: KEPServerEX_local (the connection created in previous steps)
•Source.Config.Address: The tag ID in the OPC server. In this example, a valid tag ID
would be Channel1.Device1.Tag1 since KEPServerEX is running the default configuration
after installation.
Step 7:
New tag
configuration
Step 8: The tag should now be available, displaying as good quality in the Real-Time
display.
Usually no changes are required in the DCOM since vNode runs as a service and the default
configuration for KEPServerEX permits the connection of local applications running as
System.
Log files for troubleshooting can be downloaded from the WebUI in Diagnostics => This
node => Export logs button.
www.vnodeautomation.com
32
QUICK USER
GUIDE
Step 1: Create the module: (Config => Modules => button to the left of Modules => New
module)
Step 2: Provide a name for the module (in this case OPCDAClient01), assign the module
type (in this case OpcDaClient) and save the new configuration.
www.vnodeautomation.com
33
QUICK USER
GUIDE
Step 3: Configure the log (usually the default values are sufficient). Save the log
configuration.
Step 4: Create the OPC DA connection to an OPC client and name it MatrikonOPCDA.
Each connection is an independent OPC DA client.
Step 4: Creating a
new OPC DA server
connection
www.vnodeautomation.com
34
QUICK USER
GUIDE
Step 5:
OPC DA client
configuration
for connecting
to Matrikon
OPC in the
same host.
Step 6: Create a tag to connect to the OPC sever: Config => Tags => New Tag
Step 6:
New tag
creation
www.vnodeautomation.com
35
QUICK USER
GUIDE
Step 7: Configure the tag. All details regarding the communication should be configured
in Source entry:
•Source.Enabled: True
•Source.Module Type: OpcDaClient
•Source.Module name: OPCDAClient01 (the module created in previous steps)
•Source.Config.Client: MatrikonOPCDA (the connection created in previous steps)
•Source.Config.Address: The tag ID in the OPC server. In this example, a valid tag
ID would be “Saw-toothed Waves.Real4” to retrieve simulated data from Matrikon
Simulator.
Step 7:
New tag
configuration
Step 8: The tag should now be available, displaying as good quality in the Real-Time
display.
Usually no changes are required in the DCOM since vNode runs as a service and the default
configuration of Matrikon OPC permits the connection of local applications running as
System.
Log files for troubleshooting can be downloaded from the WebUI in Diagnostics => This
node => Export logs button.
www.vnodeautomation.com
36
QUICK USER
GUIDE
The following steps show how to connect to KEPServerEX and TOPServer using the OPC UA
client.
Step 1: Create the module: (Config => Modules => button to the left of Modules => New
module)
Step 2: Provide a name for the module (in this case OPCUAClient01), assign the module
type (in this case OpcUaClient) and save the new configuration.
www.vnodeautomation.com
37
QUICK USER
GUIDE
Step 3: Configure the log (usually the default values are sufficient). Save the log
configuration.
Step 4: Creation of a
new OPC UA connection
to a server
www.vnodeautomation.com
38
QUICK USER
GUIDE
Step 5:
OPC UA client
configuration
for connecting
to TOPServer in
the same host.
Step 6: Create a tag to connect to the OPC sever: Config => Tags => New Tag
Step 6:
New tag
creation
www.vnodeautomation.com
39
QUICK USER
GUIDE
Step 7: Configure the tag. All details regarding the communication should be configured
in Source entry:
•Source.Enabled: True
•Source.Module Type: OpcUaClient
•Source.Module name: OPCUAClient01 (the module created in previous steps)
•Source.Config.OPC UA Client: TOPServer_local (the connection created in previous
steps)
•source.Config.Node ID: The Node ID in the OPC server including the Name Space
Index (ns) and the Identifier separated by semi-colon. In this example, the ns would be
2 and a valid tag Identifier would be “Simulation Examples.Functions.Ramp1” so the
Node ID is:
ns=2;s=Simulation Examples.Functions.Ramp1
Step 7:
New tag
configuration
www.vnodeautomation.com
40
QUICK USER
GUIDE
Step 8: Digital
Certificate trust process
Step 9: The tag should now be available, displaying as good quality in the Real-Time
display.
Log files for troubleshooting can be downloaded from the WebUI in Diagnostics => This
node => Export logs button.
www.vnodeautomation.com
41
QUICK USER
GUIDE
vNode
CENTRAL
vNode
REMOTE 1
vNode Links
configuration example.
vNode
REMOTE N
•Provide the name (vNodeCentral01 and vNodeCentral02). This name must be unique
among all connected nodes.
•Enable incoming connections and configure the listening port (3001 by default).
•Create a specific connection for remote nodes vNodeRemote01 and vNodeRemote02
by setting tag subscription as “All” and publish view as none. This means that these
nodes are now subscribed to all available tags in the remote nodes but won’t be
publishing any data to these remote nodes.
www.vnodeautomation.com
42
QUICK USER
GUIDE
Step 1: Configuration
of central nodes to
receive connections
from other nodes
Configure tag subscription as “None” since the remote nodes won’t be subscribed
to the tags in the central nodes.
Configure the Publish view as “Full model” in order to push all local events to the
remote nodes.
Configure the connection details, IP, and port, for the central servers.
www.vnodeautomation.com
43
QUICK USER
GUIDE
Step 2: Outbound
connections
configuration for
vNodeRemote01
Once the configuration of all nodes is complete, the remote nodes will send a digital
certificate to the central servers. All certificates must be set as “trusted” in the central servers.
Step 2:
Digital
certificates
of the
remote
nodes in
the central
node
www.vnodeautomation.com
44
QUICK USER
GUIDE
Once the digital certificates for the remote nodes have been “trusted” by the central server,
the digital certificate from the central servers must also be “trusted” by the remote nodes.
Step 2: Digital
certificates of the
central nodes in the
remote node
Once all digital certificates have been trusted, the connection has been successfully
established and the link status will be displayed in Diagnostics => Links to show that these
remote tags are now available in the central nodes.
www.vnodeautomation.com
45
QUICK USER
GUIDE
HISTORIAN
vNODE
CENTRAL 01
Step 1: Create the module: (Config => Modules => button to the left of Model => New
module)
Step 1
www.vnodeautomation.com
46
QUICK USER
GUIDE
Step 2: Provide a name for the module (in this case Historian01), assign the module type
(in this case Historian) and save the new configuration.
Step 3: Configure the log (usually the default values are sufficient). Save the log
configuration.
www.vnodeautomation.com
47
QUICK USER
GUIDE
Step 5: In the remote node vNodeRemote01, create a new tag and navigate to the History
section to enable the historization of the tag pointing to the Historian instance in node
vNodeCentral01. Both nodes ( vNodeRemote01 and vNodeCentral01) must already be linked.
www.vnodeautomation.com
48
QUICK USER
GUIDE
If the Historian instance was running locally in the vNodeRemote01 node, then the Module
name in the History configuration of the tag should be vNodeRemote01/Historian01 or
simply Historian01.
Step 6: Values stored in the database can be visualized in a chart within the WebUI of
both the central and remote node, regardless of where the database is located.
Select the tags, start and end date, retrieval mode and click apply.
www.vnodeautomation.com
49
Contact us: