Home > Edge > Manufacturing Edge > Guides > Dell Validated Design for Manufacturing Edge - Design Guide with 5 Independent Software Vendors > Telit Cinterion system design
In this Dell Validated Design for Manufacturing Edge, the Telit deviceWISE Edge software platform supplies the IT/OT convergence functionality, allowing the types of field devices frequently found in operational technology (OT) environments to communicate with information technology (IT) systems. This confluence of systems that typically do not interface well with one another allows data from a myriad of devices and even locations to be aggregated for more efficient storage and more insightful analysis.
This chapter addresses the following items:
Telit Cinterion has a long history of providing solutions for IIoT and other industrial applications. Their deviceWISE platform allows the connection and management of an array of industrial devices for data capture, orchestration, analytics, and storage.
Telit deviceWISE Edge software has several distinct and important components. There are two types of deviceWISE Edge gateway software, Asset and Enterprise, that can be installed on a far edge device, depending on the required functionality. The Edge software can be enhanced with deviceWISE View for visualization. Configuring the edge gateways relies on an out-of-band management tool, the on-premises Workbench.
For configuration details, see the section Far edge deviceWISE deployment. More information about each of these four components can be found in the sections below:
The Asset Gateway edge software is a good entry point for a far edge node deployment. It can be deployed on a variety of platforms, including Windows, Ubuntu, and via container using Docker.
It allows for the ability to connect to modern and legacy devices found in manufacturing environments, including devices supporting Profinet, Modbus TCP/IP, and OPC UA. A full list of device types supported by deviceWISE Edge can be found in Telit Cinterion’s supported Device Types documentation. Asset Gateway can also send data northbound to SDP for persistent storage using the MQTT protocol.
Triggers provide a code-free way to deploy a series of actions, which are executed based on a condition, on a schedule, on a value change, and so on. Triggers feature drag-and-drop action blocks that are individually configured and are linked to subsequent actions. They allow for custom-designed data ingest, data movement, math and logic, and data sending.
The Enterprise Gateway edge software offers all of the functionality of the Asset Gateway. In addition, it supports connections to enterprise applications that a manufacturer may want to interface with that are outside of this Dell Validated Design, such as external database servers and ERP systems. For more information on enterprise connectivity and supported database connections, see Telit Cinterion’s documentation on Enterprise connectivity and Database transports.
There are some minor differences in the handling of licensing between an Asset Gateway and an Enterprise Gateway. This information can be found in the following Licensing section.
While a separate tenant from deviceWISE Edge, deviceWISE View operates closely alongside it. deviceWISE View can be deployed on an edge node, either Asset or Enterprise, and allows for data visualizations hosted on the edge node. This allows for quick insights about assets and processes, enabling rapid response.
deviceWISE Workbench is a Windows-based node configuration software. It allows anyone responsible for setting up and maintaining nodes to view and edit them through a single interface, provided there is a network connection to the node.
Workbench does not need to be installed alongside the deviceWISE Edge software. It can be installed out-of-band on an engineering workstation, laptop, or in a VM. Connectivity to the edge nodes is only required when interacting with and making changes to the nodes. All node functions are handled in the node’s runtime on its host. Therefore, Workbench can be disconnected when not in use.
In the following figure, connected (and previously connected) nodes can be browsed on the left menu. Expanding a node's menu gives visibility to an array of status information and configuration options.
The following application versions were used in validation, unless otherwise noted:
deviceWISE Edge packages are comprised of drivers and extensions that add functionality to the deviceWISE node as needed. This structure allows the base software to remain lightweight and reduces visual clutter in Workbench, since only supported options appear.
Packages are individually versioned and released with a corresponding minor version of the deviceWISE Edge Asset Gateway and Enterprise Gateway software. Also, packages are specific to the platform or operating system on which they are to be installed.
For more information about downloading and installing packages, see the section Download a package.
Licensing for edge nodes can be handled in two ways:
For more information about deviceWISE Edge licenses, see the Licenses documentation.
Hardware licenses, referred to simply as “Licenses” in Telit Cinterion’s documentation, are those licenses which are issued to a specific device based on its MAC address. Once edge node software is installed, the MAC address can be captured easily using the Workbench by navigating to the node’s Administration > Node Administration page. Licenses issued for a specific MAC address are not valid on a host with a different MAC address.
Using individual licenses may be beneficial in smaller applications, as licenses can be acquired on a smaller scale, keeping costs down. For individual Asset Gateways, the baseline license offers support for five connected devices. For an individual Enterprise Gateway, a license can be purchased to support device connections in the following increments: 5, 20, 40, 60, and 100.
The license server functionality offers simplicity by allowing all license keys and files to be managed on a single node. Available licenses and expiration dates can be viewed on one screen. Client nodes are then connected to the server node and pull licenses per gateway, device, and HTTP connection from the server based on their configured required number.
The license server also provides flexibility in license management. While the license files installed on the license server are dependent on the server’s MAC address, none of the licenses are dependent on any client node’s MAC address. Therefore, adding additional nodes or replacing a node does not require license generation or installation, as long as the server has licenses to spare. This is also a good option for licensing Docker-based nodes, since MAC addresses may not be static.
With a license server deployment, the edge nodes rely on at least a periodic connection with the license server to maintain valid licenses. While there are configuration settings to address this, long periods of disconnection may cause licensing issues.
For more information about the license server configuration and setting options, see License server and License server configuration.
The Dell Validated Design for Manufacturing Edge addresses a variety of use cases, as discussed in earlier chapters. Telit deviceWISE is leveraged as the convergence platform and provides the telemetry data ingest required to address these uses from a diverse set of devices. deviceWISE Asset Gateways and Enterprise Gateways deployed on a variety of Dell infrastructure platforms at the far edge collect telemetry data from the model bottling plant used to validate these use cases and provide scale and sizing guidance for the overall solution.
The use cases addressed by this solution include:
These use cases are validated by capturing telemetry data for simulated fluid filtration system and ingesting them to Dell Streaming Data Platform (SDP) for real-time and historical analytics.
This section covers data ingest pipelines. This DVD uses SDP as the persistence store. These are the components involved in data ingest:
This section covers various deployments of deviceWISE. Both Windows and Ubuntu Asset and Enterprise Gateway versions can be downloaded from the Telit Cinterion IoT Portal and installed on the Dell Edge Gateways 3200 and 5200, or the PowerEdge XR4000 server, depending on the use case.
/tmp>gunzip
DWGateway_Install.Linux-X64-Generic.XXX.tar.gz
/tmp>tar -xvf
DWGateway_Install.Linux-X64-Generic.XXX.tar
This creates a directory called dwgateway under the current directory.
/tmp>cd dwgateway
/tmp/dwgateway>./devicewise.install
A message and prompt appears asking if you want to continue installing the software.
The Asset Gateway software should be running.
Follow these steps to extract and run the Linux install program:
[root@server ~]# cd /tmp
[root@server tmp]# tar -xzvf
DWEnterprise_Install.Linux-X64-Generic.XXX.tar.gz
This extracts the contents of the archive, resulting in the creation of the dwenterprise directory. This directory contains the installation files.
[root@server tmp]# cd dwenterprise
[root@server dwenterprise]# /bin/sh devicewise.install
[root@server tmp]# cd dwenterprise
[root@server dwenterprise]# /bin/sh devicewise.install now
[root@centos-x64-01 dwenterprise]# ls -l /opt/dw
total 76
[File Listing Follows...]
The services associated with deviceWISE Enterprise Gateway are installed and start during the Linux operating system services initialization.
However, if the services require manual intervention for any reason, the deviceWISE Enterprise Gateway service control scripts can be used to start, stop, restart, or check the status of the services. The root user must be logged in to perform these operations.
/bin/sh /opt/dw/devicewise [start|stop|restart|status]
After deviceWISE Edge is installed, Workbench can be connected to it to perform the configuration and application development tasks. For information on installing Workbench and connecting to nodes, see Installing the Workbench software.
If Workbench is already installed, see The Workbench in the Gateway Developer's Guide and Reference for information on using Workbench and the deviceWISE features that it can access.
#docker run -p 4009:4009 -p 4012:4012 -p 49320:49320
telit/dwgateway
#docker run -p <port mappings> -v <Host mount
point>:/dw/db telit/dwgateway
The master of this network, the deviceWISE Edge node, starts the communication by asking slaves (servers) for a specific range of data addresses. Slaves receive the request, verify that it regards its slave address and returns answer data. Data can be a wide range, from string to Boolean or float type.
On Ethernet, Modbus TCP uses carrier-sense multiple access with collision detection (CSMA-CD) for access control, managing messages between the client and servers.
Modbus RTU handles messages similarly to ethernet connections, running on serial connections like RS-232 or RS-485.
OPC UA is based on the client-server architecture. A set of objects is made available in real-time using address space. This space is organized into nodes and specific features, and all of them are organized in the specific model described in the protocol.
This protocol uses messages in the client-server format, making machine-to-machine (M2M) communication possible. The client subscribes to topics on a specific server, called an MQTT broker. Data servers publish to the MQTT broker on the same topic required by clients. In this way, there is no direct connection between the data server and the client.
This works similarly to the master and slave Modbus TCP communication. The deviceWISE Edge node is the master of this communication, though there is self-diagnosed information that can be operated on this network.
An Asset Gateway or an Enterprise Gateway can be used to ingest data over any of the indicated protocols. Generally, deviceWISE requires installing packages with their licenses, and a connection with the server should be established.
It is necessary to install the following packages and their licenses, based on which protocols are used.
Set up the connection in the Devices folder. Validate the connection to be sure that server is available on the indicated port.
deviceWISE Edge has several tools to help transform raw data into actionable information. This can be as simple as giving I/O more human-readable names, or as complex as OEE, predictive maintenance, or yield optimization. Which tool to use depends mostly on this complexity.
To keep information organized, all the required variables should be created in one or more global variable devices. Ideally, the variables in these devices have names that make their purpose clear and make them easy to find (For example, “StationA_HoldingTank_Temperature” is better than “temp1”). Consider this for every variable that is displayed or used in calculations. This allows for development that is independent of I/O configurations and gives full control over naming convention.
For trivial 1:1 mappings, the Data Mapping tab in the Devices section of deviceWISE Workbench is ideal. This creates a one-way transfer of data from one variable to another. This can also be used to convert types, but users should verify that the proper conversion takes place (for example, converting a FLOAT8 to an INT8 rounds the floating value to the nearest integer instead of truncating or bitwise copying).
The best trigger event type to use for calculations is the Data trigger. It runs automatically when the chosen variable changes, and it allows the user to set both a priority and a deadband. For resource-intensive calculations that rely on rapidly changing inputs, set a lower priority and a higher deadband range to reduce the strain on the system. Alternatively, one can use a Variable Group trigger or Schedule trigger. The Variable Group trigger runs when any variable in the variable group changes, but it does not include a deadband. The Schedule trigger runs at a fixed interval, regardless of any changes to the input variables.
Finally, if the same calculation is repeated multiple times, the logic should be captured in a SubTrigger and then called from other event triggers. This reduces duplication and simplifies testing and maintenance.
There are many actions that can be combined to calculate the required outputs. In particular, either the Expression, Execute Lua Script, or Execute Lua Function From File should be used, depending on calculation complexity.
The Expression action is great for simple math, such as scaling raw data or converting units. It also has a limited set of array functions, such as sum, min, and max.
For more complicated operations, such as array manipulation and advanced logic, either the Execute Lua Script or Execute Lua Function From File can be used. The advantage of using the Execute Lua Function From File is that it can be written and tested independently of the gateway. This is especially useful if the calculation is developed by a third party.
deviceWISE View is used to display real-time information through an interactive web page. Both the editor and any created displays can be accessed on any machine that has network access to the gateway and valid user credentials. To find the gallery landing page, browse to <gateway ip>:8080/dwview (assuming default configuration).
All the features of the designer are thoroughly documented in the Telit deviceWISE View Cookbook, which is available through the Telit Cinterion download center at Download Zone.
To make a deviceWISE View display appear correctly on different sized screens, widgets are organized in a grid pattern. The grid can then be changed dynamically based on the size of the screen and the canvas type. It is highly recommended to display the grid while editing a page so that you can see what spaces are available (see the following figure). After arranging a widget correctly, it is also advisable to lock the widget in place with the lock icon, otherwise it could be inadvertently changed while dealing with a different widget.
Configuring the pool of available worker threads on an edge node’s host allows for additional machine resources to be used by deviceWISE in cases of high workload. Scaled solutions can leverage these settings for better performance.
For more information on worker threads, see the deviceWISE Runtime thread pool configuration documentation.
In deviceWISE Edge version 22.03.06, Thread Pool V2.0 is used. The thread schema version can be checked in Workbench by navigating on the edge node to Administration > System Variables and then searching v2. The default values for Max Threads and Limiter Count can also be found here.
The values for these settings can be edited directly in Workbench, but they do not persist across a restart. To make persistent adjustments to the default values, edit (if the parameters already exist) or add the parameters to one of deviceWISE’s property files on the host node. The node must be restarted for the change to take effect.
Property files can be found inside the node’s deviceWISE installation directory, which by default is:
For more information about the various property files and how to use them, see Telit Cinterion’s Properties file management documentation.
Updating deviceWISE Edge software using the available update file allows a user to get the newest software version, with new and enhanced features, without losing previous configuration settings.
The file that is required to perform an update when an older version of deviceWISE Edge is already installed is of the deviceWISE update file type (.dwu), which is different from the executable or .tar file that is used in a new installation. Because of this, the installation can be performed through Workbench, rather than directly on the node host, as is required at initial installation.
Updating the edge software through Workbench requires the update file be transferred to the node over the network, and it requires the node to restart at completion. Consider this when selecting a time to perform an update. Once the update is complete, components return to their state prior to the update. Consider whether any items should be stopped before proceeding with an update. Ensure that an update is followed with the installation of the newer version of any required packages.
For more information about the steps on performing a deviceWISE Edge software update, see Update deviceWISE Edge software.
The Dell Validated Design for Manufacturing Edge uses SDP as the persistent data store. SDP provides a native MQTT broker, which allows Telit deviceWISE MQTT clients to publish lightweight MQTT messages for device data ingest. See the Streaming Data Platform chapter for more details on the configuration required to enable such data ingest. The chapter also covers all the options that SDP offers, including creating multiple SDP streams to provide the desired degree of concurrency and ease of management by merging appropriate groups of telemetry data points into common streams.
SDP uses Pravega as the object store, and it allows the configuration of TimescaleDB sinks to present the object store data for external access. The Telit deviceWISE integration used in this DVD leverages SDP-based Grafana for the visualization and external interfaces, and APIs to extract the data for real-time and historical analytics. Various SDP-based Grafana visualization and analytics options are covered in the SDP Grafana for database queries section.
This section describes the data flow from industrial IoT devices to deviceWISE Edge gateways, and subsequently to SDP for persistent data storage and display.
The following steps comprise the entire flow:
For more information on each step, see Send data with MQTT.
deviceWISE Edge has a built-in SQLite database that can be used to store persistent data. This is useful for storing tag history locally or for important information, like recipes, that are useful at the edge. The user-defined tables are stored in an SQLite database file called DWAPP.db.
For creating tables and writing queries, see Gateway Developers Guide under Local Database. Standard practices for table structures must be followed, including the addition of an auto-generated row index number, smart selection of a primary key, and appropriate constraints on column information.
Although the general internal database interface tools are available on an Asset Gateway, they lack some of the key features that are required to properly access the data. Specifically, there is no option to order results. Instead, a Transport Map, which is only available on an Enterprise Gateway, must be used.
Alternatively, instead of relying on the internal database, deviceWISE Edge can be connected to an external database through the Enterprise Transports feature. Supported databases include MySQL, Microsoft SQL Server, MongoDB, Microsoft Access, and PostgreSQL, among others. For a complete and up-to-date list of supported Enterprise Transports, see Telit Cinterion’s Supported Enterprise transports documentation. Once a database is connected, data can be accessed by creating a transport map and trigger.
For validation, a MySQL database was connected and performed well for SELECT and INSERT queries.
Telit deviceWISE Edge and the supporting applications provide many features for interfacing with industrial devices, IT systems, and enterprise systems. There is a high level of customization available that can be configured to meet the specific needs of a given use case.