Function Blocks (FB) and Functions (FC) have three different interface types: FBs and FCs receive parameters through the IN and IN/OUT interface types. The user program transfers parameters. A function block is a POU, which returns one or several values when executed. The values of the output variables and the internal variables are retained until the next execution. This means that the function block may not return the same output values, if it is called repeatedly with the same input. Function Blocks (FB) in Siemens TIA Portal are reusable code structures that permanently store their input, output, and in-out parameters in associated instance data blocks (DBs). You use this FB to achieve specific functionality through the pieces of code written inside. When calling a function block into your code you will be asked to assign a data block also called data instance to be associated with. An FC (Function) is a reusable, stateless block of logic in TIA Portal.