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.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 …

Version 2.5.0

Important update! This update includes support for the Revolution Pi Compact. In addition, the handling for .cycleloop(…) has been improved and the Cycletools now also contain .device, .core, .io. This means that you can access the IOs directly without having to go directly via the RevPiModIO object. In addition, the .core class now always has …

Version 2.4.5

Important update! NetIO got massive stability and speed improvements, as well as a watchdog. (Requires RevPiPyLoad from 0.8.5). The Cycletools now have the .last flag, which if True indicates the last cycle before the end of the program. By querying that value, clean-up work can be done in the cycle function. Less resource consumption with …