Version 0.16.0 – Less Python, more PLC

With this update you can program more PLC with less Python code.

We introduce: cycleloop(cyclefunction)

  • The new cycleloop reads the inputs, executes the passed function and writes the outputs in the set cycle time “auto_refresh“.
    If you call .devices.cycleloop(cyclefunction) in your program, it blocks at this point and cyclically executes the function “cyclefuntkion“. To this function an instance of class RevPiCycletools() is passed, which includes tools such as clock markers, edge flags, or timer objects.
  • New function for easy exit a cyclic or event-based program .handlesignalend(cleanupfunc)
  • If the set update rate of the process image (auto_refresh) is exceeded, you will get a warning – each time!
  • auto_refresh values ​​greater than 1000 milliseconds could produce errors with .wait(...) and mainloop()
  • Module closes faster with .cleanup() or .exit()
  • The module no longer blocks exit when using the Python shell’s interactive mode