Welcome to the Revolution Pi with Python

Program your Revolution Pi of Kunbus GmbH with Python!

Python module

This module provides you with various functions to access the hardware of the Revolution Pi with your Python program. It does not matter whether you come from the PLC sector and program cyclically or event-based as an application developer of e.g. Raspberry Pi.

PLC System for software, network and MQTT

With our RevPiPyPLC system you can make fast IO-Checks over the network, upload your control program, start it at system start and transfer all IO data via MQTT. Or simply write data from any Python system to the process image.

And there are no license fees!

Source example RevPiModIO version 2 – current

import revpimodio2

def eventfunction(ioname, iovalue):
    """Event function, which is executed when the value changes."""
    print("Input {} has value {}".format(ioname, iovalue))

# Instantiate RevPiModIO
rpi = revpimodio2.RevPiModIO(autorefresh=True)

# Catch Ctrl+C signal and exit program clean
rpi.handlesignalend()

# Register input events
rpi.io.I_1.reg_event(eventfunction)
rpi.io.I_2.reg_event(eventfunction)

# Start event processing (program will block here)
print("start mainloop")
rpi.mainloop()

More examples

Blog

Version 2.5.5

Important update Implementation of RevPi Flat (still without .core IOs). Hardening of NetIO (process image over the network). The call .cycleloop now accepts an optional blocking parameter. If you do not want the Cycleloop to be executed exclusively, blocking=False can be set – Same as blocking parameter of the .mainloop. shared_procimg can now be set …

Set up RevPiPyLoad on the new Revolution Pi

The current Revolution Pi models come with RevPiPyLoad preinstalled. In addition to executing and monitoring your Python control program, the service can also help debug the IOs, enables access to the process image via the network and offers MQTT functionalities.

Version 2.5.3

Important update! Bug fix in NetIO functions, which could lead to a crash in case of network errors. IO objects are now callable. The actual value will be returned via .io.name() or set with .io.name(True). This has the same function as .io.name.value, which is of course still available. New pictory module, which is designed for …