y$(instance)Ramp Icon

Ramp

Generate ramp signal

This component extends from Signal

Usage

Ramp(start_time=0.0, offset=0.0, duration, height)

Parameters:

NameDescriptionUnitsDefault value
start_times0
offset0
durations
height

Connectors

  • y - This connector represents a real signal as an output from a component (RealOutput)

Behavior

\[ \begin{align} y\left( t \right) &= ifelse\left( \mathtt{start\_time} < t, ifelse\left( t < \mathtt{duration} + \mathtt{start\_time}, \mathtt{offset} + \frac{\mathtt{height} \left( - \mathtt{start\_time} + t \right)}{\mathtt{duration}}, \mathtt{height} + \mathtt{offset} \right), \mathtt{offset} \right) \end{align} \]

Source

# Generate ramp signal
component Ramp
  extends Signal
  parameter duration::Time
  parameter height::Real
relations
  y = if start_time<time then if time<start_time+duration then offset+(time-start_time)*height/duration else offset+height else offset
metadata {"JuliaSim": {"icons": {"default": "jsml://BlockComponents/Ramp.svg"}}}
end
Flattened Source
# Generate ramp signal
component Ramp
  y = RealOutput() [{
    "JuliaSim": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}
  }]
  parameter start_time::Time = 0.0
  parameter offset::Real = 0.0
  parameter duration::Time
  parameter height::Real
relations
  y = if start_time

Test Cases

  • Examples
  • Experiments
  • Analyses