µCrons   Final Results  
 
 


µCrons Middleware



The goal of the µCrons project was to provide an embedded system computing infrastructure (middleware) for mechatronic components  (µCrons = mechatronic building blocks) that support predictable online reconfiguration of real-time application software that is distributed among them (µCrons).

 

The development (solution) is built upon the new IEC 61499 standard "Function Blocks for Industrial-Process Measurement and Control Systems".




Basic Middleware

During the 1st project phase an IEC 61499 compliant runtime for small and resource constraint embedded controllers was developed which serves as basis for the µCrons middleware. One of the main goals of this development was to introduce a hardware abstraction layer into the middleware for an easy porting to different embedded controllers and underlying Real-time Operating System (RTOS).

 

The following figure gives an overview of the basic µCrons middleware:






Overview µCrons Middleware (© The µCrons Consortium)


The basic µCrons middleware provides the following features:

  • Basic FBs, Composite FBs & SIFBs
  • Elementary Data Types according to IEC 61131-3
  • Event & Data Connections
  • RMT-Device, RMT- & EMB-Resource
  • Configurations-Commands (Create, Write, Start … according to  IEC 61499)
  • Communication FBs (Server/Client, Publish/Subscribe for Ethernet, locale Comm-FBs – Publ, Subl)
  • I/O FBs for Digi Connect ME & IPC@Chip embedded controllers

The basic µCrons middlware was developed and tested for and on the following plattforms:




Enhanced µCrons Middleware

During the 2nd project phase the basic µCrons middleware was enhanced supporting deterministic execution of IEC 61499 based applications as well as an enlarged set of (re-)configuration commands supporting dynamic reconfiguration (online change) of software components (function blocks). In addition the IEC 61499 engineering approach was enhanced supporting the specification of real-time constraints (timing constraints).



As a firsts step existing work in the domain of real-time execution have been investigated. In a further step execution elements within an IEC 61499 device have been investigated to derive a mapping between general real-time control execution elements and IEC 61499 execution elements. As a result of this investigations a new execution environment based on the so called Event Chain concept was developed. This new execution environment allows executing a mixed event and time triggered control application and also meets under defined circumstances specific constraints of control applications. In order to determine in advance if a certain control application will meet its deadlines schedulability rules for dynamic and static priority scheduling where derived. 

 

The following figure provides an overview of the developed extended execution model for the µCrons middleware.




Extended Execution Model for µCrons Middleware (© The µCrons Consortium)


According to the extended execution model supporting deterministic execution a corresponding specification technique for real-time constraints was developed during the µCrons project which is shown in the following figure.




Specification of real-time constraints (© The µCrons Consortium)


A main guarding condition of this work was the support for dynamic reconfiguration. The presented execution environment supports dynamic reconfiguration of control applications. The reconfiguration can either be initiated from a user via configuration tools or a special control application—herein referred as Reconfiguration Control Application (RCA)—that was build for dynamic reconfiguration of control application in a distributed system as depicted in the following figure. Therefore in both cases an underlying runtime system has to provide the necessary services for reconfiguration. The µCrons reconfiguration approach is based on the IEC 61499 reference model.




Reconfiguration of Control Applications using RCAs (© The µCrons Consortium)


Based on the device management commands introduced in IEC 61499 and the analysis of general reconfiguration tasks the following set of basic reconfiguration services are identified and categorised:

  • Structural Services
  • Execution Control Services
  • State Interaction Services
  • Query Services
  • Library Services
  • Special Services

 

(© The µCrons Consortium)