Skip to content

Flexxbotics/transformers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flexxbotics Transformers

Industrial Device & Workcell Transformers for the Flexxbotics Platform

License Language Domain Platform


Flexxbotics Logo

Overview

This repository is home to open-source industrial transformers compatible with FlexxCore, the runtime engine at the core of the Flexxbotics Software-Defined Automation Platform.

Transformers provide a standardized abstraction layer for integrating plant machines, PLCs, CNCs, CMMs, sensors, safety systems, robots, and automation equipment using both open industrial protocols and vendor-specific proprietary interfaces.

In FlexxCore architecture, a Transformer is the software component responsible for communicating with equipment. Transformer methods become the runtime execution points for:

  • Status reads
  • Variable reads and writes
  • Commands
  • Polling logic
  • Automation behavior

This repository contains industrial automation transformers — not machine learning or NLP transformers.

Flexxbotics Transformers enable many-to-many interoperability across heterogeneous industrial equipment, allowing all types of factory machines, tools, PLCs, robots, CNCs,test & inspection systems, and workcells to operate together through a common runtime and API for

  • Orchestration of automation workcells (HMI, Cell Logic, and Controls)
  • Closed loop process control/detection of machines and other equipment from trending inspection and sensors readings
  • Data integration to factory software systems such as MES, IIoT/SCADA, ERP, and QMS
  • Data acquisition of multi-source streams for AI training sets

Links


Intended Use Cases

  • Machine-to-automation integration
  • PLC-based automation
  • Robotic workcells
  • Industrial test, inspection and metrology
  • Process trend deviation detection and correction
  • Closed-loop automated control of equipment parameters
  • Smart factory data acquisition and control for MES, IIoT/SCADA, ERP, and QMS initiatives
  • Multi-source, multi-modal production data stream pipelines for Industrial AI training data sets

What You Can Do

  • Connect machines, automation, robots, and other equipment for data acquisition and closed-loop control
  • Create multi-machine automation cells
  • Integrate machines, robots, inspection, and other equipment with factory software solutions (MES, IIoT/SCADA, ERP, QMS)
  • Program your own machine-to-automation or machine-to-business system transformers
  • Collect multi-source data streams for AI training data sets
  • Get, use, modify, and redistribute transformers under a permissive open-source license

What You’ll Find in This Repository

  • Open-source equipment transformers compatible with Flexxbotics
  • A base Transformer Template for creating new device connector drivers
  • A reference Workcell Transformer that composes multiple transformers to:
    • Reconcile overall workcell state
    • Coordinate multi-device and factory software automation logic
    • Execute multi-threaded and asynchronous controls
    • Perform automated fault recovery and restarts
  • Example Automation Scripts that:
    • Are callable from the Flexxbotics HMI / Controls Configurator
    • Can run in real time
    • Interact directly with transformers to execute automation tasks for machines and factory software

Key Concepts

  • Transformers are loaded into the Flexxbotics SDA runtime to operate
  • Each transformer abstracts vendor-specific protocols behind a standardized interface
  • Every transformer added to a runtime is automatically compatible with all others
  • Transformers are implemented in Python
  • You can use Flexxbotics Studio or any Python IDE to develop, extend, or debug transformers

FlexxCore

FlexxCore is a low-code environment for composing and running Transformers – translation connector drivers – which includes a secure, high performance runtime framework with data pipelines, protocols, class structures, method sets, and data models for development.

Transformers enable realtime bi-directional read/write between all types of factory equipment and automation for many-to-many interoperability.

FlexxCore is built around Devices and Transformers, with supporting concepts such as Machine Models, Protocols, Extensions, Adapters, and Scripts.

Devices

A Device is the top-level runtime object representing physical or logical equipment, such as:

  • Robots
  • PLCs
  • Factory machines
  • Safety systems
  • Inspection & test equipment
  • Complete workcells

Devices are created in the Flexxbotics UI and are assigned a Machine Model, which determines which transformer is used for communication.


Transformers

A Transformer is the software component responsible for communicating with equipment.

Each transformer includes:

  • A JSON definition (metadata, Python file name, class name)
  • A Python implementation
  • Runtime methods mapped directly to the Device API

When a device is instantiated, its transformer is instantiated in the runtime and bound directly to that device.


Machine Models

Machine Models act as the configuration layer that binds physical equipment to a transformer.

Machine model definitions specify:

  • OEM
  • Equipment model
  • Controller type
  • Transformer assignment

Conceptual Architecture (Runtime Execution)

This diagram is a conceptual representation of FlexxCore runtime execution.

┌────────────────────────┐
│   Physical Equipment   │
│ (Robot, PLC, CNC, CMM) │
└───────────┬────────────┘
            │
            ▼
┌────────────────────────┐
│   Protocol / SDK Layer │
│ (TCP, OPC-UA, OEM API) │
└───────────┬────────────┘
            │
            ▼
┌────────────────────────┐
│      Transformer       │
│  - Status Reads        │
│  - Variables           │
│  - Commands            │
│  - Polling Logic       │
└───────────┬────────────┘
            │
            ▼
┌────────────────────────┐
│         Device         │
│   Runtime Object       │
└───────────┬────────────┘
            │
            ▼
┌────────────────────────┐
│    FlexxCore Device    │
│           API          │
└────────────────────────┘

License

These open-source transformers are released under the Apache 2.0 License.
You are not required to contribute modifications back, though the community always appreciates improvements that advance capabilities.

Feedback & Community

Let us know what you like about Flexxbotics Transformers—we want to hear from you.
Even more importantly, tell us what you don’t like or what you’d like to see next. Your feedback and innovative ideas help shape the roadmap.

Tags / Keywords

industrial automation · robotics · workcell automation · CNC · PLC · CMM ·
industrial protocols · factory automation · robot integration ·
FlexxCore · Flexxbotics · Python automation · interoperability · connectivity

Project Content

Name Description Directory
OPC UA Protocol definition for communication with OPC-UA servers Protocols/opcua.py
MTConnect Protocol definition for communication with MTConnect agents Protocols/mtconnect.py
MQTT Protocol definition for communication with MQTT brokers Protocols/mqtt.py
TCP/IP Protocol definition for TCP/IP socket communication Protocols/tcp.py
Modbus-TCP Protocol definition for communication with Modbus-TCP enabled devices Protocols/modbus.py
Siemens S7comm Protocol definition for communication with S7comm based Siemens PLCs Protocols/siemens_s7comm.py
Allen Bradley EIP-Logix Protocol definition for communication with EIP-Logix based Allen Bradley PLCs Protocols/allen_bradley_eip-logix.py
Beckhoff ADS Twincat Protocol definition for communication with ADS Twincat based Beckhoff PLCs Protocols/beckhoff_ads_twincat.py
Serial Protocol definition for communication with serial devices Protocols/serial.py
Universal Robots Connector driver for all models of the Universal Robot 6-axis robotic arms Transformers/Robots/UniversalRobots
FANUC Robots Connector driver for all models of FANUC 6-axis robotic arms (industrial & collaborative) Transformers/Robots/Fanuc
Haas Next Gen (NGC) Connector driver for all models of Haas machines using the Next Gen Controller Transformers/CNCs/Haas
Haas Serial Connector driver for all models of Haas machines using the legacy controller Transformers/CNCs/Haas
Fanuc FOCAS2 Connector driver for all machines using I-Series FANUC-based controllers Transformers/CNCs/Fanuc CNC
Heidenhain TNC Connector driver for TNCRemo support for Heidenhain TNC-based controllers Transformers/CNCs/Heidenhain
Yaskawa Connector driver for Modbus-TCP enabled communication with Yaskawa MP2600 motor controllers yaskawa_mp2600.py
Okuma Connector driver for Okuma OSP300 and later controllers Transformers/CNCs/Okuma
Hexagon Connector driver for Hexagon CMMs Transformers/CMMs/Hexagon
Keyence Telecentric Connector driver for Keyence telecentric measurement devices Transformers/Inspection/KeyenceTelecentric
Keyence Profiler Connector driver for Keyence profile sensors Transformers/Inspection/KeyenceProfiler
COGNEX Connector driver for Modbus-TCP enabled communication with Cognex In-Sight cameras Transformers/Cameras/Cognex
TRUMPF Laser Marker Connector driver for Trumpf laser markers Transformers/Lasers/Trumpf
FOBA Connector driver for the M-Series FOBA lasers with Mark-US TCP interface Transformers/Lasers/Foba
SICK Connector driver for the SICK FlexiCompact safety PLC Transformers/PLCs/FlexiCompact
WAGO Connector driver for Modbus-TCP enabled communication with Wago I/O blocks Transformers/IO/Wago
Sturtevant Richmont Connector driver for the Sturtevant Richmont Global400 torque controller interface Transformers/AssemblyTools/Global400

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages