Industrial power disaggregation, modelling and prediction

By integrating production schedule information with aggregate power data, the method achieves precise, real-time disaggregation and prediction of industrial machine power consumption, addressing the challenges of varying profiles and similar consumption patterns without requiring individual meters.

WO2026130740A1PCT designated stage Publication Date: 2026-06-25EATON INTELLIGENT POWER LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
EATON INTELLIGENT POWER LTD
Filing Date
2024-12-20
Publication Date
2026-06-25

AI Technical Summary

Technical Problem

Existing methods struggle to accurately disaggregate power consumption of individual machines from aggregate measurements in industrial settings, particularly when machines operate in different modes with varying power profiles and similar consumption patterns, often requiring prior knowledge of machine characteristics.

Method used

A computer-implemented method that combines aggregate power consumption data with production schedule information to calculate disaggregated power consumption using iterative algorithms, enabling non-intrusive machine-by-machine disaggregation without individual power meters, and models power consumption as subsegments for high-granularity time-series data.

Benefits of technology

Enables real-time, high-precision tracking and prediction of individual machine power consumption, identifying anomalies, and optimizing future power usage by predicting and adjusting production schedules to avoid excessive consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024088254_25062026_PF_FP_ABST
    Figure EP2024088254_25062026_PF_FP_ABST
Patent Text Reader

Abstract

A computer-implemented method of managing industrial power consumption is provided. The method comprises: receiving measured aggregate power consumption data indicating power consumption of an assembly of machines during a first time-period, wherein each machine of the assembly of machines is capable of operating in a plurality of different operating states; accessing production schedule information indicating the operating states of each machine of the assembly of machines during the first time-period; based on the aggregate power consumption data and the production schedule information, calculating disaggregated power consumption data for each machine of the assembly of machines during the first period, wherein the aggregate power consumption data and the disaggregated power consumption data comprise time series data indicating power consumption during the first time-period.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Industrial Power Disaggregation, Modelling and Prediction

[0002] Field

[0003] The present disclosure relates to industrial power management. In particular, the disclosure relates to methods of managing industrial power consumption including monitoring, modelling, predicting and scheduling power consumption based on disaggregation of aggregate power measurements.

[0004] Background

[0005] In both industrial and residential settings, aggregate (combined) power consumption readings may be obtained in relation to several different machines or devices operating in parallel. Understanding the power consumption of individual machines can be important for many reasons, including the identification of inefficient or faulty equipment. Obtaining or estimating disaggregated power consumption for individual machines from measurements of aggregated power consumption for an assembly of machines is highly challenging. Estimation of disaggregated power consumption can be particularly challenging in industrial settings where individual machines may operate in different modes having very different power consumption profiles, where different machines may have similar consumption profiles to each other, and where the power consumption profile of a given machine while performing a single task may vary significantly over time. Known methods of power disaggregation generally require a priori knowledge of the power output characteristics of a given machine. Furthermore, known methods of power disaggregation are often incapable of distinguishing between similar machines performing similar operations, as often occurs during industrial processes. There is a need, therefore, for improved methods of industrial power disaggregation that overcome the drawbacks of known methods.

[0006] Summary of Invention

[0007] In one aspect, a computer-implemented method of managing industrial power consumption is provided, the method comprising: receiving measured aggregate power consumption data indicating power consumption of an assembly of machines during a first time-period, wherein each machine of the assembly of machines is capable of operating in a plurality of different operating states; accessing production schedule information indicating the operating states of each machine of the assembly of machines during the first time-period; based on the aggregate power consumption data and the production schedule information, calculating disaggregated power consumption data for each machine of the assembly of machines during the first period, wherein the aggregate power consumption data and the disaggregated power consumption data comprise time series data indicating power consumption during the first time-period.

[0008] By combining production schedule information relating to the operating states of each machine of the assembly of machines with measured aggregate power consumption data, non-intrusive machine-by-machine disaggregation of measured aggregate power consumption data can be achieved without the need for installation of individual power meters on the individual machines. The disaggregated power consumption data is provided as time-varying time-series data that can indicate the energy output of individual machines at high granularity.

[0009] In some examples, the computer-implemented method further comprises modelling each operating state of each machine as a series of sequential subsegments, with each subsegment associated with one or more power parameter values; estimating values for the one or more power parameter values for each subsegment; and storing the estimated one or more power parameter values for each subsegment, wherein the production schedule information comprises an indication of the status of each subsegment at any given time in the first time-period.

[0010] In some examples, calculating the disaggregated power consumption data further comprises: based on the production schedule information and the estimated one or more power parameter values for each subsegment, calculating modelled disaggregated power consumption data for the first time-period for each machine of the assembly of machines.

[0011] In some examples, estimating the one or more power parameter values is performed using an iterative algorithm, wherein, preferably, the iterative algorithm is a constrained recursive least squares algorithm.

[0012] In some examples, the iterative algorithm comprises: generating an aggregate power vector, Pmeter t), having a first number, T, of elements, wherein the elements of the aggregate power vector comprise an aggregate power measurement value corresponding to the measured aggregate power consumption data at a series of timepoints during the first time-period; generating a machine status matrix, S(t), having T rows, wherein each row of the machine status matrix comprises a series of values based on the status of the subsegments a given timepoint of the series of timepoints; generating a model coefficient vector, w, wherein elements of the model coefficient vector correspond to the one or more power parameter values for each of the subsegments; and using the iterative algorithm to estimate values for the elements of the model coefficient vector that satisfy , Pmeter(t) = S(t) x w.

[0013] In some examples, the one or more power parameter values are updated in real-time using the iterative algorithm as new measurements of the aggregate power consumption are received.

[0014] In some examples, thee computer-implemented method further comprises identifying a machine anomaly based on the disaggregated power consumption data or estimated model parameters, and providing a machine health alert to an external device.

[0015] In some examples, the computer-implemented method further comprises: receiving future production schedule information indicating the operating states of each machine of the assembly of machines planned for a second time-period in the future; and calculating predicted future aggregate power consumption data for the assembly of machines during the second time-period based on the future production schedule information and the estimated one or more power parameter values for each subsegment.

[0016] In some examples, the second time-period is in the future, and wherein the method further comprises: based on determining that the predicted future aggregate power consumption data fails a predefined criteria, generating updated future production schedule information for which the predicted future aggregate power consumption data does not fail the predefined criteria.

[0017] In some examples, the computer-implemented method further comprises operating the assembly of machines according to the updated further production schedule information.

[0018] In some examples, accessing the production schedule information comprises one or more of: receiving the production schedule information from an external device, inferring the production schedule information based on the aggregate power consumption data, and / or inferring the production schedule information based on sensor measurements of one or more sensor configured to monitor the assembly of machines.

[0019] In some examples, the production schedule information comprises an operating speed for each operating state of each machine in the first time-period. In some examples, the plurality operating states of each machine includes an idle state and at least one task state, and preferably, wherein at least one machine of the assembly of machines is capable of operating in at least two different task states, the at least two different task states having different energy consumption profiles.

[0020] In some examples, the computer-implemented method further comprises one or more of: calculating machine power metrics based on the disaggregated data; calculating the difference in power consumption between one or more pairs of machines of the assembly of machines; and determining a change in the power consumption for a given machine in a given operating state over time.

[0021] In another aspect, a system is provided. The system comprises: an assembly of machines; a power meter configured to measure an aggregate power consumption of the assembly of machines; and one or more processors configured to receive measured aggregate power consumption data from the power meter and the production schedule information and perform the computer-implemented method.

[0022] Brief Description of Drawings

[0023] Example embodiments will now be described, by way of example only, with reference to the following schematic drawings, in which:

[0024] Fig. 1 is a block diagram of a system in accordance with example embodiments;

[0025] Fig. 2 is a flowchart of a method in accordance with an example embodiment;

[0026] Fig. 3 is a schematic illustration of a power disaggregation method in accordance with an example embodiment;

[0027] Fig. 4 is a schematic illustration of the segmentation of the power profile of an operating state into time-segments in accordance with an example embodiment; Figs. 5 is a block diagram illustrating the use of disaggregated power consumption data in accordance with example embodiments;

[0028] Fig. 6 is a flow diagram illustrating a method of predicting future power consumption in accordance with an example embodiment; and

[0029] Fig. 7 a block diagram illustrating a method of updating future production schedule information based on predicated aggregate power consumption in accordance with an example embodiment;

[0030] Fig. 8 is a block diagram of components of a computing device in accordance with an example embodiment;

[0031] Fig. 9 shows an example of tangible media for storing computer-readable code which when run by a computer may perform methods according to example embodiments described above. Detailed Description

[0032] The present disclosure relates to methods and systems for managing industrial power consumption. The methods and systems described herein include aspects relating to power consumption disaggregation, power consumption modelling, and prediction of future power consumption.

[0033] Fig. 1 is a block diagram of a system, indicated generally by the reference numeral 100, in accordance with an example embodiment.

[0034] The system 100 comprises an assembly of machines 101. In the illustrated example, the assembly of machines 101 comprises four individual machines lOla-d. However, the assembly of machines 101 may comprise any number of machines provided that there is more than one machine lOla-d.

[0035] Each machine lOla-d of the assembly of machines 101 is configured to operate in one or more operating states (also described as "tasks" or "jobs"). For example, a machine lOla-b may be able to operate in four distinct states, including an "idle" state and three distinct "task" states, in which the machine is controlled to perform pre-defined steps. In general, the number of allowed operating states may vary between machines lOla-d of the assembly of machines 101. The allowed operating states of the machines lOla-d may be defined by the inherent capabilities of the machines lOla-d (i.e. the machines lOla-d may have in-built functionality defining the allowed operating states) or may be defined by the control regime of the assembly of machines 101. For example, the assembly of machines 101 may be controlled by a control module (not shown) which defines a set of operating states for each machine. A given operating state of a machine lOla-d is defined by a pre-defined sequence of operations that occurs in the same sequence each time the machine lOla-d operates in the given operating state. However, while the sequence of operations remains the same whenever the same operating state is entered, other parameters of the operating state may vary. For example, the same operating state may be run at different speeds or over different total durations. Each operating state may, for example, correspond to a step or "task" performed by that machine during an industrial process, such as a manufacturing process. The entire industrial process may be repeated more than once with the steps occurring in the same sequence, and each step may occur several times within the same industrial process. For example, the industrial process could be a manufacturing processing in which the same cutting operation is used several times during the manufacture of a single product. Operating states may occur in different sequences or be omitted in iterations of the industrial process. For example, the industrial process could be a manufacturing process in which different end products are produced in different iterations of the manufacturing process. In some examples, a given operating state may be modified such that the sequence of operations performed during subsequent iterations of the operating state may vary from the initial definition of the operating state.

[0036] In the examples described in detail herein, the assembly of machines 101 is a collection of industrial machines used in an industrial site. The industrial site could, for example, comprise all or part of a manufacturing plant, a computing server farm, an agricultural site, an oil and gas processing plant or refinery, or any other industrial site requiring power consumption. In the case of a manufacturing plant, the assembly of machines could, for example, include a cutting machine 101a, a milling machine 101b, a welding machine 101c, and a polishing machine lOld etc. The assembly of machines 101 may include several machines of the same type that are substantially identical and / or configured to run in the same operating states (i.e. configured to perform the same tasks). In general, the assembly of machines 101 may comprise machines of any type, and the types of machine may be chosen depending on the industrial context. In the example of a cutting machine 101a, the allowed operating states of the machine 101a may include an idle state and three distinct cutting operations (e.g. cutting operation 1, cutting operation 2, and cutting operation 3). The distinct cutting operations may, for example, correspond to different steps of a pre-defined manufacturing process. A given cutting operating may be performed in accordance with a variable parameter, such as cutting speed. While the detailed disclosure relates specifically to industrial machines used in an industrial setting, the methods and systems described can be applied in other contexts, such as residential and commercial settings.

[0037] A power meter 102 measures the aggregate power consumption of the assembly of machines and provides measured aggregate power consumption data as an output to a computing device 103. The measured aggregate power consumption is a timedependent quantity indicating the aggregate power consumption of the assembly of machines at given points in time, and the output measured aggregate power consumption data is provided to the computing device 103 as time-series data. The measured aggregate power consumption data indicates only the combined power consumption of the assembly of machines and does not indicate the power consumption of any individual machine. Therefore, the measured aggregate power consumption data may be represented by a single value at each timepoint of the time- series data. The computing device 103 may comprise a single computing device having one or more processors or may comprise a plurality of devices that perform aspects of the invention in parallel or in sequence.

[0038] The computing device 103 also accesses production schedule information indicating the operating states of the assembly of machines 101 at different times. The production schedule information indicates which operating states each machine of the assembly of machines is in at any given time during the first time-period. In the illustrated example, the production schedule information is provided by an external device 104. The external device 104 may, for example, be a control device used to control the assembly of machines 101. In this example, the production schedule information may be extracted from control information provided to the assembly of machines 101. In another example, the computing device 103 may control operation of the assembly of machines 101. In this example, the production schedule information could be received from an external device 104 or input by a user. In another example, the computing device 103 may infer the production schedule information from another data source, such as from the received measured aggregate power consumption data. For example, the computing device 103 may classify the types of jobs being performed at a given time based on characteristic signal features in the measured aggregate power consumption data. For example, the computing device 103 may identify the type of operating state occurring at any one time based on one of more of: characteristic frequencies present in the measured aggregate power consumption signal, characteristic power consumption patterns present in the power consumption signal (e.g. a characteristic start-up power consumption pattern), pre-measured power consumption profiles for the assembly of machines, and / or neural network based categorization of the measured aggregate power consumption signal or statistical pattern recognition techniques. In other examples, the production schedule information is inferred from measurements of the machines or the production environment, such as: wireless sensors (indicting on / off information or vibration), position / proximity sensors along a production line, video monitoring, timing, electronic logs, inventory / raw material tracking, or other such measurements.

[0039] Based on the aggregate power consumption data and the production schedule information, the computing device calculates disaggregated power consumption data for each machine of the assembly of machines during.

[0040] Preferably, calculating the disaggregated power consumption data comprises modelling the assembly of the machines as a collection of subsegments, where each subsegment corresponds to a given machine performing a given time-segment of a given operating state. Power parameter values of each subsegment are estimated to reproduce received aggregate power consumption data. By modelling power consumption of the machines as a collection of subsegments, the method provides a highly granulated disaggregation of power consumption that is capable of determining the time-dependent power consumption of individual machines in an assembly of machines from the aggregated power consumption data.

[0041] With reference to Figs. 2 to 4, a method of disaggregating the measured aggregated power consumption data is described. Fig. 2 illustrates a flow chart showing steps of the method.

[0042] In step S10, the computing device 103 receives measured aggregate power consumption data indicating power consumption of the assembly of machines during a first time-period.

[0043] The measured aggregate power consumption data is received from the power meter 102 and indicates the total power consumption of the assembly of machines as timeseries data. The measured aggregate power consumption data may be received continuously in real-time, and the first time-period may comprise an arbitrary operating period of the assembly of machines.

[0044] In step S20, the computing device 103 accesses production schedule information indicating the operating states of each machine of the assembly of machines during the first time-period. The production schedule information provides an indication for each machine of which operating state the machine is in at any time in the first timeperiod. Accessing the production schedule information may comprise receiving the production schedule information from an external device or may comprise inferring the production schedule information based on received data.

[0045] In step S30, the computing device 103 calculates disaggregated power consumption data for each machine of the assembly of machines during the first time-period based on the aggregate power consumption data and the production schedule information.

[0046] Calculating the disaggregated power consumption data is achieved by estimating power consumption data for each operating state of each machine lOla-d of the assembly of machines 101 that reproduce the measured aggregate power consumption when combined in accordance with the production schedule information. In some examples, calculating the disaggregated power consumption data comprises modelling the assembly of the machines as a collection of subsegments, where each subsegment corresponds to a given machine performing a given time-segment of a given operating state. Power parameter values of each subsegment are estimated to reproduce received aggregate power consumption data.

[0047] With reference to Figs. 3 and 4, a detailed example of the calculation of disaggregated power consumption data is provided with respect to an illustrative example embodiment.

[0048] In Fig. 3, the computing device 103 accesses production schedule information 301. In this example, the production schedule information 301 provides information relating to two machines, each of which are capable of operating in one of four states (0-3) at any time. The production schedule information 301 provides, for each machine, an indication of which state that machine is in at all times in a first time-period. The production schedule 301 may also include job specific parameters relating to the performance of the operating state. The job specific parameters may include an operating speed, a duration, an intensity, or other such operating parameters. For example, the job specific parameters may include a cutting speed for a machine for which a given cutting operation may be performed at different speeds.

[0049] Measured aggregate power consumption data 302 is received from the power meter 102, with the measured aggregate power consumption data 302 being time-series data corresponding to the combined power consumption of both machines of the assembly of machines.

[0050] Based on the measured aggregate power consumption data 302 and the production schedule information 301, the computing device 103 calculates disaggregated power consumption data 303 for each machine of the assembly of machines 101. A method of calculating the disaggregated power consumption data 303 is described in detail below.

[0051] The power consumption of each machine 303 during a given operating state (or "task" or "job") is variable over time. Fig. 4 illustrates an example of the variation of the power consumption of a single cutting machine over the duration of a single cutting operation. The "basic" and "idle" states are usually constant power states, however the "cutting" state is directly proportional to the machine speed. As indicated previously, the specific consumption power profile of each job is initially unknown.

[0052] The computing device 103 models each operation performed by a given machine as comprising a series of sequential time-segments. The power consumption of a given machine at a given time is modelled terms of the power consumption of individual subsegments of the system, where each subsegment of the system provides a unique combination of machine identity, operating state, and time-segment of the operating state. For example, one subsegment may correspond to the first machine, performing the 4thtime-segment of the second operating state. A linear parametric model is applied to model the power on each subsegment. For this example, the power of the time-segment s, of operating state j, on machine m is modelled with a constant term and a speed dependent term as given below:

[0053] Pm,j,s=Cm,j,s,0 + Cm,j,s,l Vm,j=Cm,j,sUm,j where vm,j is the speed of the jthoperating state on machine m and the vectors, c and u are defined as:

[0054] Cm,j,s=_Cm,j,s,0 Cm,j,s,l\ Um,j=[1.0 Vm,j

[0055] Values Cmj,s,o and Cm,j,s,i are referred to as the unknown power parameter values, and they define the power consumed by a given machine and given subsegment of the assembly of machines when running at known speed Vm,j. In other examples, the power consumed by each subsegment may be modelled by a different linear parametric model. For example, where the operational states of the machines are not dependent on an operating power such as speed, the power consumption of a given segment may be modelled with a single parameter, cm,j,s.

[0056] Applying this modelling approach for all jobs (or "operating states") and all machines, the modelled aggregate power consumption is represented by: where M is the number of machines, J is the number of jobs, N is the number of timesegments per operating state, P is the size of the parametric model for each subsegment, and Imj,s(t) is an indicator signal given by:

[0057] Imj,s(t) is derivable from the production schedule information 301, which indicates which operating state each machine is in at a given time.

[0058] In general, different machines of the assembly of machines may be able to perform different numbers of jobs, J, the size of the parametric model, P, may be different for different machines and / or jobs, and the number of time-segments, N, may be different for different jobs. Therefore, the J, P, and N are themselves variables of m and / or j. In other words, the above-define summations indicate summations over all allowed combinations of machines, jobs, time-segments and parameters of the parametric model, and J, N and P do not necessarily define constant numerical values.

[0059] The modelled aggregate meter power can be written as the inner product of a (1 x MJNP) "machine status" vector, Iu(t), and a MJNP X 1) unknown model coefficient vector, w, as: where the mjsp element of w is Cmj,s,Pand the mjsp element Iu(t) is given by:

[0060] The coefficient vector is estimated by considering multiple power meter measurements as follows. Create a length T aggregate power vector as:

[0061] Also create a corresponding (T x MJNP) "machine status" matrix, S(t), as:

[0062] The aggregate power vector, the machine status vector, and the model coefficient vector can be related as follows:

[0063] P.J') =s,» " The unknown coefficient matrix can be estimated via linear regression techniques such as the method of Least Squares. To account model mismatch and power components not represented in the model, a constrained Least Squares approach is followed that constrains the coefficients to an approximate subset, such as non-negative values.

[0064] The complexity of the estimation problem increases dramatically with the size of the system. For example, with M = 20 machines, running J = 5 operating states, using N = 20 time-segments for modelling each with P=2 coefficients, the size of w is 4000. For accurate estimation, it is advantageous to use a number of observations from 5 to 10 times the size of w, giving an approximate size of S(t) = 20000 x 4000. It is computationally challenging to invert matrices of this size. To overcome this problem, a Recursive Least Squares (RLS) algorithm is used to estimate the unknown model coefficients. By using a RLS algorithm, inversion of S(t) can be avoided and the elements of w can be estimated in a manner that is very efficient in terms of both memory requirements and processing load.

[0065] The use of the RLS estimation approach allows on-line, real-time adaptation of the elements of w to be performed. As such, if the power consumption profile of a given operating state of a given machine varies over time, this variation can be captured by updating the elements of w. Similarly to the Least Squares approach, a constrained RLS estimation approach is followed. The constrained RLS algorithm essentially applies hard or soft ("leaky") constraints to the coefficient vector at each iteration step.

[0066] The estimated power parameter values for each subsegment can be stored for future use and / or updated continuously as new measurements are received.

[0067] After determining one or more power parameters for each subsegment of the model, disaggregated power data can be estimated for each machine by combining the estimated power parameters with the production schedule information 301 to reconstruct to power consumption of individual machines. In particular, as the production schedule information 301 provides an indication of which subsegments are active at any time in the first time-period and other job specific information such as cutting speeds, the disaggregated power data for a given machine at a specific time can be calculated by determining the power consumption of the subsegment of said machine that is active at that time. Determining the power consumption of the subsegment of the machine at that time may comprise determining a power parameter or may comprise combining one or more power parameters with job specific information included in the production schedule information.

[0068] The previous section discussed one illustrative example of the method of energy disaggregation. It should be noted that the parametric model for each subsegment could be any linear (or non-linear) model of the key discrete and continuous attributes of the machine power consumption, such as machine state, operation mode, speed, temperature, load, etc.

[0069] Fig. 5 illustrates additional steps that may be performed based on the disaggregated power consumption data calculated for an assembly of machines, as described above.

[0070] In step 501, computing device 103 provides as an output the disaggregated power consumption data for each machine to provide "virtual metering". Because the disaggregated power consumption data is calculated based on individual subsegments of tasks, which may be updated in real-time as described above, the method provides real-time, sample-by-sample disaggregation. The real-time disaggregated power consumption data for each machine can be used to provide root-cause analyses for issues in the assembly of machines as a whole. In one example, an individual machine responsible for power consumption spikes of the assembly of machines can be identified by identifying a power consumption spike in the disaggregated power consumption data.

[0071] In step 502, the computing device 103 monitors machine health based on the disaggregated power consumption 303 of the machines lOla-d or the calculated one or more power parameter values calculated for the machines. In one example, the computing device 103 tracks the power consumption characteristics of a machine over time. Detection of inefficient or degraded machines may be performed based on one or more of: determining that a peak of the disaggregated power consumption for a machine exceeds a threshold, determining that an average disaggregated power consumption for a machine exceeds a threshold, determining that one or more power parameter values for subsegment exceeds a threshold, determining that a rate of change of one or more power parameter values exceeds a threshold, and / or using statistical models or machine learning models to identify anomalies based on the disaggregated power data. In response to detecting an inefficient or degraded machine, a machine health alert can be sent to an external device. Based on the machine health alert, maintenance or replacement of the machine can be organized. In step 503, the disaggregated power consumption data 303 is used to generate energy consumption audits for a building or industrial plant based on aggregate power measurements without requiring the installation of individual meters for measuring the power consumption of individual machines.

[0072] Figs. 6 and 7 relate to methods in which the calculated power parameter values for individual machines and operating states are used to predict future energy consumption of the assembly of machines.

[0073] In Fig 6, Step S40, the computing device 103 receives future production schedule information indicating the operating states of each machine of the assembly of machines planned for a second time-period in the future. For example, the future production schedule information may be a modification of the production schedule information used to calculate the power parameter coefficients of the subsegments for each machine, as described above.

[0074] In Step S50, the computing device 103 calculates predicted future aggregate power consumption data for the assembly of machines during the second time-period based on the future production schedule information and the estimated one or more power parameter values for each subsegment. The calculation of the predicted aggregate power consumption data for the assembly of machines 101 may be performed based on determining which subsegments will be contributing to the aggregate power during the second time-period and determining the power contribution of each contributing segment.

[0075] In Step S50, the computing device can also calculate the future power disaggregated power consumption of each machine by considering which subsegments will be contributing to the aggregate power for individual machines during the second timeperiod. This will provide further data regarding how each machine contributes to the aggregate future power consumption.

[0076] Fig. 7 illustrates an example of a method of improving future performance of the assembly of machines 101 based on the predicted aggregate power consumption data.

[0077] Subsequent to calculating predicted future aggregate power consumption data based on future production schedule information 702 and previously calculated power parameter values 701 for each subsegment, as described above in Step S50, the computing device 103 determines at Step S60 whether the calculated predicted future aggregate power consumption data falls within predefined criteria. The predetermined criteria may specify that some metric of the predicted future aggregate power consumption within the second time-period falls below a predefined threshold. For example, the predetermined criteria may include one or more of: the peak predicted future aggregate power consumption within the second time-period is below a first threshold; the variance of the predicted future aggregate power consumption within the second time-period is below a second threshold; and / or the total time for which the peak predicted future power consumption is above a third threshold is below a fourth threshold.

[0078] Based on determining that the predicted future aggregate power consumption data obeys the predetermined criteria, the assembly of machines may be controlled in step S80 to perform tasks in accordance with the future production schedule information 702.

[0079] Based on determining that the predicted future aggregate power consumption data does not obey the predetermined criteria, the computing device 103 may update the future production schedule information 702 in order to achieve predicted future aggregate power consumption data that obeys the predetermined criteria. Updating the future production schedule information 702 may comprise adjusting the start times and / or the durations of the operating states defined in the future production schedule information 702 without changing the sequence of operating states. Steps S50, S60, and S70 may be performed iteratively until predicted future aggregate power consumption data is generated to that obeys the predetermined criteria. At this point, the process moves on to step S80, at which the assembly of machines are controlled to perform tasks in accordance with the updated future production schedule information 702.

[0080] The above-described methods provide non-intrusive machine-by-machine disaggregation of measured aggregate power consumption data without the need for installation of individual power meters on the individual machines. The disaggregated power consumption data is provided as time-varying time-series data that can indicate the energy output of individual machines at high granularity. The disaggregated power consumption data allows the power consumption profile of individual machines to be tracked within a single task, allowing highly accurate identifications of power peaks and abnormal behaviour. The power consumption characteristics of a given machine performing the same task can be tracked over time. This allows abnormal behaviour and degradation of machines to be identified and corrected. By calculating machine power consumption for individual subsegments corresponding to small time-segments of a given task for a given machine, arbitrary future operating schedules can be modelled for the assembly of machines, thus allowing future aggregate power consumption to be predicted. By predicting future power consumption, modifications can be made to planned operating schedules, allowing undesired power characteristics of the assembly of machines to be avoided. For example, excessive power consumption peaks can be reduced.

[0081] For completeness, FIG. 8 is a schematic diagram of components of one or more of the example embodiments described previously, which hereafter are referred to generically as processing systems 300. A processing system 300 may have a processor 302, a memory 304 closely coupled to the processor and comprised of a RAM 314 and ROM 312, and, optionally, user input 310 and a display 318. The processing system 300 may comprise one or more network / apparatus interfaces 308 for connection to a network / apparatus, e.g. a modem which may be wired or wireless. Interface 308 may also operate as a connection to other apparatus such as device / apparatus which is not network side apparatus. Thus, direct connection between devices / apparatus without network participation is possible.

[0082] The processor 302 is connected to each of the other components in order to control operation thereof.

[0083] The memory 304 may comprise a non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD). The ROM 312 of the memory 304 stores, amongst other things, an operating system 315 and may store software applications 316. The RAM 314 of the memory 304 is used by the processor 302 for the temporary storage of data. The operating system 315 may contain computer program code which, when executed by the processor implements aspects of the methods described above. Note that in the case of small device / apparatus the memory can be most suitable for small size usage i.e. not always hard disk drive (HDD) or solid-state drive (SSD) is used.

[0084] The processor 302 may take any suitable form. For instance, it may be a microcontroller, a plurality of microcontrollers, a processor, or a plurality of processors.

[0085] The processing system 300 may be a standalone computer, a server, a console, or a network thereof. The processing system 300 and needed structural parts may be all inside device / apparatus such as loT device / apparatus i.e. embedded to very small size.

[0086] In some example embodiments, the processing system 300 may also be associated with external software applications. These may be applications stored on a remote server device / apparatus and may run partly or exclusively on the remote server device / apparatus. These applications may be termed cloud-hosted applications. The processing system 300 may be in communication with the remote server device / apparatus in order to utilize the software application stored there.

[0087] FIG. 9 shows tangible media, specifically a removable memory unit 365, storing computer-readable code which when run by a computer may perform methods according to example embodiments described above. The removable memory unit 365 may be a memory stick, e.g. a USB memory stick, having internal memory 366 for storing the computer-readable code. The internal memory 366 may be accessed by a computer system via a connector 367. Other forms of tangible storage media may be used. Tangible media can be any device / apparatus capable of storing data / information which data / information can be exchanged between devices / apparatus / network.

[0088] Embodiments of the present invention may be implemented in software, hardware, application logic or a combination of software, hardware and application logic. The software, application logic and / or hardware may reside on memory, or any computer media. In example embodiments, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a "memory" or "computer-readable medium" may be any non-transitory media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer.

[0089] Reference to, where relevant, "computer-readable storage medium", "computer program product", "tangibly embodied computer program" etc., or a "processor" or "processing circuitry" etc. should be understood to encompass not only computers having differing architectures such as single / multi-processor architectures and sequencers / parallel architectures, but also specialised circuits such as field programmable gate arrays FPGA, application specify circuits ASIC, signal processing devices / apparatus and other devices / apparatus. References to computer program, instructions, code etc. should be understood to express software for a programmable processor firmware such as the programmable content of a hardware device / apparatus as instructions for a processor or configured or configuration settings for a fixed function device / apparatus, gate array, programmable logic device / apparatus, etc.

[0090] As used in this application, the term "circuitry" refers to all of the following: (a) hardware-only circuit implementations (such as implementations in only analogue and / or digital circuitry) and (b) to combinations of circuits and software (and / or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s) / software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a server, to perform various functions) and (c) to circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.

[0091] If desired, the different functions discussed herein may be performed in a different order and / or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined. Similarly, it will also be appreciated that the flow charts of Figures 2, 5, 6 and 7 are examples only and that various operations depicted therein may be omitted, reordered and / or combined.

[0092] It will be appreciated that the above-described example embodiments are purely illustrative and are not limiting on the scope of the invention. Other variations and modifications will be apparent to persons skilled in the art upon reading the present specification.

[0093] Moreover, the disclosure of the present application should be understood to include any novel features or any novel combination of features either explicitly or implicitly disclosed herein or any generalization thereof and during the prosecution of the present application or of any application derived therefrom, new claims may be formulated to cover any such features and / or combination of such features.

Claims

Claims1. A computer-implemented method of managing industrial power consumption, the method comprising: receiving measured aggregate power consumption data indicating power consumption of an assembly of machines during a first time-period, wherein each machine of the assembly of machines is capable of operating in a plurality of different operating states; accessing production schedule information indicating the operating states of each machine of the assembly of machines during the first time-period; based on the aggregate power consumption data and the production schedule information, calculating disaggregated power consumption data for each machine of the assembly of machines during the first period, wherein the aggregate power consumption data and the disaggregated power consumption data comprise time series data indicating power consumption during the first time-period.

2. The computer-implemented method of claim 1, further comprising modelling each operating state of each machine as a series of sequential subsegments, with each subsegment associated with one or more power parameter values; estimating values for the one or more power parameter values for each subsegment; and storing the estimated one or more power parameter values for each subsegment, wherein the production schedule information comprises an indication of the status of each subsegment at any given time in the first time-period.

3. The computer-implemented method of claim 2, wherein calculating the disaggregated power consumption data further comprises: based on the production schedule information and the estimated one or more power parameter values for each subsegment, calculating modelled disaggregated power consumption data for the first time-period for each machine of the assembly of machines.

4. The computer-implemented method of claim 2 or claim 3, wherein estimating the one or more power parameter values is performed using an iterative algorithm, wherein, preferably, the iterative algorithm is a constrained recursive least squares algorithm.

5. The computer-implemented method of claim 4, wherein the iterative algorithm comprises: generating an aggregate power vector, Pmeter t), having a first number, T, of elements, wherein the elements of the aggregate power vector comprise an aggregate power measurement value corresponding to the measured aggregate power consumption data at a series of timepoints during the first time-period; generating a machine status matrix, S(t), having T rows, wherein each row of the machine status matrix comprises a series of values based on the status of the subsegments a given timepoint of the series of timepoints; generating a model coefficient vector, w, wherein elements of the model coefficient vector correspond to the one or more power parameter values for each of the subsegments; and using the iterative algorithm to estimate values for the elements of the model coefficient vector that satisfy , Pmeter(t) = S(t) x w.

6. The computer-implemented method of claim 4 or claim 5, where the one or more power parameter values are updated in real-time using the iterative algorithm as new measurements of the aggregate power consumption are received.

7. The computer-implemented method of any preceding claim, further comprising, identifying a machine anomaly based on the disaggregated power consumption data or estimated model parameters, and providing a machine health alert to an external device.

8. The computer-implemented method of any of claims 2 to 7, further comprising: receiving future production schedule information indicating the operating states of each machine of the assembly of machines planned for a second time-period in the future; and calculating predicted future aggregate power consumption data for the assembly of machines during the second time-period based on the future production schedule information and the estimated one or more power parameter values for each subsegment.

9. The computer-implemented method of claim 8, wherein the second time-period is in the future, and wherein the method further comprises: based on determining that the predicted future aggregate power consumption data fails a predefined criteria, generating updated future productionschedule information for which the predicted future aggregate power consumption data does not fail the predefined criteria.

10. The computer-implemented method of claim 9, further comprising operating the assembly of machines according to the updated further production schedule information.

11. The computer-implemented method of any preceding claim, wherein accessing the production schedule information comprises one or more of: receiving the production schedule information from an external device, inferring the production schedule information based on the aggregate power consumption data, and / or inferring the production schedule information based on sensor measurements of one or more sensor configured to monitor the assembly of machines.

12. The computer-implemented method of any preceding claim, wherein the production schedule information comprises an operating speed for each operating state of each machine in the first time-period.

13. The computer-implemented method of any preceding claim, wherein the plurality operating states of each machine includes an idle state and at least one task state, and preferably, wherein at least one machine of the assembly of machines is capable of operating in at least two different task states, the at least two different task states having different energy consumption profiles.

14. The computer-implemented method of any preceding claim, further comprising one or more of: calculating machine power metrics based on the disaggregated data; calculating the difference in power consumption between one or more pairs of machines of the assembly of machines; and determining a change in the power consumption for a given machine in a given operating state over time.

15. A system comprising: an assembly of machines; a power meter configured to measure an aggregate power consumption of the assembly of machines; and one or more processors configured to receive measured aggregate power consumption data from the power meter and the production schedule- 22 - information and perform the computer-implemented method of any of claims 1