Canonical wants you to run Ubuntu apps (snaps) for everything and on all types of devices, not only on your computer or smartphone. For example, base station apps (4G LTE, Bluetooth, LoRa…) will soon be able to run on LimeSDR board, the company is pushing for branded app stores, like the one for Orange Pi Boards, and now they have introduced the concept of App Logic Controllers (ALC) which are PLC devices running apps, thus bringing the concept of apps to the industrial world. Bosch Rexroth demonstrated the solution at Embedded World 2017 on their IndraControl XM22 PLC running Ubuntu Core.
Let’s have a look at the hardware first with IndraControl XM22 specifications:
- Processor – Intel Atom E620 one core / two threads processor @ 600 / 1300 MHz (3.3W TDP)
- Memory – 512 MB RAM
- Storage – likely some flash + SD card slot
- Networking Connectivity – Gigabit Ethernet (RJ45) port
- USB – 1x USB host port, 1x USB device port
- I/Os
- Function extension – Connection of IndraControl XM extension modules XFE01-1-FB-xx via controller bus socket module XA-BS02
- I/O extension – Connection of IndraControl S20 modules via controller bus socket module XA-BS01 or XA-BS02
- Fieldbus
- PROFINET RT Controller/device via extension modules
- Master/Slave Sercos
- EtherNet/IP Scanner/adapter via extension modules
- PROFIBUS DP Master/Slave via extension modules
- Power Supply – 24 V DC; Umin … Umax = 18 V … 31.2 V (including all tolerances, including ripple)
- Certifications – CE/UL/CSA
- Weight – 380 grams
- Temperature Range – -25 °C … +60 °C
- Relative humidity – 5% to 95%, EN 61131-2
- IP Rating – IP20
- Fatigue limits according to EN 60068-2-6 – 5 g
- Shock resistance (single shock) according to EN 60068-2-27 – 30 g
Normally, you’d connection a few IO boxes to the PLC, and run the software. The video below shows IndraControl XM22 in action with Ubuntu.
Rexroth PLC running on #Ubuntu Core #IoT @embedded_world #ew17 pic.twitter.com/k2vZOJQitm
— Ubuntu (@ubuntu) March 16, 2017
It’s pretty with all the LEDs blinking, but I could not find the exact details about the setup. Nevertheless one of the goals of apps to to reduce the cost of hardware and software, as it should work on any device that runs Ubuntu Core with the right interfaces, including Kunbus Revolution Pi industrial computer based on Raspberry Pi.
One example of industrial app is Induscover snap app which identifies and enumerates devices through various industrial standards such as BACnet, CoDeSys V2, EtherNet/IP, etc.. and compatible for hardware platforms such as Schneider Electric Modicon PLCs, Omron PLCs, PC Worx Protocol enabled PLCs, ProConOS enabled PLCs and Siemens SIMATIC S7 PLCs.
Snaps are supposed to be easy to install and use, and Induscover is no exception:
1 2 |
sudo snap install induscover sudo snap connect induscover:network-control ubuntu-core:network-control |
Those two commands will install induscover, discover attached devices, and publish discover/plc/out MQTT topic with the information. The github link to Induscover above also explain how to use Node-RED to manage and control the devices.

You’ll find more about Rexroth IndraControl XM22 PLC / ALC on the product page.
Thanks to Jian for the tip.

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress