2.12.10
FB 29: Signal recorder and data trigger diagnostics
Signal recorder
The "diagnostics" FB allows various diagnostic routines to be performed on the PLC user
program. A diagnostic routine logs signal states and signal changes. In this diagnostic
routine, function number 1 is assigned to the Func parameter. Up to 8 Boolean signals
(parameters Signal_1 to Signal_8) are recorded in a ring buffer each time one of the signals
changes. The current information of parameters Var1 (byte value), and Var2 and Var3
(integer values) is also stored in the ring buffer. The number of past OB 1 cycles is also
stored in the buffer as additional information. This information enables the graphical
evaluation of signals and values in OB 1 cycle grid. The first time the "diagnostics" FB is
called in a new PLC cycle, the NewCycle parameter must be set to TRUE. If the
"diagnostics" FB is called several times in the same OB 1 cycle, the NewCycle parameter
must be set to FALSE for the second and subsequent calls. This prevents a new number of
OB 1 cycles from being calculated. The ring buffer is set up by the user. The DB of the ring
buffer must be passed to the diagnostics FB in the BufDB parameter. The ring buffer must
use an array structure, as specified in the source code. The array can have any number of
elements. A size of 250 elements is recommended. The ClearBuf parameter is used to clear
the ring buffer and set the BufAddr pointer (I/O parameter) to the start. The associated
instance DB for the FB is a DB from the user area.
Data trigger
The data trigger function is intended to allow triggering on specific values (or bits) at any
permissible memory cell. The cell to be triggered is "rounded" with a bit mask (AndMask
parameter) before the TestVal parameter is compared in the diagnostic block.
Note
The source code for the function is available in the source container of the basic-program
library under the name Diagnose.awl.. The instance DB and the ring buffer DB are also
defined in this source block. The function call is also described in the function. The DB
numbers and the call must be modified.
FUNCTION_BLOCK FB 29
VAR_INPUT
Func : INT ;
//0 = No function, 1 = Signal recorder, 2 = Data trigger
PLC Basic Program Solution Line (P3 sl)
Function Manual, 08/2005 Edition, 6FC5397-0BP10-0BA0
Signal_1 : BOOL ;
Signal_2 : BOOL ;
Signal_3 : BOOL ;
Signal_4 : BOOL ;
Signal_5 : BOOL ;
//Function number
Detailed Description
2.12 Block descriptions
2-151