IP Library Granted Patent US 10,481,593
Granted Patent B2
US 10,481,593 · App. 15/689,052 · Granted Nov 19, 2019

Method and system for capturing automation data

Inventors: Ivan Richard Nausley (Dearborn, MI); Jeremy Philip Epple (Macomb, MI); Kusmady Susanto (Novi, MI); David Jingqiu Wang (Northville, MI)
Assignee: BEET, LLC
G05B23/02G05B23/0221G05B23/0264
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,481,593
App. No.
15/689,052
Granted
Nov 19, 2019
Kind
B2
Abstract

A system and method for capturing automation data from an automated system uses a multi-array populated by an automation controller with automation data including timing data defined by a controller clock. The multi-array includes at least one member corresponding to a sensor sensing a state of the member and a plurality of member-defined data elements, which may correspond to a start time and end time of the member state. Automation data is captured from the controller multi-array by a computing device in communication with the controller including a first data table corresponding with the controller multi-array for efficient collection of the automation data from the controller memory, and a second data table for associating each data element with its defining member and storing the associated data in a historical database which may be used for analysis of cycle time data of a member, device or operation of the automated system.

Claims (148)

1. A method for capturing automation data comprising:

executing a scan cycle using a controller configured as an automation controller;

collecting input data during the scan cycle from at least one sensor in communication with the controller;

wherein:

the at least one sensor corresponds to at least one member;

the at least one member is defined by a plurality of elements;

each respective element of the plurality of elements has a respective element value determined by the input data;

determining each respective element value for the scan cycle using the input data collected during the scan cycle;

configuring a multi-array using the controller, wherein:

the multi-array includes the at least one member and the plurality of elements defined by the at least one member;

configuring the multi-array includes:

allocating a multi-array memory location to store the multi-array in the controller;

the multi-array memory location including a respective controller memory location for each respective element of the plurality of elements defined by the at least one member;

storing the element value of each respective element for the scan cycle in the respective controller memory location in the multi-array;

the scan cycle is defined by a sequence of operations monitored by the controller;

wherein:

the at least one member corresponds to an operation of the sequence of operations;

the plurality of elements defined by the at least one member includes a first element and a second element of the operation;

the first element has a first element value corresponding to a start time of the operation, wherein the start time is detected by the controller using the input data;

the second element has a second element value corresponding to an end time of the operation, wherein the end time is detected by the controller using the input data;

time stamping, using the controller, the start time of the operation such that the first element value is a first time stamp generated by the controller at the start time of the one operation; and

time stamping, using the controller, the end time of the operation such that the second element value is a second time stamp generated by the controller at the end time of the operation.

2. The method of claim 1 , further comprising:

executing the scan cycle a plurality of times using the controller, to provide a plurality of scan cycles including a current scan cycle and a prior scan cycle;

wherein the prior scan cycle precedes the current scan cycle;

determining the respective element value of each respective element for each respective scan cycle of the plurality of scan cycles using the input data collected during the respective scan cycle;

for each respective element of the plurality of elements, comparing a current element value of the respective element determined from the current scan cycle to a prior element value of the respective element determined from the prior scan cycle to determine whether the current element value is changed from the prior element value; and

storing the current element value of each respective element for the scan cycle in the respective controller memory location for the respective element when the current element value is changed from the prior element value.

3. The method of claim 1 , wherein:

the at least one sensor includes a plurality of sensors;

collecting input data during the scan cycle includes collecting input data from the plurality of sensors;

wherein the at least one member corresponds to the plurality of sensors; and

determining each respective element value for the at least one value for the scan cycle including using input data collected from the plurality of sensors during the respective scan cycle.

4. The method of claim 1 , wherein:

the at least one sensor is a sensor configured to provide input data including a first input and an at least second input different from the first input;

the at least one member includes:

a first member corresponding to the sensor and defined by a first plurality of elements each having a respective element value determined by the first input; and

an at least second member corresponding to the sensor and defined by an at least second plurality of elements each having a respective element value determined by the at least second input;

the multi-array includes the first member, the at least second member, the first plurality of elements, and at least second plurality of elements;

the multi-array memory location includes a respective controller memory location for each respective element of the first and at least second plurality of elements; and

the method further comprising:

storing the respective element value of each respective element of the first and at least second plurality of elements for the scan cycle in the respective controller memory location of each respective element of the first and at least second plurality of elements in the multi-array.

5. The method of claim 1 , wherein:

the at least one member is defined by the at least one sensor in communication with a device; and

each of the plurality of elements is determined by a state of the device.

6. The method of claim 1 , wherein:

the at least one member is defined by a group of devices;

the at least one sensor is in communication with the group of devices; and

the first element is determined by a first state of the group of devices and the second element is determined by a second state of the group of devices.

7. The method of claim 1 , further comprising:

executing a plurality of scan cycles using the controller;

wherein executing the plurality of scan cycles includes executing a repeating set of scan cycles;

wherein:

the at least one member includes a set of members;

the multi-array includes the set of members;

each respective member of the set of members is associated with a respective scan cycle of the repeating set of scan cycles; and

determining each respective element value for the each respective member of the set of members includes using input data collected during the respective scan cycle of the repeating set of scan cycles.

8. The method of claim 1 , the method further comprising:

executing a plurality of scan cycles using the controller; wherein:

the multi-array includes a first data matrix and at least a second data matrix;

the at least one member includes an at least one first matrix member and an at least one second matrix member;

the first data matrix includes the at least one first matrix member and the plurality of elements defined by the at least one first matrix member;

the second data matrix includes the at least one second matrix member and the plurality of elements defined by the at least one second matrix member;

the multi-array memory location is configured to include a respective controller memory location for each respective element of the plurality of elements defined by the at least one first matrix member and the at least one second matrix member;

defining a collection frequency for the first data matrix and the at least second data matrix; and

storing the element value of each respective element for the plurality of scan cycles in the respective controller memory location in the first data matrix and the at least second data matrix according to the collection frequency.

9. The method of claim 8 , wherein the at least one first matrix member and the at least one second matrix member are configured as the same member.

10. The method of claim 8 , wherein:

the scan cycle is characterized by a scan rate; and

the collection frequency is defined relative to the scan rate.

11. The method of claim 1 , further comprising:

providing a computing device in communication with the controller;

configuring a first data table using the computing device;

wherein configuring the first data table includes storing the respective controller memory location for each respective element of the plurality of elements in the computing device such that each of the controller memory locations for each respective element is associated with a corresponding location in the first data table to provide a plurality of corresponding locations;

executing a data capture cycle using the computing device;

reading the multi-array memory location of the controller during the data capture cycle using the computing device; and

writing each respective element value read from the multi-array memory location of the controller into the corresponding location of the first data table.

12. The method of claim 11 , wherein:

the scan cycle is characterized by a scan rate; and

the capture cycle is characterized by a capture rate of longer duration than the scan rate.

13. The method of claim 11 , wherein reading the multi-array memory location of the controller includes reading each respective controller memory location of the multi-array memory location.

14. The method of claim 13 , further comprising:

executing the data capture cycle a plurality of times using the computing device to provide a plurality of data capture cycles including a current data capture cycle and a prior data capture cycle;

wherein the prior data capture cycle precedes the current data capture cycle; for each respective controller memory location in the multi-array,

comparing a current element value read from each respective controller memory location during the current data capture cycle to a prior element value stored in a respective corresponding location in the first data table to determine whether the current element value is changed from the prior element value; and

storing the current element value of each respective element read from the respective controller memory location in the respective corresponding location of the first data table when the current element value is changed from the prior element value.

15. The method of claim 11 , further comprising:

configuring a second data table using the computing device; wherein the second data table is configured to convert the respective element values of the plurality of elements written into the plurality of corresponding locations of the first data table into the second table such that the at least one member is associated with the respective element values of the plurality of elements defined by the at least one member;

wherein executing the data capture cycle using the computing device further includes converting the element values written into the first data table into the second data table;

storing the second data table in a database using the computing device;

wherein the respective element values of the plurality of elements defined by the at least one member are associated with the at least one member in the database.

16. The method of claim 15 , further comprising:

executing the data capture cycle a plurality of times using the computing device, to provide a plurality of data capture cycles; and

wherein storing the second data table in a database using the computing device includes storing the respective element values of the plurality of elements from the plurality of data capture cycles such that the respective element values associated with the at least one member from one of the plurality of data capture cycles can be compared with the respective element values associated with the at least one member from another of the plurality of data capture cycles.

17. The method of claim 1 , wherein:

a cycle time for the member is defined by the start time and the end time;

the method further comprising:

determining a first cycle time for the at least one member using the computing device;

wherein the first cycle time is defined by the respective first and second element values associated with the at least one member from one of the plurality of data capture cycles.

18. The method of claim 17 , the method further comprising:

determining a second cycle time for the at least one member using the computing device;

wherein the second cycle time is defined by the respective first and second element values associated with the at least one member from another of the plurality of data capture cycles; and

comparing the first cycle time and the second cycle time using the computing device.

19. A system comprising:

a controller configured as an automation controller;

a plurality of sensors in communication with the controller;

a computing device in communication with the controller;

wherein the controller is programmed to:

execute a scan cycle at a scan frequency;

wherein the scan cycle is defined by a sequence of operations monitored by the controller;

collect input data during the scan cycle from the plurality of sensors;

wherein at least one operation of the sequence of operations corresponds to at least one sensor of the plurality of sensors;

configure a multi-array including at least one member and a first element and a second element defined by the at least one member;

wherein:

the at least one member corresponds to the at least one operation;

the first element has a first element value corresponding to a start time of the at least one operation, wherein the start time is detected by the controller using the input data;

the second element has a second element value corresponding to an end time of the at least one operation, wherein the end time is detected by the controller using the input data;

time stamp the start time of the at least one operation such that the first element value is a first time stamp generated by the controller at the start time of the at least one operation;

time stamp the end time of the at least one operation such that the second element value is a second time stamp generated by the controller at the end time of the at least one operation;

wherein configuring the multi-array includes:

allocating a multi-array memory location in the controller; the multi-array memory location including a respective controller memory location for each of the first element and the second element defined by the at least one member;

determine the first and second element values during the scan cycle using the controller;

store the element value of each respective element defined by the at least one member for the scan cycle in the respective controller memory location in the multi-array;

wherein the computing device is programmed to:

configure a first data table using the computing device;

wherein configuring the first data table includes storing the respective controller memory location for each respective element in the computing device such that each of the controller memory locations for each respective element is associated with a corresponding location in the first data table to provide a plurality of corresponding locations;

execute a data capture cycle at a data capture frequency;

read the multi-array memory location of the controller during the data capture cycle; and

write each respective element value read from the multi-array memory location of the controller into the corresponding location of the first data table.

20. The system of claim 19 , wherein the first and second element is stored in the multi-array as a value-time stamp pair.

21. The system of claim 19 , further comprising:

the at least one sensor in communication with at least two devices;

wherein:

a respective device of the at least two devices performs each respective operation of at least two concurrent operations of the sequence of operations;

the at least one member includes at least two members corresponding to the at least two devices;

each respective member of the at least two members defines a first element and a second element;

the first element of the at least two members has a first element value corresponding to a start time of the at least two concurrent operations, wherein the start time is detected by the controller using the input data and is the same start time for each of the at least two members;

the second element of each respective member of the at least two members has a second element value which is detected by the controller using the input data and corresponds to a respective end time of the respective one of the at least two concurrent operations performed by the respective member.

22. The system of claim 19 , further comprising:

the computing device including a database, the computing device further programmed to:

configure a second data table;

wherein the second data table is configured to convert the plurality of corresponding locations of the first data table into the second table such that the at least one member is associated with the first and second elements defined by the at least one member;

execute the data capture cycle including converting the element values written into the first data table into the second data table; and

store the second data table in the database;

wherein the respective element values of the plurality of elements defined by the at least one member are associated with the at least one member in the database.

23. The system of claim 19 , further comprising:

the computing device programmed to determine a cycle time for the at least one operation corresponding to the at least one member;

wherein the cycle time is defined by the first and second element values associated with the at least one member in the database.

Assignments (6)
SECURITY INTEREST Recorded Dec 7, 2021
From: BEET, INC.
To: THE DAVID EBERLY TRUST
Reel/Frame 058317/0118 →
RELEASE OF SECURITY INTEREST Recorded Feb 5, 2020
From: BEET INVESTMENT I, LLC
To: BEET, INC.
Reel/Frame 051728/0581 →
CHANGE OF NAME Recorded Feb 5, 2020
From: BEET, LLC
To: BEET, INC.
Reel/Frame 051831/0934 →
SECURITY INTEREST Recorded Sep 24, 2019
From: BEET, INC.
To: BEET INVESTMENT I, LLC
Reel/Frame 050467/0647 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2017
From: NAUSLEY, IVAN RICHARD; EPPLE, JEREMY PHILIP; SUSANTO, KUSMADY; WANG, DAIVD JINGQIU
To: BEET, LLC
Reel/Frame 043432/0084 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2017
From: NAUSLEY, IVAN RICHARD; EPPLE, JEREMY PHILIP; SUSANTO, KUSMADY; WANG, DAVID JINGQIU
To: BEET, LLC
Reel/Frame 043432/0116 →
Continuity (3)
Continuation 13693758 · Dec 4, 2012
Provisional Application 61567208 · Dec 6, 2011
Related Publication 20170357252A1 · Dec 14, 2017