WO2005116823A2 - System and method for developing animated visualization interfaces - Google Patents
System and method for developing animated visualization interfaces Download PDFInfo
- Publication number
- WO2005116823A2 WO2005116823A2 PCT/US2005/017305 US2005017305W WO2005116823A2 WO 2005116823 A2 WO2005116823 A2 WO 2005116823A2 US 2005017305 W US2005017305 W US 2005017305W WO 2005116823 A2 WO2005116823 A2 WO 2005116823A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- graphical symbol
- template
- symbol
- application
- graphical
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Definitions
- the present invention generally relates to facilities for developing visualization interfaces, and, more particularly, to software-based systems facilitating, via interface symbol creation/editing tools, building animated visualization graphical interface applications.
- Such visualization applications generally comprise a set of windows including sets of animated graphical symbols representing the operational status of a set of data sources.
- Animating the graphical symbols is driven by, for example, a steam of real-time values provided by process control/manufacturing information data sources linked to graphical display characteristics of the graphical symbols.
- Such real-time information is typically rendered and stored in the context of supervising automated industrial processes.
- BACKGROUND Industry increasingly depends upon highly automated data acquisition and control systems to ensure that industrial processes are run efficiently, safely and reliably while lowering their overall production costs.
- Data acquisition begins when a number of sensors measure aspects of an industrial process and periodically report their measurements back to a data collection and control system.
- Such measurements come in a wide variety of forms.
- the measurements produced by a sensor/recorder include: a temperature, a pressure, a pH, a mass/volume flow of material, a tallied inventory of packages waiting in a shipping line, or a photograph of a room in a factory.
- sensors and control elements e.g., valve actuators
- These sensors are of varied type and report on varied characteristics of the process. Their outputs are similarly varied in the meaning of their measurements, in the amount of data sent for each measurement, and in the frequency of their measurements. As regards the latter, for accuracy and to enable quick response, some of these sensors/control elements take one or more measurements every second. When multiplied by thousands of sensors/control elements, this results in so much data flowing into the process control system that sophisticated data management and process visualization techniques are required.
- Highly advanced human-machine interface/process visualization systems exist today that are linked to data sources such as the above-described sensors and controllers.
- Such systems acquire and digest (e.g., filter) the process data described above.
- the digested process data in-turn drives a graphical display rendered by a human machine interface.
- An example of such system is the well-known Wonderware INTOUCH® human-machine interface (HMI) software system for visualizing and controlling a wide variety of industrial processes.
- An INTOUCH HMI process visualization application includes a set of graphical views of a particular process. Each view, in turn, comprises one or more graphical elements.
- the graphical elements are "animated" in the sense that their display state changes over time in response to associated/linked data sources. For example, a view of a refining process potentially includes a tank graphical element.
- the tank graphical element has a visual indicator showing the level of a liquid contained within the tank, and the level indicator of the graphical element rises and falls in response to a steam of data supplied by a tank level sensor indicative of the liquid level within the tank.
- Animated graphical images driven by constantly changing process data values within data streams are considerably easier for a human observer to comprehend than a steam of numbers.
- process visualization systems such as INTOUCH, have become essential components of supervisory process control and manufacturing information systems. Management of supervisory process control visualization applications based upon the aforementioned visualization systems can be a daunting task. Configuring such applications includes specifying graphical/animated images within a graphical interface window and linking such images to data sources.
- bitmaps and animation scripts that drive view/appearance characteristics of a depicted graphical element are provided by graphical element vendors and maintained within a graphical element library.
- Developers of particular visualization applications through known HMI configuration tools (e.g., Wonderware's Window Maker utility within the INTOUCH software suite) need only specify a set of graphical elements (copied from a graphical element library) and their associated links to data sources.
- HMI configuration tools e.g., Wonderware's Window Maker utility within the INTOUCH software suite
- Such tools are of substantial value to HMI process visualization application developers.
- these useful development aids facilitates application developers creating extensive, elaborate, and complex user interfaces comprising large numbers of animated graphical elements.
- keeping track of all the various graphical elements and their associated data sources within a complex application can be overwhelming.
- the present invention addresses the potential need to provide better ways of designing and maintaining supervisory process control visualization applications.
- the present invention provides a highly integrated system for maintaining graphical elements and their associated underlying data sources in a process control visualization application environment.
- the above advantages are facilitated by a system and method for designing animated visualization interfaces depicting, at a supervisory level, manufacturing and process control information wherein graphical symbols in the visualization interfaces are associated with components of a process control/manufacturing information application.
- the system includes a graphical symbol library for maintaining a set of graphical symbol templates.
- the graphical symbol templates each include a graphics definition.
- the graphics definition includes graphics data for generating a graphical symbol.
- the graphics definition also includes a reference to an application component type.
- the reference facilitates identifying candidate application components for creating an association between a graphical symbol instance created from a graphical symbol template and one of the candidate application components.
- the reference enables a search utility to review a set of available application objects and thereafter present them to a visualization interface developer (who selects one or, alternatively, creates a new application object from an appropriate application component template).
- the system also includes a graphical symbol design environment including a visualization interface design tool.
- the visualization interface design tool facilitates designating the graphical symbol template, from the graphical symbol library, from which the graphical symbol instance is created, and specifying an application component corresponding to the reference to an application component type.
- FIG. 1 is a schematic diagram depicting the hosting/hierarchical relationships of components within an exemplary supervisory process control network including a multi- layered supervisory process control and manufacturing information system;
- FIG. 2 depicts a multi-tiered object hosting arrangement for hosting applications on platforms and engines within an exemplary system embodying the present invention;
- FIG. 3 is a schematic diagram of an exemplary visualization application design environment embodying the present invention
- FIG. 4 is an exemplary symbol template structure from which symbol instances are created and references resolved, and for which an association is maintained
- FIG. 5 is flowchart summarizing a set of stages associated with graphical symbol templates and instances created there from
- FIG. 6 is an exemplary symbol template browser interface for selecting a symbol template
- FIG. 7 is an exemplary symbol properties dialog facilitating resolving a set of references for a symbol instance
- FIG. 8 is an exemplary user interface including a template browser window for selecting a symbol template
- FIG. 9 is an exemplary user interface including an application object browser window for selecting a particular application object for purposes of resolving references for a symbol instance
- FIG. 10 is an exemplary visualization application window including graphical symbols potentially defined in a design environment embodying the present invention.
- DETAILED DESCRIPTION OF THE DRAWINGS The following description is based on embodiments of the invention and should not be taken as limiting the invention with regard to alternative embodiments that are not explicitly described herein.
- the present invention is incorporated within a supervisory process control and manufacturing information environment wherein individual data sources are represented by application objects. An example of such system is described in detail in Resnick et al., U.S. Application Serial No.
- a schematic diagram depicts the hosting/hierarchical relationships of components within an exemplary supervisory process control network including a multi-layered supervisory process control and manufacturing information system installed upon a set of networked computing machines (PCs).
- PCs networked computing machines
- the application objects 105 and 107 are identified within a global name table 125 maintained by a configuration database 124 (E.g., Wonderware's Galaxy Repository) - the contents of which are made available to a developer via a visualization application development tool 127 (e.g., Wonderware's INTOUCH software) executing on a configuration PC 120.
- the visualization application development tool 127 submits queries for particular information residing within the configuration database 124 to facilitate presenting available data sources (e.g., application objects 105 and application objects 107) incorporated by a developer into one or more process visualization view/windows for a particular application (e.g., a manufacturing process line).
- the process visualization application is potentially executed upon any one of a set of workstations connected to the supervisory process control network schematically depicted in FIG. 1.
- the above-described visualization application is executed as one or more application objects hosted by a view engine, which is in turn supported by a platform running on a supervisory node.
- a first application server personal computer (PC) 100 and a second application server PC 102 collectively and cooperatively execute a distributed multi-layered supervisory process control and manufacturing information application comprising a first portion 104 and second portion 106.
- the application portions 104 and 106 include device integration application objects PLClNetwork and PLC1, and PLC2Network and PLC2, respectively.
- the PLCxNetwork device integration objects facilitate configuration of a data access server (e.g., OPC DAServers 1 16 and 118).
- the PLC1 and PLC2 device integration objects operating as OPC clients, access data locations within the buffers of the OPC DAServers 116 and 1 18.
- the data access servers 116 and 118 and the device integration objects cooperatively import and buffer data from external process control components such as PLCs or other field devices.
- the data buffers are accessed by a variety of application objects 105 and 107 executing upon the personal computers 100 and 102. Examples of application objects include, by way of example, discrete devices, analog devices, field references, etc.
- application engines host the application objects (via a logical grouping object referred to herein as an "area").
- the engines are in turn hosted by platform objects at the next lower level of the supervisory process control and manufacturing information application.
- the application portions 104 and 106 are, in turn hosted by generic bootstrap components 108 and 110. AU of the aforementioned components are described herein below with reference to FIG. 2.
- the multi-layered application comprising portions 104 and 106 is communicatively linked to a controlled process.
- the first application server personal computer 100 is communicatively coupled to a first programmable logic controller 112
- the second application server personal computer 102 is communicatively coupled to a second programmable logic controller 114.
- the depicted connections from the PCs 100 and 102 to the PLCs 112 and 114 represent logical connections. Such logical connections correspond to both direct and indirect physical communication links.
- the PLC 112 and PLC 114 comprise nodes on an Ethernet LAN to which the personal computers 100 and 104 are also connected.
- the PLCs 112 and 114 are linked directly to physical communication ports on the PCs 100 and 102.
- the PCs 100 and 102 execute data access servers 116 and 118 respectively.
- the data access servers 116 and 118 obtain/extract process information provided by the PLCs 112 and 114 and provide the process information to application objects (e.g., PLClNetwork, PLC1, PLC2Network, PLC2) of the application comprising portions 104 and 106.
- application objects e.g., PLClNetwork, PLC1, PLC2Network, PLC2
- the data access servers 116 and 118 are, by way of example, OPC Servers. However, those skilled in the art will readily appreciate the wide variety of custom and standardized data formats/protocols that are potentially carried out by the data access servers 116 and 118.
- the exemplary application objects, through connections to the data access servers 116 and 118 represent a PLC network and the operation of the PLC itself.
- the application objects comprise a virtually limitless spectrum of classes of executable objects that perform desired supervisory control and data acquisition/integration functions in the context of the supervisory process control and manufacturing information application.
- the supervisory process control and management information application is augmented, for example,- by a configuration personal computer 120 that executes a database (e.g., SQL) server 122 that maintains a supervisory process control and management information application configuration database 124 for the application objects and other related information including templates from which the application objects are instantiated.
- the configuration database 124 also includes a global name table 125 that facilitates binding location independent object names to location-derived handles facilitating routing messages between objects within the system depicted in FIG. 1.
- the configuration PC 120 and associated database server 122 support: administrative monitoring for a multi-user environment, revision history management, centralized license management, centralized object deployment including deployment and installation of new objects and their associated software, maintenance of the global name table 125, and importing/exporting object templates and instances.
- Configuration of the application objects, the sources of the data provided to the visualization applications is carried out via an Integrated Development Environment (IDE) 126.
- IDE Integrated Development Environment
- configuration of application objects is potentially carried out, at least in part, in association with the visualization application development tool 127 that communicates with the database server 122 via distributed component object model (DCOM) protocols.
- DCOM distributed component object model
- the IDE 126 is a utility (comprising potentially multiple components) from which application objects are defined, created and deployed to a variety of platforms/engines including, for example, the application server PCs 100 and 102. In the case of the process visualization applications, the application objects are potentially deployed to other PCs that carry out a workstation role. Developers of a supervisory process control and manufacturing information application, through the IDE 126, carry out a wide variety of system design functions including: importing new object and template types, configuring new templates from existing templates, defining new application objects and deploying the application objects to the host application engines (AppEnginel or AppEngine2 in FIG. 1) on the application server PCs 100 and 102.
- a RawMaterial PC 130 provides a representative view enabling monitoring a raw materials area of a supervised industrial process.
- a ProductionPC 132 presents a representative view of a production portion of the supervised industrial process.
- a FinishedProductPC 134 provides a representative view of an area of a production facility associated with finished product.
- Each one of the operator stations 130, 132, and 134 includes a bootstrap host for each of the particular operator station platforms.
- Each one of the operator stations 130, 132, and 134 includes a view engine that supports visualization application objects for processing data provided by other application objects/data sources to render a graphical depiction of the observed industrial process or portion thereof.
- each of the operator stations 130, 132 and 134 run view applications through INTOUCH and INTOUCH View software installed on the operator stations.
- Such software corresponds to the view engines and application objects referred to herein above.
- the data driving animated behavior associated with symbols depicted in a view is either accessed locally or updated via any suitable network application development mechanism. It is noted that the system depicted in FIG. 1 and described hereinabove is merely an example of a multi-layered hierarchical architecture for a supervisory process control and manufacturing information system.
- FIG. 1 is presented as a logical view of the hosting interrelations between installed software and physical computing hardware and is not intended to designate any particular network topology. Rather the present invention is suitable for virtually any network topology. In fact, the present invention is applicable to a system wherein both configuration utility and supervisory process control visualization applications run on a single computer system linked to a controlled process.
- FIG. 2 a class diagram depicts the hierarchical hosting arrangement of layered software associated with a computer (e.g., PCs 100 or 102) executing at least a portion of a supervisory process control and manufacturing information application.
- a computer e.g., PCs 100 or 102
- Each computer executes an operating system 200, such as MICROSOFT'S WINDOWS at a lowest level of the hierarchy.
- the operating system 200 hosts a bootstrap object 202.
- the bootstrap object 202 is loaded onto a computer and activated in association with startup procedures executed by the operating system 200.
- the bootstrap object 202 must be activated before initiating operation of the platform class object 204.
- the bootstrap object 202 starts and stops the platform class object 204.
- the bootstrap object 202 also renders services utilized by the platform class object 204 to start and stop one or more engine objects 206 hosted by the platform class object 204.
- the platform class object 204 is host to one or more engine objects 206.
- the platform class object 204 represents, to the one or more engine objects 206, a computer executing a particular operating system.
- the platform class object 204 maintains a list of the engine objects 206 deployed on the platform class object 204, starts and stops the engine objects 206, and restarts the engine objects 206 if they crash.
- the platform class object 204 monitors the running state of the engine objects 206 and publishes the state information to clients.
- the platform class object 204 includes a system management console diagnostic utility that enables performing diagnostic and administrative tasks on the computer system executing the platform class object 204.
- the platform class object 204 also provides alarms to a distributed alarm subsystem.
- the engine objects 206 host a set of application objects 210 that implement supervisory process control and/or manufacturing information acquisition functions associated with an application.
- the engine objects 206 initiate startup of all application objects 210.
- the engine objects 206 also schedule execution of the application objects 210 with regard to one another with the help of a scheduler object 208.
- Engine objects 206 register application objects 210 with the scheduler object 208 for execution.
- the scheduler object 208 executes application objects relative to other application objects based upon a configuration specified by a corresponding one of the engine objects 206.
- the engine objects 206 monitor the operation of the application objects 210 and place malfunctioning ones in a quarantined state. Furthermore, engine objects 206 support check pointing by saving/restoring changes to a runtime application made by automation objects to a configuration file.
- the engine objects 206 maintain a name binding service that binds attribute references (e.g., tankl.value.pv) to a proper one of the application objects 210.
- the engine objects 206 ultimately control how execution of associated ones of the application objects 210 will occur. However, once the engine objects 206 determine execution scheduling for application objects 210, the real-time scheduling of their execution is controlled by the scheduler 208.
- the scheduler 208 supports an interface containing the methods Register AutomationObject() and UnregisterAutomationObject() enabling engine objects 206 to add/remove particular ones of the application objects to/from the scheduler 208's list of scheduled operations.
- the application objects 210 include a wide variety of objects that execute business logic facilitating carrying out a particular process control operation (e.g., turning a pump on, actuating a valve), and/or information gathering/management function (e.g., raising an alarm based upon a received field device output signal value) in the context of, for example, an industrial process control system.
- process control (automation) application objects include: analog input, discrete device, and PID loop.
- a class of the application objects 210 act upon data supplied by process control systems, such as PLCs, via device integration objects (e.g., OPC DAServer 118).
- the function of the integration objects is to provide a bridge between process control/manufacturing information sources and the supervisory process control and manufacturing information application.
- the application objects 210 include an application interface accessed by the engine objects 206 and the scheduler 208.
- the engine objects 206 access the application object interface to: initialize an application object, startup an application object, and shutdown an application object.
- the scheduler uses the application object interface to initiate a scheduled execution of the application object.
- an exemplary system embodying the present invention that includes software for developing and deploying visualization applications for use in such environments to monitor process control elements within such environments via a human-machine interface (HMI).
- the visualization applications support/facilitate supervisory process management and control through a variety of graphical displays depicting industrial processes (or portions thereof).
- An example of such a system is Wonderware's INTOUCH HMI software executed on the configuration computer 120.
- an exemplary process control visualization application development environment embodying the present invention comprises a number of highly integrated components. These components facilitate creating, editing and deploying process control and manufacturing information visualization applications comprising a collection of graphical symbol instances created from graphical symbol templates.
- the graphical symbol instances generally contain one or more changeable display characteristics driven by realtime data provided by components of a process monitoring and control system.
- the components are, for example, application objects, and local and remote tagged data references.
- dynamic display characteristics of graphical symbol instances are governed by real-time values provided by components linked to the graphical symbol instances.
- the present invention is carried out via any of a variety of known computer system hardware and software arrangements. Development/configuration of graphical symbol templates and visualization applications incorporating symbol instances created from the symbol templates can take place on any of a variety of computing devices (both networked and standalone). Thereafter the visualization applications link real-time process data to graphical symbols presented on a user interface of a variety of networked devices.
- the exemplary visualization application development environment includes a symbol design/development environment 300.
- the symbol design/development environment 300 comprises a set of tools/utilities, including graphical user interface-based browsers and dialog boxes, that facilitate creating and modifying graphical symbol templates and instances having links to application objects and tagged data sources in a process control and manufacturing information system.
- the symbol design/development environment 300 includes a symbol template creation tool 302 that facilitates creating symbol templates 304.
- the template creation tool 302 initially prompts a user to select a data source link type (e.g., an application object, a local tag, a remote tag, etc.). In the case where an application object link is selected, a list of object templates (determining the type of graphical symbol template) are presented. The process of creating a new symbol template is described further herein below.
- Symbol Template Library In an exemplary process control visualization interface design environment embodying the present invention, the symbol templates 304 are stored within a symbol library 306. As indicated by a set of individual boxes representing each of a set of "n" visualization applications, the symbol library 306 is arranged/segmented such that a separate container is provided for each of "n" visualization applications.
- each visualization application comprises, among other things, a set of symbol templates and a set of associated symbol instances created from the set of symbol templates.
- Editing Symbol Templates A symbol template editor tool 308 facilitates modifying a symbol template (for an application) previously stored within the symbol template library 306.
- a developer selects an "edit" mode of the symbol template design environment 300 and selects a symbol template to invoke the template editor tool 308. The user thereafter makes desired changes to the selected symbol template.
- Such changes include any changes to a template in an edit mode such as changes to graphics (e.g., changing the size, shape, or other attributes of one or more graphical primitives or cells, or adding or removing some primitives or cells) or changes to any animation expressions incorporated within the graphical primitives.
- changes to graphics e.g., changing the size, shape, or other attributes of one or more graphical primitives or cells, or adding or removing some primitives or cells
- changes to any animation expressions incorporated within the graphical primitives Prior to making such edits, the cell representing the entire symbol is broken to make the changes to elements of the cell (the parent symbol cell is thereafter re-built). The developer then saves the modified symbol template within its application-specific container in the symbol template library 306.
- a symbol manager 312 maintains a table containing a list, for each symbol template, of corresponding views/applications containing related/child symbol instances.
- the editor tool 308 upon committing the edits to a symbol template (and storing the new version of the symbol template in an appropriate container in the symbol template library 306), the editor tool 308 initiates propagating the symbol template changes to a set of symbol instances presently associated with (e.g., previously created from) the modified symbol template within an application.
- Designers of visualization applications are able to make changes to a set of symbol instances, created from a same symbol template, through an update mechanism that automatically propagates symbol template modifications to the set of symbol instances.
- the ability to propagate such changes throughout a visualization application (comprising potentially many visualization windows) enables a developer to update a set of graphical symbol instances created from a single parent symbol template through a single editing session on the parent symbol template.
- changes are propagated locally by opening a local file identifying each symbol instance corresponding to a changed symbol template and updating the portion of the local file containing the affected symbol instances. If the affected symbol instances are contained within process visualization applications running on non-local nodes, then the task of updating the non-local symbol instances is handled by network application development utilities/features.
- Such development utilities/features modify the affected windows/views (i.e., those containing changed symbol instances) locally and then deploy the modified windows/views as replacements to corresponding nonlocal visualization interface applications. Such changes are made by either publishing the changes to a set of subscribers or, alternatively, on demand for an update from a non-local client.
- Deploying Visualization Applications Once created, visualization applications are deployed to, and thereafter executed upon, an HMI host (e.g., a workstation) node. In an embodiment of the invention, a deployment utility transfers a copy of a selected application to a designated destination HMI host node. During deployment, the visualization applications (including their associated graphical symbol templates and instances) are potentially replicated to multiple nodes on a network.
- a master copy of each visualization application is maintained by a application server 310 and copies of the visualization application are transmitted to, and locally stored/executed upon, a set of distributed client nodes operating as supervisory process control and manufacturing information workstations.
- the aforementioned modifications to a symbol template are propagated from a master copy of the visualization application (including symbol instances created from associated from symbol templates), stored on the application server 310, to all copies of the particular visualization application distributed throughout a network.
- only changed portions of a visualization application to the extent they are separable from unchanged components, are transmitted to the client nodes.
- associations between templates and instances do not cross visualization application boundaries.
- Constraining the associations, and thus the propagation scope of changes, to a particular application enables supervisory process control visualization designers to modify a previously stored symbol template, and the change is only propagated to all instances of the changed symbol template within the single visualization application - but will not be picked up by other applications.
- a change to a graphical symbol template in a particular application has no effect on graphical symbols outside that particular application.
- the propagation boundaries, imposed at applications in the exemplary embodiment can be imposed at a variety of alternative levels (logical groupings) in accordance with various embodiments of the invention.
- each of the application-specific symbol template containers comprises a hierarchically arranged set of folders containing either symbol templates or other folders.
- This hierarchical relationship of folders within the template containers is depicted in a template directory pane 600 in a symbol template selection window depicted in FIG. 6.
- the template selection window is presented, for example, when a user seeks to create a symbol instance in the context of a visualization application development tool (e.g., Wonderware's WindowMaker visualization application development tool).
- the top level of a template container/directory is divided according to the type of references that are present within the templates.
- two top-level folders are presented.
- An Archestra Templates folder 602 is a root for a folder hierarchy that stores graphical symbol templates that reference Archestra application object-templates (corresponding to a state-of-the-art supervisory process control architecture).
- An INTOUCH Symbols folder 604 is a root for a folder hierarchy that stores graphical symbol templates that are intended to reference only INTOUCH Remote or Local Tags (corresponding to a legacy process control architecture), and do not contain any ArchestrA object template references.
- Two types of folders are presented in an exemplary template container hierarchy - ordinary folders and template folders.
- Ordinary folders can contain other ordinary folders, template folders, or symbol templates.
- Template folders identified in the exemplary user interface within FIG. 6 by ball icons, contain symbol templates (i.e., no other folders) that include animation expressions containing references to an application component type.
- template folder names correspond to application object templates referenced by the symbol templates contained in the particular template folder.
- each symbol template contained in the SFixedSpeedMotor symbol template folder includes one or more animation expressions referencing a SFixedSpeedMotor.
- each symbol template can contain references to only the SFixedSpeedMotor application object template.
- this restriction can be relaxed, or other naming protocols applied (e.g., compound/juxtaposed template names within the directory structure) to support grouping, under an appropriately named symbol template folder, symbol templates that include references to a same set of multiple object templates.
- Ordinary file system folders such as a motors folder 606, a transmitters folder 608, a valves folder 610, a clarifiers folder 612 and a conveyors folder 614 can be placed at any level within the container structure's hierarchy.
- template folders cannot contain other template folders since a template folder specifying a particular application object template is intended to denote a single source type (e.g., application object template) for all graphical symbol templates contained therein.
- the directory depicted in FIG. 6 supports specifying any number of intermediate levels of ordinary folders below either of the two top-level folders 602 and 604.
- the motors folder 606, the transmitters folder 608, and the valves folder 610 are contained within the Archestra Templates folder 602.
- the clarifiers folder 612 and the conveyors folder 614 are contained within the INTOUCH Templates folder 604.
- the motors folder 606 is expanded to reveal, at the lowest level of the hierarchical tree, a set of template folders (SFixedSpeedMotor 620, SFixedSpeedBidirectionalMotor 622, STwoSpeedMotor 624, and SVariableSpeedMotor 626).
- Each of the template folders in turn contain a set of stored graphical symbol templates.
- the symbol templates stored within the (selected) SFixedSpeedMotor folder 620 are depicted within a symbol templates pane 616 to the right of the template directory pane 600. -All unassigned folders initially go into the top-level Archestra folder.
- Archestra graphical symbol templates (stored within the Archestra Templates folder 602), if possible, are stored according to an application component type (e.g., an application object template) identified in a reference associated with the graphical symbol template. More specifically, if references within a graphical symbol template (from which graphical symbol instances are created) all correspond to a single application object template (from which application object/data sources for the symbol instances are created), then the graphical symbol template is stored within a graphical symbol template folder identifying the referenced application object template.
- an application component type e.g., an application object template
- all graphical symbol templates stored within a SFixedSpeedMotor template folder 620 only contain references specifying a SFixedSpeedMotor application Archestra object template. Placing symbol templates under folders bearing object template names of a data source for symbol instances enables a visualization application designer to easily locate an appropriate set of candidate symbol templates based upon the designer's knowledge of a contemplated data source type for an instance created from a selected symbol template. On the other hand, symbol templates with references to multiple different object template types are placed within a top-level symbol template folder. Alternatively, as mentioned above, appropriate compound names can be assigned to a template folder containing a set of symbol templates based upon the multiple reference types contained within each one of the folder's symbol templates.
- an ordinary folder is created (as opposed to a symbol template folder) and thereafter the ordinary folder is assigned a name based upon its contents.
- the above-described embodiment does not allow a directory structure to have multiple, nested, levels of graphical symbol template folders (due to the requirement that symbol templates referring to a single application object template/tag be placed within a folder naming that template).
- the library directory tree structures support multiple, nested, levels of template folders.
- the symbol library 306 is maintained via the symbol library manager 312.
- the symbol library manager 312 carries out a variety of container/directory management operations including: creating folders, renaming folders and symbol templates, moving folders and templates, deleting folders and symbol templates, and importing/exporting graphical symbol templates into/from/between the individual application-specific symbol template libraries supported by the symbol library 306.
- the symbol library manager 312 supports creating additional structures within application-specific symbol template containers for the purpose of organizing symbol templates contained therein.
- the symbol library manager 312 supports creating template folders by browsing a repository of application object template names and thereafter creating a symbol template folder having a selected application object template name.
- a new template folder is generated by the symbol template creation tool 302 when a new symbol template is created/stored containing references a single application object template, and the application object template name does not exist on a template folder positioned directly under the top-level Archestra Templates folder 602.
- a user can move the new symbol template to the lower-level template folder and delete the automatically created template folder bearing the same template name.
- the symbol library manager 312 supports renaming folders or symbol templates in the library. However, since template folders are named according to the application object templates identified in their constituent symbol templates, re-naming template folders identifying application object templates is not ordinarily performed.
- the symbol library manager 312 supports moving ordinary and template folders or symbol templates within an application-specific library container's hierarchy. However, the symbol library manager 312 blocks moving template folders under other template folders. Furthermore, the symbol library manager 312 prevents placing symbol templates within the wrong high-level folders. For example, referring to FIG. 6, ArchestrA symbol templates cannot be placed under/within the INTOUCH folder 604, and visa versa. The symbol manager 312 also supports deleting both folders and symbol templates from the library 306. Finally, as mentioned previously above, the symbol library manager 312 maintains, for each visualization application, a list of each view/window having an instance of each graphical symbol template within the particular visualization application.
- identifying each symbol instance (as opposed to identifying a view/window), and maintaining a global list including, for each symbol instance, at least the application (and potentially the view/window/display) within which the graphical symbol resides.
- This part of the symbol library manager 312 facilitates propagating any subsequent changes to a graphical symbol template, to the template's child instances.
- a symbol template recovery utility 314 is also provided, in an exemplary embodiment, that facilitates recovering a previously deleted graphical symbol template (in the symbol library 306) from a remaining symbol instance.
- the smart symbol instances with the exception of a name of their parent symbol template, contain all the information needed to re-create a previously lost parent template.
- the symbol template recovery utility 314 re-creates the graphical symbol template based upon information (e.g., a unique symbol template identification, bitmaps, scripts, etc.) maintained within each graphical symbol instance.
- the unique symbol template identification ties a particular symbol template to all instances created from the template. All the information supporting a particular symbol is included in each instance - so that it is not necessary at runtime to reference a symbol library to draw a symbol and connect a data source to the symbol instance.
- symbol instance information includes data source references, supporting graphics drawing instructions, supporting bitmaps, and any scripts that facilitate animating the graphical symbol.
- the only information lost when a graphical symbol template is lost is the text name of the template (which is used to identify the template to a developer when viewing a set of templates within a particular template folder).
- a text name is reassigned to the template.
- the symbol manager 312 supports importing and exporting symbol templates to other applications. Any selected symbol templates, or the entire set of symbol templates within a selected application container can be exported, by the symbol manager 312, to a disk file, as a symbol template package file. Similarly, the symbol manager 312 possesses the capability to import any symbol template package file into a designated application (on the same or a different machine).
- the import/export utilities enable users to copy symbol templates from one visualization application to another, thereby enabling designers of visualization applications to extend graphical symbol template definitions beyond the above-described application boundaries.
- the import/export utilities facilitate copying previously defined symbol templates/libraries into other applications (or other logical groupings) - even applications residing at remote locations within a networked system.
- symbol graphics if desired, are standardized across entire plants and organizations by copying a standard set of symbol templates to a designated set of applications within a plant, an organization, etc.
- transportability of graphical symbols is achieved without copying visualization application windows comprising graphical symbol instances. Instead, only the symbol templates are copied to a recipient application.
- a symbol instance creator 316 is invoked within a visualization application development environment (e.g., Wonderware's INTOUCH WindowMaker), to create graphical symbol instances from graphical symbol templates 304 previously stored in the symbol library 306.
- a visualization application development environment e.g., Wonderware's INTOUCH WindowMaker
- invoking the symbol instance creator can occur in any of a variety of ways. For example in one visualization application design environment a developer selects/drags a graphical representation of a symbol from a palette/menu and drops the symbol at a desired location within an open visualization application edit window. Alternatively, while in an application window edit mode, an area is selected on a visualization application design window pane.
- the symbol instance creator 316 launches, by way of example, the graphical symbol selection dialog depicted in FIG. 6 that enables a user to choose a specific graphical symbol template from which an instance is created.
- a user selects a particular symbol template folder based upon the particular data source that the developer seeks to add to a currently open visualization window.
- a set of available symbol templates are displayed within the symbol templates pane 616.
- the instance creator 316 launches a symbol instance editor 318 including a properties dialog interface illustratively depicted, by way of example, in FIG. 7 (described further herein below).
- a user completes specifying a symbol instance by designating particular data sources for placeholders contained within the selected graphical symbol template in a task referred to herein as "resolving" references.
- data sources include process control system application objects and tagged data sources.
- a data source for a symbol instance may be an existing one, or alternatively, one created from an object template located via a browser launched by the instance editor 318 via the properties dialog. After a graphical symbol instance has been created in a visualization application window, the symbol instance editor 318 can be recalled to edit the previously designated data source links when the symbol instance was first created.
- an exemplary graphical symbol template structure includes a symbol XML file 400.
- the symbol XML file 400 contains data and structure describing how to build and animate an associated graphical symbol instance in a visualization application.
- the contents of the XML file 400 define how a graphical symbol is rendered - including scripts/expressions defining animation behavior of a symbol instance in response to changing input data values from a specified source.
- the XML file 400 can define a rectangle by size, color, position, associated bitmaps, as well as define an animation behavior wherein the portion of the rectangle filled by a particular color corresponds to a present value of a process variable provided by an application object corresponding to a process data source.
- the animation expressions within the XML file 400 for a graphical symbol template include references to particular types of data sources.
- the data source references specify application component types (e.g., application object templates) that provide data for driving animation behavior of a symbol instance created from the graphical symbol template.
- a data source reference facilitates associating the graphical symbol template with a particular type of application component (e.g., a tank level application object template) data source.
- the references facilitate arranging graphical symbol templates within a library of templates. By way of example, when a symbol template is saved to the library, the symbol template is placed in a particular symbol template library folder (described further herein below) corresponding to the application component data source type specified in an animation expression contained in the XML file 400.
- a symbol template used to create animated symbol instances that change appearance according to input data from a "fixed speed motor" is placed within a template library folder holding templates that include one or more data source references that specify a fixed speed motor data source type.
- Such references contained in the XML file 400 thus specify a general type of application component (e.g., application object template) for which the graphical symbol template is suitable for providing an animated graphical display.
- application object template e.g., application object template
- This facilitates associating graphical symbols, generated from the symbol templates, with process control automation/application objects that drive the visual appearance (e.g., animation state) of the graphical symbols.
- a symbol bitmap 410 represents/defines a thumbnail size bitmap for the smart symbol (i.e., one used for a symbol library interface view of the smart symbol template).
- Supplemental bitmaps 420 specify bitmaps utilized to render an image of a graphical symbol instance in a view.
- a tank symbol can be rendered by means of drawing primitives (e.g., rectangles, lines, curves, etc.); however, the background of the tank is a bitmap image.
- Another example is an artist's rendering of a valve handle (as opposed to a schematic/block view) that augments a valve defined by a set of primitive graphic shapes.
- Symbol manager data 430 comprises, by way of example, a binary file containing a unique LD assigned to the particular symbol template. The unique LD facilitates creating an association between the symbol template and symbol instances created from the symbol template.
- the symbol manager data 430 also contains a directory structure and template names of all the symbols associated with the graphical symbol template.
- FIG. 5 a set of steps summarize a method for initially creating an animated graphical symbol template including a reference to a process control application component type, and thereafter creating a graphical symbol instance from (and resolving any references to process control application component types contained within) the graphical symbol template for use within a visualization application in accordance with an embodiment of the present invention.
- the graphical symbol template includes an animation expression that defines an animation behavior of graphical symbol instances created from the symbol template.
- the animation expression includes the aforementioned reference to a process control application component type.
- a user through the symbol template creation tool 302, defines a graphical symbol template, of the type described herein above with reference to FIG.
- the references identify either a process control application object template or a remote tag.
- the identified application component type corresponds to a suitable type of application entity that will provide data to (drive) an input associated with a graphical symbol instance created from the symbol template.
- the graphical symbol templates are initially generated from graphical symbol cells created on a Wonderware WindowMaker process visualization window design/development utility interface.
- the graphical symbol cells include user-configurable graphics and animation script/expression sections including one or more placeholders facilitating designating the aforementioned references.
- the references are established by selecting an "animation links" option on a symbol template editor interface, selecting a particular type of animation link (e.g., an application object, a tag, etc.), and thereafter selecting from a set of candidates for the selected type (e.g., application object templates) to define a type of animation data source for the symbol template.
- a user specifies: (1) a particular application object template, and (2) a specific attribute associated with the selected application object template.
- the reference is specified in the form of "Galaxy: $ ⁇ TemplateName>. ⁇ AttributeName>” - where the ⁇ TemplateName> can be followed by more contained object names and the ⁇ AttributeName> can be a hierarchical set of attribute names.
- An example of a specified reference is "galaxy:$valve.pv”.
- the expression specifies a relationship between an input value provided by the reference and an output visual state of the animated graphical symbol.
- the user Upon filling in the reference placeholders and specifying any user-selectable parameter values for the animation behavior of the graphical symbol template, the user invokes a "generate symbol template" command causing the symbol template creation tool 302 to create a new graphical symbol template containing the code and data described hereinabove with reference to FIG. 4. The user is prompted to provide a name for the new graphical symbol template.
- a user invokes a save operation within a template editor interface by invoking an operation for generating a graphical symbol template.
- a graphical symbol template defined during step 500 is saved within one of the application-specific symbol template containers of the symbol library 306.
- the application-specific containers described above, each comprise a directory tree structure within which the graphical symbol templates for the particular applications are stored.
- the graphical symbol template includes references to only a single application component type (e.g., application object template)
- the graphical symbol template is automatically stored within a folder in the application-specific container of the symbol library 306 corresponding to the application component type (e.g., Stank folder).
- a user is provided the opportunity to provide a customized name (e.g., SteelTankl) in place of an initially assigned default name (e.g., NewSymbol) for the symbol template.
- the location of the saved graphical symbol template within the directory tree structure depends upon the type of application object template specified by one or more references within the saved graphical symbol template.
- a symbol template has references associated with a single application object template (e.g., SFixedSpeedMotor)
- the symbol template is placed within a symbol template folder identifying the application object template (e.g., SFixedSpeedMotor 620). If an appropriate template folder has not previously been established (see, FIG. 6), then one is created.
- the object template is placed, for example, in the Unassigned Symbols folder 618.
- the symbol template is stored within a top-level folder within the INTOUCH templates folder 604.
- a developer of a visualization application window/view invokes the symbol instance creator 316 to initiate creating a graphical symbol instance from the graphical symbol template.
- step 504 is carried out through a wizard/tool incorporated into a visualization application view editor (e.g., WONDERWARE'S INTOUCH visualization interface development/presentation software).
- a cursor is generated that prompts a user to select a location within a view for placement of a graphical symbol instance.
- the wizard/tool enters a template "select" mode wherein a dialog box (see, e.g., FIG. 6) is generated through which the developer selects the previously stored graphical symbol template from a set of available symbol templates under a selected template folder.
- the developer has selected the SFixedSpeedMotor application object template folder 620 (highlighted) under the standard Motors folder 606 created under the ArchestrA Templates folder 602 (the general container for all symbol templates). Selecting the SFixedSpeedMotor symbol template folder 620 causes all the symbol templates contained within the SFixedSpeedMotor folder 620 to be rendered in the symbol templates pane 616. The user selects one of the symbol templates in the pane 616 for which a graphical symbol instance is to be created (e.g., "Shaft Down - Alarm Left - Brown" in the previously selected SFixedSpeedMotor template folder).
- a graphical symbol instance e.g., "Shaft Down - Alarm Left - Brown
- An image preview/attribute list pane 630 displays information related to a currently selected, but not yet instantiated, graphical symbol.
- the symbol instance creator 316 commences a set of steps (e.g., launches a symbol properties dialog) for configuring attributes, including resolving application object template names to application object instances, for a graphical symbol instance corresponding to the selected graphical symbol template.
- steps e.g., launches a symbol properties dialog
- graphical symbol templates can be selected via any one of a variety of interfaces.
- a user selects a graphical symbol template by viewing a directory containing a set of available graphical symbol templates - and thereafter associates an application object with a graphical symbol instance corresponding to the selected graphical symbol template by resolving the references contained within the graphical symbol instance to the application object.
- graphical symbol templates are presented in the form of a pallet, and a user invokes the symbol instance creator 316 by dragging and dropping an icon/graphical image, corresponding to the graphical symbol template, from the pallet to a visualization application view.
- Other user interface mechanisms for invoking a tool for creating a graphical symbol instance will be known to those skilled in the art.
- a visualization application development interface/dialog box presents a set of application object templates - the prospective data source types driving the animation characteristics of a graphical symbol.
- a set of graphical symbol templates corresponding to the selected application object template are presented to the user.
- the symbol instance creator 316 creates a graphical symbol object corresponding to the selected graphical symbol template. Actual creation of a graphical symbol instance can occur at any of a variety of stages of the visualization application view development process.
- the symbol instantiation tool 307 creates a graphical symbol object, corresponding to the selected graphical symbol template.
- creating a graphical symbol instance is delayed at least until a user specifies actual data source (object) links for references contained within the scripts associated with the selected graphical symbol templates. References within partially specified graphical symbol instances are resolved during step 506.
- a user specifies links to application objects/data sources for each of the unresolved references originally specified within the selected application object template.
- the linked data sources drive/animate display characteristics associated with a graphical symbol instance created from the previously selected graphical symbol template.
- a graphical symbol properties dialog depicted by way of example in FIG. 7 is launched during step 506 after a user selects a graphical symbol template.
- a show properties dialog upon instantiation option 628 enables a user to configure automatic launching of the properties dialog in response to a user designating a particular graphical symbol template from the set of templates represented in the symbol templates pane 616.
- the graphical symbol properties dialog enables the user to resolve previously unresolved references (presented in the form of placeholders by the graphical symbol template).
- Unresolved references/placeholders are provided in the form of generic names (e.g., "Galaxy:me.pv”), reference strings including application object templates (e.g., "Galaxy.Spump.pv”), etc.
- the unresolved references are resolved by, for example, browsing a collection of application object instances that currently exist in a designated logical grouping of application objects (referred to herein as a "Galaxy”) and selecting one of the application objects, or by simply typing in an application object instance name (that may not yet exist).
- a graphical symbol properties dialog interface 700 includes a set of fields summarizing various properties associated with a graphical symbol instance.
- a first group of fields specifies physical and logical attributes of an application containing the specified graphical symbol instance.
- a GR Node Name field 702 (e.g., markb05) identifies a server of a database containing a master copy of an application associated with the graphical symbol instance.
- a galaxy name field 704 (e.g., ReactorDemoGai) specifies a namespace (e.g., Galaxy, or any other suitable logical grouping of entities such as an enterprise) that is presently being used by a visualization application containing the graphical symbol instance.
- the GR Node Name field 702 and galaxy name field 704, in combination, facilitate specifying a namespace in a database that is being used by the visualization application.
- a second group of fields define graphical symbol instance attributes.
- a graphical image associated with a currently selected graphical symbol template is displayed in a preview pane 705.
- a symbol template field 706 identifies, by name, the currently selected graphical symbol template.
- the identified graphical symbol template is the source for the graphical symbol structure (specified during step 504) that will be completed/instantiated after resolving references during step 506.
- This association between a graphical symbol template and the graphical symbol instances created from the template is maintained within at least the visualization application design environment such that any changes to data within the graphical symbol template after instantiating graphical symbol instances from the template are merged via refresh mechanisms into the data within each graphical symbol instance of the symbol template.
- a propagation mechanism exists during runtime such that changes (e.g., changing the size, color, text, animation behavior (add/remove/modify animation expressions), etc.) to a symbol template are passed to any open and active windows/views that contain a symbol instance created from a changed symbol template regardless of whether an affected visualization application is running on the same node or a different node upon which the change to the symbol template takes place.
- changes e.g., changing the size, color, text, animation behavior (add/remove/modify animation expressions), etc.
- changes e.g., changing the size, color, text, animation behavior (add/remove/modify animation expressions), etc.
- the symbol template is opened and modified via a symbol template editor.
- the user thereafter invokes an operation for storing the changed symbol template.
- a confirmation dialog displays/lists all currently open windows/views that contain symbol instances created from the changed symbol template. Data source references, potentially affected by the changes, are displayed in "before” and "after” states.
- the revised symbol template is stored in the appropriate symbol template library.
- each view/window in a corresponding visualization application is opened to determine the existence of symbol instances corresponding to the changed symbol template (by observing the symbol template IDs of the symbol instances in the application views). If an affected symbol instance is found, then it is updated based upon the new version of the symbol template.
- a graphical symbol template browse interface button 707 enables a user to browse a set of graphical symbol templates via a browse dialog box.
- An example of a symbol template browse dialog box is depicted, by way of example, in FIG. 8.
- a filter field 800 enables a user to limit retrieved symbol templates, displayed in results field 802 to ones meeting a specified filter criterion (e.g., graphical symbol templates specifying $Box application object template references).
- the "Default" filter corresponds to no filter, and all templates in the application-specific container of symbol templates for a current application are retrieved and displayed within results field 802.
- An ArchestrA Template field 708 identifies an application object template for a suitable source application object instance when specifying instance references for the graphical symbol instance.
- the instance references when resolved, specify links to data sources that drive/animate the display characteristics of the new graphical symbol instance.
- An Archestra Instance field 710 specifies a currently selected application object supplying the data link references for resolving template references enumerated within a Template References column 712.
- a data type column 714 specifies the form of data supplied by a data source identified within an Instance Reference column 716.
- the symbol template specified in the symbol template field 706 is LightBlueBoxl, and a single template reference, Galaxy:$Box.pv, is specified in the Template References column 712.
- the Archestra Template field 708, indicating the application component type that will drive references within the graphical symbol instance, specifies an application object template identified as $Box.
- the currently selected application object instance, designated in the Archestra Instance field 710 is an instance created from the $Box application object template and is named SmallBlueBox.
- the text string "Galaxy:SmallBlueBox.pv" represents a resolved template reference "Galaxy:$Box.pv”.
- the resolved reference was provided automatically upon designating the application object "SmallBlueBox".
- the SmallBlueBox application object thus supplies a discrete data value for driving an animation behavior associated with the graphical symbol instance (created from the LightBlueBoxl symbol template) via a Galaxy:SmallBlueBox.pv attribute.
- the properties dialog interface depicted in FIG. 7 shows the dialog interface after an application object instance has been selected.
- the application object instance is specified via an application object browse button 718 that enables a user to browse a set of application objects via a browse dialog box.
- An example of the application object browse dialog box is depicted, by way of example, in FIG. 9.
- a filter field 900 enables a user to limit retrieved application objects to ones meeting a specified filter criterion (e.g., application objects created from the Sjunk application object template).
- the Sjunk filter results in retrieval of a set of five application object instances created from the Sjunk application object template.
- a user is able to retrieve and list a set of candidate application objects for resolving references specified within the template references column 712.
- a new button 720 invokes a dialog for creating a new instance from an application object template specified in the Archestra Template field 708.
- the new object instance becomes the data source for the references specified in the graphical symbol object instance.
- the output variables of the selected application object instance are applied to the set of symbol template references listed in column 712 and the corresponding instance references are filled in column 716.
- the system replaces all generic references specified in the template references listed in column 712 as well as all references specifying template names that match the template of the selected application object instance.
- the SBox string in the reference listed in column 712 is replaced by an instance named "SmallBlueBox" (created from a SBox application object) in the resolved reference listed in column 716.
- a fully specified graphical symbol instance is ready to be created during step 508.
- the symbol instance properties dialog interface 700 includes a set of function buttons.
- a cancel button 722 exits the property dialog without making any changes affecting graphical symbol instances.
- a replace button 724 launches a dialog box for specifying a search string and replace string to be carried out on the items listed within the Instance References column 716.
- a help button 726 launches a help dialog specifying a listing of user-selectable help topics.
- An OK button 730 implements the current selections specified in the properties dialog box. In an embodiment of the invention, selection of the OK button 730 invokes creation, at step 508 set forth in FIG. 5, of structures for a graphical symbol instance based upon the values set forth in the fields of the properties dialog.
- a Show Text Strings option 732 allows for the display and editing of static text strings associated with the displayed symbol template (a label, a set of values).
- the text string can be a label such as "Reactor #1" that is placed in a text box positioned on the top of a symbol.
- Another example is a set of static tick levels on a symbol.
- the text strings are shown in a list view which is a pop-up dialog containing a list of default text strings associated with symbol as well as any substitute/supplementary text strings.
- the text strings option 732 thus allows the user to edit the string manually or via a search and replace function associated with the replace button 724.
- a developer can recall the properties dialog for the previously created graphical symbol instance and edit any of the references to specify a different data source and then re- save the symbol instance.
- references within the symbol template identify any of a variety of data sources including: a process control application object template, a generic process control application object, and remote tags (representing a data source).
- the properties dialog set forth in FIG. 7 corresponds to a symbol template/instance specifying an application object template as a data source type.
- the present invention supports a variety of data sources types including, by way of example, templates including generic references (i.e., do not specify an application object template) and tags (specifying a data source by a memory location rather than an application object).
- templates including generic references (i.e., do not specify an application object template) and tags (specifying a data source by a memory location rather than an application object).
- appropriate dialog boxes are presented that enable a developer to specify specific application objects and memory locations for the reference placeholders provided by the symbol template.
- Appropriate browse utilities are supported for retrieving applicable potential sources driving the specified symbol data inputs.
- visualization applications are executed, at least in part, based upon associated scripts.
- the scripts implement programmed animation behavior (including presenting/displaying a current parameter value such as temperature, pressure, flow, etc.) for the graphical symbols in accordance with changes to input data values (driven by data sources identified by references within the graphical symbol scripts).
- scripts associated with active windows are executed to update values supplied by data sources in a process control system identified by references embedded within graphical symbols. The appearances of the graphical symbols are updated to reflect changes in the data values provided by the referenced data sources.
- an IOSetRemoteReferences function enables visualization application developers to redirect/rename data source references within the graphical symbol instances at runtime. More particularly, the IOSetRemoteReferences function call replaces a specified generic/placeholder reference text string (e.g., motor x), or portion thereof, by a specific reference text string (e.g., motor_2) within expressions contained in scripts anywhere in a visualization application.
- a specified generic/placeholder reference text string e.g., motor x
- a specific reference text string e.g., motor_2
- application developers write visualization application scripts including the IOSetRemoteReferences function to specify redirecting/renaming references at runtime. Furthermore, by placing conditional branch instructions ahead of script lines specifying the IOSetRemoteReferences function call, designers can specify conditions under which the IOSetRemoteReferences function call is carried out (e.g., the IOSetRemoteReferences function is skipped until a particular condition is met). For example, a particular source object instance providing data values driving a particular appearance characteristic of a graphical symbol instance is switched upon meeting a particular condition. Alternatively, a source object is switched in response to a user clicking a particular interface button (possibly representing that data source).
- the IOSetRemoteReferences function includes a set of fields describing a substitution to be performed to particular reference text strings within a graphical symbol script.
- the IOSetRemoteReferences function call replaces particular parts of remote (i.e., ones located on another node) references specified in the form of "AccessName". "ItemName" - where the ItemName can comprise further extensions delimited, by way of example, by a period.
- the IOSetRemoteReferences function call supports a two-part matching criterion and is specified in the form:
- IOSetRemoteReferences BaseAccess, New Access, MatchString, SubstituteString, Mode.
- Base Access specifies the originally configured access name to find/match in the references contained within the script in association with a first part of a potentially two-part matching test (see second part below).
- the BaseAccess can specify a universal access name (e.g., "Galaxy" - that refers to a global address comprising potentially multiple nodes in a network), or alternatively, a particular entity (e.g., TagServer_l).
- the BaseAccess field cannot be empty.
- New Access specifies an access name replacing the originally configured access name string when all matching criteria have been met.
- the field New Access field can be empty. If the New Access field is empty, then no string substitution occurs in the AccessName portion of a reference.
- MatchString specifies a string to match in the originally configured item name portion of a reference.
- the MatchString field can be empty. In the case of an empty MatchString field, any string within a reference is considered a match.
- SubstituteString specifies a string to substitute in the item name portion of a reference if the BaseAccess string and MatchString string are matched for a reference.
- the SubstituteString field can be empty. If the SubstituteString field is empty, then no substitution occurs with regard to the item name portion of a reference.
- Mode specifies a way in which matching of the "MatchString" occurs (whole/partial field matching) with regard to the content of the item name portion of a reference. In an embodiment of the invention, matching always begins at the beginning of the item name string of a reference. However, the entire item name need not match the specified MatchString.
- the Mode parameter specifies either "whole string” matching or "partial string” matching. "Whole string” requires matching the MatchString parameter value to the entire item name (between name delimiters such as period or either end) of a reference to constitute a "match.” "Partial string” requires matching the MatchString parameter value to only a beginning part of the item name portion of a reference to constitute a match.
- the SubstituteString replaces the MatchString regardless of its position within an Item Name.
- Other matching/replacement schemes are utilized in yet other embodiments of the invention.
- the IOSetRemoteReferences function performs whole/partial string substitutions on remote references for which all portions (e.g., Access and Item names) are matched to specified string values (left blank if no match is required).
- the lOSetRemoteReference function is specified within a script associated with a visualization application, and is applied only to open windows in the application. Thus, the lOSetRemoteReference function potentially affects all remote references within all open windows in a visualization application containing the lOSetRemoteReference function call.
- FIG. 10 depicts an exemplary visualization application window including a set of graphical symbols created from the above-described symbol templates.
- the animation behavior of symbol instances within a view can take on any of a variety of forms, including visual changes (e.g., blinking, movement, size change, rotation, fading, etc.) related to real-time data values provided by referenced application object attributes incorporated into animation expressions specified for the symbol instances.
- visual changes e.g., blinking, movement, size change, rotation, fading, etc.
- FIG. 10 such animation is embodied in a dynamic depiction of level in a Product storage tank (by a digital value as well as a graphical rectangle that changes size to correspond to the percentage of the tank filled with liquid.
- Animation is also incorporated in the form of handle positions in input and output valves to the Product storage tank.
- a Reactor Batch vessel symbol instance includes two animation behaviors: (1) a fill level and (2) a rotating mixer/agitator assembly.
- Each portion of the illustrative application view/template set forth in FIG. 10 is potentially provided by a symbol instance created from a symbol template described herein above.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05750937A EP1766567A4 (en) | 2004-05-17 | 2005-05-17 | System and method for developing animated visualization interfaces |
CN2005800214724A CN1981301B (en) | 2004-05-17 | 2005-05-17 | System and method for developing animated visualization interfaces |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US57183304P | 2004-05-17 | 2004-05-17 | |
US60/571,833 | 2004-05-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2005116823A2 true WO2005116823A2 (en) | 2005-12-08 |
WO2005116823A3 WO2005116823A3 (en) | 2007-01-18 |
Family
ID=35451526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2005/017305 WO2005116823A2 (en) | 2004-05-17 | 2005-05-17 | System and method for developing animated visualization interfaces |
Country Status (4)
Country | Link |
---|---|
US (1) | US8516383B2 (en) |
EP (1) | EP1766567A4 (en) |
CN (1) | CN1981301B (en) |
WO (1) | WO2005116823A2 (en) |
Families Citing this family (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9565275B2 (en) | 2012-02-09 | 2017-02-07 | Rockwell Automation Technologies, Inc. | Transformation of industrial data into useful cloud information |
US7324856B1 (en) * | 2003-09-25 | 2008-01-29 | Rockwell Automation Technologies, Inc. | Autogeneration of code via human-machine interfaces (HMI) and self-building HMI |
WO2005116864A1 (en) * | 2004-05-26 | 2005-12-08 | Typefi Systems Pty Ltd | Document templates |
US20060047699A1 (en) * | 2004-08-10 | 2006-03-02 | International Business Machines Corporation | Visualizing data in visual application design |
US7769840B1 (en) * | 2004-11-19 | 2010-08-03 | Sprint Communications Company L.P. | Network status animation tool |
ES2698264T3 (en) * | 2006-02-10 | 2019-02-01 | Freedom Scientific Inc | Stylization and replacement of text sensitive to content applicable to the entire system |
CN101090342A (en) * | 2006-06-16 | 2007-12-19 | 伊顿动力品质公司 | Methods, devices and computer program products for providing device status information |
US20080010492A1 (en) * | 2006-06-16 | 2008-01-10 | Eaton Power Quality Corporation | Methods, Devices and Computer Program Products For Providing Device Status Information |
US20080189638A1 (en) * | 2006-10-16 | 2008-08-07 | Invensys Systems, Inc. | Bridging human machine interface technologies in a process automation and information management environment |
EP1944664B1 (en) * | 2007-01-09 | 2010-07-14 | Siemens Aktiengesellschaft | Troubleshooting method for an automation controller |
US20080177776A1 (en) * | 2007-01-22 | 2008-07-24 | Stallings Richard W | Animation object shell system and method |
US8214802B1 (en) * | 2007-02-08 | 2012-07-03 | Vmware, Inc. | Providing visual preview of intermediate steps of software configuration |
US9495133B1 (en) * | 2007-02-23 | 2016-11-15 | American Megatrends, Inc. | Template-based BIOS component creation |
US8413110B2 (en) * | 2007-04-25 | 2013-04-02 | Kai C. Leung | Automating applications in a multimedia framework |
CN101452383B (en) * | 2007-12-04 | 2012-07-18 | 中兴通讯股份有限公司 | Interface antetype design method and design system |
US8896603B2 (en) * | 2008-02-26 | 2014-11-25 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to bind properties in a process control system |
US8589809B2 (en) * | 2008-02-28 | 2013-11-19 | Chevron U.S.A. Inc. | Methods and systems for conducting a meeting in a virtual environment |
US9043716B2 (en) | 2008-03-26 | 2015-05-26 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to create process control graphics based on process control information |
EP2283413B1 (en) | 2008-05-27 | 2019-02-20 | ABB Research Ltd. | Work station in a process control system |
GB2476011B (en) * | 2008-09-29 | 2013-05-15 | Fisher Rosemount Systems Inc | Efficient design and configuration of elements in a process control system |
US9582234B2 (en) * | 2008-09-30 | 2017-02-28 | Rockwell Automation Technologies, Inc. | System and method for the automatic aggregation of industrial automation displays |
US9424287B2 (en) * | 2008-12-16 | 2016-08-23 | Hewlett Packard Enterprise Development Lp | Continuous, automated database-table partitioning and database-schema evolution |
US20120143931A1 (en) * | 2009-02-17 | 2012-06-07 | Tagle Information Technology Inc. | Context-aware folders |
US8881039B2 (en) | 2009-03-13 | 2014-11-04 | Fisher-Rosemount Systems, Inc. | Scaling composite shapes for a graphical human-machine interface |
US8448076B2 (en) * | 2009-04-27 | 2013-05-21 | Fisher-Rosemount Systems, Inc. | Configuring animations and events for operator interface displays in a process control system |
US9026952B2 (en) * | 2009-12-17 | 2015-05-05 | Microsoft Technology Licensing, Llc | Creating awareness of accesses to privacy-sensitive devices |
US8683431B2 (en) * | 2009-12-29 | 2014-03-25 | Microgen Aptitude Limited | Applying rules to data |
US8825183B2 (en) | 2010-03-22 | 2014-09-02 | Fisher-Rosemount Systems, Inc. | Methods for a data driven interface based on relationships between process control tags |
WO2021161104A1 (en) | 2020-02-12 | 2021-08-19 | Monday.Com | Enhanced display features in collaborative network systems, methods, and devices |
US11410129B2 (en) | 2010-05-01 | 2022-08-09 | Monday.com Ltd. | Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems |
WO2021144656A1 (en) | 2020-01-15 | 2021-07-22 | Monday.Com | Digital processing systems and methods for graphical dynamic table gauges in collaborative work systems |
CN102467388B (en) * | 2010-11-19 | 2015-07-01 | 北京北方微电子基地设备工艺研究中心有限责任公司 | Component developing method and device as well as animation displaying method and device for simulating equipment motions |
US20120221998A1 (en) * | 2011-02-24 | 2012-08-30 | Active Endpoints, Inc. | Screenflow designer with automatically changing view |
US20130063446A1 (en) * | 2011-09-10 | 2013-03-14 | Microsoft Corporation | Scenario Based Animation Library |
CN102360288B (en) * | 2011-09-29 | 2014-12-03 | 南京国电南自轨道交通工程有限公司 | Scriptable full-configuration HMI (Human Machine Interface) system driven by real-time data |
US20130311914A1 (en) * | 2011-11-11 | 2013-11-21 | Rockwell Automation Technologies, Inc. | Method and apparatus for computer aided design of human-machine interface animated graphical elements |
US9098312B2 (en) | 2011-11-16 | 2015-08-04 | Ptc Inc. | Methods for dynamically generating an application interface for a modeled entity and devices thereof |
US8909641B2 (en) | 2011-11-16 | 2014-12-09 | Ptc Inc. | Method for analyzing time series activity streams and devices thereof |
US9576046B2 (en) | 2011-11-16 | 2017-02-21 | Ptc Inc. | Methods for integrating semantic search, query, and analysis across heterogeneous data types and devices thereof |
US8935402B2 (en) * | 2011-12-08 | 2015-01-13 | Microsoft Corporation | Resource launch from application within application container |
CN103186367A (en) * | 2011-12-27 | 2013-07-03 | 沈阳中科博微自动化技术有限公司 | Realization method for dynamic template of support script in monitoring system |
US9477936B2 (en) | 2012-02-09 | 2016-10-25 | Rockwell Automation Technologies, Inc. | Cloud-based operator interface for industrial automation |
USD733165S1 (en) * | 2012-03-16 | 2015-06-30 | Ricoh Company, Ltd. | Display screen with graphical user interface |
CN103955550B (en) * | 2012-11-12 | 2018-04-24 | 罗克韦尔自动化技术公司 | Method and device for the CAD of man-machine interface animated graphics element |
CN102981855A (en) * | 2012-11-23 | 2013-03-20 | 蓝盾信息安全技术股份有限公司 | Template-based interface autogeneration method and system |
JP6285010B2 (en) | 2013-03-15 | 2018-02-28 | ピーティーシー インコーポレイテッド | Method and apparatus for managing applications using semantic modeling and tagging |
US10026049B2 (en) | 2013-05-09 | 2018-07-17 | Rockwell Automation Technologies, Inc. | Risk assessment for industrial systems using big data |
US9703902B2 (en) | 2013-05-09 | 2017-07-11 | Rockwell Automation Technologies, Inc. | Using cloud-based data for industrial simulation |
US9709978B2 (en) | 2013-05-09 | 2017-07-18 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment with information overlays |
US9438648B2 (en) | 2013-05-09 | 2016-09-06 | Rockwell Automation Technologies, Inc. | Industrial data analytics in a cloud platform |
US9786197B2 (en) | 2013-05-09 | 2017-10-10 | Rockwell Automation Technologies, Inc. | Using cloud-based data to facilitate enhancing performance in connection with an industrial automation system |
US9989958B2 (en) | 2013-05-09 | 2018-06-05 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment |
US9569229B1 (en) * | 2013-07-29 | 2017-02-14 | Western Digital Technologies, Inc. | Automatic start of an application at start up for a media player appliance |
EP3028166A1 (en) * | 2013-07-31 | 2016-06-08 | Hewlett Packard Enterprise Development LP | Cloud based service design inheritance |
US9680794B2 (en) | 2013-09-04 | 2017-06-13 | Owl Computing Technologies, Llc | Secure one-way interface for archestra data transfer |
US9547291B2 (en) * | 2013-10-14 | 2017-01-17 | Ivensys Systems, Inc. | Human machine interface (HMI) system having a symbol wizard creator |
GB2522338B (en) | 2014-01-03 | 2020-12-16 | Fisher Rosemount Systems Inc | Reusable graphical elements with quickly editable features for use in user displays of plant monitoring systems |
WO2015140940A1 (en) * | 2014-03-18 | 2015-09-24 | 三菱電機株式会社 | System construction assist device, method, and recording medium |
US10025942B2 (en) | 2014-03-21 | 2018-07-17 | Ptc Inc. | System and method of establishing permission for multi-tenancy storage using organization matrices |
WO2015143416A1 (en) | 2014-03-21 | 2015-09-24 | Ptc Inc. | Systems and methods for developing and using real-time data applications |
US10313410B2 (en) | 2014-03-21 | 2019-06-04 | Ptc Inc. | Systems and methods using binary dynamic rest messages |
US9350812B2 (en) | 2014-03-21 | 2016-05-24 | Ptc Inc. | System and method of message routing using name-based identifier in a distributed computing environment |
US9350791B2 (en) | 2014-03-21 | 2016-05-24 | Ptc Inc. | System and method of injecting states into message routing in a distributed computing environment |
US9961058B2 (en) | 2014-03-21 | 2018-05-01 | Ptc Inc. | System and method of message routing via connection servers in a distributed computing environment |
US9462085B2 (en) | 2014-03-21 | 2016-10-04 | Ptc Inc. | Chunk-based communication of binary dynamic rest messages |
US9467533B2 (en) | 2014-03-21 | 2016-10-11 | Ptc Inc. | System and method for developing real-time web-service objects |
US9560170B2 (en) | 2014-03-21 | 2017-01-31 | Ptc Inc. | System and method of abstracting communication protocol using self-describing messages |
US9762637B2 (en) | 2014-03-21 | 2017-09-12 | Ptc Inc. | System and method of using binary dynamic rest messages |
US9569062B2 (en) * | 2014-05-21 | 2017-02-14 | Facebook, Inc. | Asynchronous execution of animation tasks for a GUI |
US9720396B2 (en) * | 2014-05-23 | 2017-08-01 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to configure process control systems based on generic process system libraries |
US10026204B2 (en) | 2015-01-27 | 2018-07-17 | Splunk Inc. | Efficient point-in-polygon indexing technique for processing queries over geographic data sets |
US9836874B2 (en) | 2015-01-27 | 2017-12-05 | Splunk Inc. | Efficient polygon-clipping technique to reduce data transfer requirements for a viewport |
US9916326B2 (en) | 2015-01-27 | 2018-03-13 | Splunk, Inc. | Efficient point-in-polygon indexing technique for facilitating geofencing operations |
US9607414B2 (en) | 2015-01-27 | 2017-03-28 | Splunk Inc. | Three-dimensional point-in-polygon operation to facilitate displaying three-dimensional structures |
US9767122B2 (en) | 2015-01-27 | 2017-09-19 | Splunk Inc. | Efficient point-in-polygon indexing technique to facilitate displaying geographic data |
US11513477B2 (en) | 2015-03-16 | 2022-11-29 | Rockwell Automation Technologies, Inc. | Cloud-based industrial controller |
US11243505B2 (en) | 2015-03-16 | 2022-02-08 | Rockwell Automation Technologies, Inc. | Cloud-based analytics for industrial automation |
US11042131B2 (en) | 2015-03-16 | 2021-06-22 | Rockwell Automation Technologies, Inc. | Backup of an industrial automation plant in the cloud |
US10496061B2 (en) | 2015-03-16 | 2019-12-03 | Rockwell Automation Technologies, Inc. | Modeling of an industrial automation environment in the cloud |
US10282071B2 (en) | 2015-06-26 | 2019-05-07 | Iconics, Inc. | Asset-driven dynamically composed visualization system |
US10609185B2 (en) * | 2015-11-04 | 2020-03-31 | Rockwell Automation Technologies, Inc. | Method for topology tree to learn about, present, and configure device information by automatically uploading device description files from device |
US10223074B2 (en) | 2015-12-11 | 2019-03-05 | International Business Machines Corporation | Determining the identity of software in software containers |
CN105589724B (en) * | 2015-12-23 | 2018-08-31 | 杭州真鹏科技有限公司 | A kind of method that high speed creates system variable |
CN107172110A (en) * | 2016-03-07 | 2017-09-15 | 阿里巴巴集团控股有限公司 | A kind of application APP resource loading method, business function implementation method and device |
US20170286479A1 (en) * | 2016-04-01 | 2017-10-05 | International Business Machines Corporation | System and method for intelligent renaming or augmented naming based on common use |
US10228915B2 (en) | 2016-04-21 | 2019-03-12 | Schneider Electric Software, Llc | Object configuration utilities |
CN106293721B (en) * | 2016-08-02 | 2019-05-24 | 快创科技(大连)有限公司 | Visual programming system based on stream data real-time storage |
CN106250155B (en) * | 2016-08-02 | 2019-05-24 | 快创科技(大连)有限公司 | Visual programming system with memory function and detection arbitration functions |
CN106250154B (en) * | 2016-08-02 | 2019-05-24 | 快创科技(大连)有限公司 | Visual programming system based on the real-time cloud storage of stream data |
CN107015792B (en) * | 2016-12-09 | 2020-10-30 | 创新先进技术有限公司 | Method and equipment for realizing chart unified animation |
US10599449B1 (en) * | 2016-12-22 | 2020-03-24 | Amazon Technologies, Inc. | Predictive action modeling to streamline user interface |
US10417183B2 (en) * | 2017-03-14 | 2019-09-17 | Salesforce.Com, Inc. | Database and file structure configurations for managing text strings to be provided by a graphical user interface |
US10817492B2 (en) * | 2017-05-05 | 2020-10-27 | Servicenow, Inc. | Application extension |
US11481450B2 (en) | 2018-01-09 | 2022-10-25 | Cleartrail Technologies Private Limited | Interactive and non-interactive execution and rendering of templates to automate control and exploration across systems |
DE102018205007A1 (en) * | 2018-04-04 | 2019-10-10 | Volkswagen Aktiengesellschaft | Method, apparatus and computer readable storage medium with instructions for creating a virtual reality application |
US10573034B2 (en) | 2018-04-13 | 2020-02-25 | Honeywell International Inc. | System and method for translation of graphics to newer format using pattern matching |
US10747207B2 (en) | 2018-06-15 | 2020-08-18 | Honeywell International Inc. | System and method for accurate automatic determination of “alarm-operator action” linkage for operator assessment and alarm guidance using custom graphics and control charts |
US11698890B2 (en) | 2018-07-04 | 2023-07-11 | Monday.com Ltd. | System and method for generating a column-oriented data structure repository for columns of single data types |
US11436359B2 (en) | 2018-07-04 | 2022-09-06 | Monday.com Ltd. | System and method for managing permissions of users for a single data type column-oriented data structure |
US10699159B2 (en) | 2018-08-17 | 2020-06-30 | Honeywell International Inc. | Objects aggregation and standardization for legacy graphics conversion |
EP4062313A1 (en) | 2019-11-18 | 2022-09-28 | Monday.com Ltd. | Collaborative networking systems, methods, and devices |
US11775890B2 (en) | 2019-11-18 | 2023-10-03 | Monday.Com | Digital processing systems and methods for map-based data organization in collaborative work systems |
US11042957B1 (en) | 2019-12-12 | 2021-06-22 | Honeywell International Inc. | Identification of process and control linkages from custom graphics for the purpose of backbuilding standard operating procedures |
IL297858A (en) | 2020-05-01 | 2023-01-01 | Monday Com Ltd | Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices |
US20240184989A1 (en) | 2020-05-01 | 2024-06-06 | Monday.com Ltd. | Digital processing systems and methods for virtualfile-based electronic white board in collaborative work systems systems |
US11277361B2 (en) | 2020-05-03 | 2022-03-15 | Monday.com Ltd. | Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems |
US11687216B2 (en) | 2021-01-14 | 2023-06-27 | Monday.com Ltd. | Digital processing systems and methods for dynamically updating documents with data from linked files in collaborative work systems |
CN115509727A (en) * | 2021-06-07 | 2022-12-23 | 贵州白山云科技股份有限公司 | Service code processing method, device, equipment and medium based on distributed network |
US12056664B2 (en) | 2021-08-17 | 2024-08-06 | Monday.com Ltd. | Digital processing systems and methods for external events trigger automatic text-based document alterations in collaborative work systems |
US12105948B2 (en) | 2021-10-29 | 2024-10-01 | Monday.com Ltd. | Digital processing systems and methods for display navigation mini maps |
US11741071B1 (en) | 2022-12-28 | 2023-08-29 | Monday.com Ltd. | Digital processing systems and methods for navigating and viewing displayed content |
US11886683B1 (en) | 2022-12-30 | 2024-01-30 | Monday.com Ltd | Digital processing systems and methods for presenting board graphics |
US11893381B1 (en) | 2023-02-21 | 2024-02-06 | Monday.com Ltd | Digital processing systems and methods for reducing file bundle sizes |
US12118401B1 (en) | 2023-11-28 | 2024-10-15 | Monday.com Ltd. | Digital processing systems and methods for facilitating the development and implementation of applications in conjunction with a serverless environment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5737622A (en) | 1986-04-14 | 1998-04-07 | National Instruments Corporation | Method and apparatus for more efficient function synchronization in a data flow program |
US20020198920A1 (en) | 2001-06-22 | 2002-12-26 | Wonderware Corporation | Supervisory process control and manufacturing information system application having a layered architecture |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0644339A (en) * | 1992-03-06 | 1994-02-18 | Hewlett Packard Co <Hp> | Graphic object operation system and method |
US5664208A (en) | 1995-05-16 | 1997-09-02 | Apple Computer, Inc. | Methods and apparatuses for seamless compound document processing |
US5917730A (en) * | 1995-08-17 | 1999-06-29 | Gse Process Solutions, Inc. | Computer implemented object oriented visualization system and method |
WO1997029678A2 (en) * | 1996-02-15 | 1997-08-21 | Biosense Inc. | Catheter calibration and usage monitoring system |
US6222537B1 (en) * | 1997-07-29 | 2001-04-24 | International Business Machines Corporation | User interface controls for a computer system |
US6662236B1 (en) * | 1998-06-29 | 2003-12-09 | International Business Machines Corporation | Runtime object binding in scripting |
US6362839B1 (en) * | 1998-09-29 | 2002-03-26 | Rockwell Software Inc. | Method and apparatus for displaying mechanical emulation with graphical objects in an object oriented computing environment |
US6868425B1 (en) * | 1999-03-05 | 2005-03-15 | Microsoft Corporation | Versions and workspaces in an object repository |
US6556219B1 (en) * | 1999-05-18 | 2003-04-29 | Gateway, Inc. | Method and system for peripheral device user interface construction |
US6489971B1 (en) * | 1999-12-07 | 2002-12-03 | International Business Machines Corporation | Graphical programming environment for deterministic finite state automata |
US7134085B2 (en) * | 2000-12-13 | 2006-11-07 | National Instruments Corporation | System and method for automatically configuring program data exchange |
US7287230B2 (en) * | 2000-12-13 | 2007-10-23 | National Instruments Corporation | Configuring a GUI element to subscribe to data |
US6563107B2 (en) * | 2001-01-11 | 2003-05-13 | Canadian Space Agency | Topological and motion measuring tool |
WO2003001376A1 (en) * | 2001-06-22 | 2003-01-03 | Wonderware Corporation | A customizable system for creating supervisory process control and manufacturing information applications |
US7275235B2 (en) * | 2001-08-29 | 2007-09-25 | Molinari Alfred A | Graphical application development system for test, measurement and process control applications |
US7007266B1 (en) * | 2002-01-08 | 2006-02-28 | Quovadx, Inc. | Method and software system for modularizing software components for business transaction applications |
JP3755500B2 (en) * | 2002-09-06 | 2006-03-15 | ソニー株式会社 | GUI application development support apparatus and method, and computer program |
DE10348563B4 (en) | 2002-10-22 | 2014-01-09 | Fisher-Rosemount Systems, Inc. | Integration of graphic display elements, process modules and control modules in process plants |
US7519969B2 (en) * | 2003-05-17 | 2009-04-14 | Microsoft Corporation | System and method for controlling user interface properties with data |
-
2005
- 2005-05-17 US US11/130,728 patent/US8516383B2/en not_active Expired - Fee Related
- 2005-05-17 CN CN2005800214724A patent/CN1981301B/en active Active
- 2005-05-17 WO PCT/US2005/017305 patent/WO2005116823A2/en active Application Filing
- 2005-05-17 EP EP05750937A patent/EP1766567A4/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5737622A (en) | 1986-04-14 | 1998-04-07 | National Instruments Corporation | Method and apparatus for more efficient function synchronization in a data flow program |
US20020198920A1 (en) | 2001-06-22 | 2002-12-26 | Wonderware Corporation | Supervisory process control and manufacturing information system application having a layered architecture |
Non-Patent Citations (1)
Title |
---|
See also references of EP1766567A4 |
Also Published As
Publication number | Publication date |
---|---|
US8516383B2 (en) | 2013-08-20 |
CN1981301A (en) | 2007-06-13 |
US20050257204A1 (en) | 2005-11-17 |
CN1981301B (en) | 2012-01-18 |
EP1766567A2 (en) | 2007-03-28 |
EP1766567A4 (en) | 2010-05-05 |
WO2005116823A3 (en) | 2007-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8516383B2 (en) | System and method for developing animated visualization interfaces | |
EP2084593B1 (en) | Data quality and status behavior for human machine interface graphics in industrial control and automation systems | |
US20130289749A1 (en) | Bridging human machine interface technologies in a process automation and information management environment | |
US20080092131A1 (en) | Centralized management of human machine interface applications in an object-based supervisory process control and manufacturing information system environment | |
JP6429722B2 (en) | Method and system for editing and reporting graphic programming language objects | |
US5812394A (en) | Object-oriented computer program, system, and method for developing control schemes for facilities | |
US7086009B2 (en) | Customizable system for creating supervisory process control and manufacturing information applications | |
US9547291B2 (en) | Human machine interface (HMI) system having a symbol wizard creator | |
US20150106753A1 (en) | Human-machine interface (hmi) system having elements styles with centrally managed and distributed graphic styles | |
US10585427B2 (en) | Human-machine interface (HMI) system having elements with aggregated alarms | |
US20030236577A1 (en) | Process control script development and execution facility supporting multiple user-side programming languages | |
US20090271726A1 (en) | Providing Convenient Entry Points for Users in the Management of Field Devices | |
US9612588B2 (en) | Human machine interface (HMI) system having elements with alarm border animation | |
AU5184301A (en) | Human machine interface | |
US9599982B2 (en) | Human-machine interface (HMI) system having process trend visualization (trend pen) | |
WO2017185021A1 (en) | Object configuration utilities | |
CN111624965A (en) | Configuration system for industrial intelligent manufacturing | |
EP2011108A2 (en) | Strategy editor human-machine interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2005750937 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2005750937 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 200580021472.4 Country of ref document: CN |
|
WWP | Wipo information: published in national office |
Ref document number: 2005750937 Country of ref document: EP |