Toolbox which is given to the called cycle function on each call by .cycleloop() .
revpimodio2.helper.Cycletools()
Classattributes
.core
.device
.io
You can direct access the.core
,.device
and.io
object ob your RevPiModIO instance. That makes it very easy to work with more functions and other modules. You just have to pass the Cycletools object.def loop(ct): # (...) ct.io.output.value = True ct.var.mrk_counter = ct.io.counter.value ct.io.counter.reset() # (...)
.first
Contains the valueTrue
in the first cycle at program start, otherwise alwaysFalse
. For example, for creating cycle variables.var.name = 2
.def loop(ct): if ct.first: ct.var.my_variable = 0 ct.core.a1green.value = True
.flag1c
.flag5c
.flag10c
.flag15c
.flag20c
Changes the status betweenTrue
andFalse
and hold that value for n cycles.
1 = 1 cycleFalse
, 1 cycleTrue
15 = 15 cyclesFalse
, 15 cyclesTrue
and so on.
.flank5c
.flank10c
.flank15c
.flank20c
It isTrue
in the first cycle, thenFalse
and in every n cycleTrue
.
10 = 9 cyclesFalse
, in the 10th cycleTrue
and so on
.last
Contains the valueTrue
in the last cycle after the program was requested to end. You should use this to cleanup your IOs.def loop(ct): # (...) if ct.last: ct.core.a1green.value = False ct.io.output.value = False
.runtime
This property will return the runtime of your cycle loop function at the moment, when you call it. So on the beginning of the function it will be nearly 0 and in the last line of your function you will have the max value.
.var
All cycle variables are appended to this empty class. These are usable in every cycle. The first definition should be made in the first cycle:def cycle(ct): if ct.first: # Create variables in the first cycle ct.var.anzahl = 10 ct.var.text = "Hallo Welt" ct.var.noch_eine = 0 # Variables are now accessible if ct.var.anzahl == 10: ct.var.noch_eine += 1 # and so on
classfunctios
.changed(io_object, edge=BOTH)
Check change of IO value from last to this cycle.
io_object
IO to check for changes to last cycle.edge=revpimodio2.BOTH
Check for RISING, FALLING or BOTH change of BIT orientated IOs.
.get_tofc(name)
Gets the value of the power-off delay.
name
Name of the power-off delay.
.set_tofc(name, cycles)
Starts the Switch-off delay whose value must be called via .get_tofc(name)
.
name
Name of the power-off delay.cycles
Number of cycles that the power-on delay should returnTrue
when.get_tofc(Name)
is called, after.set_tofc(name, cycles)
was not called in the cycle anymore. The cefault cycletime is 50 milliseconds.
.get_tonc(name)
Gets the value of the power-on delay.
name
Name of the power-on delay.
.set_tonc(name, cycles)
Starts the power-up delay whose value must be retrieved via .get_tonc(name)
.
name
Name of the power-on delay.cycles
Number of cycles the on-delay should return the valueFalse
when calling.get_tonc(Name)
, if.set_tonc(name, cycles)
is called in each cycle. Only after the cycle number has been reached,.get_tonc(Name)
returns the valueTrue
. The default cycletime is 50 milliseconds.
.get_tpc(name)
Gets the value of the pulse.
name
Name of the pulse.
.set_tpc(name, cycles)
Starts a pulse whose value must be retrieved via .get_tpc(name) .
name
Name of the pulse.cycles
Number of cycles the pulse should return the valueTrue
at call of.get_tpc(name)
, regardless of other.set_tpc(name, cycles)
calls! After reaching the number of cycles,.get_tpc(name)
then returnsFalse
. The default cycletime is 50 milliseconds.