Introduction
Function block data type families are:
the Elementary Function Block (EFB) type family
the User function block (DFB) type family
Illustration:

Function blocks are entities containing:
input and output variables acting as an interface with the application
a processing algorithm that operates input variables and completes the output variables
private and public internal variables operated by the processing algorithm
Illustration
Function block:

User Function Block (DFB)
The user function block types (Derived Function Blocks) are developed by the user using one or more languages (according to the number of sections). These languages are:
Ladder language
Structured Text language
Instruction List language
Functional block language FBD
A DFB type can have one or more instances where each instance is referenced by a name (symbol) and possesses DFB data types.
Elementary Function Block (EFB)
Elementary Function Blocks (EFBs) are provided by the manufacturer and are programmed in C language.
The user can create his own EFB for which he will need an optional software tool "SDKC".
An EFB type can have one or more instances where each instance is referenced by a name (symbol) and possesses EFB type data.