Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A METHOD FOR CONTROL IN A PROCESS CONTROL SYSTEM IMPLEMENTED IN PART BY ONE OR MORE COMPUTER IMPLEMENTED RUN-TIME PROCESSES
Document Type and Number:
WIPO Patent Application WO/2010/102875
Kind Code:
A1
Abstract:
A method for control in a process control system, where a graphical user interface of said process control system is arranged with graphic representations of one or more control objects for monitoring and/or control of a process or an equipment. The control system GUI is displayed by a control system client application (22) on a computer or workstation. In addition, one or more applications (48, 50) for monitoring and/or controlling at least one said control object are run in a computing process environment (44, 46) separate from said process control system. In this way, no code components execute in the same processing space as that running the GUI for the process control system. In this way any flaw or error in the extended applications (48, 50) cannot affect the control system program controlling an industrial process in real-time. A control system and a computer program are also disclosed.

Inventors:
HARDING JEFF (US)
DAHLSTEDT PETTER (SE)
PAULY THOMAS (SE)
OLSSON JOAKIM (SE)
Application Number:
PCT/EP2010/051767
Publication Date:
September 16, 2010
Filing Date:
February 12, 2010
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ABB TECHNOLOGY AG (CH)
HARDING JEFF (US)
DAHLSTEDT PETTER (SE)
PAULY THOMAS (SE)
OLSSON JOAKIM (SE)
International Classes:
G05B19/414; G05B23/02; H04L29/08
Foreign References:
US6169996B12001-01-02
US20080313545A12008-12-18
US20080275971A12008-11-06
US20050222698A12005-10-06
Other References:
None
Attorney, Agent or Firm:
KORSKE, Häkan et al. (Intellectual PropertyIngenjör Bååths Gata 11, Västerås, SE)
Download PDF:
Claims:
CLAIMS

1. A method for control in a process control system, where a graphical user interface (23) of said process control system is arranged with graphic representations of one or more control objects for monitoring and/or control of a process or an equipment and displayed by a control system client application

(22) on a computer or workstation running in a first computer processing environment, characterized by

-running an extended application (48, 50) in a second computing process environment (44, 45) separate from said process control system,

-generating by means of the application (48, 50) a second graphic user interface display comprising at least one said control object,

-sending the second graphical user interface display in a graphic output format from the application to said process control system via an intermediate service (35) ,

-integrating the second graphical user interface (48g, 5Og) of the application running in the separate computing process environment (44, 45) in said graphical user interface (23) of said process control system.

2. A method according to claim 1, characterised by accepting a user input to the second graphical user interface (48g, 5Og) in said graphical user interface (23) and sending information resulting from the user input via the intermediate service to the application running in the computing process environment (44, 45) separate from said process control system.

3. A method according to claim 2, characterised by processing the information resulting from the user input in the separate computing process environment and returning, via the intermediate service, an updated second graphical user interface display in a graphic output format for integration with said graphical user interface .

4. A method according to claim 1 or 3, characterised by displaying on said graphical user interface an update in any from the groups of: a value, a status, an event.

5. A method according to claim 1, characterised by providing the second graphical user interface display in a graphic output format by means of a remote viewer service and providing the application running in the computing process environment separate from said process control system by means of a viewer service running on a server.

6. A method according to claim 1, characterised by graphic output in the form of a pixel-based graphic or bitmap

7. A method according to claim 1, characterised by graphic output in the form of a vector-based graphic.

8. A method according to claim 1, characterised by graphic output in the form of graphic display instructions for a graphic display apparatus .

9. A method according to claim 1, characterised by displaying on said graphical user interface a status or condition of a device or process on a display means running on any from the list of: workstation, portable computer, dedicated handheld tool for configuration/maintenance, personal digital assistant, mobile phone, mobile computing device.

10. A computer program for control in a process control system implemented at least in part by one or more computer implemented run-time processes comprising software code portions or computer code to cause a computer or processor to carry out the steps of a method according to claim 1.

11. A process control system where a graphical user interface (23) of said process control system is arranged with graphic representations of one or more control objects for monitoring and/or control of a process or an equipment and displayed by a control system client application (22) on a computer or workstation running in a first computer processing environment, characterized in that a Server Node (40) is arranged for running an extended application (48, 50) in a second computing process environment (44, 45) separate from said process control system, and an intermediate service (35) arranged for sending a second graphic user interface display (48, 50) comprising the at least one said control object generated by means of the extended application, in a graphic output format, from the extended application to said process control system for integration of the second graphical user interface (48g, 5Og) of the application in said graphical user interface (23) of said process control system.

12. A system according to claim 11, characterised in that an intermediate service is provided for sending graphic output from a second user interface display (48, 50) to the Control System Client Application using Remote Desktop Protocol (35) .

13. A system according to claim 11, characterised in that an intermediate service is provided for sending user input to second user interface display (48g, 5Og) information to an application

(48, 50) running in the separate computing process environment (44, 46) using Remote Desktop Protocol (35) .

14. A system according to claim 11, characterised in that an intermediate service is provided for sending graphic output from a second user interface display (48, 50) to the Control System Client Application using a remote viewer to viewer server communication channel.

15. A system according to claim 11, characterised in that the Server Node is arranged with A Terminal Server Session Manager service (49) application .

16. A system according to claim 11, characterised at least one sandbox (44, 45) is arranged for managing multiple Terminal Server Sessions.

17. A system according to claim 11, characterised in that said process control system is arranged with data network or gateway connections to any from the list of: workstation, portable computer, dedicated handheld tool for configuration/maintenance, personal digital assistant, mobile phone, mobile computing device .

18. A client application in a process control system, where a graphical user interface (23) of said process control system is arranged with graphic representations of one or more control objects for monitoring and/or control of a process or an equipment and displayed by a said control system client application (22) on a computer or workstation, characterized by -computer program code components for receiving a second graphical user interface display in a graphic output format from an extended application (48, 50) for monitoring and/or controlling at least one said control object running in a separate computing process environment (44, 46) via an intermediate service (35) or remote viewer server,

-computer program code components for integrating the second graphical user interface (48g, 5Og) of the application in said graphical user interface, and displaying said graphic user interface including the second graphic user interface display (48g, 5Og) comprising the at least one said control object.

19. Use of a remote viewer server and a remote viewer client to run an application for control in a process control system, where a graphical user interface of said process control system is arranged with graphic representations of one or more control objects for monitoring and/or control of a process or an equipment and displayed by a control system client application

(22) on a computer or workstation, wherein an extended application is run a computing process environment of the remote viewer server, which is a separate computing process environment from the that running the remote viewer client, and view or manipulate graphic information about a control object integrated in said graphical user interface of said control system client application .

Description:
A method for control in a process control system implemented in part by one or more computer implemented run-time processes.

TECHNICAL FIELD.

The present invention is concerned with an industrial control system graphic user interface. In particular it is concerned with a graphical user interface of a process control system used for monitoring and control purposes in an industrial installation.

BACKGROUND ART

In computer based control systems for controlling manufacturing and process industries, such as chemical plants, oil refineries, pulp and paper mills, steel mills, etc., there is typically a need for integrating a wide range of different applications of different origin. In particular this integration includes integrating user interfaces, so that a user of the system experiences one single interface towards all functions of the system, even though different parts of this interface are provided by different computer-implemented applications.

Traditional methods of providing this user interface integration include providing a software environment where user interface components from the different applications are plugged in to provide the integrated user interface. Examples of such technologies include ActiveX and Java Beans.

A conventional industrial control system typically includes one or more computer programs running in real time. Such programs control one or more processes in real time, which means that the control system must have an immediate or very short response time for at least some of the processes at all times. As control over many processes is normally critical from a safety standpoint it is important that the control systems are rigorously tested to eliminate any program execution problems or computer programming code problems that might cause delays or even failure of the control system.

A challenge with current approaches for user interface integration in a control system is that code components from the integrated applications execute in the same environment as components that are critical for the core functions of the control system, which is to control and supervise the industrial process. If any such integrated code component includes a flaw, it could potentially cause the entire user interface environment of the control system to crash or malfunction.

SUMMARY OF THE INVENTION

The aim of the present invention is to remedy one or more of the above mentioned problems. This and other aims are obtained by a method characterised by claim 1.

In a first aspect of the invention a method is disclosed for control in a process control system, where a graphical user interface of said process control system is arranged with graphic representations of one or more control objects for monitoring and/or control of a process or an equipment and displayed by a control system client application on a computer or workstation, the method comprising the steps of: running an application for monitoring and/or controlling at least one said control object in a computing process environment separate from said process control system, generating by means of the application a second graphic user interface display comprising the at least one said control object, sending the second graphical user interface display in a graphic output format from the application to said process control system via an intermediate service integrating the second graphical user interface of the application in said graphical user interface . In a another aspect of the invention a system is disclosed for control of a process in which process control system a graphical user interface of said process control system is arranged with graphic representations of one or more control objects for monitoring and/or control of a process or an equipment and displayed by a control system client application (22) on a computer or workstation, by said system further comprising a Server Node arranged for running an application for monitoring and/or controlling at least one said control object in a computing process environment separate from said process control system, and an intermediate service or remote viewer service is arranged for sending a second graphic user interface display comprising the at least one said control object generated by means of the application in a graphic output format, from the application to said process control system for integration of the second graphical user interface of the application in said graphical user interface .

In another aspect of the invention a human-machine interface for monitoring, is disclosed.

A computer program, and a computer program recorded on a computer- readable medium is disclosed in another aspect of the invention.

The principle advantage of the present invention is that it provides a solution where user interfaces of integrated applications can be integrated in a single system user interface without installing any code components from those applications. This is referred to as View Integration. The invention involves remote viewing, or sharing a view, and does not involve sharing an executable computer application or program.

View Integration, in meaning used in this description, is when the user interface (UI) of a non-core application, or extended application, is streamed to an integrated view in the control systems user interface (UI), using a technique similar in principle to the Windows service called Remote Desktop.

The integrated application runs in a separate computing process environment (sometimes referred to as a sandbox) and presents its user interface (UI) in the usual way. However, rather than rendering this graphical information on a user interface in this separate environment, the graphical information is intercepted and sent over as pixel information (or in any other format for transmitting a graphic image) to the environment where the control system's user interface is running. Here the graphical information from the integrated application is combined with other graphical information representing the control system's user interface, as well as the user interfaces of other integrated applications, into an integrated graphical user interface of the control system. When the graphical information of the user interface of the integrated application is in focus, mouse clicks and keyboard events are sent to the integrated application running in the separate computing process environment.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the method and system of the present invention may be had by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein:

Figure 1 shows a schematic block diagram of a process control system according to an embodiment of a first aspect of the invention;

Figure 2 shows a schematic block diagram of the invention according to Figure 1 and in particular of a Client Node of a control system and a Server Node arranged connected to the control system according to an embodiment of an aspect of the invention; Figure 3 shows another embodiment of the invention of Figure 1 and in particular a modular arrangement not including a Business Logic component in the sandbox application, Figure 4 shows the invention of Figure 1 and in particular an embodiment arranged using known components of a widely used operating system;

Figures 5a, 5b each show a schematic flowchart of the invention according to Figure 1 and in particular for methods according to an embodiment of another aspect of the invention;

Figure 6 shows the invention of Figure 1 and in particular a multi user arrangement according to an embodiment of the aspect of the invention .

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Figure 1 shows a simplified diagram for a process control system. The system comprises controller 2, and server 6 running control functions, and business logic, for controlling the equipment and controls included in the industrial process. Many of these control functions are core processes that operate in real-time, and a number of them may be safety critical. The figure shows a process control system 1 with connected to equipment such as a motor 3, valve 4, field device such as a flow meter 5. The process control system 1 includes a data network 10, and a field bus 12. Parts of the data communications may be carried out by both wired and wireless links.

Connected to the process control system is a workstation (Workplace) which is arranged as a Client Node and running a

Control System Client application 22 which provides a first graphic user interface (GUI) 23. This first graphic user interface (GUI) is an interface to a client application running business logic or core processes concerned with control of the process.

A server node 40 is connected to the process control system by the data network 10. In the server node, in a separate computing environment, or a separate computing process environment, one or more extended applications are run. The extended applications each also provide a GUI or a UI, referred to in this description as a second graphic user interface 48 and 50. The graphic image data output of these interfaces is intercepted and sent via a remote presentation protocol 35, or a remote viewer system, to the Control System Client application 22. The one or more second graphic user interfaces 48g, 50, are integrated into the first graphic user interface of the Control System Client application 22. Thus certain control objects are represented in the GUI of the Control System Client application 22 by GUI graphics, but no code for those GUIs execute in the process environment of the Control System Client application 22. That code, applications producing the GUIs 48, 50, runs in the server node 40.

Figure 2 shows another embodiment. The figure shows a Server Node 40 at which a single remote user session 41 is running. In the remote user Session a sandbox application, for example an ABB Sandbox application 44 is running. Running inside the sandbox is an extended application, or Application 1, which in this case is called an ABB UI Component 1, indicated with ref nr. 48. Also running in the sandbox is an ABB Business logic application. This business logic application has a UI, ABB UI. The GUI of that application 48 is intercepted and sent via a remote presentation protocol (RPP) 35 to a Control System Client application, shown here as ABB Client Application 22. The graphic image of the GUI from the application 48 in the sandbox is then integrated 48g into the GUI of the control client application, ABB Client Application 22, by Client Application 22. Server Node 40 may comprise a remote session manager function, in this embodiment an ABB Remote Session Manager 39. A separate protocol 37 may be used by the ABB Remote Session Manager 39 to interact with ABB Client Application 22.

Figure 3 shows a preferred embodiment. The figure shows a Server Node 40 at which a single remote user session 41 is running. In the remote user Session a sandbox application, for example an ABB Sandbox application 44 is running. Running inside the sandbox is an extended application, or Application 1, which in this case is called an ABB UI Component 1, indicated with ref nr. 48. The GUI of that application 48 is intercepted and sent via a remote presentation protocol (RPP) 35 to a Control System Client application, shown here as ABB Client Application 22. The graphic image of the GUI from the application 48 in the sandbox is then integrated 48g into the GUI of the control client application, ABB Client Application 22, by Client Application 22. Server Node 40 may comprise a remote session manager function, in this embodiment an ABB Remote Session Manager 39. A separate protocol 37 may be used by the ABB Remote Session Manager 39 to interact with ABB Client Application 22.

Figure 6 shows another embodiment in which multiple remote users, User 1, User 2 are included. In Figure 3 Server Node 40 comprises a plurality of Remote User Sessions, Session 1, Session 2, and so on. In Remote User Session 1 two sandbox applications, ABB Sandbox Applications are running. In this embodiment a business logic application or function may run in the sandbox. The GUI of a first business logic function, ABB UI is intercepted and sent via remote presentation protocol (RPP) 35 and integrated in the client control application, ABB Client Application 22, by means of a ABB Remote UI Viewer function. The figure shows that User 1 at the first Client Node 20 has two GUIs integrated in the ABB Client Application 22 using the remote viewers. User 2 at a second Client Node 22" also has GUI from an extended application, executing in a sandbox running in Remote User Session 2 on the same Server Node 40, the graphic image output of which is intercepted and routed by RPP 35 to ABB Client Application 22" where it is likewise integrated into the GUI of 22".

Figure 4 shows an embodiment in which many of the applications and services are parts of a Windows operating system environment. The figure shows a client node 20 and a server node 40. At the client node a control system Client Application 22 is running and displaying a graphical user interface (not shown) . The client node runs on a workstation or other suitable terminal device. Server node 40 runs one or more Terminal Server sessions, 41, 42. Each Terminal Server Session includes a separate computing process environment, otherwise known as a sandbox 44, 45. An extended application, Application 1 running in the sandbox produces a graphical user interface (GUI) 48, and likewise a second extended application Application 2 may also produce, in a separate Terminal Session 42, a GUI 50.

In this embodiment the integrated application or the Sandbox Application runs in a Terminal Services session on a server node and its graphical user interface is remoted 35 via Remote Desktop Protocol (RDP) to the Control System Client Application on a client node of the process control system 1. The Control System Client Application is capable of concurrently viewing several remoted user interfaces from several concurrent User Sessions (Terminal Server Sessions) . The Control System Client Application can create remote sessions dynamically by using the Terminal Server Session Manager Service 49 on the server node. In this way a solution is provided where user interfaces of integrated applications can be integrated in a single system user interface of the process control system without installing any code components from those applications

The GUI 48 of Application 1, an extended application, is sent via an intermediate service to the control system Client Application 22 running on the client node. The intermediate service may run using a Remote Desktop Protocol (RDP) 35 and implemented as a Remote Desktop session, a service provided by a Windows (TM) operating system environment such as Windows Server 2003 for example. The client node may run a RDP viewer client which may be a client adapted for, or ported to, another operating system different from Windows, eg such as Unix.

The Server Node 40 may comprises a terminal Server Session Manager service 49 which manages the one or more Terminal Server Sessions 41, 42. The Manager service 49 may interact with Control System Client Application 22 running on the Client Node 20 using a channel 39 separate from, and different to the protocol from the intermediate service, in this case the communication using RDP 35.

The Control system Client Application 20 provides a graphical user interface to one or more core processes controlling the industrial process. These core processes may be run-time implementations. The graphic user interfaces 48, 50 running in the separate computing environments, sandboxes 44, 45 are sent as graphic information only to Control system Client Application 20. Client Application 20 integrates those GUIs 44, 45 are integrated into the graphical user interface of Client Application 20.

The integrated applications run in a separate environment (a so called sandbox) and presents its user interface in the usual way. However, rather than rendering this graphical information on a user interface in this environment, the graphical information is intercepted and sent over as pixel information (or in any other suitable format to construct a graphic) to the environment where the control system's user interface is running. Here the graphical information is combined with other graphical information representing the control system' s user interface as well as the user interfaces of other integrated applications into an integrated user interface.

When the graphical information of the user interface of the integrated application is in focus as GUI 48g or 5Og, mouse clicks and keyboard events are sent to the integrated application 48, 50. Thus no code components from the integrated applications execute in the same computing process environment as the core functions of the control system. The integrated applications run (execute) in the isolated environment of a sandbox. Only the graphic output from the integrated application, as a bitmap, or as instructions to a graphic processor card or chip, are combined into the graphical user interface of the control system.

Communication may be carried out by wire or wirelessly. The Client Node 20 may be connected to a node or gateway of a wired or wireless LAN or may be another kind of data communication network and running any radio protocol suitable for an industrial milieu, such as any standard issued by the Bluetooth Special Interest Group (SIG), any variation of IEEE-802.11, WiFi, Ultra Wide Band (UWB), ZigBee or IEEE-802.15.4, IEEE-802.13 or equivalent, or similar .

The user may monitor, supervise and or control process equipment using a workstation connected to the control system. This may also be carried out in remote mode by an engineer or other authorized person logged in to the control system with appropriate privileges. The methods of control as described above and elsewhere in this specification may be carried out by a computer application comprising computer program elements or software code which, when loaded in a processor or computer, causes the computer or processor to carry out the method steps.

The method may be described as comprising steps according to Figures 5a, 5b. Figure 5a shows a simplified flowchart for one or more methods according to another aspect of the invention. The figure shows :

55 Extended application 1 runs and generates a GUI 48 including a control object of the process;

56 a process running in a Remote User Session or Terminal User Session intercepts GUI 48 of application 1 running in the sandbox

57 a process running in Remote User Session or Terminal User Session sends GUI 48 of application 1 to the Control System Client Application 22 (or ABB Client Application 22);

58 Control System Client Application 22 integrates the graphic image information from the GUI of extended application 1 running in the sandbox into the GUI of the Control System Client Application 22.

Figure 5b shows

65 Control System Client Application 22 displays its GUI, the first GUI, with the graphic information 48g integrated ino the first GUI;

67 Control System Client Application 22 receives user input to GUI 48g integrated in the first GUI of the Control System Client Application 22 and sends the information of that input via an intermediate service, RPP or RDP, to the extended application 1 running in the sandbox;

69 Application 1 running in the sandbox processes the user input information, and updates the GUI 48 to show an updated state of the control object in GUI 48.

The graphic image data of GUI 48 is intercepted and sent via RPP/RDP to the client application 22 as per step 55.

In an alternative embodiment, the solution is arranged such that Sandbox Application 44, 45 manages one or more Terminal Services Sessions 41, 42. In this case the Sandbox Application must have the ability to control what GUI (window) to expose in which session .

The methods of the invention may, as previously described, be carried out by means of one or more computer programs comprising computer program code or software portions running on a computer or a processor. The microprocessor (or processors) comprises a central processing unit CPU performing the steps of the method according to one or more facets of the invention. A part of the program may be stored in a processor, but also stored in a ROM, RAM, PROM, EPROM or EEPROM chip, in similar memory means or on a Server Node 40. Data may be accessed by applications such as the Control System Client Application 22 in the control system by means of any of: OPC, OPC servers, an Object Request Broker such as COM, DCOM or CORBA, a web service.

It should be noted that while the above describes exemplifying embodiments of the invention, there are several variations and modifications which may be made to the disclosed solution without departing from the scope of the present invention as defined in the appended claims.