18
Printed by Jouve, 75001 PARIS (FR) (19) EP 2 221 685 A2 & (11) EP 2 221 685 A2 (12) EUROPEAN PATENT APPLICATION (43) Date of publication: 25.08.2010 Bulletin 2010/34 (21) Application number: 10154029.2 (22) Date of filing: 18.02.2010 (51) Int Cl.: G05B 19/042 (2006.01) G05B 19/418 (2006.01) (84) Designated Contracting States: AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR Designated Extension States: AL BA RS (30) Priority: 19.02.2009 US 389026 (71) Applicant: Fisher-Rosemount Systems, Inc. Austin, Texas 78759 (US) (72) Inventors: Balentine, James Randall AUSTIN, TX 78732 (US) Law, Gary Keith Georgetown, TX 78628 (US) Nixon, Mark ROUND ROCK, TX 78681 (US) (74) Representative: Cerbaro, Elena et al Studio Torta S.r.l. Via Viotti 9 10121 Torino (IT) (54) Methods and apparatus to configure a process control system using an electronic description language script (57) Example methods and apparatus to configure a process control system using an electronic description language (EDL) script are disclosed. A disclosed exam- ple method comprises loading a first script representative of a process plant, the first script comprising an interpre- tive system-level script structured in accordance with an electronic description language, and compiling the first script to form a second script, the second script structured in accordance with a vendor-specific configuration lan- guage associated with a particular process control sys- tem for the process plant.

EP2221685A2

Embed Size (px)

DESCRIPTION

TEXT BASED PROCESS PROGRAMING

Citation preview

Page 1: EP2221685A2

Printed by Jouve, 75001 PARIS (FR)

(19)E

P2

221

685

A2

��&�� ����� �(11) EP 2 221 685 A2

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication: 25.08.2010 Bulletin 2010/34

(21) Application number: 10154029.2

(22) Date of filing: 18.02.2010

(51) Int Cl.:G05B 19/042 (2006.01) G05B 19/418 (2006.01)

(84) Designated Contracting States: AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TRDesignated Extension States: AL BA RS

(30) Priority: 19.02.2009 US 389026

(71) Applicant: Fisher-Rosemount Systems, Inc.Austin, Texas 78759 (US)

(72) Inventors: • Balentine, James Randall

AUSTIN, TX 78732 (US)• Law, Gary Keith

Georgetown, TX 78628 (US)• Nixon, Mark

ROUND ROCK, TX 78681 (US)

(74) Representative: Cerbaro, Elena et alStudio Torta S.r.l. Via Viotti 910121 Torino (IT)

(54) Methods and apparatus to configure a process control system using an electronic description language script

(57) Example methods and apparatus to configure aprocess control system using an electronic descriptionlanguage (EDL) script are disclosed. A disclosed exam-ple method comprises loading a first script representativeof a process plant, the first script comprising an interpre-

tive system-level script structured in accordance with anelectronic description language, and compiling the firstscript to form a second script, the second script structuredin accordance with a vendor-specific configuration lan-guage associated with a particular process control sys-tem for the process plant.

Page 2: EP2221685A2

EP 2 221 685 A2

2

5

10

15

20

25

30

35

40

45

50

55

Description

FIELD OF THE DISCLOSURE

[0001] This disclosure relates generally to processcontrol systems and, more particularly, to methods andapparatus to configure a process control system usingan electronic description language (EDL) script.

BACKGROUND

[0002] Electronic device description languages (ED-DLs) have been used to provide a structured and stand-ardized format to describe and specify field devices ofprocess plants to facilitate interpretation, control and/ormanagement of the field devices by the control compo-nents of a host process control system. As such, EDDLstypically incorporate standardized interfaces for param-eterization and visualization of data associated with thefield devices. More recently, EDDLs have been en-hanced to describe and/or specify advanced displaysand/or graphical representations of field device data.

SUMMARY

[0003] A disclosed example method includes loadinga first script representative of a process plant, the firstscript comprising an interpretive system-level scriptstructured in accordance with an electronic descriptionlanguage, and compiling the first script to form a secondscript, the second script structured in accordance with avendor-specific configuration language associated witha particular process control system for the process plant.[0004] A disclosed example apparatus includes an ed-itor useable to create a first script representative of aprocess plant, the first script comprising an interpretablesystem-level script structured in accordance with an elec-tronic description language, and a compiler to form a sec-ond script from the first script, the second script structuredin accordance with a vendor-specific configuration lan-guage associated with a particular process control sys-tem for the process plant.[0005] Another disclosed example method includesutilizing an editor to form a first script representative of aprocess plant, the first script comprising an interpretivesystem-level script structured in accordance with an elec-tronic description language, generating a second scriptfrom the first script, the second script structured in ac-cordance with a configuration language for a particularprocess control system, and configuring the process con-trol system for the process plant based on the secondscript.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006] FIG. 1 is a schematic illustration of an exampleprocess control system constructed in accordance withthe teachings of this disclosure.

[0007] FIG. 2 illustrates an example manner of imple-menting the example process plant configuration systemof FIG. 1.[0008] FIG. 3 illustrates an example manner of imple-menting the example compiler of FIG. 2.[0009] FIG. 4 illustrates an example schema that maybe used to graphically represent the example processcontrol system of FIG. 1.[0010] FIG. 5 illustrates an example system-level EDLscript that may be used to represent the example schemaof FIG. 4.[0011] FIGS. 6-9 illustrate example schema elementsthat may be used to form a schema for a process controlsystem.[0012] FIG. 10 illustrates an example system-levelEDL script constructed from the example schema ele-ments of FIGS. 8 and 9.[0013] FIG. 11 is a flowchart representative of an ex-ample process that may be used to configure the exampleprocess control system of FIG. 1 based on a system-levelEDL script.[0014] FIG. 12 is a flowchart representative of an ex-ample process that may be used to convert a system-level EDL script into a process control system specificconfiguration script.[0015] FIG. 13 is a schematic illustration of an exampleprocessor platform that may be used and/or programmedto carry out the example processes of FIGS. 11 and/or12 and/or, more generally, to implement the exampleprocess plant configuration system of FIGS. 1 and 2.

DETAILED DESCRIPTION

[0016] In general, the example apparatus, methods,and articles of manufacture described herein may beused to define, describe and/or otherwise specify all orany portion(s) of a process plant control system via anelectronic description language (EDL) script and/or aninterpretative system-level script. In some EDL script lan-guages, such as those constructed in accordance withan extensible markup language (XML), such EDL scriptsare also referred to as schemas. Previously, electronicdevice description languages (EDDLs) and EDL scriptswere only used to define, describe and/or otherwisespecify the field devices of a process control system. Incontrast, the example EDL scripts described herein areuseable to define, describe and/or otherwise specify anynumber and/or type(s) of additional and/or alternativecontrol and/or non-control components of the processcontrol system. Moreover, the example EDL scripts areuseable to define, describe and/or specify any numberand/or type(s) of interconnections between any or allcomponents of the process control system. Thus, insome examples, a single schema can be used to definethe entirety of a process control system. Example com-ponents of a process control system that have not pre-viously been defined via an EDL script include, but arenot limited to, a controller, an operator workstation, an

1 2

Page 3: EP2221685A2

EP 2 221 685 A2

3

5

10

15

20

25

30

35

40

45

50

55

input/output (I/O) card, a router, a switch, a hub, a firewall,a power supply, and/or an I/O gateway.[0017] The example EDL scripts described herein areconstructed to support process control system compo-nents manufactured, provided and/or implemented byany process control system vendor. Accordingly, as de-scribed more fully below in connection with FIG. 3, suchEDL scripts can subsequently be compiled, translated,interpreted and/or otherwise processed to form one ormore vendor-specific and/or system-specific scripts thatmay then be loaded into and/or otherwise used to con-figure particular process control system componentsfrom any number of particular component vendors. Assuch, such vendor and/or system-specific scripts aregenerally structured in accordance with a vendor-specificconfiguration language.[0018] FIG. 1 is a schematic illustration of an exampleprocess control system 100. In the interest of brevity andclarity, throughout the following disclosure references willbe made to the example process control system 100 ofFIG. 1. However, the methods and apparatus describedherein to define, specify, describe and/or configure aprocess control system based on EDL scripts are appli-cable to other process control systems. The exampleprocess control system 100 of FIG. 1 includes one ormore process controllers (one of which is designated atreference numeral 110), one or more operator stations(one of which is designated at reference numeral 115),and one or more workstations (one of which are desig-nated at reference numeral 120). The example processcontroller 110, the example operator station 115 and theworkstation 120 are communicatively coupled via a busand/or local area network (LAN) 125, which is commonlyreferred to as an application control network (ACN).[0019] The example operator station 115 of FIG. 1 al-lows a process plant operator to review and/or operateone or more operator display screens and/or applicationsthat enable the process plant operator to view processplant variables, view process plant states, view processplant conditions, view process plant alarms, and/or tochange process plant settings (e.g., set points and/or op-erating states, clear alarms, silence alarms, etc.). Suchscreens and/or applications are typically designed and/orimplemented by process configuration engineers.[0020] The example workstation 120 of FIG. 1 may beconfigured as an application station to perform one ormore information technology applications, user-interac-tive applications and/or communication applications. Forexample, the workstation 120 may be configured to per-form primarily process control-related applications, whileanother application station (not shown) may be config-ured to perform primarily communication applicationsthat enable the process control system 100 to commu-nicate with other devices or systems using any desiredcommunication media (e.g., wireless, hardwired, etc.)and protocols (e.g., HTTP, SOAP, etc.). The exampleoperator station 115 and the example workstation 120 ofFIG. 1 may be implemented using one or more worksta-

tions and/or any other suitable computer systems and/orprocessing systems. The operator station 115 and/orworkstation 120 could, for example, be implemented us-ing single processor personal computers, single or multi-processor workstations, etc.[0021] The example LAN 125 of FIG. 1 may be imple-mented using any desired communication medium andprotocol. For example, the LAN 125 may be based on awired and/or wireless Ethernet communication scheme.However, as will be readily appreciated by those havingordinary skill in the art, any other suitable communicationmedium(s) and/or protocol(s) could be used. Further, al-though a single LAN 125 is illustrated in FIG. 1, morethan one LAN and/or other alternative pieces of commu-nication hardware may be used to provide redundantcommunication paths within the example system 100 ofFIG. 1.[0022] The example controller 110 of FIG. 1 is coupledto a plurality of smart field devices 130, 131 and 132 viaa digital data bus 135 and an input/output (I/O) gateway140. The smart field devices 130-132 may be Fieldbuscompliant valves, actuators, sensors, etc., in which case,the smart field devices 130-132 communicate via the dig-ital data bus 135 using the well-known Foundation Field-bus protocol. Of course, other types of smart field devicesand communication protocols could be used instead. Forexample, the smart field devices 130-132 could insteadbe Profibus and/or HART compliant devices that com-municate via the data bus 135 using the well-known Profi-bus and HART communication protocols.Additional I/O devices, which are different, similar and/oridentical to the I/O gateway 140, may be coupled to thecontroller 110 to enable additional groups of smart fielddevices, which may be Foundation Fieldbus devices,HART devices, etc., to communicate with the controller110.[0023] In addition to the example smart field devices130-132, one or more non-smart field devices 133 and134 may be communicatively coupled to the examplecontroller 110. The example non-smart field devices 133and 134 of FIG. 1 may be, for example, conventional 4-20milliamp (mA) or 0-10 volts direct current (VDC) devicesthat communicate with the controller 110 via respectivelinks.[0024] The example controller 110 of FIG. 1 may be,for example, a DeltaV™ controller sold by Fisher-Rose-mount Systems, Inc., an Emerson Process Managementcompany. However, any other controller could be usedinstead. Further, while only one controller 110 is shownin FIG. 1, additional controllers and/or process controlplatforms of any desired type and/or combination of typescould be coupled to the LAN 125. In any case, the ex-ample controller 110 performs one or more process con-trol routines associated with the process control system100 that have been generated by a system engineerand/or other system operator using the operator station115 and which have been downloaded to and/or instan-tiated in the controller 110.

3 4

Page 4: EP2221685A2

EP 2 221 685 A2

4

5

10

15

20

25

30

35

40

45

50

55

[0025] To configure the control components of the ex-ample process control system 100 (for example, the ex-ample controller 110, the example operator station 115,the example workstation 120, the example I/O gateway140 and/or the example field devices 130-134) based onone or more EDL scripts, the example process controlsystem 100 of FIG. 1 includes a process control systemconfiguration system 150. As described below in connec-tion with FIG. 2, the example process control system con-figuration system 150 of FIG. 1 includes an editor 210(FIG. 2) to allow a user to create an EDL and/or interpre-tative script and/or schema that represents in a vendorand/or system non-specific manner possibly all of theprocess control system 100, and a compiler 220 to gen-erate vendor and/or system specific configuration and/oroperation databases based on the EDL script and/orschema. The vendor-specific configuration and/or oper-ation database include one or more vendor-specificscripts, information and/or data that can be used to ac-tually configure specific makes and models of controlcomponents of the example process control system 100and/or are structured in accordance with a vendor-spe-cific configuration language.[0026] While FIG. 1 illustrates an example processcontrol system 100 within which the example apparatus,methods, and articles of manufacture to define, describeand/or otherwise specify all or any portion(s) of a processplant control system via an EDL script described in great-er detail below may be advantageously employed, per-sons of ordinary skill in the art will readily appreciate thatthe apparatus, methods, and articles of manufacture de-scribed herein may, if desired, be advantageously em-ployed in other process plants and/or process controlsystems of greater or less complexity (e.g., having morethan one controller, across more than one geographiclocation, etc.) than the illustrated example of FIG. 1.Moreover, while not shown in FIG. 1 for clarity of illustra-tion, there may be any number and/or type(s) of additionaland/or alternative devices, components and/or systemsincluded in a process plant and/or a process control sys-tem. For example, a process plant and/or a process con-trol system may include and/or implement a firewall, aswitch, a router, a hub, a power supply, and/or any otherdevices managed and/or controllable by a process con-trol system, such as the DeltaV process control systemsold by Fisher-Rosemount Systems, Inc., an EmersonProcess Management company.[0027] FIG. 2 illustrates an example manner of imple-menting the example process control system configura-tion system 150 of FIG. 1. To allow a user to create anEDL script and/or schema 205 that represents a processcontrol system, such as the example system 100 of FIG.1, the example configuration system 150 of FIG. 2 in-cludes any number and/or type(s) of EDL editors, one ofwhich is designated at reference numeral 210, and anEDL library 215. An example schema and EDL script 205that may be used to represent the example process con-trol system 100 of FIG. 1 are shown below in connection

with FIGS. 4 and 5, respectively. The example EDL library215 of FIG. 1 contains a plurality of EDL-based schemasand/or descriptions for any number and/or type(s) ofprocess control system components and/or process con-trol system interconnections that may be selected and/orused to construct the example EDL script 205. Exampleschemas for some example process control system com-ponents that may be included in the example EDL library215 are shown below in FIGS. 5-9. A portion of anotherexample EDL script 205 that can be created from theexample schema elements of FIGS. 8 and 9 is shown inFIG. 10.[0028] The example EDL editor 210 may be configuredto create, modify, view and/or edit XML-based schemasand/or EDL scripts 205 and may, for example, be imple-mented using XMLSpy® from Altova®. However, anyEDL editor 210 may be used instead. Utilizing one ormore user interfaces and/or menus of the example EDLeditor 210, a user interacts with the example EDL editor210 of FIG. 2 to create the example EDL script 205. Forexample, the user may interact with the EDL editor 210to select, connect and/or configure schema elementsfrom the EDL library 215 to form a vendor and/or systemindependent representation of (that is, a schema for) theexample process control system 100 of FIG. 1.[0029] To compile the example EDL-script 205, the ex-ample process control system configuration system 150of FIG. 2 includes the example compiler 220. The exam-ple compiler 220 of FIG. 2 generates and/or forms thevendor-specific control system configuration scripts, filesand/or data 225 based on the vendor non-specific EDLscript 205. The example compiler 220 may generate thevendor-specific information 225 by compiling, translatingand/or otherwise processing the EDL script 205. An ex-ample manner of implementing the example compiler220 of FIG. 2 is described below in connection with FIG. 3.[0030] While forming the system-specific configurationinformation 225, the example compiler 220 of FIG. 2 mayaccess and/or query a device database 230 for device-specific information and/or data. The example device da-tabase 230 of FIG. 2 contains information regarding theinterfaces and/or methods implemented by specific con-trol system components. For example, the EDL script205 may include a reference to a generic I/O gateway.When that generic I/O gateway reference is processedby the example compiler 220, the compiler 220 obtainsdata and/or information from the device database 230that is specific to the make and model of the I/O gateway140 included in the example process control system 100,and includes and/or incorporates such data and/or infor-mation in the system-specific configuration script(s) 225.[0031] As shown in FIG. 2, the example device data-base 230 is implemented in connection with a vendor-specific configuration system 240. The example systemspecific configuration system 240 of FIG. 2 is a part ofthe DeltaV process control system sold by Fisher-Rose-mount Systems, Inc., an Emerson Process Managementcompany. To allow the example process control system

5 6

Page 5: EP2221685A2

EP 2 221 685 A2

5

5

10

15

20

25

30

35

40

45

50

55

configuration script(s) and/or information 225 to be im-ported, the example DeltaV configuration system 240 ofFIG. 2 includes a database server 245 having an importand/or database population module 250. The exampleimport module 250 of FIG. 2 imports data, files and/orother configuration information from the example systemspecific script(s) 225 and stores the imported data, filesand/or configuration information in a DeltaV configurationdatabase 255. As configured via, for example, one ormore configuration tools 260, the example databaseserver 245 of FIG. 2 creates a DeltaV operation database265 based on and/or from data, files and/or other config-uration information stored in the DeltaV configuration da-tabase 255. The actual (i.e., physical) process controlcomponents of the process control system 100 are load-ed, configured and/or programmed based on the thusformed example DeltaV operation database 265. Whilethe example system-specific configuration script(s) 225of FIG. 2 are generated by the example compiler 220,any portion of the system-specific configuration script(s)225 may, additionally or alternatively, be generated usingother tools and/or interfaces (not shown) of, for example,the DeltaV process control system.[0032] While an example manner of implementing theexample process control system configuration system150 of FIG. 1 has been illustrated in FIG. 2, one or moreof the interfaces, data structures, elements, processesand/or devices illustrated in FIG. 2 may be combined,divided, re-arranged, omitted, eliminated and/or imple-mented in any other way. For example, the configurationsystem 240 may include configuration system modulesspecific to any number of additional and/or alternativeprocess control systems from other vendors. Further, theexample EDL editor 210, the example EDL script 205,the example EDL library 215, the example compiler 220,the example system-specific script(s) 225, the exampledevice database 230, the example DeltaV configurationsystem 240, the example database server 245, the ex-ample import module 250, the example DeltaV configu-ration database, the example configuration tools 260, theexample DeltaV operation database 265 and/or, moregenerally, the example process control system configu-ration system 150 of FIG. 2 may be implemented by hard-ware, software, firmware and/or any combination of hard-ware, software and/or firmware. Thus, for example, anyor the example EDL editor 210, the example EDL script205, the example EDL library 215, the example compiler220, the example system-specific script(s) 225, the ex-ample device database 230, the example DeltaV config-uration system 240, the example database server 245,the example import module 250, the example DeltaV con-figuration database, the example configuration tools 260,the example DeltaV operation database 265 and/or,more generally, the example process control system con-figuration system 150 may be implemented by one ormore circuit(s), programmable processor(s), applicationspecific integrated circuit(s) (ASIC(s)), programmablelogic device(s) (PLD(s)) and/or field programmable logic

device(s) (FPLD(s)), etc. Further still, the process controlsystem configuration system 150 may include interfaces,data structures, elements, processes and/or devices in-stead of, or in addition to, those illustrated in FIG. 2 and/ormay include more than one of any or all of the illustratedinterfaces, data structures, elements, processes and/ordevices.[0033] FIG. 3 illustrates an example manner of imple-menting the example compiler 220 of FIG. 2. To identifycategorized blocks of text (that is, tokens) within the EDLscript 205, the example compiler 220 of FIG. 3 includesa scanner 305 and a tokenizer 310. Using any numberand/or type(s) of algorithm(s), logic and/or method(s),the example scanner 305 of FIG. 3 scans and/or parsesthe EDL script 205 to identify the lexemes within the EDLscript 205, that is, to identify particular types of strings ofcharacters contained in the EDL script 205. Example lex-emes include, but are not limited to, a string of letters, astring of numbers, a punctuation mark, a mathematicaloperator, etc. Using any number and/or type(s) of algo-rithm(s), logic and/or method(s), the example tokenizer310 of FIG. 3 processes the lexemes identified by thescanner 305 to identify particular tokens, that is, classi-fiable strings of input characters. For example, the scan-ner 305 may identify a string-of-letters lexeme represent-ing, for example, a sentence, which the example token-izer 310 demarcates and/or separates into one or morewords. Each token identified by the tokenizer 310 hasboth a value (e.g., the actual name of a variable) and atype (e.g., a variable, an operator, a number, etc.).[0034] To perform syntactic analysis, the examplecompiler 220 of FIG. 3 includes a parser 315. Using anynumber and/or type(s) of algorithm(s), logic and/or meth-od(s), the example parser 315 of FIG. 3 processes and/oranalyzes the tokens identified by the example tokenizer310 to identify and/or determine their relationship(s) withrespect to the grammar of the EDL script 205. In otherwords, the example parser 315 identifies the expressionscontained within the EDL script 205.[0035] To translate the expressions identified by theexample parser 315 into a vendor and/or system specificform, the example compiler 220 of FIG. 3 includes aninterpreter 320. Using any number and/or type(s) of al-gorithm(s), logic and/or method(s), the example inter-preter 320 of FIG. 3 translates each identified expressionof the EDL script 205 into a corresponding vendor-spe-cific expression that represents a corresponding actionfor a particular make and model of control system com-ponent. For example, the EDL script 205 may contain anexpression assigning a value to an upper limit thresholdof a generic temperature gauge. Thus, the interpreter320 generates one or more corresponding vendor-spe-cific expressions and/or configuration statements 225that correctly configure the upper temperature limit for aparticular make and model of temperature gauge imple-mented within the process control system 100. In suchan example, the example interpreter 320 can obtain thevendor-specific configuration language expressions to

7 8

Page 6: EP2221685A2

EP 2 221 685 A2

6

5

10

15

20

25

30

35

40

45

50

55

correctly configure that make and model of temperaturegauge from the device database 230.[0036] While an example manner of implementing theexample compiler 220 of FIG. 2 has been illustrated inFIG. 3, one or more of the interfaces, data structures,elements, processes and/or devices illustrated in FIG. 3may be combined, divided, re-arranged, omitted, elimi-nated and/or implemented in any other way. Further, theexample scanner 305, the example tokenizer 310, theexample parser 315, the example interpreter 320 and/or,more generally, the example compiler 220 of FIG. 3 maybe implemented by hardware, software, firmware and/orany combination of hardware, software and/or firmware.Thus, for example, any or the example scanner 305, theexample tokenizer 310, the example parser 315, the ex-ample interpreter 320 and/or, more generally, the exam-ple compiler 220 may be implemented by one or morecircuit(s), programmable processor(s), ASIC(s), PLD(s)and/or FPLD(s), etc. Further still, the compiler 220 mayinclude interfaces, data structures, elements, processesand/or devices instead of, or in addition to, those illus-trated in FIG. 3 and/or may include more than one of anyor all of the illustrated interfaces, data structures, ele-ments, processes and/or devices.[0037] FIG. 4 illustrates an example schema 400 thatmay be used to graphically represent the example proc-ess control system 100 of FIG. 1. As shown in FIG. 4,the example process control system 100 includes theexample workstation 120 and the example process con-troller 110 of FIG. 1. The example controller 110 of FIG.4 has a set of attributes 405 that includes, among otherthings, a name 406 and a description 407. The examplecontroller 110 of FIG. 4 also has a set of capabilities 410,which are defined and/or specified as a set of attributes415, and any number and/or type(s) of additional prop-erties 420. For example, the controller 110 may include:(a) one or more interface cards 425 that allow the con-troller 110 to communicate with other components of theexample process control system 100 (for example, anyof the example field devices 130-134 and/or the exampleI/O gateway 140 of FIG. 1), (b) commands 430 that defineand/or permit the execution of operations, such as cali-bration, self-diagnosis, etc., and/or (c) menus 435 maybe used to implement a first-level interface structure with-out having to use a specialized programming language.The example commands 430 of FIG. 4 could be definedsuch that the commands are automatically inserted intothe menu structure 435 of the corresponding component.The example menus 435 of FIG. 4 may be used to allowa user to access basic operations of the correspondingelement, such as configuration, run-time operationand/or diagnostics. While only a portion of the exampleprocess control system 100 is depicted in FIG. 4, personsof ordinary skill in the art will readily appreciate that allor any portion of a process control system can be depict-ed via a schema diagram in a manner similar to thatshown in FIG. 4.[0038] FIG. 5 illustrates an example EDL script 500

that may be used to represent the example schema 400of FIG. 4 and, thus, to implement the example EDL script205 of FIG. 2. The example EDL script 500 of FIG. 5 isconstructed in accordance with XML. The process controlsystem 100 of the example EDL script 500 of FIG. 5 ref-erences the controller 110 and the workstation 120 viacorresponding XML expressions. Likewise, the controller110 references the example capabilities 410 of FIG. 4.While only a portion of the example schema 400 of FIG.4 is depicted in the example EDL script 500 of FIG. 5,persons of ordinary skill in the art will readily appreciatethat all or any portion of a process control system schemaand, thus, a process control system can be expressed inan EDL script in a manner similar to that shown in FIG. 5.[0039] FIGS. 6-9 illustrate some example graphicalschema elements that may be used and/or combined todepict and/or define a process control system. The ex-ample schema elements of FIGS. 6-9 may be includedin a plurality of schemas stored in and/or accessible fromthe example EDL library 215 of FIG. 2. The exampleschema element of FIG. 6 depicts a process control sys-tem 100 including the controller 110 and the workstation120. The example schema element of FIG. 7 depicts theprocess controller 110 having the attributes 415, the ca-pabilities 410, other properties 420, cards 425, com-mands 430 and menus 435. The illustrated example ofFIG. 4 is an example combination of the example schemaelements of FIGS. 6 and 7.[0040] FIG. 8 illustrates an example schema that maybe used to depict and/or define an interface card 805 tobe assigned to and/or linked to, for example, a card 425of the example controller schema of FIG. 7. The exampleschema of FIG. 9 depicts and/or defines an I/O channel905 that may be assigned to and/or linked to, for example,an I/O channel 810 of the example interface card 805 ofFIG. 8.[0041] FIG. 10 illustrates a portion of an example EDLscript that represents a combination of the example sche-ma elements of FIGS. 8 and 9. In the illustrated exampleof FIG. 10, the example I/O channel 905 of FIG. 9 is linkedto the I/O channel 810 of the example interface card 805of FIG. 8, as depicted with line 1005.[0042] FIG. 11 illustrates a flowchart representative ofan example process that may be carried out to configurethe example process control system 100 based on anEDL schema and/or script. FIG. 12 illustrates a flowchartrepresentative of an example process that may be carriedout to implement the example compiler 220 of FIGS. 2and 3. The example processes of FIGS. 11 and 12 maybe carried out by a processor, a controller and/or anyother suitable processing device. For example, the ex-ample processes of FIGS. 11 and 12 may be embodiedin coded instructions stored on any tangible computer-readable medium such as a flash memory, a compactdisc (CD), a digital versatile disc (DVD), a floppy disk, aread-only memory (ROM), a random-access memory(RAM), a programmable ROM (PROM), an electronical-ly-programmable ROM (EPROM), and/or an electroni-

9 10

Page 7: EP2221685A2

EP 2 221 685 A2

7

5

10

15

20

25

30

35

40

45

50

55

cally-erasable PROM (EEPROM), an optical storagedisk, an optical storage device, magnetic storage disk, amagnetic storage device, and/or any other medium whichcan be used to carry or store program code and/or in-structions in the form of machine-accessible instructionsor data structures, and which can be accessed by a proc-essor, a general-purpose or special-purpose computer,or other machine with a processor (e.g., the exampleprocessor platform P100 discussed below in connectionwith FIG. 13). Combinations of the above are also includ-ed within the scope of computer-readable media. Ma-chine-accessible instructions comprise, for example, in-structions and/or data that cause a processor, a general-purpose computer, special-purpose computer, or a spe-cial-purpose processing machine to implement one ormore particular processes. Alternatively, some or all ofthe example processes of FIGS. 11 and 12 may be im-plemented using any combination(s) of ASIC(s), PLD(s),FPLD(s), discrete logic, hardware, firmware, etc. Also,some or all of the example processes of FIGS. 11 and12 may instead be implemented manually or as any com-bination of any of the foregoing techniques, for example,any combination of firmware, software, discrete logicand/or hardware. Further, many other methods of imple-menting the example operations of FIGS. 11 and 12 maybe employed. For example, the order of execution of theblocks may be changed, and/or one or more of the blocksdescribed may be changed, eliminated, sub-divided, orcombined. Additionally, any or all of the example proc-esses of FIGS. 11 and 12 may be carried out sequentiallyand/or carried out in parallel by, for example, separateprocessing threads, processors, devices, discrete logic,circuits, etc.[0043] The example process of FIG. 11 begins withthe use of the example EDL editor 210 to create and/orgenerate of a schema and/or an EDL script 205, such asthe example schema 400 of FIG. 4 and/or the exampleEDL script 500 of FIG. 5, for the example process controlsystem 100 (block 1105). The example compiler 220 isexecuted and/or operated to create a system and/or ven-dor-specific data and/or configuration information 225from the EDL script 205 (block 1110).[0044] Using the example import and/or database pop-ulation module 250, the system and/or vendor-specificdata and/or configuration information 225 is imported intothe system and/or vendor-specific configuration data-base 255 (block 1115). The example database server245 is operated and/or executed to form the systemand/or vendor-specific operation database 265 based onthe configuration database 255 (block 1120). The proc-ess control system 100 is configured, loaded and/or pro-grammed from the operation database 265 (block 1125).Control then exits from the example process of FIG. 11.[0045] The example process of FIG. 12 begins withthe example scanner 305 of FIG. 3 scanning the EDLscript file 205 to identify the lexemes contained in theEDL script file 205 (block 1205). The example tokenizer310 identifies tokens contained in the EDL script file 205

based on the identified lexemes (block 1210).[0046] Based on the tokens identified by the tokenizer310, the example parser 315 of FIG. 3 analyzes the to-kens to determine the grammatical relationships be-tween the tokens (block 1215). The example interpreter320 translates the identified grammatical relationshipsinto expressions, data and/or configuration information225 that are specific to particular make(s) and/or model(s) of process control system components (block 1220).Control then exits from the example process of FIG. 12.[0047] FIG. 13 is a schematic diagram of an exampleprocessor platform P100 that may be used and/or pro-grammed to implement the example process control sys-tem configuration system 150 and/or the example com-piler 220 of FIGS. 1, 2 and 3. For example, the processorplatform P100 can be implemented by one or more gen-eral-purpose processors, processor cores, microcontrol-lers, etc.[0048] The processor platform P100 of the example ofFIG. 13 includes at least one general-purpose program-mable processor P105. The processor P105 executescoded instructions P110 and/or P112 present in mainmemory of the processor P105 (e.g., within a RAM P115and/or a ROM P120). The processor P105 may be anytype of processing unit, such as a processor core, a proc-essor and/or a microcontroller. The processor P105 mayexecute, among other things, the example processes ofFIGS. 11 and/or 12 to implement the example methodsand apparatus described herein.[0049] The processor P105 is in communication withthe main memory (including a ROM P120 and/or the RAMP115) via a bus P125. The RAM P115 may be imple-mented by dynamic random access memory (DRAM),synchronous dynamic random access memory(SDRAM), and/or any other type of RAM device(s), andROM may be implemented by flash memory, EPROM,EEPROM, a CD, a DVD and/or any other desired typeof memory device(s). Access to the memory P115 andthe memory P120 may be controlled by a memory con-troller (not shown). The example memory P115 may beused to implement the example EDL script 205, the ex-ample EDL library 215, the example system and/or ven-dor-specific script(s) 225, the example device database230, the example configuration database 225 and/or theexample operation database 265.[0050] The processor platform P100 also includes aninterface circuit P130. The interface circuit P130 may beimplemented by any type of interface standard, such asan external memory interface, serial port, general-pur-pose input/output, etc. One or more input devices P135and one or more output devices P 140 are connected tothe interface circuit P130.[0051] Although certain example methods, apparatusand articles of manufacture have been described herein,the scope of coverage of this patent is not limited thereto.Such example are intended to be non-limiting illustrativeexamples. On the contrary, this patent covers all meth-ods, apparatus and articles of manufacture fairly falling

11 12

Page 8: EP2221685A2

EP 2 221 685 A2

8

5

10

15

20

25

30

35

40

45

50

55

within the scope of the appended claims either literallyor under the doctrine of equivalents.

Claims

1. A method comprising:

loading a first script representative of a processplant, the first script comprising an interpretivesystem-level script structured in accordancewith an electronic description language; andcompiling the first script to form a second script,the second script structured in accordance witha vendor-specific configuration language asso-ciated with a particular process control systemfor the process plant.

2. A method as defined in claim 1, wherein the firstscript is compile-able to form a third script structuredin accordance with a second vendor-specific config-uration language associated with a second processcontrol system for at least one of the process plantor a second process plant.

3. A method as defined in claim 1, wherein compilingthe first script to form the second script comprises:

identifying one or more lexemes contained inthe first script;identifying tokens contained in the first scriptbased on the one or more lexemes; identifyingone or more grammatical relationships betweenthe tokens; andforming the second script based on the tokensand the grammatical relationships.

4. A method as defined in claim 1, wherein the firstscript is constructed in accordance with an extensi-ble markup language.

5. A method as defined in claim 1, wherein the firstscript represents a relationship between a first de-vice of the process control system and a second de-vice of the process control system.

6. A method as defined in claim 5, wherein the first de-vice comprises a field device and the second devicecomprises a control system component.

7. A method as defined in claim 1, further comprisingimporting the second script into a process controlsystem configuration database associated with theprocess control system.

8. A method as defined in claim 1, further comprising:

generating a process control system operation

database based on the second script; andconfiguring the process control system basedon the operation database.

9. An apparatus comprising:

an editor useable to create a first script repre-sentative of a process plant, the first script com-prising an interpretable system-level scriptstructured in accordance with an electronic de-scription language; anda compiler to form a second script from the firstscript, the second script structured in accord-ance with a vendor-specific configuration lan-guage associated with a particular process con-trol system for the process plant.

10. An apparatus as defined in claim 9, wherein the firstscript is to be compiled to form a third script, the thirdscript structured in accordance with a second con-figuration language associated with a second proc-ess control system for at least one of the processplant or a second process plant.

11. An apparatus as defined in claim 9, wherein the com-piler comprises:

a scanner to identify one or more lexemes con-tained in the first script;a tokenizer to identify tokens contained in thefirst script based on the one or more lexemes;a parser to identify one or more grammatical re-lationships between the tokens; andan interpreter to form the second script basedon the tokens and the grammatical relation-ships.

12. An apparatus as defined in claim 9, wherein the firstscript is constructed in accordance with an extensi-ble markup language.

13. An apparatus as defined in claim 9, wherein the firstscript represents a relationship between a first de-vice of the process control system and a second de-vice of the process control system.

14. An apparatus as defined in claim 9, further compris-ing:

a database populator to populate a process con-trol system configuration database based on thesecond script; anda database server to configure the process con-trol system based on the process control systemconfiguration database.

15. An article of manufacture storing machine readableinstructions that, when executed, cause a machine

13 14

Page 9: EP2221685A2

EP 2 221 685 A2

9

5

10

15

20

25

30

35

40

45

50

55

to perform the method according to any of claims 1-8.

15 16

Page 10: EP2221685A2

EP 2 221 685 A2

10

Page 11: EP2221685A2

EP 2 221 685 A2

11

Page 12: EP2221685A2

EP 2 221 685 A2

12

Page 13: EP2221685A2

EP 2 221 685 A2

13

Page 14: EP2221685A2

EP 2 221 685 A2

14

Page 15: EP2221685A2

EP 2 221 685 A2

15

Page 16: EP2221685A2

EP 2 221 685 A2

16

Page 17: EP2221685A2

EP 2 221 685 A2

17

Page 18: EP2221685A2

EP 2 221 685 A2

18