CONTROL SYSTEMField of the InventionThis invention relates to a control system suitable for controlling large-scale industrial installations, for example chemical plant and oil production systems.
Background to the InventionControl systems typically consist of a number of control instruments, for example flow valves for fluids, heating and cooling elements, pressure and temperature sensors and flow meters, linked to a programmable controller which receives information from the sensors and meters and the like, and which sends control signals to cause operation of the valves and like elements in accordance with a control program run by the controller and in response to the information received.
Increasingly, the instruments are being provided with intelligence to permit them to communicate over a single wire to the system controller, reducing installation costs and increasing system reliability. Proprietary network systems have been de- signed to connect the instruments to the controller, but there is no agreed standard signalling protocol, making the interconnection of different networks difficult. In addition, the programming of the system is a complex specialist job, which is therefore costly.
Summary of the InventionAccording to the invention, there is provided a process control system comprising a controller and a plurality of process control instruments linked thereto, the controller comprising:a. programmable logic means controlled by a stored program to receive information from at least some of the control instruments and to transmit control signals to at least a selected one of the control instruments in response to the information received; and  b. interface means to which the control instruments are connected, the interface means being arranged to permit communication between the control instruments and the programmable logic means;wherein the stored program is arranged to read a data file comprising a set of instructions for the graphical representation of the logic of the process being controlled by the system, and to cause the control signals to be transmitted in accordance with the logic so represented.
Preferably, the interface means comprise a first part providing a physical connection to the external data network and a second part linking the first part and the programmable logic means, the second part comprising means for converting data signals received from the network to a format acceptable to the logic means and for converting data signals transmitted from the logic means to the format suitahle for the network, the second part being in the form of a removable plug-in component.
The system will typically comprise display means for displaying the graphical representation of the logic of the process modified in accordance with the data received and the control signals transmitted.
The term "process" is used herein to include not only manufacturing proccusses, hut any system in which the operation of remotely-distributed elements are controlled by a central controller in response to information from distributed sensors and the like.
The ability to operate on the basis of a CAD drawing of the logic of the system makes the programming of the control system very straightforward, and grcatly facilitates the setting up of the system, as well as fault diagnosis and correction.
Brief Description of the DrawingsIn the drawings:Figure 1 is a diagram of a system according to an exemplary embodiment of the invention;Figure 2 is a diagram of the database structure of the system of Figure 1; andFigure 3 is an example of a graphical representation of the logic of a process being controlled by the control system.
Detailed Description of the Illustrated EmbodimentReferring to Figure 1, the process control system comprises a plurality of control instruments 1, which may be any of a wide range of sensors or actuators, for example temperature or prcssure sensors, flow meters, Icvel gauges, control valves, heating and cooling elements, and pump. The control instruments 1 are linked together in three separate networks 2 (it will be appreciated that thrce are shown merely as an example; there may be a larger number of networks, and each network may have a greater or smaller number of elements connected to it than are shown in the Figure). The networks may all be of different types, for exampleHart, Profisus and Lonworks.
Each of the networks is connected to a system controller 4 by way of a separate interface 5. The system controller 4 is a self-contained unit including a central processor 6 with appropriate Random Access Memory as working memory and with a flash memory 7 to store the working data and the program. A keyboard and a CRT or other monitor may he connected to the controller 4 to permit the system to be monitored by an operator if desired.
Each interface 5 consists of a physical connection 5a to the network 2 or 3, by way of a coaxial or other wire cable, optical fibre cable, or a radio or other  wireless link, and an interface controller 5b configured to perform the conversion of signals between the format required for the particular network and the format required for the controller. The interface controller 5b contains inter alia a microprocessor and memory means for storing two databases Y and Z (Figure 2), each interface controller being differently configured according to the requirements of the external network to which it is connected.It will be seen, therefore, that the connection of an external network will simply be a matter of making the necessary physical connections and then inserting an appropriately-configured interface controller.
The first of the databases Y in the memory means of the interface controller is an intermediate database to which the microprocessor writes the data received from the instruments on the network, and data from the system controller to be sent to the instruments. These data are stored as values associated with individual instruments identified by simple identification numbers, for example, relating instruments in the overall control system as "seen" by the system controller to instruments within the individual network. Thus, for example, instrument No 3 on an individual network may be identified as instrument No 54 in the overall control system.
The other database Z is a network database, which stores information rclating to the individual instruments, such as the nature of the instrument and the interpretation of the values sent by it to the interface controller. For example, the instrument (No 3 for example) may relay a value of "50", and reference to the second database will permit the interface to signal a value of 50"C for instrument No 54 hack to the system controller. In addition, the second database can include information such as a "scan list" to indicate how often each instrument in the network is to be scanned (asked for its information), and the data rate that the  network is to use. This is necessary because, although the hardware of the interface defines the correct data format of the network it connects to, there are still a number of aspects that are flexible.For example, data rates may be defined in a particular type of network as being between a minimum of 300 bits/second to a maximum of 48000 bits/second. Another example is that an instrument may be allowed to have up to 100 different items of information which it can transmit on the network, for example the raw value of the temperature it is measuring, the range of the instrument, and the average value of the temperature over time. Each of these items of information may be requested at different time intervals. For cxample, the temperature may be requested every 10 seconds, the range every 24 hours, and the average temperature every 30 minutes. The scan list can store all these parameters as well.
In use, the control system is represented in the form of a drawing prepared on the configuration machine 8, a separate computer. The user constructs the drawing on a computer screen by picking a symbol defining the control function from a selection menu and placing it on a page. The configuration program "snaps" the symbol on to the nearest intersection on a grid of numbered lines.
The operation is repeated for all the symbols required by the control system. The grid position identifies the symbol. The sequence of operation is then defined by joining the symbols together according to a simple set of rules which determine, for example, how many lines each symbol can have going to it, and how many times a line can divide to go into different symbols.
The lines can be drawn "freehand" using a mouse or other pointing device, or by selecting (for example by mouse button clicks) the two symbols to be con nected together, the configuration program then being arranged to draw a line in the most appropriate position. As each symbol is placed on the page, the  configuration program prompts the user to fill in the parameters for that instance of the symbol on a form which pops up on the screen (for example the actual time delay required in the case of a time delay symbol). These parameters are stored in a database together with the symbol type identification, the symbol being defined and indexed by its position on the grid (for example, position 35 is the intersection of the 3rd line along with the 5th line down).
The lines joining the symbols are given the reference number of the symbol they start at and are added to the database to allow the information on each symbol to include what it is connected to. The build-up of the database is carried out hy the configuration program automatically. The user can type any additional information he wishes on the page, but such information is not held in the database, but is stored with the computer-generated drafting instructions in a drawing file which is used to reproduce the page on the computer screen.
Both the drawing file and the database are then loaded into the flash memory 7 of the system by a communications link 9 from the configuration machine 8.
The database so loaded is referred to as the control logic database (X in Figure 2).
The program running in the system controller is a general program that holds a coded procedure for each type of symbol in the configuration menu. The program looks at each position in the grid and, if it holds a symbol, calls the correct procedure with the parameters as held in the database. This procedure works on the input values to this instance of the symbol, reading the values from another database, the intermediate database Y held in each of the interface units and to which data is written as it is collected from each of the instruments. The set-up connection of these two databases, i.e. which instrument supplies data to which symbol in the drawing is also done on the configuration machine, and loaded initially into the system controller's memory.
The next stage is network configuration. This is done with the same configuration machine 8. The program provides the user with a diagrammatic representation of the system as a box containing one logic processor and eight (for example) interface slots. Using a menu of available interface units, the user places the required units in each slot. By using the pointer device and selecting one of the interface slots, a second level diagram is displayed, showing the correct inter- face unit and an appropriate number of network links. the user can then select instruments from another menu and place these on the links. Selecting one of these instruments will bring up the appropriate form for the user to enter the required information.The configuration program assembles this information into a data- base, sections of which can be loaded into the required interface unit via the logic processor.
Because the various different types of interface have very widely differing attributes and addressing schemes, the network database contains differing struc- tures. In order to interface these to the control database, the intermediate database is used. This is of the same structure for each interface unit and contains only the information required to identify the values, with the actual values themselves.
When the logic analysis program is running in the system controller, it reads the current information from the interface database, evaluates the functions represented by the symbols and sends the results back to the interface units and from there to the instruments in the field, for example actuators, valves and display panels. If a user wishes to watch the results of the analysis, this can be done using a separate computer with a screen and a keyboard (for example the configuration machine 8). The computer is connected to the system and a message sent requesting the drawing from the main processor. The drawing file is sent hack to  the computer from the system and is drawn by the computer on the screen.Together with the drawing file, a message is sent for every line of the drawing (referenced by its unique number equal to that of the position on the grid of the symbol that it starts at) with the value, either 1 or 0, of the output of the symbol. The computer than redraws the line using the drafting instructions from the drawing file, in a different colour depending on the value, for example red= 1 and blue=0.
Every time a value changes in the field and is detected by the instruments, this is accessed by the interface unit and put in the intermediate database. this is then read by the main processor and an update is sent to the appropriate line on the screen. After analysis of all the other symbols on the grid, an update is sent for every other line that changes state as a consequence. This continues until the user cancels the display, thus giving the user a live representation of the logic of the control system in operation.