A process control network, comprising: a user interface device; a process controller communicatively coupled to the user interface device via a first communication network; a Fieldbus segment including a data bus and one or more Fieldbus field devices communicatively connected to the data bus, wherein the one or more Fieldbus field devices communicate over the data bus using a pre-established communication schedule; an input/output device directly connected to the data bus and communicatively connected between the process controller and the data bus; and a control module) having plurality of communicatively linked function blocks which operate together to perform a process control loop, wherein the plurality of communicatively linked function blocks includes an input function block, an output function block and at least one intermediate function block, wherein the input function block and the output function block are located in the one or more Fieldbus field devices and the at least one intermediate function block is located in the input/output device and wherein each of the input function block, the output function block and the at least one intermediate function block communicates over the data bus using the pre-established communication schedule further including a processor, a computer-readable memory and a routine stored in the computer readable memory, wherein the routine is adapted to execute on the processor to automatically assign the function blocks of the control module for execution in specific devices within the process control network; characterised in that the routine is adapted to determine a set of function blocks disposed on a forward flow path of the control module, the set of function blocks including the input function block, the output function block and the at least one intermediate function block; determine if each of the input function block and the output function block on the forward flow path of the control module is assigned to execute in the one or more Fieldbus field devices on the data bus; and to assign the at least one intermediate function block on the forward flow path of the control module to execute in the input/output device if both the input function block and the output function block on the forward flow path of the control module are assigned to execute in the one or more Fieldbus field devices on the data bus. a user interface device; a process controller communicatively coupled to the user interface device via a first communication network; a Fieldbus segment including a data bus and one or more Fieldbus field devices communicatively connected to the data bus, wherein the one or more Fieldbus field devices communicate over the data bus using a pre-established communication schedule; an input/output device directly connected to the data bus and communicatively connected between the process controller and the data bus; and a control module) having plurality of communicatively linked function blocks which operate together to perform a process control loop, wherein the plurality of communicatively linked function blocks includes an input function block, an output function block and at least one intermediate function block, wherein the input function block and the output function block are located in the one or more Fieldbus field devices and the at least one intermediate function block is located in the input/output device and wherein each of the input function block, the output function block and the at least one intermediate function block communicates over the data bus using the pre-established communication schedule further including a processor, a computer-readable memory and a routine stored in the computer readable memory, wherein the routine is adapted to execute on the processor to automatically assign the function blocks of the control module for execution in specific devices within the process control network; characterised in that the routine is adapted to determine a set of function blocks disposed on a forward flow path of the control module, the set of function blocks including the input function block, the output function block and the at least one intermediate function block; determine if each of the input function block and the output function block on the forward flow path of the control module is assigned to execute in the one or more Fieldbus field devices on the data bus; and to assign the at least one intermediate function block on the forward flow path of the control module to execute in the input/output device if both the input function block and the output function block on the forward flow path of the control module are assigned to execute in the one or more Fieldbus field devices on the data bus.