Generated reference › Step — Control Systems/Sources
kind: generated#block#control-systems-sources

Step — Control Systems/Sources

Control_Systems/Sources/Step · 0 input / 1 output port(s) at insert · exports to Python, MATLAB, Java, Rust, C, C++, VHDL, Verilog, SystemVerilog, PLC Structured Text

Description#

The block's own DESCRIPTION_HTML, rendered verbatim — the same text the config dialog's info panel and the library navigator show. Fix a wrong sentence in the block's .cpp (R-D9), never here.

Step

Control Systems / Sources

A source that holds one value until a given time, then holds another:

y(t) = Initial Value while t < Step Time, Final Value from then on.

Ports

  • Output – the step signal. It has no inputs; the signal is generated from the block's own clock.

Parameters

  • Step Time (sec) – when the transition happens.
  • Initial Value – the value held before that time.
  • Final Value – the value held from that time on.
  • Sampling Time (s) – zero or less inherits the solver's rate; a positive value runs the block at that period.

Vector parameters

Any of the three may be a vector or matrix instead of a scalar: the others are then expanded to match, and the output takes that shape – one step per entry, each with its own time and levels. Non-scalar parameters must agree in size, and the run stops with a message naming the block if they do not.

Code export

All ten targets: Python, MATLAB, Java, Rust, C, C++, VHDL, Verilog, SystemVerilog and PLC Structured Text. Each uses a per-block local sample clock (start time plus tick times sampling time) rather than a global one, and the three levels are exposed as tunable parameters on the generated core.

Simulink bridge

Import and export, mapped to simulink/Sources/Step. "Step Time (sec)" to Time, "Initial Value" to Before, "Final Value" to After, "Sampling Time (s)" to SampleTime. Nothing is left behind – every parameter has a counterpart.

Notes

  • Time-driven and stateless: the output depends only on the current time.

Code facts#

FactValue
registered typeControl_Systems/Sources/Step
familyControl_Systems/Sources
solver environment classICoreBlock_0_Control_Systems_1_Sources_2_Step
sourcesrc/ICoreSDK/ICoreBlockLibrary/Blocks/Control_Systems/Sources/Step/ICoreBlock_0_Control_Systems_1_Sources_2_Step.cpp
headersrc/ICoreSDK/ICoreBlockLibrary/Blocks/Control_Systems/Sources/Step/ICoreBlock_0_Control_Systems_1_Sources_2_Step.h
default size on canvas70 × 70 px
ports at insert0 in, 1 out
code generators implementedPython, MATLAB, Java, Rust, C, C++, VHDL, Verilog, SystemVerilog, PLC Structured Text

Ports#

#DirectionSignal typeDescription label
1outICoreDouble

Ports the constructor creates. A block whose port list changes with its configuration adds or removes ports at load time; the count above is the one a freshly inserted block has.

Configuration variables#

Config variableDefaultSimulink parameter
Step Time (sec)1Time
Initial Value0Before
Final Value1After

Every block also carries Sampling Time (s) from ICoreBlockSolverEnvironment: zero or less inherits the solver's rate, a positive value runs the block at that period.

supportSupport::Both
Simulink pathsimulink/Sources/Step
port-count rulePortsParam::None
SampleTime parameteryes
ICore configSimulink parameterValue translation
Step Time (sec)Timepasses through
Initial ValueBeforepasses through
Final ValueAfterpasses through

Catalog contract: src/ICoreSDK/ICoreCoder/ICoreCommandSystem/SimulinkBridge/ICoreSimulinkBlockCatalog.h

Description vs code#

The lists agree. check_block_descriptions.py finds no disagreement between the description's Ports, Parameters, Code export and Simulink bridge lists and the code's.

The verdict above is tools/docs/check_block_descriptions.py (P7.1), which compares LISTS. It cannot read a sentence: "stateless" on a block with a state, an initial-value semantic the recursion does not implement, a "not synthesizable" caveat the HDL banner contradicts. That is the agent audit (P7.3) on BLOCK_DESCRIPTION_AUDIT.md, and this tool's green is not a substitute for one.

Sample results#

Step — No input: the block run aloneStep — No input: the block run alone00.51012345t (s)

Plotted: free — No input: the block run alone

Category source · sample time 0.1 · 60 steps · commit ccf005c8 · produced by docsSample --out <folder> --steps 60 · data docs/generated/samples/Control_Systems__Sources__Step.json · the SVG is generated from those numbers by tools/docs/plot_svg.py, so it is a run and not a drawing (R-D10).