A method of generating device templates (312, 323a) for integrating a controller controllable device (335a, 335b) with a process controller wherein the controller controllable device (335a, 335b) connects said process controller to field devices (351, 352) comprising actuators and sensors in a processing plant, comprising: obtaining an existing device template having a device description for said controller controllable device including a list of its device parameters, its device type, its communication protocol, and its data format being either serial data or parallel data, connection details for communications including assembly structures, being a block of data for reading parameter values received from said controller controllable device and writing parameter values to said controller controllable device, and a mapping of said device parameters into said assembly structures: using a processor implementing a device template generating algorithm: generating a custom device template for said controller controllable device by modifying said existing device template to include at least one modification, and loading said custom device template to said process controller, automatically creating a device instance from said custom device template, wherein said device instance stores values representing said controller controllable device including said list of device parameters and said connection details for said controller controllable device, and downloading said device instance to the process controller, wherein said process controller is programmed to use information from said device instance to configure a communication driver, said communication driver setting up a connection between said process controller and said controller controllable device for enabling reading and/or writing values of said device parameters between said process controller and said controller controllable device. using a processor implementing a device template generating algorithm: generating a custom device template for said controller controllable device by modifying said existing device template to include at least one modification, and loading said custom device template to said process controller, automatically creating a device instance from said custom device template, wherein said device instance stores values representing said controller controllable device including said list of device parameters and said connection details for said controller controllable device, and downloading said device instance to the process controller, generating a custom device template for said controller controllable device by modifying said existing device template to include at least one modification, and loading said custom device template to said process controller, automatically creating a device instance from said custom device template, wherein said device instance stores values representing said controller controllable device including said list of device parameters and said connection details for said controller controllable device, and downloading said device instance to the process controller, wherein said process controller is programmed to use information from said device instance to configure a communication driver, said communication driver setting up a connection between said process controller and said controller controllable device for enabling reading and/or writing values of said device parameters between said process controller and said controller controllable device.