PositionSwitch Icon
Switches.PositionSwitch
PositionSwitch(; name)A switch that selects between two real-valued inputs based on a control signal.
Variables
input_primary: Primary real input signalinput_secondary: Secondary real input signalswitch_primary: Switch control signal inputswitch_position: Output signal after switch
Description
Switches between two inputs based on the switchprimary control signal. When switchprimary is non-zero, outputs inputprimary, otherwise outputs inputsecondary.
Usage
PrimitiveComponents.Switches.PositionSwitch()
Connectors
input_primary- This connector represents a real signal as an input to a component (RealInput)input_secondary- This connector represents a real signal as an input to a component (RealInput)switch_primary- This connector represents a real signal as an input to a component (RealInput)switch_position- This connector represents a real signal as an output from a component (RealOutput)
Variables
| Name | Description | Units |
|---|---|---|
c1 | – | |
outp | – |
Behavior
\[ \begin{align} \mathtt{c1}\left( t \right) &= checkwithzero\left( \mathtt{switch\_primary}\left( t \right), 0 \right) \\ \mathtt{outp}\left( t \right) &= ifelse\left( \neg \mathtt{c1}\left( t \right), \mathtt{input\_secondary}\left( t \right), \mathtt{input\_primary}\left( t \right) \right) \\ \mathtt{switch\_position}\left( t \right) &= \mathtt{outp}\left( t \right) \end{align} \]
Source
"""
PositionSwitch(; name)
A switch that selects between two real-valued inputs based on a control signal.
# Variables
- `input_primary`: Primary real input signal
- `input_secondary`: Secondary real input signal
- `switch_primary`: Switch control signal input
- `switch_position`: Output signal after switch
# Description
Switches between two inputs based on the switch_primary control signal.
When switch_primary is non-zero, outputs input_primary, otherwise outputs input_secondary.
"""
component PositionSwitch
# Primary input
input_primary = Dyad.RealInput()
# Secondary input
input_secondary = Dyad.RealInput()
# Switch position input
switch_primary = Dyad.RealInput()
# Output after switch
switch_position = Dyad.RealOutput()
variable c1::Boolean
variable outp::Real
relations
c1 = checkwithzero(switch_primary, Float32(0.0))
outp = ifelse(!c1, input_secondary, input_primary)
switch_position = outp
end
Flattened Source
"""
PositionSwitch(; name)
A switch that selects between two real-valued inputs based on a control signal.
# Variables
- `input_primary`: Primary real input signal
- `input_secondary`: Secondary real input signal
- `switch_primary`: Switch control signal input
- `switch_position`: Output signal after switch
# Description
Switches between two inputs based on the switch_primary control signal.
When switch_primary is non-zero, outputs input_primary, otherwise outputs input_secondary.
"""
component PositionSwitch
# Primary input
input_primary = Dyad.RealInput()
# Secondary input
input_secondary = Dyad.RealInput()
# Switch position input
switch_primary = Dyad.RealInput()
# Output after switch
switch_position = Dyad.RealOutput()
variable c1::Boolean
variable outp::Real
relations
c1 = checkwithzero(switch_primary, Float32(0.0))
outp = ifelse(!c1, input_secondary, input_primary)
switch_position = outp
metadata {}
endTest Cases
No test cases defined.
Related
- Examples
- Experiments
- Analyses