Name | Description |
---|---|
ShowValue | Show Integer value from numberPort or from number input field in diagram layer dynamically |
And | Logical 'and': y = u[1] and u[2] and ... and u[nu] |
Or | Logical 'or': y = u[1] or u[2] or ... or u[nu] |
Xor | Logical 'xor': y = oneTrue(u) (y is true, if exactly one element of u is true, otherwise it is false) |
Nand | Logical 'nand': y = not ( u[1] and u[2] and ... and u[nu] ) |
Nor | Logical 'nor': y = not ( u[1] or u[2] or ... or u[nu] ) |
RisingEdge | Output y is true, if the input u has a rising edge, otherwise it is false (y = edge(u)) |
FallingEdge | Output y is true, if the input u has a falling edge, otherwise it is false (y = edge(not u)) |
ChangingEdge | Output y is true, if the input u has either a rising or a falling edge and otherwise it is false (y=change(u)) |
MultiSwitch | Set Boolean expression that is associated with the first active input signal |
OnDelay | Delay a rising edge of the input, but do not delay a falling edge. |
Name | Description |
---|---|
use_activePort | = true, if activePort enabled |
active | Boolean variable to visualize if use_activePort=false (time varying) |
Name | Description |
---|---|
activePort | Boolean variable to be shown in diagram layer if use_activePort = true |
active2 |
Name | Description |
---|---|
u[nu] | |
y |
Name | Description |
---|---|
u[nu] | |
y |
Name | Description |
---|---|
u[nu] | |
y |
Name | Description |
---|---|
u[nu] | |
y |
Name | Description |
---|---|
u[nu] | |
y |
A rising edge of the Boolean input u results in y = true at this time instant. At all other time instants, y = false.
Extends from Interfaces.PartialBooleanSISO (Partial block with a BooleanInput and a BooleanOutput signal).
Name | Description |
---|---|
pre_u_start | Value of pre(u) at initial time |
Name | Description |
---|---|
y | |
u |
A falling edge of the Boolean input u results in y = true at this time instant. At all other time instants, y = false.
Extends from Interfaces.PartialBooleanSISO (Partial block with a BooleanInput and a BooleanOutput signal).
Name | Description |
---|---|
pre_u_start | Value of pre(u) at initial time |
Name | Description |
---|---|
y | |
u |
A changing edge, i.e., either rising or falling, of the Boolean input u results in y = true at this time instant. At all other time instants, y = false.
Extends from Interfaces.PartialBooleanSISO (Partial block with a BooleanInput and a BooleanOutput signal).
Name | Description |
---|---|
pre_u_start | Value of pre(u) at initial time |
Name | Description |
---|---|
y | |
u |
The block has a vector of Boolean input signals u[nu] and a vector of (time varying) Boolean expressions expr[:]. The output signal y is set to expr[i], if i is the first element in the input vector u that is true. If all input signals are false, y is set to parameter "y_default" or to pre(y) depending on the parameter use_pre_as_default:
// Conceptual equation (not valid Modelica) i = 'first element of u[:] that is true'; y = if i==0 then if use_pre_as_default then pre(y) else y_default else expr[i];
Name | Description |
---|---|
expr[nu] | y = if u[i] then expr[i] else y_default (time varying) |
use_pre_as_default | set true to hold last value as default (y_default = pre(y)) |
y_default | Default value of output y if all u[i] = false |
Name | Description |
---|---|
u[nu] | Set y = expr[i], if u[i] = true |
y | Output depending on expression |
A rising edge of the Boolean input u gives a delayed output. A falling edge of the input is immediately given to the output.
Simulation results of a typical example with a delay time of 0.1 s is shown in the next figure.
Extends from Interfaces.PartialBooleanSISO (Partial block with a BooleanInput and a BooleanOutput signal).
Name | Description |
---|---|
delayTime | Delay time [s] |
Name | Description |
---|---|
y | |
u |