FB_SawtoothWave (Function Block)
Generates a sawtooth wave signal.
The output rises linearly from -Amplitude to +Amplitude over one full
cycle then resets instantly, or falls from +Amplitude to -Amplitude
depending on Direction. Bias shifts the output vertically.
Phase shifts the wave horizontally in radians. Negative values shift
in the opposite direction.
Note
The block is FINAL and must be instantiated, not extended.
Use FB_init to set tPeriod, fAmplitude, fBias and
fPhase at declaration time.
Extends: FB_PeriodicSignal
Properties
Direction
Type: E_RampDirection
Gets or sets the direction of the sawtooth.
Rising ramps from -Amplitude to +Amplitude
before resetting. Falling is the inverse.
Changes take effect immediately.
Methods
FB_init
Inputs
Name |
Type |
Description |
|---|---|---|
|
|
if TRUE, the retain variables are initialized (warm start / cold start) |
|
|
if TRUE, the instance afterwards gets moved into the copy code (online change) |
|
|
Duration of one full cycle. |
|
|
Scales the wave. Output swings between Bias ± Amplitude. |
|
|
Shifts the output vertically. |
|
|
Phase offset in radians. Shifts the wave horizontally. |
Reset
Restarts the wave from the beginning by resetting the accumulated time to zero. The phase, amplitude, and bias are unaffected.
Run
Advances the sawtooth wave by one time step.
Note
Must be called once per cycle on a single PLC task. If the measured cycle
time is zero or Period is zero, the method returns early without
updating the output.