FB_SineWave (Function Block)
Generates a sine wave signal.
The output follows:
where \(A\) is Amplitude, \(T\) is Period in seconds,
\(\phi\) is Phase in radians, and \(B\) is Bias.
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
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 sine 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.