Recipe Builder User Interface
By using the user interface of the recipe building application, the visual management of recipe elements and automatic deferred between levels are realized, which solves the problems of complexity and data redundancy in recipe management in the prior art and improves the efficiency and flexibility of batch production.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SWIMC LLC
- Filing Date
- 2024-11-26
- Publication Date
- 2026-07-31
AI Technical Summary
Existing recipe building systems struggle to effectively manage and optimize the hierarchical structure and parameter deferredness of recipes during automated batch manufacturing processes, leading to data redundancy and increased operational complexity.
This invention provides a user interface for a recipe building application, which enables visual management of recipe elements through a graphical user interface (GUI), supports transitions, step parameter editing, annotation addition, and parameter deferral, and utilizes a display logic module to achieve automatic deferral between levels and data optimization.
It simplifies the recipe development process, reduces data redundancy, improves operational efficiency, and supports flexible recipe management and batch production optimization.
Smart Images

Figure CN122497923A_ABST
Abstract
Description
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 18 / 523,483, filed November 29, 2023, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This disclosure relates in general to user interfaces, such as user interfaces for controlling and monitoring systems. Background Technology
[0003] Formulations are commonly used for batch automation in the manufacture of products such as chemicals, coatings, and many other manufactured goods. A formulation can include equipment capabilities and performance, ingredients added to the batch at various points in time, transitions occurring between steps, and an overall strategy for the steps in which inputs are processed into the product at each processing unit. Programmable Logic Controller (PLC)-based programming is typically used to program the controllers of the process.
[0004] Example Implementation Plan Overview
[0005] Recipe building applications (or recipe builders) provide a graphical user interface (“GUI”), which offers users a mechanism for graphically representing a process that can be used to program a controller to execute the process. The following presents a simplified overview of an example embodiment to provide a basic understanding of some aspects of the example embodiment. This overview is not a comprehensive overview of the example embodiment. It is not intended to identify key or essential elements of the example embodiment, nor is it intended to define the scope of the appended claims. The sole purpose of this overview is to present some concepts of the example embodiment in a simplified form as a prelude to the more detailed description that follows.
[0006] According to an example embodiment, this document discloses a user interface for a recipe building application. Upon detecting an input device, such as a mouse or trackball, hovering over a stage element, the user interface presents an icon that, when selected, allows the user to add a transition. In other embodiments, in response to detecting an input device hovering over a stage element, the user interface provides an edit transition icon. In yet another embodiment, the user interface provides an icon that, upon detecting an input device hovering over a transition, allows the user to add a step to the recipe when the icon is selected. Other embodiments include methods and computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to provide the user interface described herein.
[0007] According to an example implementation, this document discloses a user interface for a recipe building application that is operable to allow users to add annotations to stage elements. When a user saves an annotation, the annotation is linked to the stage element, and an icon appears on the stage element to indicate the existence of an annotation linked to that stage element and to provide access to that annotation.
[0008] According to an example implementation, this document discloses a user interface for a recipe building application, which includes a method for adding deferrals to parameters. Upon receiving input for deferring a parameter, the user interface automatically presents a visual representation of available levels. A level is selected, and the user interface provides a prompt for confirmation of the selection. After confirmation, the parameter is deferred to the selected level, and the user interface provides an indication that the parameter has been deferred.
[0009] According to an example embodiment, this document discloses an apparatus comprising: one or more processors coupled to a display and an input device; and one or more memories storing processor-executable instructions that, when executed by the one or more processors, cause the one or more processors to: cause the display to show a user interface containing a recipe element, wherein the recipe element corresponds to a step in a recipe for manufacturing a batch of products, the step being defined at a first level of the recipe; receive edit recipe parameter input from the input device; cause one or more parameters of the recipe element to be displayed in the user interface in response to receiving the edit recipe parameter input; receive a predefined deferred input for a selected parameter of the recipe element from the input device; automatically display a visual representation of the recipe having an available hierarchy with a matching data type for the selected parameter; receive a hierarchy selection input for the selected parameter; and cause the selected parameter to be deferred to a second level corresponding to the hierarchy selection input and display a recipe element with a visual element indicating that the recipe element has a deferred parameter.
[0010] According to an example implementation, this document discloses a computer-implemented method comprising: one or more processors causing a display to show a user interface containing a recipe element, wherein the recipe element corresponds to a step in a recipe for manufacturing a batch of products, the step being defined at a first level of the recipe; the one or more processors receiving edit recipe parameter input from an input device; in response to receiving the edit recipe parameter input, the one or more processors causing one or more parameters of the recipe element to be displayed in the user interface; the one or more processors receiving a predefined deferred input for a selected parameter of the recipe element from the input device; the one or more processors automatically displaying a visual representation of the recipe having an available level with a matching data type for the selected parameter; the one or more processors receiving a level selection input for the selected parameter; and the one or more processors deferred the selected parameter to a second level corresponding to the level selection input and displaying a recipe element with a visual element indicating that the recipe element has a deferred parameter.
[0011] According to an example embodiment, this document discloses one or more non-transitory computer-readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to: display a user interface containing a recipe element, wherein the recipe element corresponds to a step in a recipe for manufacturing a batch of products, the step being defined at a first level of the recipe; receive edit recipe parameter input from an input device; display one or more parameters of the recipe element in the user interface in response to receiving the edit recipe parameter input; receive a predefined deferred input for a selected parameter of the recipe element from the input device; automatically display a visual representation of the recipe having an available hierarchy with a matching data type for the selected parameter; receive a hierarchy selection input for the selected parameter; and deferred the selected parameter to a second level corresponding to the hierarchy selection input, and display a recipe element with a visual element indicating that the recipe element has a deferred parameter. Attached Figure Description
[0012] The accompanying drawings, which are incorporated herein and form part of this specification, illustrate exemplary embodiments.
[0013] Figure 1 This is a simplified block diagram of a system for providing a user interface on which embodiments of this disclosure can be implemented.
[0014] Figure 2 This is a screenshot illustrating an example user interface used to add transitions or edit step parameters to a recipe.
[0015] Figure 3 This is a screenshot illustrating an example user interface for adding steps to a recipe.
[0016] Figure 4 This is a screenshot illustrating an example user interface for adding annotations to a recipe.
[0017] Figure 5 This is a screenshot illustrating a sample user interface for viewing notes in a recipe.
[0018] Figure 6 This is a screenshot illustrating a sample user interface for viewing multiple annotations in a recipe.
[0019] Figure 7 This is a screenshot illustrating an example user interface for adding parameters to recipe elements.
[0020] Figure 8 This is a screenshot of a sample user interface used to illustrate the deferred interface for confirming parameters associated with the added element.
[0021] Figure 9 This is a screenshot of an example user interface used to illustrate the deferred parameters of recipe elements.
[0022] Figure 10 This is a screenshot of an example user interface used to illustrate the parameters of a recipe element.
[0023] Figure 11 This is a screenshot used to illustrate an example user interface for selecting deferred elements in a recipe.
[0024] Figure 12 This is a screenshot illustrating an example user interface for confirming selected deferred parameters of a recipe.
[0025] Figure 13 This is a flowchart illustrating methods for adding transitions or editing recipe parameters.
[0026] Figure 14 This is a flowchart illustrating a method for adding steps to a recipe.
[0027] Figure 15 This is a flowchart illustrating the methods for adding and viewing annotations to a recipe.
[0028] Figure 16A This is a block diagram illustrating a method for adding deferrals to recipe elements.
[0029] Figure 16B This is a block diagram illustrating a method for adding deferrals to recipe elements.
[0030] Figure 17 It is a block diagram of a computer system on which example implementation schemes can be carried out.
[0031] Description of the example implementation plan
[0032] This description provides examples that are not intended to limit the scope of the appended claims. The drawings generally indicate features of these examples, and it should be understood and appreciated that similar reference numerals are used to refer to the same elements. References to “an embodiment,” “an embodiment,” “an example embodiment,” or “an example” in the specification mean that a particular feature, structure, or characteristic described is included in at least one embodiment or example described herein, and do not imply that such feature, structure, or characteristic exists in all embodiments or examples described herein.
[0033] This article discloses improvements to the user interface for building recipes for handling multiple batches of manufactured products. A recipe is a set of instructions that describes how to produce a batch of manufactured products. A recipe may include a list of ingredients and detailed steps on how to combine and prepare those ingredients. Examples of manufactured products include paints, chemical products, etc. Example types of paints include varnishes, colorants, sealants, or other types of materials that can be applied to the surface of an object, for example, to produce the object, enhance the appearance of the product, or provide some other functional property.
[0034] A recipe can have multiple levels. Each level refers to a different degree of generality. For example, a recipe can have a procedure level, a unit procedure level, an operation level, and a stage level. A strategy for performing a process to manufacture a batch of products can be defined at the procedure level. The strategy includes one or more unit procedures. A unit procedure is a continuous process within a unit (such as a unit of a manufacturing facility). Therefore, unit procedures can be defined at the unit procedure level. A unit procedure can include one or more operations. An operation can be a procedural element that defines discrete processing activities. Therefore, an operation can be defined at the operation level. An operation can include one or more stages. A stage can include manufacturing actions and algorithms for controlling manufacturing actions of a particular piece of equipment. Therefore, a stage can be defined at the stage level. This disclosure may use the term "step" to refer to a procedure, unit procedure, operation, stage, manufacturing action, or other type of action or combination of actions.
[0035] Parameters can be defined at different levels of the recipe. Example parameters might include input type, heating level, stirring level, duration of manufacturing actions, etc. Each parameter can be associated with one or more attributes. For example, a parameter's attributes might include its name, minimum value, maximum value, default value, data type, etc. In another example, a parameter might be associated with a single value. For each level, a parameter defined at that level applies to that level and levels below it. For example, a parameter defined at the program level (i.e., a parameter associated with a program) applies to all unit programs, operations, and stages. A parameter defined relative to a specific unit program applies to that specific unit program and all operations and stages within that specific unit program. However, the parameter may not apply to other unit programs within the same program.
[0036] In some examples, the computing system outputs a user interface for display. This user interface is configured to enable the user to generate recipes. When the computing system determines that the user has positioned an input indicator (e.g., mouse cursor, finger, etc.) such that the input indicator appears to be hovering over a stage element of the user interface, the user interface provides the user with a mechanism for adding or editing transitions. In this disclosure, a transition represents a change from one step to another. In some examples, if the user hovers the input indicator over a transition element of the user interface, the user interface provides a mechanism for adding a step to the recipe. In some examples, the interface allows the user to add annotations linked to stage elements. In response to input from the user, the computing device can retrieve annotations for stage elements or retrieve stage elements linked to annotations. In some examples, the user interface enables the user to add automatic deferrals to another level.
[0037] Figure 1 This is a simplified block diagram of a system 100 for implementing a user interface on which embodiments of the present disclosure may be implemented. System 100 includes a display 102, an input device 104, and display logic 106.
[0038] Display 102 can be any type of device that provides a visual representation of data. The visual representation of data can be graphical and / or textual. Display 102 can be a liquid crystal display (LCD), a light-emitting diode display (LED), or any other suitable type of device for providing graphical and / or text output.
[0039] In some examples, display logic 106 outputs a user interface for display on monitor 102. The user interface displayed by monitor 102 can be divided into multiple panes. These panes can be used to isolate different types of data. For example, these panes may include a recipe build pane that can be used to output a graphical representation of the recipe. In some examples, these panes may include a parameter pane that can be used to display and / or edit parameters associated with step or stage elements. In some examples, these panes may include a navigation and settings bar that can be used to navigate within the recipe and change editing modes. In some examples, these panes may include a location pane that can be used to provide a graphical representation of the location in the recipe where editing is taking place.
[0040] Input device 104 can be any type of device that receives input from a user. For example, input device 104 may include input devices such as a mouse, trackball, or any other suitable type of cursor control device, and / or text input devices such as a keyboard. In some examples, input device 104 includes a touchscreen.
[0041] The computing system can be coupled to the display 102 and the input device 104. (The following is in contrast to...) Figure 17 An example computing system is described. This computing system may include one or more computing devices. Example types of computing devices include personal computers, tablet computers, mobile computers, server computers, workstations, industrial computers, equipment control systems, and other types of devices. In some examples, one or more of display 102 and input devices 104 are wirelessly coupled to the computing system. In some examples, one or more of display 102 and input devices 104 are coupled to the computing system via one or more wired connections. In some examples, one or more of display 102 and input devices 104 are located remotely from the computing system. In some examples, one or more of display 102 and input devices 104 are contained within a housing of the computing devices in computing system 105.
[0042] The computing device implements display logic 106 to perform the functionality described herein. The computing device may implement display logic 106 in hardware, firmware, software, and / or combinations thereof to perform one or more functions or actions, and / or cause functions or actions from another component. For example, display logic 106 may be implemented based on a software-controlled microprocessor, discrete logic such as an application-specific integrated circuit (ASIC), a programmable / programmable logic device, an instruction-containing memory device, or combinational logic embodied in hardware. Display logic 106 may also be implemented entirely in software embodied on one or more tangible, non-transitory computer-readable media, which performs the described functionality when executed by one or more processors of the computing system. In some examples, the processors of the computing system are distributed among two or more computing devices and may communicate with each other, for example via a communication network such as the Internet, to perform the functions of the computing system.
[0043] Display logic 106 can provide data to a controller (not shown) or other logic associated with the recipe building application based on input received from input device 104, and can output the data provided by the recipe building application to display 102. In some examples, display logic 106 is implemented by one or more processors of computing system 105 that execute the recipe builder application.
[0044] Display logic 106 is operable to cause the computing system to output data or a visual representation of data on display 102. Display logic 106 is further operable to receive input from input device 104. Display logic 106 can also facilitate communication between display 102 and input device 104. For example, display logic 106 can cause an indication to appear on display 102 indicating the location on display 102 where editing is taking place. For example, display logic 106 can cause a cursor to appear on the screen of display 102 to allow the user to navigate and select symbols and / or areas for entering text data.
[0045] Figure 2 This is a screenshot of example user interface 200. User interface 200 includes features for adding or editing transitions to a recipe. Transitions can be defined at various levels of the recipe. For example, a transition defined at the program level can represent a change from a first unit program to a second unit program. A transition defined at the unit program level can represent a change from a first operation to a second operation. A transition at the operation level can represent a change from a first stage to a second stage. A transition at the stage level can represent a change from a first manufacturing action to a second manufacturing action. A piece of equipment can perform a specific action at a specific manufacturing action.
[0046] Transitions can be associated with conditions. For example, a recipe can specify that a particular transition occurs if a specific condition is true or false. For instance, the recipe can specify that if the temperature is greater than a specified amount, a first transition, representing a change from a first stage to a second stage, occurs; and it can specify that if the temperature is less than the specified amount, a second transition, representing a change from a first stage to a third stage, occurs.
[0047] exist Figure 2 In the example, display 102 outputs user interface 200. In Figure 2 In the example, the user interface 200 includes a recipe building pane 202, a vertical navigation and settings bar 204, and a location pane 206. The recipe building pane 202 provides stage elements 205, 208, 214, and 216 and transition elements 207, 210, and 212 for the recipe. Stage elements are visual representations of stages. Transition elements are visual representations of transitions. As will be readily understood by those skilled in the art, Figure 2 The number and arrangement of stage and transition elements illustrated are chosen solely for ease of illustration. In the illustrated example, the vertical navigation and settings bar 204 indicate which part of the recipe is being edited (e.g., stage element 208). The location pane 206 provides a visual indication of that part of the recipe being displayed in the recipe build pane 202 of the user interface 200.
[0048] In some examples, display logic 106 is operable to output a stage element 208 of the program (e.g., a visual representation of a stage) on display 102. Display logic 106 is operable to receive data from input device 104 indicating that an input indicator is hovering over stage element 208 (e.g., a cursor controlled by input device 104 remains above the area defined by the stage element for more than a predefined time period, such as, for example, half a second or one second). Display logic 106 is operable to make an add transition icon 220 appear on display 102. In the illustrated example, a plus sign “+” is displayed in a circular area, but any suitable icon may be used, as will be readily understood by those skilled in the art. In a particular example, add transition icon 220 at least partially overlaps with stage element 208. When add transition icon 220 is selected via input device 104, display logic 106 is operable to present a visual representation of the new transition (i.e., a new transition element) on display 102 and to receive data representing the new transition via input device 104.
[0049] In some examples, display logic 106 is operable to output a visual representation of a stage of a program (e.g., a recipe) (e.g., stage element 208) on display 102. Display logic 106 is operable to receive data from input device 104 indicating that the input indicator is hovering over stage element 208. Display logic 106 is operable to display a visual representation of an edit step parameter icon 222 on display 102. In the illustrated example, the edit step parameter icon 222 depicts a pencil in a circular area, but any suitable icon can be used, as will be readily understood by those skilled in the art. In some examples, the edit step parameter icon 222 at least partially overlaps with the selected stage element 208. When icon 222 is selected via input device 104, display logic 106 is operable to present one or more step parameters on display 102 for editing and to allow editing of the one or more step parameters via input device 104.
[0050] In some examples, display logic 106 is operable to output a stage element 208 of the program on display 102. Display logic 106 is operable to receive data from input device 104 indicating that the input device is hovering over stage element 208. Display logic 106 is operable to make visual representations of add transition icon 220 and edit step parameter icon 222 appear on display 102. In a particular example, add transition icon 220 and edit step parameter icon 222 at least partially overlap with the selected stage element 208. A user can edit step parameters (i.e., edit the parameters associated with the stage represented by stage element 208) by selecting add transition icon 220 or edit step parameter icon 222 via input device 104. Selecting add transition icon 220 via input device 104 causes display logic 106 to present a new transition element (i.e., a visual representation of a new transition) on display 102 and receive data for that new transition via input device 104. Selecting the edit step parameter icon 222 allows display logic 106 to present one or more step parameters associated with the stage represented by stage element 208 for editing. Display logic 106 can then accept editing via input device 104. Editing parameters may include changing one or more attributes of the parameter, adding new parameters, deleting parameters, etc.
[0051] Although described relative to stages Figure 2 While this is an example, display logic 106 can present a similar user interface for editing unit programs or transitions between operations. Similarly, display logic 106 can present a similar user interface for editing parameters of unit programs or operations.
[0052] Figure 3This is a screenshot illustrating an example user interface 300 for adding steps to a recipe. Display logic 106 causes display 102 to output user interface 300. User interface 300 includes a recipe building pane 202, a vertical navigation and settings bar 204, and a location pane 206. The recipe building pane 202 provides graphical representations of stages of the recipe (e.g., stage elements 205, 208, 214, 216) and graphical representations of transitions (e.g., transition elements 207, 210, 212). As will be readily understood by those skilled in the art, Figure 3 The number and arrangement of the step and transition elements shown in the examples are chosen solely for ease of illustration.
[0053] In some examples, display logic 106 is operable to output a visual representation of a program transition (e.g., transition element 210) on display 102. Display logic 106 is operable to receive data from input device 104 indicating that input device 104 is hovering over transition element 210. Display logic 106 is operable to make an add-step icon 302 appear on display 102. In the illustrated example, a plus sign “+” is displayed in a circular area, but any suitable icon may be used, as will be readily understood by those skilled in the art. In a particular example, add-step icon 302 at least partially overlaps with the selected stage element 210. When add-step icon 302 is selected via input device 104, display logic 106 is operable to present a visual representation of a new step in the recipe (e.g., a new stage element) on display 102 and receive data representing the new step via input device such as input device 104 or another device (e.g., keyboard, touchscreen, microphone, etc.).
[0054] Figure 4 This is a screenshot illustrating an example user interface 400 for adding annotations to a recipe. The user interface 400 is displayed on a monitor 102 and includes a recipe build pane 202, vertical navigation and settings bar 204, and a location pane 206. The recipe build pane 202 provides stage elements 205, 208, 214, 216 and transition elements 207, 210 for the recipe. As will be readily understood by those skilled in the art, Figure 4 The number and arrangement of the step and transition elements shown in the examples are chosen solely for ease of illustration.
[0055] In some examples, display logic 106 is operable to receive predefined input from input device 104 requesting annotation of a step element. For example, if input device 104 is a pointing device such as a mouse, the user can select the step element to annotate by performing a predefined action (such as, for example, a right mouse click). Figure 4(Stage element 208 in the example). Display logic 106 is operable to display comment box 402 on display 102 and obtain the comment to be added to comment box 402 via input device 404. After entering the comment, the user selects save button 404 to save the comment, and the comment is stored along with the link to the step element, such as... Figure 5 As illustrated, the visual representation of annotation icon 502 appears on the step element (e.g., stage element 208). In other words, if there is an annotation associated with the step element, the annotation icon can appear in the step element.
[0056] Figure 5 This is a screenshot illustrating an example user interface 500 for viewing annotations in a recipe. Display logic 106 can receive data from input (pointing) device 104 indicating that an annotation icon 502 of a step element (e.g., stage element 208) has been selected. In response to receiving this data from input (pointing) device 104 indicating that an annotation icon 502 of a step element (e.g., stage element 208) has been selected, display logic 106 causes the annotation linked to that step element (e.g., stage element 208) to appear in the annotation pane 504 and causes the program to appear in the recipe build pane.
[0057] Figure 6 This is a screenshot 600 illustrating an example user interface for viewing multiple annotations 630, 632 of the recipe. Figure 6 In the example, screenshot 600 includes a recipe build pane 202 and an annotation pane 504. The recipe build pane 202 displays at least a portion of a recipe, which in the illustrated example includes visual representations of stages (e.g., stage elements 602, 606, 610) and visual representations of transitions (e.g., transition elements 604, 608). Stage element 606 includes an annotation icon 620, and stage element 610 includes an annotation icon 622. In this example, annotation 630 is linked to stage element 606, and annotation 632 is linked to stage element 622.
[0058] In some examples, display logic 106 receives data from input (pointing) device 104 indicating that a comment icon 620 indicating stage element 606 has been selected. In response to this input, display logic 106 causes multiple comments 630, 632 to appear in comment pane 504, including comment 630 linked to stage element 620. Therefore, if input device 104 indicates a comment icon for a step element, display logic 106 can display comments linked to that step element.
[0059] In some examples, display logic 106 is operable to receive data from input (pointing) device 104 indicating the selection of an annotation from a plurality of annotations 630, 632. Display logic 106 is operable to display in recipe build window 202 stage elements (e.g., stage element 622) or other types of step elements linked to the selected annotation (e.g., 632).
[0060] As will be readily understood by those skilled in the art, because comments are linked to stage elements, if a stage element is moved, the comment will remain associated with that stage element. Similarly, because comments can be linked to step elements, if a step element is moved, the comment will remain associated with that step element. This prevents comments from becoming untraceable.
[0061] Figure 7 This is a screenshot illustrating an example user interface 700 for adding parameters to recipe elements. As discussed above, recipes can have various levels, such as program level, unit program level, operation level, and stage level. Parameters can be defined at different levels. Parameters at higher levels have higher priority than parameters at lower levels. In other words, a parameter defined at a higher level applies to levels below that level. In the illustrated example, the operation parameter has a parameter name 706 and a type 704. Therefore, in Figure 7 In the example, "ITEM1_SP" is a parameter defined at the operation level. Button 702 is provided for users to add parameters.
[0062] In some examples, upon receiving an instruction from an input device (e.g., pointing to a device such as a mouse) 104 to select button 702, display logic 106 may provide prompts on display 102 for inputting information associated with the parameter being added. The user will be prompted to input, in particular, the name of the parameter, the type of the parameter, and the source of the parameter.
[0063] Figure 8 This is a screenshot of an example user interface 800 used to illustrate a deferred approach for confirming parameters associated with added elements. Multiple recipes may exist with the same steps and algorithms but different parameter attributes. For example, a first recipe may define instructions for making a batch of blue paint in a first shade. A second recipe may define instructions for making a batch of blue paint in a second shade. The first recipe may be identical to the second recipe, except that in the first recipe, the attribute of a specific parameter may indicate a higher level of a particular pigment than in the second recipe. In this example, the amount of pigment added may be a manufacturing action associated with a stage present in both the first and second recipes.
[0064] In some examples, one or more properties of a parameter can be explicitly specified when defining a recipe. In some examples, one or more properties of a parameter can be specified as parametric equations. In some examples, one or more properties of a parameter can be specified by the user before running a batch. In some examples, the determination of a parameter's properties can be deferred. That is, the properties of a parameter defined at a first level can be specified by the properties of a parameter defined at a second level above that first level. For example, a first parameter can be defined at the operation level. If the first parameter is deferred, its properties can be defined by the properties of a second parameter defined at the unit procedure level. Since the properties of the second parameter can be specified by the user before running a batch, the user may only need to enter the value of the second parameter to change the properties of the first parameter. Therefore, in the example provided above regarding the shade of blue paint, the user can specify different values for the properties defined at the unit procedure level to produce multiple batches of different shades of blue paint without changing the parameter properties at the stage level at all.
[0065] Deferring parameter attributes can save storage space and simplify organization. For example, if two or more recipes involve the same step (i.e., program, unit program, operation, or stage), these recipes can refer to a single copy of the information defining that step. For instance, two or more recipes may include a stage with a set of manufacturing actions associated with a set of parameters. If the attributes of these parameters are different, the two recipes may need to refer to different datasets defining the stage. However, if the attributes of these parameters are the same, the two recipes can refer to the same dataset defining the stage. Deferring parameter attributes allows the two recipes to refer to the same dataset defining the stage. Therefore, by deferring parameter attribute determination, for display logic 106, it may only be necessary to store a single copy of the information defining the program level for both recipes. Deferring the determination of parameter attributes to even higher levels can result in display logic 106 needing to store even less data to store the recipes. In some examples, individual files can store information at different levels. For example, a first file can store program level information, a second file can store information about a first unit program, a third file can store information about a second unit program, a fourth file can store information about an operation, and so on. In some examples, information associated with different levels can be stored in different database tables. For example, one table can store information about the program, another table can store information associated with unit programs, a third table can store information associated with operations, and so on. In some examples, display logic 106 can store information about each step as JSON data. Display logic 106 can use the stored information about these steps to generate a user interface that displays step elements and transition elements.
[0066] exist Figure 8 In the example, the parameter name element 706 indicates that the parameter's name is "example4". The parameter type element 704 indicates "Real", meaning that the parameter's value is a real number. The source element 804 indicates the source type of the parameter's property. Figure 8 In the example, source element 804 indicates that the type source of this parameter attribute is "defer". When "defer" is the source type of the parameter, the determination of this parameter attribute is deferred. Therefore, when "defer" is the source type of the parameter, display logic 106 can automatically determine an available parent parameter with a matching name that has the same type as this parameter. For example, in Figure 8 In the example, logic 106 can determine whether a parent parameter exists with the name "example4" and data type "Real". During batch creation, if such a parent parameter is identified, the properties of this parameter are determined based on the properties of that parent parameter. The following section, in conjunction with the descriptions in this document... Figure 10 This example is further illustrated.
[0067] exist Figure 8 In this document, the visual representation of the displayed hierarchy is the operation (“OP”) icon 810, the unit procedure (“UP”) icon 812, and the procedure (“PR”) icon 814. For example, because the parameter being added is at the operation level and the determination of the parameter's attribute is deferred, the visual representation of the OP icon 810 is diluted; however, those skilled in the art will readily understand that any suitable scheme (such as different colors) can be used to distinguish the current level from the previous level. Although the OP icon 810, UP icon 812, and PR icon 814 are described herein as icons, they may be other types of visual indicators in other examples.
[0068] When a parent level for deferred selection is made via input device 104 (e.g., receiving an indication of user input for deferred selection), display logic 106 can cause a confirmation box 820 to be output on display 102. Figure 8 In the example, the user is required to confirm the deferral to the unit program level. For ease of explanation, this disclosure may describe whether a parameter has been deferral or a deferral parameter is used to indicate the determination of the deferral parameter attribute.
[0069] Figure 9 This is a screenshot of a sample user interface 900 used to illustrate the deferred parameters for viewing recipe elements. (Continue to reference) Figure 8 The example in the navigation bar 204 ( Figure 9In the example, the parameter named "example4" (indicated by 902) is deferred from the parameter named "Parameter 1662742091398" (indicated by 904). In other words, the properties of the parameter named "example4" are determined based on the properties of the parameter indicated by 902. In the customer recipe screen 202, a visual representation (deferred icon 912) is associated with recipe element 910. Therefore, recipe element 910 is displayed with a visual element (deferred icon 912) indicating that the recipe element has a deferred parameter. Figure 9 In the example, recipe element 910 represents an operation. However, those skilled in the art will readily understand that recipe element 910 can originate from any level below the program level, such as a unit procedure, operation, or stage. In other words, recipe element 910 can represent a step at the unit procedure level, operation level, or stage level.
[0070] Figure 10 This is a screenshot illustrating an example user interface 1000 for viewing parameters of recipe elements. In this example, a parameter pane 1002 for displaying the properties of these parameters is positioned between the recipe build pane 202 and the vertical navigation bar 204. Users can edit parameters using input device 104, such as selecting the source column 1010 to change the source of the parameter. The source column 1010 may include a dropdown list containing options for selecting the parameter's source.
[0071] In some examples, display logic 106 is operable to receive predefined deferred input from input device 104 for selected parameters of recipe elements. For example, a user can select a source for a parameter and display a drop-down menu on display 102, and can use input device 104 to change the source from numerical to deferred, and vice versa.
[0072] exist Figure 10 In the example, parameters named Create_ID 1004, Batch_ID 1006, and Amount 1010 are deferred. Display logic 106 is operable to automatically display a visual representation with available hierarchical levels matching the data type of the selected parameters. Figure 10 In the example, display logic 106 automatically determines which levels are available for deferral. For this example, Create_ID 1004 and Batch_ID 1006 have no matching parent level values, so no deferral icon is displayed, and the value is listed as "No Value". However, parameter Amount 1008 has a matching value, and therefore a visual representation of OP 810 (which is the current level in this example and is faded), UP 812, and PR 814 is displayed, with the value listing the current deferral "ITEM1_SP".
[0073] Figure 11 This is a screenshot illustrating an example user interface 1100 for selecting deferral for recipe parameters. In this example, the deferral of the parameter "Formula" 1101 for operation INT_OP:1 1102 is being deferred. The visual representation of OP (faded because it is the current level and not selectable), UP icon 812, and PR icon 814 are shown. The user selects the desired level's visual representation via input device 104. In the recipe build panel 202, recipe element 1102 is displayed with a visual representation (e.g., an icon) indicating that recipe element 1102 is deferral.
[0074] Figure 12 This is a screenshot illustrating an example user interface 1200 used to confirm the selection of a recipe element. In the illustrated example, the UP icon 814 has been selected for the recipe element Formula 1201 for operation Recipe_Init_CS:1 1202. The visual representation of operation Recipe_Init_CS:1 1202 is displayed in the recipe build pane 1202.
[0075] Display logic 106 is operable to receive a hierarchy selection input for a selected parameter (UP icon 812 in this example) to cause a confirmation prompt 1204 to appear on display 102. Display logic 106 is operable to receive a confirmation deferred input of the selected parameter from input device 104 via the confirmation prompt, such that the parameter is deferred to the hierarchy corresponding to the hierarchy selection input (UP in this example). Upon confirmation deferred, display logic 106 is operable to deferred the parameter to the hierarchy corresponding to the hierarchy selection input and to display a visual representation of the deferred parameter (see, for example, [link to relevant documentation]). Figure 11 (1104 in the middle).
[0076] In view of the aforementioned structural and functional features, refer to Figure 13 This will provide a better understanding of method 1300 according to the example implementation. Although for the purpose of simplifying the explanation, Figure 13 The methods shown and described are executed sequentially, but it should be understood and appreciated that the example implementations are not limited to the order shown, as some aspects may occur in a different order and / or simultaneously with other aspects shown and described herein. Furthermore, not all features shown may be necessary for implementing a method according to one aspect of this disclosure. The methods described herein are suitable for implementation in logic, such as hardware, software stored on a computer-readable medium when executed by a processor, or combinations thereof.
[0077] Figure 13This is a flowchart illustrating method 1300 for adding transitions or editing recipe parameters. In some examples, method 1300 in... Figure 1 The system 100 described herein is implemented. At 1302, at least a portion of the stages and transitions of the recipe are displayed (i.e., stage elements and transition elements). In some examples, stage elements and transition elements are displayed in the recipe construction pane 202. Figure 2 On display 106 in the ( ). It can display any number and arrangement of physically achievable stage elements and transitions.
[0078] At 1304, an input device (e.g., Figure 1 The input device 104 in the process hovers over a stage (e.g., an input device such as a pointing device (e.g., a mouse) is detected to have remained in the area defined by the stage element of that stage for a predefined time period, such as half a second or a second, or any desired time limit). In some examples, the predefined time period used to determine that the input device is hovering over the stage element is configurable.
[0079] At 1306, in response to detecting an input device hovering over the stage element, an edit step parameter icon is displayed (e.g., displayed on...). Figure 1 (On monitor 102). The editing step parameter icon can be any desired icon. Figure 2 In the example, the editing step icon includes a pencil confined within a circle that partially overlaps with the stage element, where an input device is detected hovering over it.
[0080] At 1308, in response to detecting that the input device is hovering over this stage, an add transition icon is displayed (e.g., displayed on...). Figure 1 (On monitor 102). The edited transition icon can be any desired icon. Figure 2 In the example shown, the added transition icon 220 includes a plus sign "+" confined within a circle that partially overlaps with the stage element where an input device is detected hovering over it.
[0081] In 1310, method 1300 waits until either the Add Transition icon or the Edit Step Parameter icon is selected, or another action is taken. For example, the Add Transition icon can be selected by pointing at the device (such as by right-clicking the mouse), although other predefined actions can also be taken if needed. Similarly, the Edit Step Parameter icon can be selected by pointing at the device (such as by right-clicking the mouse), although other predefined actions can also be taken if needed.
[0082] If the Add Transition icon is selected at 1310, then at 1312, the interface for that transition is presented to the user. The user is prompted to enter transition parameters (e.g., temperature equal to or above 100 degrees Celsius, or the solution is 50% X). In some examples, the interface presented to the user depends on the parameters (e.g., type) of the selected stage element (e.g., heating, stirring, etc.).
[0083] At 1314, the transition is added. For example, the transition could be added to the stage element on which the input device is detected hovering; however, in at least one other example, the user could drag the transition to another desired stage element. After the transition has been added, the Add Transition and Edit Step Parameter icons are no longer displayed, and the method returns to 1302 and displays the stage element and transition of the recipe, and waits at 1304 for the input device to hover over the stage element.
[0084] If the Edit Step Parameters icon is selected at 1320, an interface for editing the step parameters of the selected step element will be presented to the user at 1320. In some examples, the interface presented to the user depends on the parameters (e.g., type) of the selected step element (e.g., heating, stirring, etc.).
[0085] At 1322, edit the step parameters. After the step parameters have been edited, the Add Transition and Edit Step Parameter icons are no longer displayed, and the method returns to 1302 and displays the stage elements and transitions of the recipe, and waits at 1304 for the input device to hover over the stage element.
[0086] If another action is detected at 1310, those icons are removed from the display, and processing returns to 1302 as indicated at 1330. For example, if the user selects or adds another stage or transition. Alternatively, if the user does not select any icon within a predefined time period, the icons for adding transitions and editing step parameters are no longer displayed after the predefined time period expires, and processing returns to 1302.
[0087] Figure 14 This is a flowchart illustrating method 1400 for adding steps to a recipe. In some examples, method 1400 in... Figure 1 The system described in the text is implemented on system 100.
[0088] At 1402, at least a portion of the recipe's stages and transitions (e.g., stage elements and transition elements) are displayed. For example, these stages and transitions are displayed in the recipe build pane 202. Figure 3On display 106 in the ( ). It can display any number and arrangement of physically achievable stages and transition elements.
[0089] At 1404, an input device (e.g., Figure 1 The input device 104 in the process is hovered over the step (e.g., an input device such as a pointing device (e.g., a mouse) is detected to have remained in the area defined by the step for a predefined time period, such as half a second or a second, or any desired time limit). For example, the predefined time period used to determine that the input device is hovering over the step can be configurable.
[0090] At 1406, in response to detecting an input device hovering over the transition, an add step icon is displayed (e.g., displayed on...). Figure 1 (On monitor 102). The added step icon can be any desired icon. Figure 3 In the example shown, the addition step icon 302 includes a plus sign "+" confined within a circle that partially overlaps with the transition where the input device is detected hovering over it.
[0091] At 1408, method 1400 waits until the Add Step icon is selected, or another action is taken. For example, the Add Step icon can be selected by pointing at the device (such as by right-clicking the mouse), although other predefined actions can also be taken if needed.
[0092] If adding a step icon (YES) is selected at 1410, then at 1412, the interface for that step is presented to the user. The interface presented to the user may depend on the parameters of the selected transition (e.g., type).
[0093] At 1412, the step is added. For example, the step could be added to the transition where the input device is detected hovering over it; however, in at least one other example, the user could drag the step to another desired transition. After the step has been added, the Add Step and Edit Step parameter icons are no longer displayed, and the method returns to 1402 and displays at least a portion of the stage elements and steps of the recipe, and waits at 1404 for the input device to hover over a stage element.
[0094] If some other action (NO) is detected at 1410, the icon is removed from the display, and processing returns to 1402 as indicated at 1416. For example, if the user selects or adds another stage or step. Alternatively, if the user does not select the icon within a predefined time period, the add step icon is no longer displayed after the predefined time period expires, and processing returns to 1402.
[0095] Figure 15This is a flowchart illustrating method 1500 for adding and viewing annotations to a recipe. In some examples, method 1500... Figure 1 The system described in the text is implemented on system 100.
[0096] At point 1502, a predefined input for adding an annotation to the stage is received. For example, this predefined input could be a right-click, although any suitable type of input could be used in other examples. A prompt for adding the annotation is then presented to the user, who then enters the annotation.
[0097] At position 1504, the comment is saved. In addition to saving the comment, a link to that stage is created. Therefore, if the stage element is moved, the comment remains with the stage, preventing it from being lost. Furthermore, a visual representation of the comment icon is displayed on the stage element representing the stage that initiated the comment.
[0098] In 1506, after a comment has been added, the comment is selected. For example, any device (such as a mouse) can select the comment icon to be displayed on the stage element.
[0099] At 1508, in response to the annotation icon being selected at 1506, the annotation linked to the stage element that selected the annotation icon is displayed. For example, the annotation appears in the annotation pane.
[0100] Alternatively, in some examples, the user can select the annotation and a stage element linked to that annotation will be displayed. At 1510, the user selects the annotation in the annotation pane by pointing to the device.
[0101] At position 1512, in response to the user selecting an annotation at position 1510, a stage element indicating the stage linked to that annotation is displayed in the recipe build window. In a specific example using a location pane, the location within the recipe is also updated.
[0102] Figure 16A This is a block diagram illustrating a method 1500 for adding deferrals to recipe elements. Method 1500 may be implemented by display logic 106, which receives input via input device 104 and provides output (or a visual representation of data) on display 102. Recipe elements are displayed in the recipe construction pane, and parameters are displayed in the parameter pane. These recipe elements may be unit program elements, operation elements, or stage elements.
[0103] At position 1602, input for parameters to be added or edited in the recipe element is received. For new parameters, the "Add Parameter" button is selected. For existing parameters, the parameter can be edited in the parameter pane. For example, selecting "Edit Parameter" in the vertical navigation bar opens the parameter pane. In other words, display logic 106 can receive input for editing recipe parameters from input device 104.
[0104] At 1604, a predefined deferred input is received for the parameter being added or edited. For example, the predefined input is to select "Defer" as the source for the parameter.
[0105] At 1606, the available levels are automatically determined. These available levels are the parent levels with matching types for that parameter. For example, for the operation level, the unit program and program levels are available.
[0106] At 1608, a visual representation of the available levels with matching data types for the selected parameter is automatically displayed. In the example, the current level is displayed differently from the available levels (e.g., faded, different color, etc.). In the example, displaying these levels associates them with the name of the parameter being deferred.
[0107] At 1610, the deferred hierarchy is obtained. In the example, the user selects a hierarchy from those displayed on the screen using a pointing device such as a mouse. In the example, a confirmation prompt is presented to the user to confirm the selection.
[0108] At 1612, a deferred value is created in response to the deferred value obtained at 1610. The deferred value is then applied to the selected level. At this point, the value of the parameter is deferred to the value at the selected level.
[0109] At point 1614, a visual representation of the deferred feature is provided on the user interface. In one example, the deferred feature is displayed next to the parameter name in the parameter pane. In another example, the icon is displayed on the visual representation of the recipe element in the recipe build pane. In yet another example, the visual representation of the deferred feature is displayed in the vertical navigation bar.
[0110] Figure 16B This is a block diagram illustrating method 1650 for adding deferred elements to a recipe. Figure 16B In the example, at step 1652, display logic 106 can cause display 102 to display a user interface (e.g., user interfaces 200, 300, 400, 500, 600, 700, etc.) containing one or more recipe elements (e.g., stage elements 205, 208, 210, 212, 214, 216). The recipe element is a visual representation of a step in a recipe for manufacturing a batch of products. For example, the recipe element can be a visual representation of a unit procedure, operation, or stage of the recipe. The step can be defined at a first level of the recipe. For example, the step can be defined at a unit procedure level, operation level, or stage level of the recipe.
[0111] Additionally, at step 1654, display logic 106 can receive edit recipe parameter input from input device 104. At step 1656, in response to receiving edit recipe parameter input, display logic 106 can display one or more parameters of the recipe element in the user interface, for example... Figure 9 As shown.
[0112] At step 1658, display logic 106 can receive a predefined deferred input from input device 104 for the selected parameter of the recipe element. For example, in Figure 8 In the example, the user interface includes a dropdown list (e.g., source 804) that includes multiple options for selecting a source for the selected parameter. The predefined deferred input may include selecting one of the multiple options for deferred selection of the selected parameter.
[0113] Additionally, at step 1660, display logic 106 automatically displays a visual representation of the recipe with available hierarchical levels of matching data types for the selected parameter, such as... Figure 10 , Figure 11 and Figure 12 As shown. For example, the visual representation of available levels may include multiple icons (e.g., icons 812, 814, etc.). These multiple icons may include the current level icon representing the first level (e.g., icon 810), and at least one other icon representing the available levels used to defer the selected parameter. Figure 8 As shown, display logic 106 can dim the current level icon compared to at least one other icon representing the available level for deferring the selected parameter.
[0114] In some examples, display logic 106 identifies parameters defined at the second level that have a matching data type and a name that matches the name of the selected parameter. Display logic 106 can display a visual representation (e.g., an icon) of the second level based on parameters defined at the second level that have a matching data type and a name that matches the name of the selected parameter.
[0115] At step 1662, display logic 106 may receive a hierarchy selection input for the selected parameter. For example, display logic 106 may receive input for... Figure 8 , Figure 10 and Figure 11 The selection is made from one of the icons 810, 812, or 814. This hierarchical selection input includes selecting at least one other icon from among the multiple icons.
[0116] In some examples, in response to receiving the level selection input, display logic 106 may display a confirmation prompt (e.g., a confirmation box 820) on display 102. In such examples, display logic 106 may receive from input device 104 a confirmation prompt that the selected parameter is deferred to the level corresponding to the level selection input.
[0117] At step 1664, display logic 106 can deferred the selected parameter to a second level corresponding to the level selection input. For example, based on the deferred selection parameter to the second level, display logic 106 or another system can determine the attribute of the selected parameter based on the attribute of the parameter defined at that second level. For example, if the recipe element is a stage element and the second level is an operation level, display logic 106 can determine the attribute of the selected parameter of the stage element based on the parameter of the operation level. In some examples, display logic 106 or other systems can determine the attribute of the selected parameter during batch execution. In other examples, display logic 106 or other systems can determine the attribute of the selected parameter at other times.
[0118] In step 1666, display logic 106 can cause the user interface to display a recipe element with visual elements indicating that the recipe element has a deferred parameter, such as... Figure 9 As shown. In some examples, step 1666 is omitted.
[0119] Using the deferred parameters of this disclosure can improve the efficiency of the user interface. Previous techniques either did not allow deferral or required extensive editing of low-level data to defer parameters, necessitating specialized technical skills. Furthermore, there was previously no convenient way to determine whether a parameter could be deferred to a higher-level parameter. This made parameter deferral both time-consuming and cumbersome. Moreover, this led users to not defer parameters, resulting in unnecessary consumption of storage resources. For example, display logic 106 can generate data representing a first level. For example, display logic 106 can generate file or database entries representing the first level. In some examples, deferring selected parameters can allow display logic 106 to reuse data representing the first level as part of a second recipe for manufacturing a batch of second products. This can save storage space in one or more memories of system 100.
[0120] After the formula is finalized, display logic 106 can instruct the equipment to manufacture the batch of products according to the formula. For example, display logic 106 can generate machine instructions based on the formula to control individual equipment components, causing the equipment to manufacture the batch of products.
[0121] Figure 17This is a block diagram illustrating computer system 1700, on which example implementation schemes can be carried out. Computer system 1700 is suitable for implementing... Figure 1 System 100 in the document, and can achieve the goals outlined in this article. Figures 2 to 12 The functionality described and / or implementation of the methods described herein 1300 ( Figure 13 ), 1400 ( Figure 14 ), 1500 ( Figure 15 ), 1600 ( Figure 16A ), 1650 ( Figure 16B The processor 1704 is suitable for implementing the functionality of the display logic 106 described herein.
[0122] Computer system 1700 includes a bus 1702 or other communication mechanism for conveying information, and a processor 1704 coupled to the bus 1702 to process information. Computer system 1700 also includes main memory 1706, such as random access memory (RAM) or other dynamic storage device coupled to the bus 1702, for storing information and instructions to be executed by the processor 1704. Main memory 1706 can also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processor 1704. Computer system 1700 also includes read-only memory (ROM) 1708 or other static storage device coupled to the bus 1702 for storing static information and instructions for the processor 1704. Storage device 1710, such as a magnetic disk or optical disk, is provided and coupled to the bus 1702 for storing information and instructions.
[0123] Computer system 1700 may be coupled via bus 1702 to display 1712, such as a cathode ray tube (CRT) or liquid crystal display (LCD), to display information to the computer user. Input device 1714 (such as a keyboard including alphanumeric and other keys) is coupled to bus 1702 to transmit information and command selections to processor 1704. Another type of user input device is cursor control device 1716, such as a mouse, trackball, or cursor arrow keys, to transmit directional information and command selections to processor 1704 and control cursor movement on display 1712. This input device typically has two degrees of freedom on two axes (a first axis (e.g., x) and a second axis (e.g., y)), allowing the device to specify a position in a plane. In an example embodiment, input device 1714 is a touchscreen.
[0124] One aspect of the example implementation involves using computer system 1700 as a user interface for a recipe builder. According to one implementation, computer system 1700 provides a user interface for a recipe builder in response to processor 1704 executing one or more sequences of one or more instructions contained in main memory 1706. Such instructions may be read into main memory 1706 from another computer-readable medium, such as storage device 1710. Executing the sequence of instructions contained in main memory 1706 causes processor 1704 to perform the process steps described herein. One or more processors in a multiprocessor arrangement may also be used to execute the sequence of instructions contained in main memory 1706. In alternative implementations, hardware wiring circuitry may be used in place of or in combination with software instructions to implement the example implementation. Therefore, the implementations described herein are not limited to any particular combination of hardware circuitry and software.
[0125] As used herein, the term "computer-readable medium" refers to any medium that participates in providing instructions to processor 704 for execution. Such media can take many forms, including but not limited to non-volatile, non-transitory media. Non-volatile media include, for example, optical discs or magnetic disks, such as storage device 710. Common forms of computer-readable media include, for example, RAM, PROM, EPROM, FLASHPROM, CD, DVD, SSD, or any other storage chip or tape, or other media from which a computer can read.
[0126] Computer system 1700 also includes a communication interface 1718 coupled to bus 1702. Communication interface 1718 provides bidirectional data communication coupling with network link 1720, which connects to local network 1722. For example, communication interface 1718 may be an Integrated Services Digital Network (ISDN) card or a modem to provide data communication connectivity with a corresponding type of telephone line. As another example, communication interface 1718 may be a Local Area Network (LAN) card to provide data communication connectivity with a compatible LAN. A wireless link may also be implemented. In any such implementation, communication interface 1718 transmits and receives electrical, electromagnetic, or optical signals carrying data streams representing various types of information.
[0127] Network link 1720 typically provides data communication to other data devices via one or more networks. For example, network link 1720 may provide connectivity to host computer 1724 or data equipment operated by Internet Service Provider (ISP) 1726 via local network 1722. ISP 1726, in turn, provides data communication via a global packet data communication network (now commonly referred to as the "Internet" 1728). Both local network 1722 and Internet 1728 use electrical, electromagnetic, or optical signals carrying digital data to and from computer system 1700, which are exemplary forms of carrier waves for transmitting information.
[0128] The following is a list of non-restrictive terms applicable to one or more technologies disclosed herein.
[0129] Clause 1A. An apparatus comprising: a display; an input device including a pointing device; display logic coupled to the display and the input device; the display logic being operable to output a visual representation of a program stage on the display; the display logic being operable to receive data from the input device; the display logic being operable to determine, based on the data received from the input device, that the input device is hovering over the stage; the display logic being operable to cause a visual representation of adding a transition icon to appear on the display; and the display logic being operable to accept data representing a new transition in response to receiving data from the input device instructing the input device to select the adding transition icon.
[0130] Clause 2A. The apparatus according to Clause 1A further includes: the display logic operable to determine that the input device is hovering over the stage so that a visual representation of an edit step parameter icon appears on the display; the display logic operable to allow editing of step parameters associated with the stage in response to receiving data from the input device instructing the input device to select the edit step parameter icon.
[0131] Clause 3A. The apparatus according to Clause 2A further includes: the display logic operable to determine, based on data received from the input device, that the input device is hovering over a transition; the display logic operable to cause a visual representation of an add step icon to appear on the display; and the display logic operable to receive data representing a new step in response to receiving data from the input device instructing the input device to select the add step icon.
[0132] Clause 4A. The apparatus according to Clause 3A, wherein the visual representation of adding the transition icon at least partially overlaps with the visual representation of the stage.
[0133] Clause 5A. The apparatus according to Clause 3A, wherein the visual representation of the editing step parameter icon at least partially overlaps with the visual representation of the stage.
[0134] Clause 6A. The apparatus described in Clause 3A, wherein the addition of the transition icon includes a plus sign.
[0135] Clause 7A. The apparatus as described in Clause 3A, wherein the editing step parameters include a pencil.
[0136] Clause 8A. The apparatus described in Clause 3A, wherein the addition step icon includes a plus sign.
[0137] Clause 9A. The device described in Clause 1A, wherein the pointing device is a mouse.
[0138] Clause 10A. The apparatus of Clause 1A, wherein the display includes a recipe building pane and a location pane, wherein the location pane displays a visual representation of the location in the program that is being displayed in the recipe building pane.
[0139] Clause 11A. An apparatus comprising: a display; an input device including a pointing device; display logic coupled to the display and the input device; the display logic being operable to output a visual representation of a stage of a program on the display; the display logic being operable to receive data from the input device; the display logic being operable to receive a predefined input from the pointing device requesting the addition of an annotation to the stage; the display logic being operable to display an annotation box on the display and to obtain an annotation to be added to the annotation box via the input device; and the annotation being stored together with a link to the stage, and a visual representation of an annotation icon appearing on the stage.
[0140] Clause 12A. The apparatus according to Clause 11A further includes: the display logic receiving data from the pointing device indicating that the visual representation of the annotation icon of the stage has been selected; and the display logic being operable to display annotations linked to the stage in an annotation pane.
[0141] Clause 13A. The apparatus according to Clause 11A further includes: the display logic operable to receive data from the pointing device indicating that the visual representation of the annotation icon of the stage has been selected; and in response to receiving the data from the pointing device indicating that the visual representation of the annotation icon of the stage has been selected, the display logic causes a plurality of annotations to be displayed in the annotation pane, the plurality of annotations including the annotation linked to the stage.
[0142] Clause 14A. The apparatus according to Clause 13A further includes: the display logic operable to receive data from the pointing device indicating that a selected annotation is selected from the plurality of annotations; and the display logic operable to display a selection stage linked to the selected annotation in a recipe window.
[0143] Clause 15A. The apparatus of Clause 13A, wherein the display further includes a location pane, wherein the location pane displays a visual representation of the location in the program being displayed in the recipe building pane.
[0144] Clause 16A. An apparatus comprising: a display operable to display a vertical navigation bar, a parameter pane, and a recipe building pane; an input device including a pointing device; display logic coupled to the display and the input device; the display logic operable to receive data from the input device; the display logic operable to output a visual representation of a recipe element in the recipe building pane; the display logic operable to receive edit recipe parameter input from the pointing device; the display logic operable to display parameters of the recipe element in the parameter pane in response to receiving the edit parameter input; and the display logic operable to receive data from the input device. The input device receives a predefined deferred input for a selected parameter of the recipe element; the display logic is operable to automatically display a visual representation of an available hierarchy with a matching data type for the selected parameter; the display logic is operable to receive a hierarchy selection input for the selected parameter so that a confirmation prompt appears on the display; the display logic is operable to receive confirmation from the input device via the confirmation prompt to deferred the selected parameter to an input at a hierarchy corresponding to the hierarchy selection input; and after the deferred input is confirmed, the display logic is operable to deferred the parameter to the hierarchy corresponding to the hierarchy selection input and display the deferred visual representation.
[0145] Clause 17A. The apparatus according to Clause 16A, wherein the predefined deferred input includes selecting a predefined source for the parameter.
[0146] Clause 18A. The apparatus of Clause 16A further includes: the visual representation of the available level comprising a plurality of chip icons, wherein one of the plurality of chip icons represents the current level, and at least one other chip icon of the plurality of chip icons represents an available level for deferring the selected parameter; the display logic is operable to, while awaiting level selection input, dim the chip icon at the current level compared to the at least one other chip icon of the plurality of chip icons representing an available level for deferring the selected parameter; the level selection input includes selecting a chip icon as the selected level from the at least one other chip icon of the plurality of chip icons; the display logic is operable to defer the value of the selected parameter to the level of the selected level; and the display logic is operable to provide the visual representation of the deferral.
[0147] Clause 19A. The apparatus of Clause 16A, wherein the display further includes a location pane, wherein the location pane displays a visual representation of the location in the program being displayed in the recipe building pane.
[0148] Clause 20A. The apparatus according to Clause 16A further includes: in response to the predefined input, the display logic causes an addition parameter prompt to appear; the display logic is operable to receive data representing the added parameter from the input device in response to receiving the predefined input; and the display logic is operable to receive a deferred selection as the source of the added parameter, so that the added parameter becomes the selected parameter.
[0149] Clause 1B. An apparatus for generating a recipe for automated production of a batch of manufactured products, the apparatus comprising: one or more memories; and one or more processors coupled to a display and an input device, the one or more processors being configured to: output stage elements of a program on the display, the stage elements being a visual representation of a first stage of a recipe for batch automation of manufactured products; receive first data from the input device; determine, based on the first data received from the input device, that an input indicator is hovering over the stage element; in response to determining that the input indicator is hovering over the stage element, cause an add transition icon to appear on the display; and in response to receiving second data from the input device indicative of the input device selecting the add transition icon, accept data representing a transition from the first stage to a second stage of the recipe.
[0150] Clause 2B. The apparatus described in Clause 1B shall implement any one of Clauses 2B to 10B.
[0151] Clause 1. An apparatus comprising: one or more processors coupled to a display and an input device; and one or more memories storing processor-executable instructions, which, when executed by the one or more processors, cause the one or more processors to: cause the display to show a user interface including a recipe element, wherein the recipe element corresponds to a step in a recipe for manufacturing a batch of products, the step being defined at a first level of the recipe; receive edit recipe parameter input from the input device; cause one or more parameters of the recipe element to be displayed in the user interface in response to receiving the edit recipe parameter input; receive a predefined deferred input for a selected parameter of the recipe element from the input device; automatically display a visual representation of the recipe having an available hierarchy with a matching data type for the selected parameter; receive a hierarchy selection input for the selected parameter; and cause the selected parameter to be deferred to a second level corresponding to the hierarchy selection input and display the recipe element with a visual element indicating that the recipe element has a deferred parameter.
[0152] Clause 2. The apparatus according to Clause 1, wherein the instructions further cause the one or more processors to: in response to receiving the level selection input, cause a confirmation prompt to appear on the display; and receive from the input device an input confirming the deferral of the selected parameter via the confirmation prompt, such that the selected parameter is deferral to the second level.
[0153] Clause 3C. An apparatus according to any one of Clauses 1C to 2C, wherein the instructions cause the one or more processors to be deferred to the second level based on the selected parameter, and to determine the attributes of the selected parameter according to the attributes of the parameter defined at the second level.
[0154] Clause 4C. An apparatus according to any one of Clauses 1C to 3C, wherein the one or more processors determine the attribute of the selected parameter during batch execution.
[0155] Clause 5C. An apparatus according to any one of Clauses 1C to 4C, wherein the user interface includes a drop-down box that includes a plurality of options for selecting the source of the selected parameter, and the predefined deferred input includes selecting one of the plurality of options for deferred to the selected parameter.
[0156] Clause 6C. The apparatus according to any one of Clauses 1C to 5C, wherein the visual representation of the available hierarchy comprises a plurality of icons, wherein the current hierarchy icon of the plurality of icons represents the first hierarchy, and at least one other icon of the plurality of icons represents an available hierarchy for deferring the selected parameter.
[0157] Clause 7C. The apparatus according to Clause 6C, wherein the instructions cause the one or more processors to dim the current level icon compared to at least one other icon representing the available level for deferring the selected parameter.
[0158] Clause 8C. The apparatus according to Clauses 6C to 7C, wherein the hierarchy selection input includes selecting the at least one other icon from the plurality of icons.
[0159] Clause 9C. An apparatus according to any one of Clauses 1C to 8C, wherein the user interface includes a location pane that includes a visual representation of a location in the program being displayed in a recipe building pane of the user interface.
[0160] Clause 10C. The apparatus according to any one of Clauses 1C to 9C, wherein the formulation is a first formulation, and the instructions further cause the one or more processors to: generate data representing the first level of the first formulation; and reuse the data representing the first level as part of a second formulation for manufacturing a batch of a second product.
[0161] Clause 11C. An apparatus according to any one of Clauses 1C to 10C, wherein the instructions further cause the one or more processors to instruct the apparatus to manufacture the batch of the product according to the formula.
[0162] Clause 12C. An apparatus according to any one of Clauses 1C to 11C, wherein the instructions further cause the one or more processors to: identify a parameter having a matching data type and a name matching the name of the selected parameter, which is defined at a step in the second level; and to display a visual representation of the second level based on the parameter having the matching data type and the name matching the name of the selected parameter, which is defined at the second level.
[0163] Clause 13C. A computer-implemented method comprising: one or more processors causing a display to show a user interface containing a recipe element, wherein the recipe element corresponds to a step in a recipe for manufacturing a batch of products, the step being defined at a first level of the recipe; the one or more processors receiving edit recipe parameter input from an input device; in response to receiving the edit recipe parameter input, the one or more processors causing one or more parameters of the recipe element to be displayed in the user interface; the one or more processors receiving a predefined deferred input for a selected parameter of the recipe element from the input device; the one or more processors automatically displaying a visual representation of the recipe having an available level having a matching data type for the selected parameter; the one or more processors receiving a level selection input for the selected parameter; and the one or more processors deferred the selected parameter to a second level corresponding to the level selection input and displaying the recipe element with a visual element indicating that the recipe element has a deferred parameter.
[0164] Clause 14C. The computer-implemented method according to Clause 13C further includes: based on the selected parameter being deferred to the second level, the one or more processors determining the attributes of the selected parameter according to the attributes of the parameter defined at the second level.
[0165] Clause 15C. The computer-implemented method according to Clause 14C, wherein determining the attribute of the selected parameter includes determining the attribute of the selected parameter during batch execution.
[0166] Clause 16C. A computer-implemented method according to any one of Clauses 13C to 15C, wherein the visual representation of the available hierarchy comprises a plurality of icons, wherein a current hierarchy icon among the plurality of icons represents the first hierarchy, and at least one other icon among the plurality of icons represents an available hierarchy for deferring the selected parameter.
[0167] Clause 17C. The computer-implemented method according to Clause 16C, wherein the hierarchical selection input includes selecting the at least one other icon from the plurality of icons.
[0168] Clause 18A. A computer-implemented method according to any one of Clauses 13C to 17C, wherein the recipe is a first recipe, and the computer-implemented method further comprises: generating data representing a first level of the first recipe by the one or more processors; and multiplexing the data representing the first level by the one or more processors as part of a second recipe for manufacturing a batch of a second product.
[0169] Clause 19C. A computer-implemented method according to any one of Clauses 13C to 18C, further comprising causing the one or more processors to manufacture the batch of the product according to the formula.
[0170] Clause 20C. One or more non-transitory computer-readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to: cause a display to show a user interface containing a recipe element, wherein the recipe element corresponds to a step in a recipe for manufacturing a batch of products, the step being defined at a first level of the recipe; receive edit recipe parameter input from an input device; in response to receiving the edit recipe parameter input, cause one or more parameters of the recipe element to be displayed in the user interface; receive a predefined deferred input for a selected parameter of the recipe element from the input device; automatically display a visual representation of the recipe having an available hierarchy with a matching data type for the selected parameter; receive a hierarchy selection input for the selected parameter; and cause the selected parameter to be deferred to a second level corresponding to the hierarchy selection input, and display the recipe element with a visual element indicating that the recipe element has a deferred parameter.
[0171] Clause 21C. One or more non-transitory computer-readable storage media as described in Clause 20C, wherein the instructions cause the one or more processors to perform the operation of the apparatus according to any one of Clauses 1C to 12C.
[0172] Clause 22C. The computer-implemented method of claim 13C further includes operation of the apparatus according to any one of Clauses 1C to 12C.
[0173] The foregoing description is of an exemplary embodiment. Of course, for the purposes of describing exemplary embodiments, it is impossible to describe every conceivable combination of components or methods; however, those skilled in the art will recognize that many other combinations and permutations of the exemplary embodiments are possible. Therefore, it is intended to cover all such changes, modifications, and variations that fall within the substance and scope of any claims filed herein, thereby interpreting the priority of this application in accordance with the scope of the claims to which it is fairly, legally, and justly enjoyed.
Claims
1. An apparatus, the apparatus comprising: One or more processors, said one or more processors being coupled to a display and an input device; and One or more memories, the one or more memories storing processor-executable instructions, which, when executed by the one or more processors, cause the one or more processors to: The display shows a user interface containing recipe elements, wherein the recipe elements correspond to steps in a recipe for manufacturing a batch of products, and the steps are defined at the first level of the recipe. Receive edit recipe parameter input from the input device; In response to receiving the edit recipe parameter input, one or more parameters of the recipe element are displayed in the user interface; Receive predefined deferred inputs for selected parameters of the recipe elements from the input device; Automatically display a visual representation of the recipe with available hierarchical levels of matching data types for the selected parameters; Receive hierarchical selection input for the selected parameters; as well as The selected parameter is deferred to a second level corresponding to the level selection input, and the recipe element with a visual element indicating that the recipe element has a deferred parameter is displayed.
2. The apparatus of claim 1, wherein the instructions further cause the one or more processors to: In response to receiving the level selection input, a confirmation prompt appears on the display; and The input device receives an input confirming the deferral of the selected parameter via the confirmation prompt, so that the selected parameter is deferral to the second level.
3. The apparatus of claim 1, wherein the instructions cause the one or more processors to be deferred to the second level based on the selected parameter, and to determine the attribute of the selected parameter according to the attribute of the parameter defined at the second level.
4. The apparatus of claim 3, wherein the one or more processors determine the attribute of the selected parameter during batch execution.
5. The apparatus of claim 1, wherein the user interface includes a drop-down list, the drop-down list including a plurality of options for selecting the source of the selected parameter, and the predefined deferred input including selecting an option from the plurality of options for deferred to the selected parameter.
6. The apparatus of claim 1, wherein the visual representation of the available level comprises a plurality of icons, wherein the current level icon among the plurality of icons represents the first level, and at least one other icon among the plurality of icons represents an available level for deferring the selected parameter.
7. The apparatus of claim 6, wherein the instructions cause the one or more processors to dim the current level icon compared to at least one other icon representing the available level for deferring the selected parameter.
8. The apparatus of claim 6, wherein the hierarchy selection input includes selecting the at least one other icon from the plurality of icons.
9. The apparatus of claim 1, wherein the user interface includes a location pane that includes a visual representation of a location in the program being displayed in a recipe building pane of the user interface.
10. The apparatus of claim 1, wherein the recipe is a first recipe, and the instructions further cause the one or more processors to: Generate data representing the first level of the first formula; and Reusing means that the data at the first level is used as part of a second formula for manufacturing a batch of a second product.
11. The apparatus of claim 1, wherein the instructions further cause the one or more processors to instruct the apparatus to manufacture the batch of the product according to the formula.
12. The apparatus of claim 1, wherein the instructions further cause the one or more processors to: The identifier defines the step at the second level, the parameter having the matching data type and a name that matches the name of the selected parameter; and The visual representation of the second level is displayed based on parameters defined at the second level, which include the matching data type and the name that matches the name of the selected parameter.
13. A computer-implemented method, the computer-implemented method comprising: One or more processors cause a display to show a user interface containing recipe elements, wherein the recipe elements correspond to steps in a recipe for manufacturing a batch of products, the steps being defined at a first level of the recipe; The one or more processors receive edit recipe parameter input from the input device; In response to receiving the edit recipe parameter input, the one or more processors cause one or more parameters of the recipe element to be displayed in the user interface; The one or more processors receive predefined deferred inputs for selected parameters of the recipe elements from the input device; The recipe is automatically displayed by one or more processors in a visual representation with available hierarchical levels of matching data types for the selected parameters; The one or more processors receive hierarchical selection input for the selected parameters; as well as The selected parameter is deferred to a second level corresponding to the level selection input by the one or more processors, and the recipe element is displayed with a visual element indicating that the recipe element has a deferred parameter.
14. The computer-implemented method of claim 13, further comprising: Based on the fact that the selected parameter is deferred to the second level, the one or more processors determine the attributes of the selected parameter according to the attributes of the parameter defined at the second level.
15. The computer-implemented method of claim 14, wherein determining the attribute of the selected parameter includes determining the attribute of the selected parameter during batch execution.
16. The computer-implemented method of claim 13, wherein the visual representation of the available level comprises a plurality of icons, wherein the current level icon among the plurality of icons represents the first level, and at least one other icon among the plurality of icons represents an available level for deferring the selected parameter.
17. The computer-implemented method of claim 16, wherein the hierarchy selection input includes selecting the at least one other icon from the plurality of icons.
18. The computer-implemented method of claim 13, wherein the recipe is a first recipe, and the computer-implemented method further comprises: The one or more processors generate data representing the first level of the first recipe; as well as The data representing the first level is multiplexed by the one or more processors as part of a second formula for manufacturing a batch of a second product.
19. The computer-implemented method of claim 13, further comprising having the one or more processors cause the apparatus to manufacture the batch of the product according to the formula.
20. One or more non-transitory computer-readable storage media, wherein instructions are stored on the one or more non-transitory computer-readable storage media, the instructions causing the one or more processors, when executed by the one or more processors, to: The display shows a user interface containing recipe elements, wherein the recipe elements correspond to steps in a recipe for manufacturing a batch of products, and the steps are defined at the first level of the recipe. Receive edit recipe parameter input from the input device; In response to receiving the edit recipe parameter input, one or more parameters of the recipe element are displayed in the user interface; Receive predefined deferred inputs for selected parameters of the recipe elements from the input device; Automatically display a visual representation of the recipe with available hierarchical levels of matching data types for the selected parameters; Receive hierarchical selection input for the selected parameters; as well as The selected parameter is deferred to a second level corresponding to the level selection input, and the recipe element with a visual element indicating that the recipe element has a deferred parameter is displayed.