Engee documentation

Integration of Engee with equipment

Page in progress.

Integration (in the context of this article) is the process of connecting third-party equipment with software that supports networking capabilities directly to Engee. This approach allows data exchange with external interfaces, including CAN adapters, UDP protocols and other devices.

Third-party software is any programme capable of networking and sending/receiving data via UDP protocol.

Engee runs in a browser and, as a result, does not have direct access to the physical ports of the computer. Restricting browser access to the low-level interfaces of the operating system prevents you from simply plugging in your hardware and getting started right away.

To solve this problem, the following interaction architecture is used:

engee working hardware 1

This scheme shows that Engee communicates with a local host program installed on the user’s computer. The host program, in turn, works with the physical interfaces of the system (COM ports, USB, etc.) and sends commands/data to the connected hardware. A broker is used to organise network communication between Engee and the local host program:[Broker is a software component that coordinates data exchange between different modules and external interfaces. It provides the messaging and data flow control necessary for the correct operation of the system].

Connecting to equipment

To connect external equipment to Engee, install the support package by executing the following command at command line img 41 1 2:

engee.package.install("Engee-Device-Manager")

After successful installation, the following message will be displayed on the command line:

engee working hardware 2

This message will indicate that the broker is running and provide a URL to connect via the host program. It will also offer a link to download the host software archive, select the option appropriate to your operating system (Windows or Linux):

engee working hardware 3

Download the archive, unzip it and install the host program on your computer. After launching, a window will open with a field for entering the URL:

engee host access

Copy the URL from the command line (text after Copy link:), paste it into the host programme and click the "Connect " button. The connection status should change to "Connected ":

engee host access 1

Working with VISA driver

After installing the hardware support package and connecting the host software, the VISA driver becomes available in the system.

VISA (Virtual Instrument Software Architecture) is a universal interface for communicating with physical measuring instruments via USB, Ethernet, GPIB, etc. ports. Thanks to the host programme, Engee accesses these devices through the network, allowing them to be operated directly from the Engee environment using the Julia programming language.

Working with VISA in Engee allows:

  • Get a list of available appliances;

  • Manage available instruments - open sessions, send commands, read responses;

  • Work with binary data and I/O buffers.

Working with RITM

After installing the support package for working with external equipment and connecting the host programme, the module for working with RITM becomes available in the system.

RITM is a hardware-based real-time modelling solution that provides the ability to integrate and control processes on real equipment. With the external hardware support package, Engee accesses the RITM system and can work directly with it using the Julia programming language.

Working with RITM in Engee allows:

  • Load and run models on the RITM machine;

  • Generate C-binding for models;

  • Compile and run models in different modes (Standalone or External);

  • Check device availability and work with files on RITM;

  • Obtain information about memory consumption by the model and output execution logs.

Command control

Similar to the software model control functions in Engee (see Software control of modelling), which simplify working with models in Engee, the interaction with external equipment has its own set of functions to facilitate the control of connected devices:

In both cases, usage of the functions requires the hardware package to be installed and its module to be explicitly connected:

engee.package.install("Engee-Device-Manager")
using Main.EngeeDeviceManager