rowens
FC20 and FC3 are function blocks that are either user defined or they are pre-written function available in the simatic net function library or the standard function library.
FC3 in the Simatic net library is DP_DIAG, this is the diagnostics request function call for a CP3**. It is also in the standard library under the IEC function blocks as D_TOD_DT, This function combines the data formats DATE and TIME_OF_DAY (TOD) together and converts these formats to the data type format DATE_AND_TIME (DT).
FC20 is also in the IEC function library, LEFT, This function provides the first L characters of a string (where L stands for a number). If L is greater than the current length of the STRING variables, the input value is returned. With L = 0 and with a blank string as the input value, a blank string is returned. If L is negative, a blank string is returned and the binary result (BR) bit of the status word is set to “0".
You could write your own function block and label them FC3 or FC20, this is okay to do providing you do not wish to use the standard FC's from the library. When I write a program for a S7, I tend to split the program up into various stages and program these stages in functions (FC's), then in OB1, I call these FC's
I hope I have explained that in a way that you can follow.
Paul