DETAILED ACTION
Notice of AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim(s) 1-12 are pending and are rejected.
Response to Amendment
This Office Action is responsive to the amendment filed on 11/17/2025.
Claims 1-12 are amended that are being fully considered by the examiner.
In response to amendments to claim 1, all the claim objections of claim 1 as set forth in the previous office action has been withdrawn.
In response to amendments to the claims, all the 35 USC 112 rejections as set forth in the previous office action has been withdrawn.
This action is MADE FINAL. Please see response to arguments section for further details.
Claim Objections
Claim 2 (amended):
Claim 2 is objected to because of the following informalities:
Claim recites, before the component program code to the selected control unit therefor that is incomplete and includes typographical error. It’s not clear “before” what operation, translation operation is performed. According to parent claim 1, the component program code is transmitted to the selected control unit. Therefore, for the examination purpose, in broadest reasonable interpretation, this limitation is construed as, before transmitting the component program code to the selected control unit therefor.
Appropriate correction is required.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filling date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
Determining the scope and contents of the prior art.
Ascertaining the differences between the prior art and the claims at issue.
Resolving the level of ordinary skill in the pertinent art.
Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1-12 is/are rejected under 35 U.S.C. 103 as being unpatentable over Eryurek et al. (US20050222698A1) [hereinafter Eryurek], and further in view of Dunn (US20210089276A1) [hereinafter Dunn].
Regarding claim 1 (amended):
Eryurek discloses, A method for programming a plant control system [¶17: “enable a user to select one of the plurality of template configuration objects from the library section and to place the selected template configuration object within the configuration area to create a process configuration module within the configuration area.”];
having a plurality of control units connected to one another and to sensors or actuators, said method comprising: [¶28: “having one or more process controllers 12, which may be a pair of redundant controllers. Each process controller 12 is connected to one or more field devices 14 and 16 via input/output (I/O) cards or devices 18 and 19, which may be any types of I/O devices conforming to any desired communication or controller protocol. The field devices 14 and 16 may be any types of field devices such as, for example, sensors, valves, transmitters, positioners, etc., and may conform to any desired open, proprietary or other communication or programming protocol.”
Examiner notes that Eryurek discloses, controllers connected to field devices such as sensors/actuators to perform control of the field devices such as sensors/actuators];
retrieving a plurality of component templates of plant parts from a component template memory; [¶55: “creating one or more process configuration modules 39 (using the configuration objects 42), which model the arrangement of physical entities and logical entities within the process plant 10.” “present the library or template section 65 (which includes the library 40 of FIG. 2) on the user interface or workstation 20.”…
¶56: “library or template section 65 is adapted to present a graphical depiction of sets of template configuration objects 67, which may include the configuration objects 42 of FIG. 2,” “The template configuration object 67 may be associated with any desired process entity such as, for example, a device object 67 a representative of a device within the process plant 10, a connection object 67 b representative of a connector element within the process plant 10, a unit object 67 c representative of a unit within the process plant 10, and an area object 67 d representative of an area of the process plant 10.”
Examiner notes that Eryurek discloses, retrieving template 65 with template configuration object 67 from the memory/library 40];
generating components from the component templates and linking the generated components to one another in a plant description; [¶65: “create the process configuration module 39 by selecting, dragging, and dropping template device objects 67 a, e.g., a valve 102 and a transmitter 104, onto the configuration section 66 in a desired location.” “interconnect the valve 102 and transmitter 104 by selecting, dragging, and dropping a template connection object 67 b, e.g., a pipe 106, between the valve 102 and the transmitter 104.”…
¶56: “The template configuration object 67 may be associated with any desired process entity such as, for example, a device object 67 a representative of a device within the process plant 10, a connection object 67 b representative of a connector element within the process plant 10, a unit object 67 c representative of a unit within the process plant 10, and an area object 67 d representative of an area of the process plant 10.”…
¶57: “Device objects 67 a may be associated with physical devices within the plant 10 that perform some function with respect to a stream of material such as, for example, valves, sensors, transmitters, pumps, eductors, dampers, feeders, etc.”…
¶61: “the template configuration objects 67 are generic objects that may be provided from the system manufacturer to the user and that may be selected, dragged, and dropped onto the configuration section 66 to create an instance of a configuration object within a process configuration module 39.”…
¶55: “creating one or more process configuration modules 39 (using the configuration objects 42), which model the arrangement of physical entities and logical entities within the process plant 10.” “present the library or template section 65 (which includes the library 40 of FIG. 2) on the user interface or workstation 20.”
Examiner notes that Eryurek discloses in fig. 3; select components such as 102, 106, 104 from template 67 such as unit objects 67c, device objects 67a and connection objects 67b etc. and connecting them with each other in a plant description such as process configuration module 39];
wherein the component templates have function descriptions and interface descriptions with one or more connection descriptions describing data exchange; [¶45 “FIG. 2” “the configuration object 42 e is illustrated as being one of the template configuration objects,”…
¶49: “The configuration object 42 e may also include one or more inputs 54 and outputs 56”…
¶50: “These inputs 54 and outputs 56 may also be determined or defined by a set of rules within the rules database 50 and the connection matrix 52 defining the connections between different devices or entities within the process plant 10.” “These inputs 54 and outputs 56 may also be used to provide communications between the configuration object 42 e and other objects within the process control system such as, for example, control modules 29 located within the process controllers 12, smart field devices 16, etc.”…
¶51: “As illustrated in FIG. 2, the configuration object 42 e also includes a method storage 58 that is used to store zero, one or more methods 60” “the methods 60 may determine poor or bad operating conditions associated with the entity defined by the configuration object 42 e, errors associated with that or other entities within the process plant 10, etc.”…
¶52: “The methods 60 may be preconfigured or provided based on the type or class of configuration object and will generally be executed each time the configuration object 42 e is executed within the execution engine 48 during runtime. Some example methods 60 that may be provided within a configuration object such as, for example, the configuration object 42 e, include detecting leaks, dead band, dead time, movement, variability, condition monitoring, computing costs, or other conditions associated with the entity.”
Examiner notes that Eryurek discloses in fig. 2; component templates have function descriptions (e.g.; methods describing various functions) and interface descriptions with connection description such as input/output connections between components and controller];
wherein the generated components comprise interfaces corresponding to the interface descriptions, and matching interfaces of different components of the generated components of the plant description are connected via component connections; [¶55: “FIG. 3,” “define the component devices, interconnections, and interrelationships within the process control environment by creating one or more process configuration modules 39 (using the configuration objects 42), which model the arrangement of physical entities and logical entities within the process plant 10.”…
¶56: “a connection object 67 b representative of a connector element within the process plant 10,”
¶58: “Each connection object 67 b defines the type of connection that is used to provide material at the input or output of a device. In other words, a connection object 67 b may begin at a device object 67 a output or a unit object 67 c output, and may terminate at a device object 67 a input or a unit object 67 c input. In addition, if an upstream output is common to two connections, a “T” element may be included in the connection object 67 b. Similarly, “T” elements may be used to combine multiple outputs.”…
¶60: “Unit objects 67 c may include a logical grouping of device objects 67 a and connection objects 67 b interconnected together, as well as other plant equipment that process or perform a function on the materials or streams in the plant 10 in some manner. Generally, all inputs and outputs to and from unit objects 67 c may be made through connection objects 67 b.”
Examiner notes that Eryurek discloses, corresponding i/o connection between the selected components];
then generating by a code generator a respective component program code adapted to the… control unit and the sensor or sensors or the actuator or actuators connected thereto based on the corresponding function descriptions of the corresponding component templates of each of the corresponding generated components and on the connected interfaces; [¶60: “area objects 67 d may include a logical grouping of unit objects 67 c, device objects 67 a and connection objects 67 b interconnected together, as well as other plant equipment that process or perform a function on the materials or streams in the plant 10 in some manner.”…
¶68: “completely define the attributes, methods, etc. for each process configuration module 39 of the process control system,”
¶70: “Control attributes may include” “references to the electrical inputs and outputs of the function blocks associated with the control strategy,” “create a control strategy for a tank unit object in which a fluid level in a tank is read by a level sensor, and compared with a predetermined desired level. The control strategy may then open or close a feed valve based on whether the fluid level is lower or higher than the predetermined desired level.”…
¶71: “Control attributes associated with a valve object may include the control strategy such as, for example, the function blocks, that are used to define and access a particular function to control the valve.” “associate the electrical inputs and outputs of the function blocks (i.e., AI, AO, DI, DO, etc.) with electrical signals or values produced or generated by various configuration objects (e.g., device objects 67 a or unit objects 67 b) that make up the process configuration module 39.” “configuration application 38 relates each of the functions defined by the function blocks according to the interconnections of the objects within the process configuration module 39 specified”…
¶72: “specify the parameters such as, for example, the setpoint, mode, status, etc. of the associated function block controlling that valve when setting or configuring a valve object, either by itself or as part of a higher-level process configuration module, such as a unit object, an area object, etc.” (¶72)
Examiner notes that Eryurek discloses, generating control attributes with control strategies; i/o connection between controller and the corresponding device being controlled based on the control attributes and sensor/actuator such as i/o connection of sensors/transmitters and sensor data receivers based on i/o connections and corresponding functions such as control operation related parameters, functions etc. of the components], but doesn’t explicitly disclose, and
Dunn discloses, selecting, for each of the generated components of the plant description, a respective control unit from the control units of the plant control system and
then generating by a code generator a respective component program code adapted to the selected control unit…based on the corresponding function descriptions of the corresponding component templates of each of the corresponding generated components and on the connected interfaces; [¶49: “identify the appropriate target devices to which respective portions of the system project should be sent for execution, translate these respective portions to formats understandable by the target devices, and deploy the translated project components to their corresponding devices.”…
¶90: “DSL editor 224 allows a user to program any aspects of the system project 302” “compiler 810 can then translate this hierarchical model to industrial code 806 (including any automation objects 222 defined by the DSL script 802) that is understandable and executable by an industrial control device (e.g., a programmable logic controller or another type of industrial control device). The resulting industrial code 806 can then be added to system project 302 or deployed directly to the target control device. In general, the DSL editor 224 can map the industrial DSL to a structured language understandable by the target industrial control equipment.”…
¶55: “The object library can store predefined automation objects 222 representing various classifications of real-world industrial assets 402, including but not limited to pumps, tanks, values, motors, motor drives (e.g., variable frequency drives), industrial robots, actuators (e.g., pneumatic or hydraulic actuators), or other such assets.”…
¶58: “associate or map elements identified in the drawings with appropriate automation objects 222 corresponding to these elements (e.g., tanks, pumps, etc.) and add these automation objects 222 to the system project 302.”…
¶60: “generate any suitable code (ladder, function blocks, etc.), device configurations, and visualizations based on analysis of these drawings and markings for incorporation into system project 302.”…
¶68: “use guardrail templates 506 to guide user selection of equipment or devices for a given design goal; e.g., based on the industrial vertical, type of control application”
Examiner notes that Dunn discloses, selected target controller for the selected components in automation objects 222 (e.g.; target control device for the components/objects such as pumps, tanks, values, motors, motor drives (e.g., variable frequency drives), industrial robots, actuators), where executable control code for the target controller are generated and transmitted based on the functions of the components/objects and their associated connection/relationship/interconnection];
transmitting each of the component program codes to the respective selected control units thereof. [¶49: “identify the appropriate target devices to which respective portions of the system project should be sent for execution, translate these respective portions to formats understandable by the target devices, and deploy the translated project components to their corresponding devices.”…
¶90: “compiler 810 can then translate this hierarchical model to industrial code 806 (including any automation objects 222 defined by the DSL script 802) that is understandable and executable by an industrial control device (e.g., a programmable logic controller or another type of industrial control device). The resulting industrial code 806 can then be…deployed directly to the target control device. In general, the DSL editor 224 can map the industrial DSL to a structured language understandable by the target industrial control equipment.”
Examiner notes that Dunn discloses, transmitting/deploying the generated executable control code to the target control device for the components/objects such as pumps, tanks, values, motors, motor drives (e.g., variable frequency drives), industrial robots, actuators].
Therefore, it would have been obvious to one of ordinary skill in the art before the filling date of the claimed invention to have combined the capability of generating executable control code for target controller of each controllable components/objects based on the functions and interconnections of the objects/components and controller, and transmitting the generated control code to the target controller(s) in order to efficiently perform component programing with less effort taught by Dunn with the method taught by Eryurek as discussed above in order to have reasonable expectation of success such as to efficiently perform component programing with less effort [Dunn, ¶99: “render development of industrial control code more efficient relative to ladder logic platforms or other industrial development platforms, allowing programmers to generate industrial control code” “requiring fewer mouse clicks relative to traditional control programming environments.”].
Regarding claim 2 (amended):
Eryurek and Dunn disclose The method according to claim 1, and
Eryurek further discloses, wherein the function descriptions of one or more of the component templates each comprise respective function program code, [¶50: “These inputs 54 and outputs 56 may also be determined or defined by a set of rules within the rules database 50 and the connection matrix 52 defining the connections between different devices or entities within the process plant 10.” “These inputs 54 and outputs 56 may also be used to provide communications between the configuration object 42 e and other objects within the process control system such as, for example, control modules 29 located within the process controllers 12, smart field devices 16, etc.”…
¶51: “the methods 60 may determine poor or bad operating conditions associated with the entity defined by the configuration object 42 e, errors associated with that or other entities within the process plant 10, etc.”
¶52: “The methods 60 may be preconfigured or provided based on the type or class of configuration object” “methods 60 that may be provided within a configuration object such as, for example, the configuration object 42 e, include detecting leaks, dead band, dead time, movement, variability, condition monitoring, computing costs, or other conditions associated with the entity.”
Examiner notes that Eryurek discloses in fig. 2; component templates have function descriptions (e.g.; methods describing various functions) function program code (e.g.; preconfigured method that dictates how components will function or carry out certain functions):], but doesn’t explicitly disclose, and
Dunn further discloses, the code generator translates the function program code into the component program code when generating the generated components from the one or more of the component templates on the basis of the connected interfaces before the component program code to the selected control unit therefor. [¶49: “identify the appropriate target devices to which respective portions of the system project should be sent for execution, translate these respective portions to formats understandable by the target devices, and deploy the translated project components to their corresponding devices.”…
¶90: “DSL editor 224 allows a user to program any aspects of the system project 302” “compiler 810 can then translate this hierarchical model to industrial code 806 (including any automation objects 222 defined by the DSL script 802) that is understandable and executable by an industrial control device (e.g., a programmable logic controller or another type of industrial control device). The resulting industrial code 806 can then be added to system project 302 or deployed directly to the target control device. In general, the DSL editor 224 can map the industrial DSL to a structured language understandable by the target industrial control equipment.”
Examiner notes the claim objections as set forth in this office action, and the limitation before the component program code to the selected control unit therefor is construed as before transmitting the component program code to the selected control unit therefor.
Examiner notes that Dunn discloses, compile hierarchical model to industrial code 806 before transmitting to the target controller].
Regarding claim 3 (amended):
Eryurek and Dunn disclose, The method according to claim 1,
Eryurek further discloses, wherein the component templates comprise parameter descriptions and the components generated from the component templates comprise predetermined parameters corresponding to the parameter descriptions, and [¶68: “store the configuration information or parameters (e.g.,” “the control attributes,” “one or more display formats for displaying the device parameter information, etc.) in the data store 53.”…
¶70: “Control attributes may include” “values for one or more control parameters associated with control of the physical entity, references to the electrical inputs and outputs of the function blocks associated with the control strategy, setpoints, the initial values of the attributes, the default values (if appropriate) of the attributes, the range, i.e., high and low values, of the attributes, measurement units, limits, dead band, etc.”
Examiner notes that Eryurek discloses, component templates comprise parameter description such as predetermined parameters (e.g.; values for one or more control parameters, setpoints, the initial values of the attributes, the default values of the attributes, the range, i.e., high and low values, of the attributes, measurement units, limits, dead band, etc.)], but doesn’t explicitly disclose, and
Dunn further discloses, said transmitting of the component program code to the selected control units includes transmitting of the predetermined parameters together therewith. [¶61: “Based on this information, the project generation component 206 will generate portions of the system project 302 to satisfy the specified design goals and constraints. Portions of the system project 302 that can be generated in this manner can include, but are not limited to, device and equipment selections…associated device configurations”…
¶54: “Based on design and programming input from one or more developers 304, IDE system 202 generates a system project 302 comprising one or more project files. The system project 302 encodes control programming; HMI, AR, and/or VR visualizations; device or sub-system configuration data…IDE system 202 can identify the appropriate target devices 306 on which respective aspects of the system project 302 should be executed (e.g., industrial controllers, HMI terminals, variable frequency drives, safety devices, etc.), translate the system project 302 to executable files that can be executed on the respective target devices, and deploy the executable files to their corresponding target devices 306 for execution” (¶54)
Examiner notes that Dunn discloses, transmitted control code includes transmitting along with it the parameters determined in advance such as associated device configurations such as tuning parameters, network settings, drive parameters, telemetry device parameters, safety zone definitions, etc.].
Regarding claim 4 (amended):
Eryurek and Dunn disclose, The method according to claim 3, and
Dunn further discloses, wherein the code generator adapts the component program code on the basis of the predetermined parameters before transmitting the component program code to the selected control unit. [¶61: “Based on this information, the project generation component 206 will generate portions of the system project 302 to satisfy the specified design goals and constraints. Portions of the system project 302 that can be generated in this manner can include, but are not limited to, device and equipment selections (e.g., definitions of how many pumps, controllers, stations, conveyors, drives, or other assets will be needed), associated device configurations (e.g., tuning parameters, network settings, drive parameters, etc.),”…
¶54: “Based on design and programming input from one or more developers 304, IDE system 202 generates a system project 302 comprising one or more project files. The system project 302 encodes control programming; HMI, AR, and/or VR visualizations; device or sub-system configuration data (e.g., drive parameters, vision system configurations, telemetry device parameters, safety zone definitions, etc.); or other such aspects of an industrial automation system being designed. IDE system 202 can identify the appropriate target devices 306 on which respective aspects of the system project 302 should be executed (e.g., industrial controllers, HMI terminals, variable frequency drives, safety devices, etc.), translate the system project 302 to executable files that can be executed on the respective target devices, and deploy the executable files to their corresponding target devices 306 for execution,”].
Regarding claim 5 (amended):
Eryurek and Dunn disclose, The method according to claim 1,
Eryurek further discloses, wherein the plant description forms a graph having nodes that are the generated components each linked to one or more of the other generated components via respective intermediate edges. [¶42: “Each process configuration module 39 is made up of or created from one or more configuration objects 42 and may include any number of objects connected together.”…
¶65: “create the process configuration module 39 by selecting, dragging, and dropping template device objects 67 a, e.g., a valve 102 and a transmitter 104, onto the configuration section 66 in a desired location. The configuration engineer may interconnect the valve 102 and transmitter 104 by selecting, dragging, and dropping a template connection object 67 b, e.g., a pipe 106, between the valve 102 and the transmitter 104.”
Examiner notes Eryurek discloses in fig.3; plant description, process configuration modules 39 have nodes such as components 104, 102 that are generated components linked to each other via an intermediate edge 106 in each case].
Regarding claim 6 (amended):
Eryurek and Dunn disclose, The method according to claim 2,
Eryurek further discloses, wherein the component templates comprise parameter descriptions and the components generated from the component templates comprise predetermined parameters corresponding to the parameter descriptions, [¶68: “store the configuration information or parameters (e.g.,” “the control attributes,” “one or more display formats for displaying the device parameter information, etc.) in the data store 53.”
¶70: “Control attributes may include” “values for one or more control parameters associated with control of the physical entity, references to the electrical inputs and outputs of the function blocks associated with the control strategy, setpoints, the initial values of the attributes, the default values (if appropriate) of the attributes, the range, i.e., high and low values, of the attributes, measurement units, limits, dead band, etc.” (¶70)
Examiner notes Eryurek discloses, component templates comprise parameter description such as predetermined parameters (e.g.; values for one or more control parameters, setpoints, the initial values of the attributes, the default values of the attributes, the range, i.e., high and low values, of the attributes, measurement units, limits, dead band, etc.):], but doesn’t explicitly disclose, and
Dunn further discloses, said transmitting of the component program code to the selected control units includes transmitting of the predetermined parameters together therewith. [¶61: “Based on this information, the project generation component 206 will generate portions of the system project 302 to satisfy the specified design goals and constraints. Portions of the system project 302 that can be generated in this manner can include, but are not limited to, device and equipment selections (e.g., definitions of how many pumps, controllers, stations, conveyors, drives, or other assets will be needed), associated device configurations (e.g., tuning parameters, network settings, drive parameters, etc.),”…
¶54: “Based on design and programming input from one or more developers 304, IDE system 202 generates a system project 302 comprising one or more project files. The system project 302 encodes control programming; HMI, AR, and/or VR visualizations; device or sub-system configuration data (e.g., drive parameters, vision system configurations, telemetry device parameters, safety zone definitions, etc.); or other such aspects of an industrial automation system being designed. IDE system 202 can identify the appropriate target devices 306 on which respective aspects of the system project 302 should be executed (e.g., industrial controllers, HMI terminals, variable frequency drives, safety devices, etc.), translate the system project 302 to executable files that can be executed on the respective target devices, and deploy the executable files to their corresponding target devices 306 for execution”].
Regarding claim 7 (amended):
Eryurek and Dunn disclose, The method according to claim 6, and
Dunn further discloses, wherein the code generator adapts the component program code on the basis of the predetermined parameters before transmitting the component program code to the selected control unit. [¶61: “Based on this information, the project generation component 206 will generate portions of the system project 302 to satisfy the specified design goals and constraints. Portions of the system project 302 that can be generated in this manner can include, but are not limited to, device and equipment selections (e.g., definitions of how many pumps, controllers, stations, conveyors, drives, or other assets will be needed), associated device configurations (e.g., tuning parameters, network settings, drive parameters, etc.),”…
¶54: “Based on design and programming input from one or more developers 304, IDE system 202 generates a system project 302 comprising one or more project files. The system project 302 encodes control programming; HMI, AR, and/or VR visualizations; device or sub-system configuration data (e.g., drive parameters, vision system configurations, telemetry device parameters, safety zone definitions, etc.); or other such aspects of an industrial automation system being designed. IDE system 202 can identify the appropriate target devices 306 on which respective aspects of the system project 302 should be executed (e.g., industrial controllers, HMI terminals, variable frequency drives, safety devices, etc.), translate the system project 302 to executable files that can be executed on the respective target devices, and deploy the executable files to their corresponding target devices 306 for execution,”
Examiner notes Dunn discloses, before transmitting the control code to the target controller, the system compiles the control code, where control code is on the basis of the predetermined parameters (e.g.; transmitted control code includes along with it the parameters determined in advance such as associated device configurations such as tuning parameters, network settings, drive parameters, telemetry device parameters, safety zone definitions, etc.):].
Regarding claim 8 (amended):
Eryurek and Dunn disclose, The method according to claim 2,
Eryurek further discloses, wherein the plant description forms a graph having nodes that are the generated components each linked to one or more of the other generated components via respective intermediate edges. [¶42: “Each process configuration module 39 is made up of or created from one or more configuration objects 42 and may include any number of objects connected together.”…
¶65: “create the process configuration module 39 by selecting, dragging, and dropping template device objects 67 a, e.g., a valve 102 and a transmitter 104, onto the configuration section 66 in a desired location. The configuration engineer may interconnect the valve 102 and transmitter 104 by selecting, dragging, and dropping a template connection object 67 b, e.g., a pipe 106, between the valve 102 and the transmitter 104.”
Examiner notes Eryurek discloses in fig.3; plant description, process configuration modules 39 have nodes such as components 104, 102 that are generated components linked to each other via an intermediate edge 106 in each case].
Regarding claim 9 (amended):
Eryurek and Dunn disclose, The method according to claim 3,
Eryurek further discloses, wherein the plant description forms a graph having nodes that are the generated components each linked to one or more of the other generated components via respective intermediate edges. [¶42: “Each process configuration module 39 is made up of or created from one or more configuration objects 42 and may include any number of objects connected together.”…
¶65: “create the process configuration module 39 by selecting, dragging, and dropping template device objects 67 a, e.g., a valve 102 and a transmitter 104, onto the configuration section 66 in a desired location. The configuration engineer may interconnect the valve 102 and transmitter 104 by selecting, dragging, and dropping a template connection object 67 b, e.g., a pipe 106, between the valve 102 and the transmitter 104.”
Examiner notes Eryurek discloses in fig.3; plant description, process configuration modules 39 have nodes such as components 104, 102 that are generated components linked to each other via an intermediate edge 106 in each case].
Regarding claim 10 (amended):
Eryurek and Dunn disclose, The method according to claim 4,
Eryurek further discloses, wherein the plant description forms a graph having nodes that are the generated components each linked to one or more of the other generated components via respective intermediate edges. [¶42: “Each process configuration module 39 is made up of or created from one or more configuration objects 42 and may include any number of objects connected together.”…
¶65: “create the process configuration module 39 by selecting, dragging, and dropping template device objects 67 a, e.g., a valve 102 and a transmitter 104, onto the configuration section 66 in a desired location. The configuration engineer may interconnect the valve 102 and transmitter 104 by selecting, dragging, and dropping a template connection object 67 b, e.g., a pipe 106, between the valve 102 and the transmitter 104.”
Examiner notes Eryurek discloses in fig.3; plant description, process configuration modules 39 have nodes such as components 104, 102 that are generated components linked to each other via an intermediate edge 106 in each case].
Regarding claim 11 (amended):
Eryurek and Dunn disclose, The method according to claim 6,
Eryurek further discloses wherein the plant description forms a graph having nodes that are the generated components each linked to one or more of the other generated components via respective intermediate edges. [¶42: “Each process configuration module 39 is made up of or created from one or more configuration objects 42 and may include any number of objects connected together.”…
¶65: “create the process configuration module 39 by selecting, dragging, and dropping template device objects 67 a, e.g., a valve 102 and a transmitter 104, onto the configuration section 66 in a desired location. The configuration engineer may interconnect the valve 102 and transmitter 104 by selecting, dragging, and dropping a template connection object 67 b, e.g., a pipe 106, between the valve 102 and the transmitter 104.”
Examiner notes Eryurek discloses in fig.3; plant description, process configuration modules 39 have nodes such as components 104, 102 that are generated components linked to each other via an intermediate edge 106 in each case].
Regarding claim 12 (amended):
Eryurek and Dunn disclose, The method according to claim 7,
Eryurek further discloses, wherein the plant description forms a graph having nodes that are the generated components each linked to one or more of the other generated components via respective intermediate edges. [¶42: “Each process configuration module 39 is made up of or created from one or more configuration objects 42 and may include any number of objects connected together.”…
¶65: “create the process configuration module 39 by selecting, dragging, and dropping template device objects 67 a, e.g., a valve 102 and a transmitter 104, onto the configuration section 66 in a desired location. The configuration engineer may interconnect the valve 102 and transmitter 104 by selecting, dragging, and dropping a template connection object 67 b, e.g., a pipe 106, between the valve 102 and the transmitter 104.”
Examiner notes Eryurek discloses in fig.3; plant description, process configuration modules 39 have nodes such as components 104, 102 that are generated components linked to each other via an intermediate edge 106 in each case].
Response to Arguments
Applicant's arguments filed 11/17/2025 have been fully considered but they are not persuasive.
Applicant responds
(a) Prior art rejections
Ervurek does not show or suggest a method as set out in claim 1.
nothing in Eryurek suggests selecting a control unit for each of the generated components of the plant description, and then generating and transmitting to the selected control unit a component program code adapted to the selected control unit and the sensors or the actuators connected to it based on the corresponding function descriptions of the corresponding component templates of each of the corresponding generated components and on the connected interfaces.
Eryurek consequently does not suggest such an extension of control-unit specific code downward from the plant description, nor does Eryurek address the problem solved by the presently claimed method, i.e., avoiding the need for hand-wiring of low-level data links among numerous devices and controllers.
Eryurek therefore does not suggest the claimed method.
Nowhere does Dunn describe or suggest the use of component templates that include both function descriptions and interface descriptions with connection descriptions describing data exchange, as recited in claim 1. Dunn also fails to suggest selecting a control unit for each component generated from a component template and then generating component program code adapted to the selected unit and its sensor(s) or actuator(s).
(Pages: 8-10)
With respect to (a) above, Examiner appreciates the interpretative description given by Applicant in response.
In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986).
As described in the previous office action:
Dunn disclose, selection of target controllers, for respective generated components of plant description that describe various connected components in the plant, where executable control code for the target controller are generated and transmitted based on the functions of the components/objects and their associated connection/relationship/interconnection.
Eryurek discloses, the limitation control unit a component program code adapted to the selected control unit and the sensors or the actuators connected to it based on the corresponding function descriptions of the corresponding component templates of each of the corresponding generated components and on the connected interfaces, such as generating control attributes with control strategies; i/o connection between controller and the corresponding device being controlled based on the control attributes and sensor/actuator such as i/o connection of sensors/transmitters and sensor data receivers based on i/o connections and corresponding functions such as control operation related parameters, functions etc. of the components.
Combination of Eryurek and Dunn disclose all the elements of the claim.
Applicant’s arguments are fully considered, but for the above described reasons, they are not persuasive; therefore, the 35 USC 103 rejections as set forth in the previous office action are maintained.
(b) Prior art rejections
Furthermore, Eryurek and Dunn cannot be properly combined to suggest the claimed method. To arrive at claim 1, from the argued combination, one of ordinary skill in the art would have to re-architect the templates of Eryurek into code-generating templates with interface descriptions with connection descriptions describing data exchange, and then replace the script-driven compilation of Dunn by an interface-connection-based code synthesis directed to the specific control unit involved. Neither reference suggests a system in which the focused code generation for control units relies on linked generated components of a plant description that are generated from component templates.
(Pages: 9-10)
With respect to (b) above, Examiner appreciates the interpretative description given by Applicant in response.
In response to applicant's argument that Eryurek and Dunn cannot be properly combined to suggest the claimed method, the test for obviousness is not whether the features of a secondary reference may be bodily incorporated into the structure of the primary reference; nor is it that the claimed invention must be expressly suggested in any one or all of the references. Rather, the test is what the combined teachings of the references would have suggested to those of ordinary skill in the art. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981).
As described in (a) above, combination of Eryurek and Dunn disclose all the elements of the claim.
Applicant’s arguments are fully considered, but for the above described reasons, they are not persuasive; therefore, the 35 USC 103 rejections as set forth in the previous office action are maintained.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure is listed in the PTO-892 Notice of Reference Cited document mailed on 05/16/2025.
Blevins’804 et al. (US20040153804A1) - Integration of graphic display elements, process modules and control modules in process plants:
¶99: FIGS. 7A and 7B illustrate the integration of a control module 29, a process module 39 and a graphic display 35 in more detail. In particular, the graphic display 35 includes a valve 180 connected to an input of a recycle tank 182 and a pump 184 along with a valve 186 connected in series with an output of the recycle tank 182. The elements 180-186 are connected together via piping connection elements (not labeled) and stream elements are provided at the inputs and outputs of the graphic display 35 to define the streams of materials at those points.
McDaniel (US20170249129A1) - Programming automation in a 3d graphical editor with tightly coupled logic and physical simulation:
¶7: A system for designing automation applications based on input from a user includes a library interface,….a controller code generation unit. The library interface is configured to receive a user selection of a plurality of components from a library of components….The three-dimensional workspace displays the components and creates a system design using the components based on one or more instructions provided by the user. The simulation engine may then generate simulation code based on the system design and execute the simulation code in response to a command from the user. In some embodiments, the simulation code may be executed in a virtual machine environment. In some embodiments, one or more of the components in the three-dimensional workspace is animated during execution of the simulation code. The controller code generation unit included in the aforementioned system is configured to identify physical controllers corresponding to the components in the three-dimensional workspace (e.g., based on a device announce message received from the controllers) and generate controller-executable code for those controllers based on the system design.
Blevins’390 et al. (US20110040390A1) - System Configuration Using Templates:
¶15: A module template for use in process control configuration includes one or several selectable components such as logic or function blocks and process parameters…an operator may select a module template for a particular application, select the desired components within the module template, and create a module instance that includes only the selected components. The operator may thus customize both the structure of the module instance and the parameters corresponding to the components of the module instance….the module instance may include a data field to specify which of the options available in the parent module template were selected at the instantiation of the module instance. In some embodiments, an operator may modify the module instance after the module instance has been instantiated (¶11). The system development interface may provide another function for efficiently editing the identified instances together (e.g., selecting or unselecting an option of the parent module template, editing a common parameter specified by the parent module template, etc.).
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MOHAMMED SHAFAYET whose telephone number is (571)272-8239. The examiner can normally be reached M-F 8:30 AM-5:00 PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kenneth Lo can be reached at (571) 272-9774. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/M.S./
Patent Examiner,
Art Unit 2116
/KENNETH M LO/Supervisory Patent Examiner, Art Unit 2116