Signal flow
Sig_path settings
Sig_path processing block sits between the inputs and the main block. Sig_path has 2
analog inputs called level1
and level2
, and 2
digital inputs, in1
and in2
.
Sig_path is essentially a function that takes 5 arguments:
sig_path
parameter - an integer value selecting the wanted schemelevel1
- value of the first analog inputlevel2
- value of the second analog inputin1
- value of the first digital inputin2
- value of the second digital input
and outputs 2 values:
output_level
- analog value, that will be further converted to cmd with csc.disarm
- can be only0/1
, if1
is outputted and in parameters disarming is enabled, the motor won't be spinning even iflevel
is not zero.
By setting parameter sig_path
in the controller you can select one of the following schemas. If is sig_path
set to any other value the controller acts as if sig_path
was set to zero.
sig_path = 0
No input is mapped to the control block. Useful when you want to use directly the driver API to control the motor.
output_level
is set to0
, no matter the inputs.disarm
here is unimportant becauselevel
is always zero.
If you want to completely disable the OPHION application. Set parameter /common/appsel
to 10
.
With this setting, the controller will not beep on the startup, or the mode
switch will not work.
sig_path = 1
- default
This is the default setting, one analog input is mapped to the cmd.
output_level
is equal tolevel1
.disarm
is always zero.
sig_path = 2
Similar to sig_path = 1, only implements safety check via `level2``.
output_level
is equal tolevel1
only iflevel2 >= 0
, otherwiseoutput_level
is zero.disarm
is always zero.
sig_path = 3
Same as sig_path = 1, but with disarm.
output_level
is equal tolevel1
.disarm
is1
iflevel2 <=0
and0
otherwise.
sig_path = 4
output_level
is equal tolevel1
ifin1 = 1
(enable switch), otherwise is zero. Andoutput_level
is multiplied by-1
(reverse switch) ifin2 = 1
.disarm
is always zero.
sig_path = 5
With level1
you set the value that should be in level_output
and in1
serves as forward switch and in2
serves as backward switch.
output_level
is set like this:- if
in1
is enabledoutput_level
is equal tolevel1
. - if
in2
is enabledoutput_level
is equal to-level1
. - if neither of them is enabled
output_level
is set to zero. - if both of them are enabled
output_level
is set tolevel1
.
- if
disarm
is always zero.
sig_path = 6
Acts as sig_path = 5, if level1
was always 1.
output_level
is set like this:- if
in1
is enabledoutput_level
is equal to1
. - if
in2
is enabledoutput_level
is equal to-1
. - if neither of them is enabled
output_level
is set to zero. - if both of them are enabled
output_level
is set to1
.
- if
disarm
is always zero.
sig_path = 7
output_level
is set tolevel1 + level2
.disarm
is always zero.