Home > Edge > Manufacturing Edge > Guides > Dell Validated Design for Manufacturing Edge - Design Guide with 5 Independent Software Vendors > Accelerated time to value with Telit Cinterion
When building out a manufacturing solution, it is important to leverage available features to build an effective, high-performance, rapidly deployable, and expandable environment, accelerating the time and enhancing the value of the deployment.
The Telit deviceWISE platform both offers built-in functionality to aid in expansion and scaling and interfaces with external tools that offer additional flexibility and customization. Furthermore, integrating deviceWISE Edge deployments with the data aggregation power of SDP makes telemetry data from across the plant floor easily accessible for high-level visualizations that offer actionable insights.
Several of these features and opportunities are discussed in the following sections.
The data that is generated through deviceWISE can be used by a third-party dashboard software, such as Grafana, to present key manufacturing visualizations. This includes charts for OEE, predictive maintenance, and yield optimization. The easiest way to do this is to store the data in the internal database, then access the SQLite file directly. The default location is /opt/dw/db/DWAPP.db for Linux gateways and C:\Program Files\deviceWISE\Gateway\db\DWAPP.db for Windows gateways. Alternatively, the data from deviceWISE can be exported to a third party database through transaction mappings.
One such third party visualization tool is Grafana. After installing the SQLite plugin, the DWAPP.db file can be accessed directly and queried to produce informative dashboards, such as the example shown in the following figure.
This section explores some of the features of deviceWISE Edge that allow for accelerated deployment and easier scaling of edge nodes.
The internal database is an SQLite file, and like all SQLite files, proper structuring results in dramatic improvements to performance. This is even more essential as the size of projects and amount of data in the tables grows. Two methods which dramatically increase performance are storing the table ‘In Memory’ and defining proper indexes. The 'In Memory' stores the table in RAM, but any data in the table is lost on reboot. Alternatively, proper indexes lead to dramatic performance improvements and have limited drawbacks.
In some instances, the ideal index for a table is a composite key. For example, a simple table for storing history might have the following columns: tag name, timestamp, and value. A typical query on this table requires sorting on both the tag name and timestamp. By creating a composite key on both columns, queries only need to scan through the table once instead of many times.
To make an index over multiple columns, follow the instructions in the Local Database Management section of the Developer's Guide that is embedded within the application, then use Ctrl to select multiple columns in the New Index window.
While deviceWISE View has no direct support for templates, something similar can be accomplished by creating a separate gallery and display that is specifically for designing template widgets. The designer can then copy and paste those widgets into other displays and update any required information. The ideal template depends on the application, but typical widget templates include Value Cards for Floats, Boolean States (On and Off), and properly formatted dates. These templates can also be exported as JSON files, for precise modification and revision control, by copying the widget and then pasting it into a text editor. The JSON representation is also visible through the Advanced tab, as shown in the following figure.
The ability to import and export components from one devcieWISE Edge node to another rapidly reduces the time and effort to expand and scale a solution. A new set of logic or configuration built on one node can be duplicated and shared with another node.
Many of the components that comprise a deviceWISE Edge node have functionality that allows them to be exported and imported. Export file types are the same, regardless of the components therein. When importing, the user must know what type of component they are importing, so ensure that exported component files are labelled appropriately.
On import, there may be conflicts between the existing node and the components to be imported. In practice, component configuration was imported or overwritten, but data remained largely intact. For example, a node contains a project1 with a trigger2. A project is imported, with the same name, which contains a trigger1. After import, trigger1 is added to project1, with trigger2 remaining intact.
For another example, a set of global variables exists on a node and contains 7 variables. A set of global variables with the same name is imported, which has 10 variables. After import, the variable group has the structure of the imported global variables (10 variables), but has maintained the values for the first 7 variables from before the import.
A bulk import using the Groups feature in Workbench allows for a component that is crafted in one deviceWISE Edge node to be rapidly shared with other edge nodes. This provides an excellent opportunity to perform development and testing in a lab setup or on a single unit before deploying to a wider set of assets.
Nodes can be added to a Group based on a variety of features, and a node can belong to more than one group. Prior to initiating a bulk import, ensure that the exported component file is available—this can be done following the previous Component export and import section. Only a few more clicks are required to execute the component import on the group. The import status of each node can be tracked, and any issues can be noted, such as an offline node. For more information about the steps on bulk import, see Bulk component import with Groups.
For gateways with many tags, or for configuring many gateways, development can be accelerated using the deviceWISE import and export functions. The XML file that is generated from an export can be opened in any text editor and modified. For example, an I/O device could be set up, exported, then modified to reflect a similar, second I/O device. When it is imported, a new I/O device will be created.
This can be expanded by writing scripts (in Python, for example) that create the XML files from scratch based on desired configurations. This makes it possible to rapidly generate many different configurations, and to impose some form of version control on those configurations. More details on this process can be found in Component scripting.
Rapid deployment and scaling are important features to utilize to accelerate the time to value of a deployment. Telit deviceWISE Edge offers several ways to quickly build out systems, several of which are explored in this chapter. These features can cater both to users who prefer a straight-forward user interface and to users who prefer the customization and flexibility that is available through scripting and third-party interfaces.