1. A control system for a controlled process, the control system comprising: a plurality of control devices reading electrical signals from sensors attached to elements of the controlled process or providing electrical signals from the control devices to actuators for actuating elements of the controlled process, where different types of control devices contain different electronic hardware where software drivers are written to control the different electronic hardware within the different types of control devices, the control devices further including control software held in computer readable memory and executable by the control devices which includes: (a) a set of software objects that implement functions using a common software function call interface common to all the software objects where the common software function call interface defines two interface variables where no more than these two variables are used to pass data between all standardized software functions and having standardized function identifiers that are identical for the same standardized software function for the same software objects of a same object class on the different types of control devices across said control system, the software objects including hardware device driver objects having the common software function call interface in common with all other standardized software functions allowing direct manipulation of the electrical signals of the control devices unique electronic hardware and including other software objects not manipulating the electrical signals of the control devices different electronic hardware; (b) a software application program including instructions comprising standardized function calls using identical said standardized function identifiers and said standardized common software function call interface to invoke standardized driver software functions of hardware device drivers objects and used to invoke software objects not manipulating the control devices electronic hardware, and (c) an execution engine for running said software application program; whereby a common interface is provided to all standardized software functions including the standardized driver software functions within the different types of control devices containing different electronic hardware and where said software application programs are thus portable across said different types of control devices in said control system.