IP Library › Granted Patent US 10,592,260
Granted Patent B1
US 10,592,260 · App. 16/134,823 · Granted Mar 17, 2020

Hierarchical data binding for industrial control systems

Inventors: Carl Reuben Gould (Folsom, CA); Perry Linn Arellano-Jones (Sacramento, CA)
Assignee: Inductive Automation, LLC
G06F9/451G05B19/41845G06F3/04847G06F17/2247G06F17/2288G05B2219/23258G05B2219/23327
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,592,260
App. No.
16/134,823
Granted
Mar 17, 2020
Kind
B1
Abstract

A system provides a design interface for designing and implementing graphical user interfaces that users can access through web browsers. Depending on the configuration of the graphical user interfaces, the users may be able to monitor and control industrial processes by interacting with components that correspond to the industrial processes as displayed in user interfaces at client devices. The design interface includes functionality for selecting preprogrammed components, or for generating new components for display. The design interface further allows designers to associate data values received from a variety of sources with properties of the components in the user interfaces. In particular, properties associated with a component of an interface are stored in property tree structures, making dynamic changes to the components possible. Data bindings between subtrees representing components and sets of data from industrial and other sources allows for designs that scale with the availability of the data.

Claims (61)

1. A computer-implemented method comprising:

establishing a data binding between a first source data model and a subtree of a first property tree, the first source data model associated with a first source selected from a plurality of sources and comprising data values from the first source structured in a source hierarchy, the subtree of the first property tree comprising a set of nodes with associated component properties configured in a component hierarchy that matches the structure of the source hierarchy of the first source data model;

receiving an updated configuration corresponding to a change in the configuration of the first source data model such that the first source data model is structured in an updated source hierarchy;

in response to receiving the updated configuration of the first source data model:

identifying the subtree of the first property tree associated with the first source data model by accessing a stored set of data bindings including the established data binding; and

updating the structure of the subtree of the first property tree to match the updated source hierarchy of the first source data model.

2. The computer-implemented method of claim 1 , further comprising:

determining that a data value in the first source data model has changed; and

updating a value associated with the data value in the first source data model stored at an associated node in the subtree of the first property tree.

3. The computer-implemented method of claim 1 , further comprising:

determining that a property value at a node in the subtree of the first property tree has changed; and

updating a value associated with the property value at the node in the subtree in the first source data model.

4. The computer-implemented method of claim 3 , wherein updating the associated data value in the first source data model comprises propagating the changed data value to a data source associated with the first source data model.

5. The computer-implemented method of claim 1 , wherein establishing a binding between a first source data model and a subtree of a first property tree comprises storing information about a bi-directional association in which values in the first source data model and the subtree of the first property tree update in relation to each other.

6. The computer-implemented method of claim 1 , wherein a data source associated with the first source data model is one of: a programmable logic controller, an Application Programming Interface, a function, an expression, a database, and a subtree of a second property tree.

7. The computer-implemented method of claim 1 , wherein a data value comprises a tuple including a value, a quality value, and a timestamp value.

8. The computer-implemented method of claim 1 , wherein a property value associated with a node of a property tree comprises a tuple including a value, a quality value, and a timestamp value.

9. The computer-implemented method of claim 1 , further comprising:

receiving an updated version of the configuration of a subtree of the first property tree organized into a different hierarchical structure;

identifying the source data model associated with the subtree of the first property tree based on the established binding; and

updating the hierarchical structure of the source data model to match the different hierarchical structure of the updated version of subtree of the first property tree.

10. The computer-implemented method of claim 1 , wherein a property tree includes properties associated with a user interface component.

11. The computer-implemented method of claim 1 , wherein a change in the configuration of the first source data model occurs in response to an addition of a new system component to the first source, and further wherein receiving an updated configuration corresponding to a change in the configuration of the first source data model comprises updating the hierarchy structure of the source data model to include a new node representing the new system component.

12. The computer-implemented method of claim 1 , wherein updating the structure of the subtree of the first property tree includes changing an arrangement of the set of nodes in the subtree of the first property tree.

13. The computer-implemented method of claim 1 , wherein updating the structure of the subtree of the first property tree includes removing a node from the set of nodes in the subtree of the first property tree.

14. The computer-implemented method of claim 1 , wherein updating the structure of the subtree of the first property tree includes adding a new node to the set of nodes in the subtree of the first property tree.

15. The computer-implemented method of claim 1 , wherein updating the structure of the subtree of the first property tree does not require input from a designer to reconfigure the data bindings.

16. A non-transitory computer-readable storage medium storing computer program instructions executable by one or more processors of a system to perform steps comprising:

establishing a data binding between a first source data model and a subtree of a first property tree, the first source data model associated with a first source selected from a plurality of sources and comprising data values from the first source structured in a source hierarchy, the subtree of the first property tree comprising a set of nodes with associated component properties configured in component hierarchy that matches the structure of the source hierarchy of the first source data model;

receiving an updated configuration corresponding to a change in the configuration of the first source data model such that the first source data model is structured in an updated source hierarchy;

in response to receiving the updated configuration of the first source data model:

identifying the subtree of the first property tree associated with the first source data model by accessing a stored set of data bindings including the established data binding; and

updating the structure of the subtree of the first property tree to match the updated source hierarchy of the first source data model.

17. The non-transitory computer-readable storage medium of claim 16 , the instructions further comprising:

determining that a data value in the first source data model has changed; and

updating a value associated with the data value in the first source data model stored at an associated node in the subtree of the first property tree.

18. The non-transitory computer-readable storage medium of claim 16 , the instructions further comprising:

determining that a property value at a node in the subtree of the first property tree has changed; and

updating a value associated with the property value at the node in the subtree in the first source data model.

19. The non-transitory computer-readable storage medium of claim 18 , wherein updating the associated data value in the first source data model comprises propagating the changed data value to a data source associated with the first source data model.

20. The non-transitory computer-readable storage medium of claim 16 , wherein establishing a binding between a first source data model and a subtree of a first property tree comprises storing information about a bi-directional association in which values in the first source data model and the subtree of the first property tree update in relation to each other.

21. The non-transitory computer-readable storage medium of claim 16 , wherein a data source associated with the first source data model is one of: a programmable logic controller, an Application Programming Interface, a function, an expression, a database, and a subtree of a second property tree.

22. The non-transitory computer-readable storage medium of claim 16 , wherein a data value comprises a tuple including a value, a quality value, and a timestamp value.

23. The non-transitory computer-readable storage medium of claim 16 , wherein a property value associated with a node of a property tree comprises a tuple including a value, a quality value, and a timestamp value.

24. The non-transitory computer-readable storage medium of claim 16 , the instructions further comprising:

receiving an updated version of the subtree of the first property tree organized into a different hierarchical structure;

identifying the source data model associated with the subtree of the first property tree based on the established binding; and

updating the hierarchical structure of the source data model to match the different hierarchical structure of the updated version of subtree of the first property tree.

25. The non-transitory computer-readable storage medium of claim 16 , wherein a change in the configuration of the first source data model occurs in response to an addition of a new system component to the first source, and further wherein receiving an updated configuration corresponding to a change in the configuration of the first source data model comprises updating the hierarchy structure of the source data model to include a new node representing the new system component.

26. The non-transitory computer-readable storage medium of claim 16 , wherein updating the structure of the subtree of the first property tree includes changing an arrangement of the set of nodes in the subtree of the first property tree.

27. The non-transitory computer-readable storage medium of claim 16 , wherein updating the structure of the subtree of the first property tree includes removing a node from the set of nodes in the subtree of the first property tree.

28. The non-transitory computer-readable storage medium of claim 16 , wherein updating the structure of the subtree of the first property tree includes adding a new node to the set of nodes in the subtree of the first property tree.

29. The non-transitory computer-readable storage medium of claim 16 , wherein updating the structure of the subtree of the first property tree does not require input from a designer to reconfigure the data bindings.

30. A computer-implemented method for updating a structure of a set of data bindings comprising:

establishing a binding between a first source data model and a subtree of a first property tree, wherein the first source data model is associated with a programmable logic controller and comprises data values each comprising a tuple including a value, a quality value, and a timestamp value and organized in a source hierarchy based on output values that can be received from the programmable logic controller, the subtree of the first property tree comprising a set of nodes having property values associated with a user interface component, the nodes configured in a component hierarchy that matches the source hierarchy of the first source data model, wherein a data source associated with the first source data model is one of: a programmable logic controller, an Application Programming Interface, a function, an expression, a database, and a subtree of a second property tree;

receiving an updated data value from the programmable logic controller;

identifying, within the first subtree of the property tree, a property value corresponding to the updated data value, the identification based on the established binding;

updating the identified property value to match the received updated data value;

receiving an updated version of the first source data model, the updated version of the first source data model organized into a different source hierarchy;

identifying the subtree of the first property tree associated with the first source data model, the identification based on the established binding; and

updating the component hierarchy of the subtree of the first property tree to match the different source hierarchy of the updated version of the first source data model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2018
From: GOULD, CARL REUBEN; ARELLANO-JONES, PERRY LINN
To: INDUCTIVE AUTOMATION, LLC
Reel/Frame 047155/0484 →
Continuity (1)
Provisional Application 62561560 · Sep 21, 2017
Cited By (4)
US 12,282,798 US 12,299,440 US 12,461,500 US 12,566,426