Programming concepts
7.2 Structuring your user program
S7-1200 Programmable controller
System Manual, V4.2, 09/2016, A5E02486680-AK
185
Structuring your user program
When you create a user program for the automation tasks, you insert the instructions for the
program into code blocks:
● An organization block (OB) responds to a specific event in the CPU and can interrupt the
execution of the user program. The default for the cyclic execution of the user program
(OB 1) provides the base structure for your user program. If you include other OBs in your
program, these OBs interrupt the execution of OB 1. The other OBs perform specific
functions, such as for startup tasks, for handling interrupts and errors, or for executing
specific program code at specific time intervals.
● A function block (FB) is a subroutine that is executed when called from another code
block (OB, FB, or FC). The calling block passes parameters to the FB and also identifies
a specific data block (DB) that stores the data for the specific call or instance of that FB.
Changing the instance DB allows a generic FB to control the operation of a set of
devices. For example, one FB can control several pumps or valves, with different
instance DBs containing the specific operational parameters for each pump or valve.
● A function (FC) is a subroutine that is executed when called from another code block (OB,
FB, or FC). The FC does not have an associated instance DB. The calling block passes
parameters to the FC. The output values from the FC must be written to a memory
address or to a global DB.