LogGeneric_Output (FB)
FUNCTION_BLOCK LogGeneric_output EXTENDS AbbLConCA
This Function Block provides a decoded dataset of the corresponding data types from the SRAM-FIFOout of the Datalogger. The Function Block does not cover the transmission of the dataset. But it provides an interface for the user on which the data can be read and send according to application specific requirements and protocols.
The Function Block automatically reads the oldest dataset at a filling level of FIFOout > 0. Then the Function Block decodes the dataset from *.csv format and provides it to the outputs. The Function Block signals its availability through Done = TRUE and State = zLOG_OUTPUT_DATA_AVAILABLE. If this dataset is processed by the user, the user will have to signal this by Sent = TRUE to the Function Block. By the edge 0/1 the RAM-FIFOout is decremented by the value 1, Done changes to “FALSE” and on the output State the text “zLOG_OUTPUT_DATA_HAS_BEEN_SENT” appears. By a 1/0 edge on Sent the Function Block reads the next dataset (which is the same as the self triggered read without command, as long as Sent = false). This happens until FIFOOUT_LEVEL=0” and the Function Block signals “EMPTY”. At the same time at output State the message “zLOG_FIFOOUT_EMPTY” is given and all output values are deleted. While existing communication and exhausted FILE-FIFO the datasets, newly written by LogGeneric_Input to the FIFOin are continuously copied by the LogHandling directly to the FIFOout, as soon as there is space in the FIFOout for new datasets. For this the FIFOout should not be empty (EMPTY). It is different when FILE-FIFO is not empty. In this case at first FIFOout is fully decremented until FIFOOUT_LEVEL=0 and the Function Block signals “EMPTY”. After that a new dataset block is copied from FILE-FIFO into FIFOout.
- InOut:
Scope
Name
Type
Initial
Comment
Inherited from
Input
EnableBOOLFALSE
A rising edge (Enable = TRUE) starts the operation, the output Busy goes to TRUE. All other inputs are read and considered continuously. A falling edge (Enable = FALSE) aborts the operation. During Aborting the Busy is still TRUE. Afterward all outputs are reset.
AbbLConCA
Output
BusyBOOLFALSE
Operation is running (while output Error is FALSE)
AbbLConCA
ErrorBOOLFALSE
Operation is stopped with error (while output Busy is FALSE). This output is TRUE for at least one cycle or until Enable is set to FALSE. The output ErrorID gives more details about the error.
AbbLConCA
Input
PickedUpBOOL- 2: Feedback from Scada, that the data set has been received by the Scada station and that it is ready for the next data set
Done changes to “FALSE” and on the output State the text “zLOG_OUTPUT_DATA_HAS_BEEN_PICKED_UP” appears. By the 1/0 edge on PickedUp the Function Block reads the next dataset it is the same as the automatic reading without a command, as long as PickedUp = FALSE
Output
DoneBOOLFALSE
2: Execution finished when output Done = TRUE
ErrorIDNO_ERROR
4: Shows error, Refer ERROR_ID enumeration for details of the error
StatezLOG_IDLE
5: Actual State of LogOutput, Enumeration of Type zLOG_ENUM_STATE
EmptyBOOLFALSE
6: Output Buffer empty
FifoOutLevelDINT0
7: Level of FIFOout (maximum 161)
IdSTRING(8)‘’
8: Output of the ID or name of the dataset as string chain (no special characters), maximum 8 characters
TimestampDT9: Output of the time stamp of the dataset in the format year-month-day-hour-minute-second
MsecUINT0
10: Output of the milliseconds of the time stamp of the dataset
DataTypeBYTE0
11: Possible Data type’s: 1=BOOL, 2=BYTE, 3=INT, 4=UINT, 5=DINT, 6=UDINT, 7=REAL
BoolArrayARRAY [0..iMaxARRAY_BOOL] OF BOOL
12: ARRAY[0..57], specified through input DATA_TYPE
ByteArrayARRAY [0..iMaxARRAY_BYTE] OF BYTE
13: ARRAY[0..87] ,specified through input DATA_TYPE
IntArrayARRAY [0..iMaxARRAY_INT] OF INT
14: ARRAY[0..49], specified through input DATA_TYPE
UintArrayARRAY [0..iMaxARRAY_WORD] OF UINT
15: ARRAY[0..57], specified through input DATA_TYPE
DintArrayARRAY [0..iMaxARRAY_DINT] OF DINT
16: ARRAY[0..28], specified through input DATA_TYPE
UdintArrayARRAY [0..iMaxARRAY_DWORD] OF UDINT
17: ARRAY[0..30], specified through input DATA_TYPE
RealArrayARRAY [0..iMaxARRAY_REAL] OF REAL
18: ARRAY[0..26], specified through input DATA_TYPE
LengthINT0
19: Valid length of data in dataset
NumberItemsUDINT0
20: Number of items since Enable=TRUE
Methods:
B_CyclicAction
D_AbortAction
E_ResetAction
Structure: