IOWidgets

Human Machine Interface solution

  • OS independent

    Qt-Designer for
    design of GUI
  • Profinet support

    for communication
    with remote controller
  • Python scripting

    for extending with
    custom functionality
  • Portable

    to custom Linux-based
    (embedded) systems
  • Raspberry Pi

    support for low-budget
    scenarios
  • PyQt modules

    can be imported in custom
    scripts

IOWidgets for Linux-based (embedded) systems
Human Machine Interface solution

IOWidgets was designed

with the goal to facilitate their operation in simple automation tasks where other solutions, like a PLC, would be overblotted and expensive. In contrast to a PLC, the strong advantage for using a Linux-based system is the flexibility to integrate periphery (Linux supports immense number of device drivers), network protocols, operating system resources (like filesystems) and also external libraries/applications. Additionaly, there exists a wide range in price and performance of devices to select for achieving the desired task on the best possible manner. Getting started in the development of user applications for Linux could be a barrier that IOBlocks aims to overcome.


The integration of IOBlocks

allows to build applications in a simple and intuitive way by creating diagrams with graphical functional blocks. The interface is implemented as web-application (HTML5) where the server runs on the device. This approach provides OS independency as only requires a web-browser for connecting to the device and start to design the user application. The configuration of the hardware/software resources are configured through the web-interface too. At example the creation of VPN connection profiles that can be used afterwards in the blocks diagram for bringing up/down according to the application requirements.

The IOBlocks approach

mainly consists in interconnecting functional blocks in a diagram. Each block covers a specific operation that processes input data and forwards new output data for other interconnected blocks. This new data can be written to a periphery like serial port. In difference to a PLC, the data exchange between blocks is event-triggered. Each block is able to detect events and emit signals for other blocks. This is also know as signal and slot communication. Thus simplifies the development as don't need to take care about sequential code execution, but in special cases have to consider parallel processing of an event as the blocks detect the event in unpredictable order. The sample video demostrates IOBlocks with a quite simple diagram that handles following tasks:


* Listen and read one byte from serial port /dev/ttyS0
* Set GPIO 51 when byte arrives, and send a SMS to number +34 12345678
* Afterwards write byte value 12 to USB port /dev/ttyUSB0.

Currently IOBlocks

is available in a Beta version, but it already includes a wide range of functional blocks for creating applications like data collectors, VPN gateways to Modbus/Profinet or just for special device logic. The number of blocks is limited to basic level yet, but in the future the list will growth with support for periphery like webcams or audio cards. If you have interest in the development of a custom block, please contact us.