Member Contribution: Aimirim Leverages UAO Runtime and 4diac to Accelerate IEC 61499 application software development

Aimirim expands UAO Runtime functionality by adding SIFBs for APC

Renato Pacheco Silva of Aimirim, a UAO member, recently announced the launch of an open source plug-in for 4-DIAC for the UAO runtime. UAO member community is excited about this development that highlights the UAO runtime as an enabler for high-tech software engineering applications, and overall, as an opportunity for exploration and learning in the journey towards plug and produce software systems

With this plug-in, Aimirim, leveraging their Software Development expertise, is able to develop IEC 61499 block types in C++ for IIoT and Advanced Process Application use cases, bundle them into Universal Automation Runtime, create an IEC 61499 application (a function block network or networks) using the instances of these blocks in 4diac IDE, and deploy this application into Universal Automation Runtime from 4diac IDE.

10.12.2024
4diac IDE Plugin by Aimirim Enables Configurabilty with Universal Automation Devices

UAO: Renato, can you provide more details on what this plug-in allows?

Renato: The Aimirim UAO plugin is an open-source tool that allows the deployment of IEC 61499 application, that is a network of pre-defined IEC 61499 Function Blocks to the UAO Runtime using the 4Diac IDE (Eclipse Foundation OSS). As part of the deliverables, hard work had to be done to make the UAO Runtime work properly with the 4diac IDE. That’s the job Aimirim did as a contribution to the UAO Ecosystem, aiming for the spirit that brought us here: a sense of community. This open-source plugin is an invitation to everyone who wants to work the same way we do. It is also open for contribution.

Below is a diagram that depicts the workflow for using Python scripts and user-defined functions:

Workflow for using Python scripts and user-defined functions

UAO: So what can this plug-in be used for?

Renato: AIMIRIM has been developing IIoT applications or Advanced Process Control applications and deploying them using 4DIAC for 9 years. We have over 61 installed runtimes in various industries. We deploy complete runtime + application to any Edge device, such as Asrock, Advantech, Beckhoff, Beagle Bones and Raspberry Pi’s, converting them into IIoT Edge devices. This plug-in allows us to deploy such applications to UAO runtime from 4diac IDE.

Not being able to program Basic Function Blocks using the ECC (Electronic Control Chart) and Structured Text with JIT compilation is quite a limitation, isn’t it?

While ST with JIT compilation will not work on this plugin version for Basic Function Blocks, you can create blocks with user-defined functions implemented as Python scripts.  This covers scenarios where functions are to be defined and implemented in the runtime.

Aimirim has a Python library that is fully coupled with 4Diac. This allows you to run user-defined functions and change functions inside function blocks, which covers the necessity of customized behavior when developing applications in runtime.

UAO: Are there any plans to develop JIT compile capabilities for the 4DIAC IDE + UAO Runtime combination?

Renato: As you know, the UAO Runtime is being prepared to support 64-bit operation. This will be achieved using the OSS LLVM compiler planned to be available in near future releases of UAO runtime. This is a very well-known compilation technology and will make it feasible to add JIT compile capabilities to the IDE plug-in. So AIMIRIM is considering this and is looking for other UAO members who would be willing to contribute to such a development.

Aimirim

 

Aimirim is a Brazilian startup founded by researchers from the Federal University of Uberlândia (UFU) that started operating in the industrial market in 2016 and is strongly oriented to software-defined automation or software-defined facilities. This philosophy directly impacts understanding the limitations of some technology.

Share this article

News & Events

Custom Dig Input in IEC 61499 - HowTo
17.02.2025

Custom Digital Inputs in IEC 61499: How-To

Integrating Digital Inputs in IEC61499
17.02.2025

Integrating Digital Inputs in IEC 61499

Honeywell Member of UniversalAutomation.org
07.02.2025

Welcome, Honeywell!