Test_ThreePositionSwitch Icon
Test_ThreePositionSwitch
Usage
PrimitiveComponents.Test_ThreePositionSwitch()
Behavior
\[ \begin{equation} \left[ \begin{array}{c} \mathrm{connect}\left( sInputprimary_{+}y(t), switch1_{+}input_{primary(t)} \right) \\ \mathrm{connect}\left( sInputsecondary_{+}y(t), switch1_{+}input_{secondary(t)} \right) \\ \mathrm{connect}\left( sInputdefault_{+}y(t), switch1_{+}input_{default(t)} \right) \\ \mathrm{connect}\left( sPrimary_{+}y(t), switch1_{+}switch_{primary(t)} \right) \\ \mathrm{connect}\left( sSecondary_{+}y(t), switch1_{+}switch_{secondary(t)} \right) \\ \mathtt{switch1.outp}\left( t \right) = ifelse\left( ifelse\left( \mathtt{switch1.input\_primary}\left( t \right), \mathtt{switch1.input\_default}\left( t \right); \mathtt{switch1.switch\_secondary}\left( t \right) = 0 \right), ifelse\left( \mathtt{switch1.input\_secondary}\left( t \right), \mathtt{switch1.input\_default}\left( t \right); \mathtt{switch1.switch\_secondary}\left( t \right) = 1 \right); \mathtt{switch1.switch\_primary}\left( t \right) = 1 \right) \\ \mathtt{switch1.switch\_3\_position}\left( t \right) = \mathtt{switch1.outp}\left( t \right) \\ \mathtt{sInputdefault.y}\left( t \right) = \mathtt{sInputdefault.offset} + \mathtt{sInputdefault.amplitude} ifelse\left( t \geq \mathtt{sInputdefault.start\_time}, \sin\left( \mathtt{sInputdefault.phase} + 6.2832 \mathtt{sInputdefault.frequency} \left( - \mathtt{sInputdefault.start\_time} + t \right) \right), \sin\left( \mathtt{sInputdefault.phase} \right) \right) \\ \mathtt{sInputprimary.y}\left( t \right) = \mathtt{sInputprimary.offset} + \mathtt{sInputprimary.amplitude} ifelse\left( t \geq \mathtt{sInputprimary.start\_time}, \sin\left( \mathtt{sInputprimary.phase} + 6.2832 \mathtt{sInputprimary.frequency} \left( - \mathtt{sInputprimary.start\_time} + t \right) \right), \sin\left( \mathtt{sInputprimary.phase} \right) \right) \\ \mathtt{sInputsecondary.y}\left( t \right) = \mathtt{sInputsecondary.offset} + \mathtt{sInputsecondary.amplitude} ifelse\left( t \geq \mathtt{sInputsecondary.start\_time}, \sin\left( \mathtt{sInputsecondary.phase} + 6.2832 \mathtt{sInputsecondary.frequency} \left( - \mathtt{sInputsecondary.start\_time} + t \right) \right), \sin\left( \mathtt{sInputsecondary.phase} \right) \right) \\ \mathtt{sPrimary.y}\left( t \right) = ifelse\left( t > \mathtt{sPrimary.start\_time}, ifelse\left( t \leq \mathtt{sPrimary.start\_time} + \mathtt{sPrimary.duty\_cycle} \mathtt{sPrimary.period}, \mathtt{sPrimary.amplitude}, \mathtt{sPrimary.offset} \right), \mathtt{sPrimary.offset} \right) \\ \mathtt{sSecondary.y}\left( t \right) = ifelse\left( t > \mathtt{sSecondary.start\_time}, ifelse\left( t \leq \mathtt{sSecondary.start\_time} + \mathtt{sSecondary.duty\_cycle} \mathtt{sSecondary.period}, \mathtt{sSecondary.amplitude}, \mathtt{sSecondary.offset} \right), \mathtt{sSecondary.offset} \right) \\ \end{array} \right] \end{equation} \]
Source
test component Test_ThreePositionSwitch
switch1 = PrimitiveComponents.Switches.ThreePositionSwitch()
sInputdefault = BlockComponents.Sine(frequency = 0.4, amplitude = 12.0)
sInputprimary = BlockComponents.Sine(frequency = 0.2, amplitude = 12.0)
sInputsecondary = BlockComponents.Sine(frequency = 0.8, amplitude = 12.0)
sPrimary = BlockComponents.Pulse(start_time = 1.0, offset = 0.0, duty_cycle = 1.0, period = 1.0, amplitude = 1.0)
sSecondary = BlockComponents.Pulse(start_time = 3.0, offset = 0.0, duty_cycle = 1.0, period = 1.0, amplitude = 1.0)
relations
connect(switch1.input_primary, sInputprimary.y)
connect(switch1.input_secondary, sInputsecondary.y)
connect(switch1.input_default, sInputdefault.y)
connect(switch1.switch_primary, sPrimary.y)
connect(switch1.switch_secondary, sSecondary.y)
end
Flattened Source
test component Test_ThreePositionSwitch
switch1 = PrimitiveComponents.Switches.ThreePositionSwitch()
sInputdefault = BlockComponents.Sine(frequency = 0.4, amplitude = 12.0)
sInputprimary = BlockComponents.Sine(frequency = 0.2, amplitude = 12.0)
sInputsecondary = BlockComponents.Sine(frequency = 0.8, amplitude = 12.0)
sPrimary = BlockComponents.Pulse(start_time = 1.0, offset = 0.0, duty_cycle = 1.0, period = 1.0, amplitude = 1.0)
sSecondary = BlockComponents.Pulse(start_time = 3.0, offset = 0.0, duty_cycle = 1.0, period = 1.0, amplitude = 1.0)
relations
connect(switch1.input_primary, sInputprimary.y)
connect(switch1.input_secondary, sInputsecondary.y)
connect(switch1.input_default, sInputdefault.y)
connect(switch1.switch_primary, sPrimary.y)
connect(switch1.switch_secondary, sSecondary.y)
metadata {}
endTest Cases
No test cases defined.
Related
- Examples
- Experiments
- Analyses
- Tests