The Open Emulation Platform (OEP)
Simumatik OEP has been designed and developed with one objective in mind: to offer a scalable and easy-to-use professional emulation tool. The tool has many potential use cases for different users - from system integrators that want to carry out virtual commissioning to machine operators that need to be educated. It can even be used by high-schools that want to teach basic physics or technology skills, as well as universities that educate the engineers of the future.
The platform aims to provide an easy-to-use environment with enough tools to digitalize anything you can imagine. Besides, the client-server architecture enables easy access and real-time collaboration between users. All this on a completely cloud-based platform which only requires registering an account to get started!
The client-server architecture enables the execution of emulation models on different platforms independent from the client-side and offers the opportunity for multiple users to collaborate in real-time.
The OEP is divided into:
- Cloud storage: Where all data is stored, such as systems, components, and their assets.
- Emulation server: Where the models are built and executed. Several clients can be connected simultaneously.
- Web app client: Used to browse the cloud data, to create and edit components, and to interface with the emulation server.
- Gateway service: Used to connect the emulation server with third-party software and hardware.
* The emulation server can run on a local machine, a machine in a local network or the cloud. This allows a single user to connect to the emulation server from many kinds of devices. It also allows several users to collaborate locally or globally.
The emulation concept
First of all, this is not a video game, but an emulation platform. Therefore, there are a few concepts that need to be understood to use the platform.
By emulation we mean that the digital models you can build in our platform will look and behave like their corresponding physical ones. To achieve that level of realism, Simumatik makes use of a physical engine and has developed a data model, following some considerations explained below.
The data model considers four different aspects to model a real component: visuals, physics, interfaces, and behaviors. Each aspect is flexible and together they allow modeling almost any component you can imagine - from basic products, sensors and motors, to PLCs and robot controllers. However, not every component requires all aspects to be modeled.
- Visuals: The attributes and assets used to visually represent the model, e.g. its geometry.
- Physics: The physical properties like materials, collision shapes, and kinematics used by the physics engine to realistically emulate the component's physical interaction.
- Interface: The ports of the component (electric, pneumatic, mechanic,...) that allow it to be connected to other components. Interfaces also include drivers for third-party software/hardware connections.
- Behavior: The logic that can be used to put together the rest of the aspects and bring the component to life.
Components are the basic building blocks of a model. Components are placed together to build Assemblies, which together build Systems. Our platform allows users to create components, save them in the cloud, and use them to build their emulation systems. The systems created by each user will be private but can be even shared with the rest of the users.
The component-based modeling idea is simple: each element in the system with a specific and independent use can be considered a component. Consequently, the data model follows the same natural principles that are applied to engineering drawings.
In the example below, the cylinder, the valve, and the pump can be modeled as components and then connected to create a system. If you connect the components in the system correctly, you may expect the same results as in the physical system, while if you miss a connection, the emulation model will also behave accordingly.
In Simumatik, connections between components are made with the help of ports. Each component can have ports of a certain type (e.g. electric, pneumatic, etc) which can be configured as inputs or outputs. The rule for making a connection is simple; two components can be connected if their ports are of the same type (e.g. electric) and the connection is made from an output port to an input port. Moreover, one output port can be connected to several input ports. The next diagram shows a basic electric circuit including three components:
Third-party software/hardware integration
Some components may need to exchange information with other software or hardware, such as a PLC or a robot controller. Therefore, Simumatik has developed the Gateway, a complementary software that acts as an intermediary between the OEP and a third-party platform, such as RobotStudio, RoboDK, Codesys, TIA Portal, etc.
From the user perspective, components can make use of special elements called drivers, which are abstraction layers ready to send and receive variables from the outside. They are in charge of handling the communication, so components can focus on handling the I/O information. The following diagram shows an electric circuit including four components (one of which is a PLC):
Check our third-party integration section to know which are the possibilities.