WHAT IS OPENFB?

OpenFB is a platform for executing function blocks according to the IEC 61499 standard. OpenFB is based on open source code and allows developers to:
Create custom function blocks without binding to specific hardware manufacturers
Deploy applications on any platform supporting Python 3 (Linux, Windows, embedded OS, RTOS)
Combine components written in Python, C++, and industrial languages into a unified system using standardized network protocols (OPC UA, MQTT, etc.)

USE CASES

  • Use in distributed control systems in industrial production
    Deployment of functional blocks on various hardware nodes. Communication between nodes via OPC UA with automatic state synchronization.

    Result: standardization and vendor independence, fault tolerance, and scalability from the local node to the enterprise.
  • Modeling of technological processes
    Debugging and validating control systems before launching on real equipment. Creation of digital twins of production lines. Step-by-step logic execution with event flow visualization.

    Result: reduced commissioning time, elimination of failures during initial startup.
  • Application in the educational process
    Designing distributed control systems on standard PCs without specialized hardware setups. Development of full-fledged control applications with subsequent deployment on budget-friendly systems.

    Results: reduced software costs for educational institutions, graduates with advanced competencies, and a project portfolio compatible with industrial equipment.

WHAT IS OPENFB SUITABLE FOR?

  • For industrial manufacturing
    Reduce costs and avoid blocking by eliminating vendor lock-in
  • For system integrators
    Expanded solution portfolio: combine components from different manufacturers freely without regard to compatibility
  • For developers
    Developers are no longer tied to proprietary environments: Python, ST, C++ and other languages ​​can be used within a single framework
ARCHITECTURE
• Each FB is both a producer and a consumer of data.
• The FB stores input events in a queue and variables in registers.
• Asynchronous processing - the FB waits for an event, reads variables, and executes a function.
• After execution, the FB transmits events and updates variables to the next FB.
• Access to values ​​via the OPC-UA server or 4DIAC-IDE occurs in real time.

The key advantage is complete asynchronicity and scalability due to multithreading.

JOIN OUR GITHUB COMMUNITY

CONTACT US