4.2. Deployment Example
This tutorial aims to explore the various ways to personalize the voraus software stack. It provides an overview of the services available, how they can be configured, and how users can customize their setup to meet specific requirements. In this example a development container is used, for further information please refer to the documentation about how to use VS Code and Docker in the voraus.pioneer Examples documentation.
4.2.1. voraus Services
The Compose file declares different services. Each service is explained in the following sections. Information on ports and environment variables is provided.
voraus.core
The voraus.core is the Docker image that includes most of the services required to build a modern automation stack. Through its open API (OPC UA and Python) it ensures flexible integration of devices and functionality from the driver level to the top interface level. The latter allows the voraus.core to be connected to higher-level platforms such as graphical user interfaces like the voraus.operator, ERP, or cloud services. The voraus.core service depends on CodeMeter, this service is explained later in this Chapter, see CodeMeter.
Environment Variables
Variable |
Purpose |
Possible Value / Example |
|---|---|---|
|
Host name of the CodeMeter container for the license allocations. |
|
|
Configuration of used robot type. |
See table below or Requirements |
|
Changes the robot virtual mode in the system configuration. |
|
|
Enables/Disables a component |
|
|
Modifies the bind IP of a component. It must be |
|
|
Can be used to specify the host in the connection URI to this component. |
|
|
Modifies the bind port of a component. |
|
|
Modifies the bind protocol of a component. |
|
The table Robot Type Configuration all available robot types are listed that can be configured in the Docker
Compose File via the VORAUS__robot__robotType variable.
voraus.core Ports
Ports refer to the Docker container; port mapping can be carried out in the Compose file. In the exemplary voraus Docker Compose files the voraus.operator is accessible via port 8080.
voraus System Control
Manages the startup of core components and provides system utile.
Environment Variables
voraus Robot Control
Controls the robot (Fieldbus communication, Motion Planning, Interpolation and OPC UA Interface).
Environment Variables
The environment variables are defined in the documentation of the voraus Robot Control.
File Management
The description of the file management of voraus Robot Control and the available configuration options is provided in the documentation of the voraus Robot Control.
voraus Userapp / voraus Robot
When an application is started via the voraus.operator, an OPC UA server is started, which can be reached via port 48403, via which information such as the progress of the command is forwarded to the voraus.operator. This component is close to the end of its life and soon will be changed to the voraus Robot Arm.
voraus Error Handler
Error communication manager between core components.
voraus Operator
Browser-based user interface for robot systems.
voraus Gateway
A communication interface for voraus.operator.
voraus 3D Visu
A Python package for creating web-based 3D visualizations. More Information can be found in the component documentation: voraus 3D Visu. The voraus 3D Visu service also depends on CodeMeter, this service is explained later in this Chapter, see CodeMeter.
Component |
Component Key |
Docker Container Port |
|---|---|---|
voraus 3D Visu |
|
80 |
Environment Variables
The environment variables are defined in the documentation of the voraus 3D Visu, examples are also given.
CodeMeter
It contains all the components you need to access CodeMeter based licenses. All other services depend on CodeMeter.
Environment Variables
dev container
The dev container is a local development environment. As mentioned before, please refer to the voraus.pioneer Examples documentation for more information and to download the voraus.pioneer Examples, which also include Dev Container Example.
The dev container is started from the named image, volumes defines that the local workspace is
mounted. Command indicates that the dev container is idle in idle mode. In the environment CodeMeter is defined
for license purposes, the dev container depends on all other services, therefore health checks are performed on those
services.
4.2.2. Files in the Container
The following files in the Docker container of voraus.core contain additional information and data for the development. It is recommended to use persistent volumes or bind mounts for these paths to prevent data loss. The files are ordered in a Linux folder structure.
/etc/voraus- Contains the configurations for the components./var/log/voraus- Contains the log files./root/data- Contains the custom commands and user applications.