Process analysis

WO2026174361A1PCT designated stage Publication Date: 2026-08-27SHONI HOLDINGS PTY LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/AU2026/050144
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-24
Filing Date
2026-02-23
Publication Date
2026-08-27

Smart Images

  • Figure AU2026050144_27082026_PF_FP_ABST
    Figure AU2026050144_27082026_PF_FP_ABST
Patent Text Reader

Abstract

A method for generating an annotated timeline associated with the operation of a production line, wherein the annotated timeline comprises a sequence of annotated blocks indicative of an operation of the production line, wherein each annotated block is assigned an annotation selected from a plurality of predefined annotations, the method comprising: receiving production data generated by one or more production data units associated with the production line; identifying newly generated production data, being production data generated after an end time of a most recent annotated block assigned to the annotated timeline; initially assigning to a portion of the annotated timeline subsequent to the most recent annotated block an uncommitted or undetermined block; determining, based on reception of sufficient newly generated production data, a new annotated block for at least a portion of the uncommitted or undetermined block and replacing, within the annotated timeline, said at least portion of the uncommitted or undetermined block with the new annotated block, and associated system.
Need to check novelty before this filing date? Find Prior Art

Description

PROCESS ANALYSISField of the Invention

[0001] The invention may generally relate to methods and systems for monitoring and / or analysing production processes.Background

[0002] In modern industrial settings, efficiency of production lines is critical for maintaining competitiveness and ensuring the timely delivery of products. Industrial production lines are typically composed of a series of interconnected machines, equipment, and workflows designed to produce products at scale. Over time, it has become evident that continuous monitoring of these lines is essential for identifying bottlenecks, maintaining optimal performance, and preventing costly downtimes. Traditionally, industrial monitoring systems have relied on manual inspections, basic sensors, and isolated control systems to track key parameters such as temperature, pressure, speed, and product quality. However, these approaches have limitations in terms of scalability, real-time data processing, objectivity, and the ability to identify complex issues that may arise across multiple machines or production stages.

[0003] Real-time monitoring platforms have the potential to detect anomalies and predict failures before they occur, leading to more efficient operations and reduced maintenance costs. However, such platforms often rely on subjective worker provided data and are otherwise unsuitable for classifying production activities as they occur.Summary

[0004] According to an aspect of the present disclosure, there is provided a method for generating an annotated timeline associated with the operation of a production line, wherein the annotated timeline comprises a sequence of annotated blocks indicative of an operation of the production line, wherein each annotated block is assigned an annotation selected from a plurality of predefined annotations, the method comprising: receiving production data generated by one or more production data units associated with the production line; identifying newly generated production data, being production data generated after an end time of a most recent annotated block assigned to the annotated timeline; initially assigning to a portion of the P0658WOannotated timeline subsequent to the most recent annotated block an uncommitted or undetermined block; determining, based on reception of sufficient newly generated production data, a new annotated block for at least a portion of the uncommitted or undetermined block and replacing, within the annotated timeline, said at least portion of the uncommitted or undetermined block with the new annotated block.

[0005] Optionally, the annotated timeline is a states timeline, and each associated annotated block is a state block indicative of a determined state of operation of the corresponding production line during a time range associated with the state block. Each state block may be annotated with a state selected from one of a plurality of predefined state categories, and each predefined state category may comprise one or more predefined states. The plurality of predefined state categories may comprise at least one of: a running states category comprising one or more running states each representing the production line operating to produce an output defined by an associated job; and a downtime states category comprising one or more downtime states each representing the production line not operating to produce an output defined by an associated job.

[0006] Optionally, at least one production data unit is a sensor data unit configured to generate sensor production data based on a measurement of the production line. Optionally, at least one production data unit is a production parameter data unit configured to generate production parameter data corresponding to production information obtained from the production line.

[0007] Optionally, at least one production data unit is a user feedback data unit configured to generate user feedback data based on user provided information via a user interface of the user feedback data unit.

[0008] The method optionally comprises: receiving auxiliary data generated by one or more auxiliary data units associated with a production location of the production line, wherein the auxiliary data is utilised in determining an annotation to assign to an annotated block.

[0009] The method optionally comprises: providing at least one assigned timeline comprising one or more assigned blocks; and may comprise one or both of: determining the uncommitted or undetermined block based in part on an assigned block associated with a same time as the uncommitted or undetermined block; and / or determining the new annotated block based in part on an assigned block associated with a same time as new annotated block.P0658WO

[0010] The method optionally comprises: implementing a modeller configured to determine: the uncommitted or undetermined block, and / or the new annotated block, wherein the modeller receives the newly generated production data and determines a best-fit model based, at least in part, on the newly generated production data. The modeller may determine the best-fit model further based on existing production data being production data associated with a time before the end of the most recent annotated block. The existing production data may be that generated after a defined time. The defined time may be the beginning of the most recent annotated block.

[0011] The method optionally comprises: displaying via a display of an analyser device, during a time when there is assigned an uncommitted or undetermined block, a graphical indication of the uncommitted or undetermined block; and upon the new annotated block, replacing the graphical indication of the uncommitted or undetermined block when a graphical indication of the annotated block, wherein the graphical indication of the new annotated block is indicative of the new annotated block being associated with an earlier time to the current time, wherein the earlier time had previously been indicated as associated with the uncommitted or undetermined block.

[0012] According to another aspect of the present disclosure, there is provided an analysis system comprising an analysis server for generating an annotated timeline associated with the operation of a production line, wherein the annotated timeline corresponds to a data structure stored in a memory of the analysis server and comprises a sequence of annotated blocks indicative of an operation of the production line, wherein each annotated block is assigned an annotation selected from a plurality of predefined annotations, wherein the analysis server is configured to: obtain production data generated by one or more production data units associated with the production line; identify newly generated production data, being production data generated after an end time of a most recent annotated block assigned to the annotated timeline; initially assign to a portion of the annotated timeline subsequent to the most recent annotated block an uncommitted or undetermined block; determine, based on reception of sufficient newly generated production data, a new annotated block for at least a portion of the uncommitted or undetermined block and replacing, within the annotated timeline, said at least portion of the uncommitted or undetermined block with the new annotated block.

[0013] Optionally, the annotated timeline is a states timeline, and wherein each associated annotated block is a state block indicative of a determined state of operation of theP0658WOcorresponding production line during a time range associated with the state block. Each state block may be annotated with a state selected from one of a plurality of predefined state categories, and each predefined state category may comprise one or more predefined states. The plurality of predefined state categories may comprise at least one of: a running states category comprising one or more running states each representing the production line operating to produce an output defined by an associated job; and a downtime states category comprising one or more downtime states each representing the production line not operating to produce an output defined by an associated job.

[0014] Optionally, at least one production data unit is a sensor data unit configured to generate sensor production data based on a measurement of the production line. Optionally, at least one production data unit is a production parameter data unit configured to generate production parameter data corresponding to production information obtained from the production line.

[0015] Optionally, at least one production data unit is a user feedback data unit configured to generate user feedback data based on user provided information via a user interface of the user feedback data unit. The system may comprise the one or more production units.

[0016] Optionally, the analyser server is further configured to: receive auxiliary data generated by one or more auxiliary data units associated with a production location of the production line, wherein the auxiliary data is utilised in determining an annotation to assign to an annotated block. The system may comprise the one or more auxiliary data units.

[0017] Optionally, the analysis server is provided at least one assigned timeline comprising one or more assigned blocks, and is configure to: determine the uncommitted or undetermined block based in part on an assigned block associated with a same time as the uncommitted or undetermined block; and / or determine the new annotated block based in part on an assigned block associated with a same time as new annotated block.

[0018] Optionally, the analysis server is configured to implement a modeller configured to: determine the uncommitted or undetermined block and / or determine the new annotated block, wherein the modeller receives the newly generated production data and determines a best-fit model based, at least in part, on the newly generated production data. The modeller may determine the best-fit model further based on existing production data being production data associated with a time before the end of the most recent annotated block. The existing P0658WOproduction data may be that generated after a defined time. The defined time may be the beginning of the most recent annotated block.

[0019] Also disclosed herein is an analysis server configured for implementing the above method. Also disclosed herein is a computer program configured to implement the above method when said computer program is implemented by a computer.Brief Description of the Drawings

[0020] In order that the invention may be more clearly understood, embodiments will now be described, by way of example, with reference to the accompanying drawing, in which:Figure 1 shows an analysis system, according to an embodiment;Figure 2 shows an exemplary configuration of a production line;Figure 3 shows two timelines indicative of temporal information generated in relation to a production line;Figure 4 shows a method, according to an embodiment, by which a determination module can determine a new block;Figures 5A and 5B show a comparison between open and closed blocks (respectively);Figure 5C shows a method for determining whether a new block is an open or closed block, and in the case of an open block, a change to being a closed block; and Figures 6 shows a technique of indicating to a user that currently a block has not been determined.Description of Embodiments

[0021] Figure 1 shows an exemplary production analysis system 10, according to an embodiment. The production analysis system 10 is, in a general sense, associated with one or more production locations 11, each including one or more production lines 12. In the particular example shown in Figure 1, there is a first production location Ila and a second production location 11b. The first production location Ila is associated with three production lines 12a-12c whereas the second production location 11b is associated with two production lines 12d-12e.P0658WO

[0022] Each production line 12 is associated with one or more production data units 13, each of which is configured to generate production data representative of the operation of the associated production line 12. In the figure, each production line 12 is shown associated with two production data units 13; however, in general the number and type of production data unit 13 associated with each production line 12 can vary.

[0023] It is generally expected that the configuration of production lines 12 and production data units 13 can vary from that shown in Figure 1. In at least one embodiment, one or more production data units 13 are each associated with two or more production lines 13. For example, the same production data unit 13 can be arranged to generate separate instances of production data for each of at least two production lines 12.

[0024] A production location 12 can correspond to a physical location, such as a factory, and the associated one or more production lines 12 can correspond to physical production lines located within the factory. However, in at least one embodiment, a production location 12 can correspond to a non-physical location, such as a software-based system or process.

[0025] In one or more embodiments, the production analysis system 10 further comprises one or more auxiliary data units 17. Typically, an auxiliary data unit 17 is associated with a particular production location 11. In a general sense, an auxiliary data unit 17 is configured to generate auxiliary data related to, but not directly of, one or more production lines 12. For the purposes of the present disclosure, auxiliary data is understood to comprises individual data elements which can be associated with specific times or ranges of time (e.g., each data element records a timestamp as well as at least one value). In the example shown in Figure 1, production location Ila is shown comprising auxiliary data unit 17a and production location 1 lb is shown comprising auxiliary data unit 17b.

[0026] For example, a particular production location 11 can comprise at least one auxiliary data unit 17 corresponding to an ambient environment sensor (such as a temperature sensor), such that the generated auxiliary data is of the ambient environment of one or more production lines 12. In another example, a particular production location 11 can comprise at least one auxiliary data unit 17 corresponding to a non-production line equipment monitoring sensor. Often, a production location 11 comprises one or more dynamic apparatuses which change state over time, but are not utilised by the one or more production lines 12. These one or moreP0658WOdynamic apparatuses can be associated with one or more auxiliary data units 17 configured to record such changes in state.

[0027] In at least one embodiment, at least one production data unit 13 is associated with discontinuous production data. For example, the production data is only generated when its corresponding machine is operating. In embodiments utilising auxiliary data units 17, one or more of these can also produce discontinuous auxiliary data. For example, a garage door to a factory can be associated with an auxiliary data unit 17 which generates auxiliary data only when the garage door is open.

[0028] The production analysis system 10 comprises an analysis server 14 arranged to receive production data from the various production data units 13, such that production data generated by the production data units 13 is made available to the analysis server 14. In the particular embodiment shown, the analysis server 14 is in data communication with the various production data units 13 via a data network 15, which can comprise one or more distinct intranets and / or the Internet. Depending on the implementation, the data communication (at least in respect of at least one of the one or more production data units 13) can be via nonnetworked means, such as one or more of a serial bus (e.g., USB), a parallel bus, and a local wireless data transfer. In embodiments utilising one or more auxiliary data units 17, the analysis server 14 is also configured to receive the auxiliary data thereby generated.

[0029] The analysis server 14 is typically interfaced with an analyser user device 16 (herein also referred to as “analyser device 16”), such that a user (such as a user responsible for analysing production related data) is enabled to interact, via the analyser device 16, with the analysis server 14. A user of an analyser device 16 is also referred to herein as an “analyst”. An analyser device 16 can be a distinct computing device in data communication with the analysis server 14, such as analyser device 16b shown in Figure 1. Reference herein to a “analyser device 16” should also be understood (unless stated otherwise) as including a user interface presented by the analysis server 14 itself (e.g., via a display of the analysis server 14) for interaction by an analyst using human interface devices of the analysis server 14, such as analyser device 16a shown in Figure 1. That is, the analysis server 14 can also function as an analyser device 16.

[0030] Referring to Figure 2, according to one or more embodiments, a particular production line 12 can be associated with a plurality of production data units 13, eachP0658WOcorresponding to one of a plurality of different production unit types. For example, production data unit 13a is of a different production unit type to production data unit 13b and production data unit 13c. Similarly, production data unit 13b is of a different production unit type to production data unit 13c. Note that Figure lisa schematic representation showing an “INPUT” end and an “OUTPUT” end of the production line 12. These are intended to represent the input materials etc. into the production line 12 (i.e., at the INPUT) and the produced output (i.e., at the OUTPUT).

[0031] Although three different production unit types are discussed herein with reference to the three production data units 13a-13c shown in Figure 2, this is not intended to be limiting. A particular implementation can, for example, use fewer or more different production unit types. In a general sense, a particular production unit 13 can correspond to more than one production unit type. Alternatively, each production unit 13 can correspond to a single production unit type.

[0032] In general, there can be various means for generating production data. In the embodiments described herein, the production data can be automatically generated and / or user inputted, depending on the nature of the production data. In the case of automatically generated production data, it can be expected that the production data is relatively objective. Although it is possible for automatically generated production data to be subject to error, for example, due to an incorrect calibration or other setup of an associated production data unit 13, any such error is independent (or at least substantially or relatively independent) of user inputs. Therefore, in order to aid exemplification of the embodiments described herein, automatically generated production data may be referred to as “objective production data” and user inputted production data may be referred to as “subjective production data”.

[0033] In the embodiment shown in Figure 2, the one or more production data units 13 comprise at least one sensor data unit 13a (that is, associated with a sensor production unit type), wherein each sensor data unit 13a is configured to generate sensor production data corresponding to sensor measurements of, in relation to, or more generally associated with, the production line(s) 12 associated with the sensor data unit 13a. In Figure 2, a representative sensor data unit 13a is shown in relation to a particular production line 12, however this is not intended to be limiting. In an example, in terms of a production line 12 in which physical units of a product are manufactured and thereby produced by the production line 12, a sensor dataP0658WOunit 13a can correspond to a measurement of the production line 12 or part thereof (e.g., temperature, energy usage, production component operating speed, etc.). A sensor data unit 13a can therefore be understood as one that produces objective production data. Therefore, the sensor production data can be generated automatically or independently of user intervention.

[0034] Also, in the embodiment shown in Figure 2, the one or more production data units 13 comprise at least one production parameter data unit 13b (that is, associated with a production parameter unit type), wherein each production parameter data unit 13b is configured to generate parameter data. Here, parameter data is intended to represent information regarding measurable components of the operation of a production line 12 that are not obtained through direct sensor measurements, as is the case with the at least one sensor data unit 13a. For example, parameter data can be obtained from an output of one or more production machines utilised as part of the production line 12. The parameter data is assumed to be objective information and may be measured automatically or otherwise without other user intervention. The parameter data can also, or alternatively, be user entered data while retaining its objective nature. For example, the quantity of production units produced within a defined time period, or an amount of input material used during production, can constitute information associated with parameter data. In Figure 2, production parameter data unit 13b is shown encompassing an output end of the production line 12, indicating that it produces, in this example, parameter data related to the production output (e.g., number of units produced, or number of units produced per unit time).

[0035] Also, in the embodiment shown in Figure 2, the one or more production data units 13 comprise at least one user feedback data unit 13c (that is, associated with a user feedback production unit type) for producing user feedback data. User feedback data units 13c allow for users, such as workers, managers, maintenance, contracts, and generally any person associated with a particular production line 12, to input information regarding the operation of the production line 12. In an embodiment, this information can be subjective as it may reflect the user’s opinions or experience in relation to operation of the production line 12. At least one production data unit 13 can correspond to a user-specific computing device, such as a handheld computing terminal associated with a particular user. At least one production data unit 13 can correspond to user non-specific computing device, such as a computer terminal located in the vicinity of the production line 12 useable by more than one user. In the example shown in Figure 2, the user feedback data unit 13c is shown associated with the production line 12 but P0658WOas it produces user feedback data based on user entered information, it is not explicitly coupled to the production line 12, unlike the sensor data unit 13a and the production parameter data unit 13b.

[0036] Irrespective of the particular production data unit types utilised in a particular implementation, it is generally expected that the production data thereby generated by the production data units 13 is disparate in its nature. For example, sensor measurements of factory floor equipment or the ambient environment (e.g., atmospheric temperature) represents data very different in character to worker shift start and end times. Similarly, a worker’s opinion on the operation of a particular piece of equipment is also of a very different character.

[0037] However, a general property of the various types of production data is that it is recorded, measured, obtained, or otherwise generated such that individual data elements can be attributed to a time. Herein, reference is made to “generating” data, although this should be understood as representing a variety of mechanisms for producing production data, which typically will depend on the nature of the different types of data, including receiving individual data elements via a user input at a later time to the generation time attributed to the data element.

[0038] Figure 3 shows a number of timelines 20 representing various information regarding a particular production line 12. A timeline 20 typically corresponds to a data structure stored in a memory of the analysis server 14 (or an external storage memory accessible by the analysis server 14). Each timeline 20a-20c represents a contiguous period of time (with movement forward in time represented by movement from the left of a timeline 20 to the right). Depending on the implementation, a particular timeline 20 can be non-contiguous, although equivalently this may be represented as a portion of the timeline 20 represented with a type of “null” value such that, when including the “null” value, the timeline 20 is represented as contiguous. For example, timeline 20a is shown with a non-job period between JOB 2 and JOB 3 (shaded) — this may be represented equivalently either as a gap in the jobs timeline 20a or as a special “no job” block.

[0039] The first timeline 20a represents production jobs 21 associated with a particular production line 12. In the embodiment of Figure 3, production jobs 21a-21b span a contiguous portion of the first timeline 20a and there are no “gaps” between them. However, in the example shown, there is a gap between production job 21b and production job 21c, representative of no job being undertaken by the production line 12 during this time. Depending on the embodiment,P0658WOthe jobs timeline 20a can be constrained such that no two (or more) production jobs 2 la-2 Id can overlap in time.

[0040] In a general sense, a production job 21 represents a particular configuration of the production line 12 such as to produce an output defined by the particular production job 21 (e.g., a “job target”, which may be expressed, for example, in as a number of production units produced within a set period of time, in cases where the production line 12 is associated with the production of discrete units of a product). Typically, a production line 12 is associated with one or more configurable production elements (not shown). In the case of the production of physical production units, typically at least one configurable production element corresponds to at least one configurable machine utilised with the production line 12. That is, in order to select a particular configuration of one or more configurable production elements, the associated one or more configurable machines must be configured accordingly. For example, on a production line 12 for producing physical production units corresponding to packaged canned drinks, configurable production elements may be the type of drink filling the cans, the size of the cans, the configuration of groups of cans (e.g., 4x6 packages or 3x8 packages), etc. The machinery, such as fluid supply, must be configured suitably. The one or more configurable production elements can allow for the production line 12 to be configured according to a plurality of different configurations, thereby enabling the production line 12 to implement different jobs 21 using the different configurations.

[0041] The states timeline 20b represents different states of the production line 12 at different times. Herein, the states timeline 20b is described as comprising a sequence of state blocks 30, where each state block 30 is assigned a state. During a particular production job 21, the production line 12 moves through at least one and typically several different states, each represented as a state block 30. Therefore, a state block 30 can be associated with a production job 301. In terms of notation used herein, a state block 30 can be referenced as associated with a particular production job 21 by using the same lowercase suffix — for example, the three state blocks 30a are associated with production job 21a. In order to distinguish state blocks 30 of a particular production job 21, a further uppercase suffix is utilised. Therefore, for example, productions state blocks 30a- A to 30a-C are associated with the first production job 21a, whereas state blocks 30b-A to 30b-D are associated with the second production job 21b.P0658WO

[0042] A particular state, and therefore state block 30, is representative of the nature of the activity of its associated production line 12 at a particular point in time. In an embodiment, there are two broad categories of production state: running states, and downtime states.

[0043] A running state is associated with the production line 12 operating according to the requirements of the current production job 21.

[0044] In at least one embodiment, the running state category includes at least one setup state and at least one production run state. The production line 12 during a setup state is operated in accordance with a setup procedure. On the other hand, during a production run state, the production line 12 is operating in accordance with the job target of the production job 21. For example, in a case where a job target is the production of a particular number of production units, the one or more production elements of the production line 12 are operated (during the production run state) such as to produce the required production units. In contrast, during a setup state, the one or more production elements are either not utilised to produce towards the job target or make a relatively small contribution to the job target. Instead, during a setup state, the one or more production elements are configured, tested, or otherwise prepared for use during a subsequent production run state.

[0045] In at least one embodiment, the running state category includes at least one nominal production run state and at least one non-nominal production run state. An example of a non-nominal production run state is a slow production run state. In both the case of a nominal production run state and a slow production run state, the production line 12 is running such as to satisfy the job target. However, in a slow production run state, the rate of production is below the capacity of the production line 12 (e.g., below a threshold rate). Unlike a setup state, a slow production run state is not associated with a setup phase. For example, a slow production run state can occur when the expected state 30 is a nominal run state.

[0046] In an illustrative example, a production job 21 may specify that a specific number of production units X is produced within a set period of time T. In order to complete the job requirement, the average rate of production of the production units over the period 7' is simply A nominal production run state therefore may correspond to the production rate being at or sufficiently close to the average rate, whereas a slow production run state may correspond to the production rate being below (e.g., sufficiently below, which may be defined by a threshold) the required average production rate.P0658WO

[0047] Considering downtime states, these are reflective of times at which the one or more production elements of a production line 12 are not operated such as to contribute to the job target. In an exemplary implementation, the downtime state types include a planned downtime category and an unplanned downtime category.

[0048] The planned downtime category represents state blocks 30 in which the production line 12 is not operating to fulfill a job target that was planned in advance. For example, this may correspond to regular maintenance of components of the production line 12. It may also include worker breaks and the like. In Figure 3, each job 21 is shown ending with a planned downtime state block 30a-C, 30b-E, 30c-C, although planned downtime state blocks 30 can generally occur at any time during a job 30.

[0049] On the other hand, the unplanned downtime category represents state blocks 30 in which the production line 12 is not operating to fulfill a job target that was not planned in advance. For example, this may occur when a component of the production line 12 breaks down. In Figure 3, there is one unplanned downtime state block 30b-C during job 21b.

[0050] According to one or more embodiments, the states timeline 20b is embodied by a suitable data structure from which a state can be assigned to a particular time. In the embodiments described herein, it is assumed that the states timeline 20b comprises a sequence of state blocks 30, where each state block 30 is associated with a start time and an end time. In this way, each state block 30 can be associated with a "location” in time with respect to the states timeline 20b, wherein the location corresponds to the portion of the states timeline 20b corresponding to the range defined between the start time and the end time. In at least one embodiment, adjacent state blocks 30 do not overlap. Each state block 30 is assigned a state. Therefore, the state associated with any particular time can be determined by reference to the states timeline 20b and, more particularly, the particular state block 30 encompassing said time.

[0051] Referring back to Figure 1, according to one or more embodiments, the analysis server 14 is configured to implement a states determination module 40. The states determination module 40 is configured to determine, based at least on production data received one or more production data units 13, a sequence of state blocks 30 and the states assigned to each state block 30 for the states timeline 20b associated with a particular production line 12.

[0052] Figure 4 shows a method, according to an embodiment, by which the states determination module 40 can determine a new state block 30.P0658WO

[0053] At step SI 00, the states determination module 40 is configured to receive newly generated production data generated by at least one production data unit 13 shortly after it is generated, which may be referred to as being “real-time”. Different production data units 13 can generate corresponding production data at different rates; for example, sensor production data may be generated at sampling intervals significantly shorter than user feedback data. As used herein, “newly generated” production data is production data generated at a time later than the end time of a most recently determined state block 30.

[0054] Depending on the embodiment, the states determination module 40 can also utilise production data generated before the end time of the most recently determined state block 30 when determining a new state block 30, which is referred to herein as “existing” production data.

[0055] At step S101, the states determination module 40 analyses the newly generated production data. The states determination module 40 can implement a modeller 41 configured to analyse the newly generated production data with respect to a plurality of models, wherein each model is associated with a state. The modeller 41 is configured to analyse the newly generated production data against the plurality of models to attempt to determine a best-fit model, being the model which best-fits the received newly generated production data. Depending on the embodiment, one or more models can be analysed with respect to existing production data as well as the newly generated production data. For example, existing production data associated with production data generated during an immediately preceding state block 30 can be utilised.

[0056] In an embodiment, as part of the analysis step 101, the modeller 41 can identify one or more models as potential best-fit models, where each potential best-fit model meets a threshold requirement regarding a closeness of fit of the model to the newly generated production data. Each model can define its own threshold requirement.

[0057] In an embodiment, for example in the case where two or more models are identified as potential best-fit models, the modeller 41 can be configured to compare the potential best-fit models to one another, for example, using a scoring technique or other approach enabling a comparison between the goodness of fit of each potential best-fit models to the newly generated production data. Therefore, according to this embodiment, each model can be assigned a “score”. In this way, an ordered ranking of the potential best-fit models can be produced, withP0658WOthe model having the best score placed in a highest ranking, the model having the second best score placed in the second highest ranking, etc.

[0058] The modeller 41 can then be configured to determine whether one of the potential best-fit models (e.g., typically the highest scoring potential best-fit model) satisfies a selection criteria with respect to the other potential best-fit models, such that said best-fit model can be selected, by the modeller 41, as the selected model. The selection criteria can require, for example, that the selected model has an associated score or other goodness of fit larger than the score(s) of each of the other potential best-fit models by a predefined amount. The predefined amount can vary depending on the models being compared.

[0059] In an embodiment, in the case where only one model is identified as a potential best-fit model, it can then be selected as the selected model, as no other model is sufficiently close to fitting the newly generated production data.

[0060] In another embodiment, the modeller 41 is configured to identify a selected model, corresponding to the model determined to best fit to the currently available newly generated production, irrespective of a goodness of fit of any other model (i.e., the modeller 41 is configured to not identify two or more models as potential best-fit models). For example, then modeller 41 can select the highest scoring model as the selected model, irrespective of whether the score of any other model is close to that of the selected model. In an embodiment, the modeller 41 implements a state machine configured for determining a selected model, optionally also producing a likelihood measurement.

[0061] At step SI 02, the states determination module 40 checks whether a selected model has been identified by the modeller 41. In a case where a selected model has been identified, the method proceeds to step SI 10.

[0062] In an embodiment, in which the modeller 41 is enabled to identify multiple potential best-fit models, in a case where a selected model has not been identified, the method, in effect, returns to step S100. The states determination module 40 receives additional newly generated production data which is combined with that already received, thereby increasing the newly generated production data available to the modeller 41 at step S 101. Typically, there is a delay before the method proceeds to step S 101. For example, the states determination module 40 can be configured to delay by a predefined delay (e.g., a predefined length of time) upon each instance of the method returning to step SI 00.P0658WO

[0063] Upon proceeding again to step S101, the modeller 41 is configured to analyse the newly updated newly generated production data, which may allow for a different result than previous instances of step S101. For example, the most recently received newly generated production data may allow for the modeller 41 to sufficiently distinguish one model from other models for selection as the selected model. In this case, the method proceeds to step SI 10 after check step SI 02.

[0064] Generally, a selected model is utilised to determine a new state block 30 of the states timeline 20b. Therefore, at step SI 10, the states determination module 40 creates a new state block 30 (e.g., as a data element of the associated data structure) at a location on the timeline states timeline 20b, with the determined state assigned to the state block 30.

[0065] In at least one embodiment, the start time of the new state block 30 coincides with the end time of the directly preceding state block 30, such as to ensure a contiguous sequence of state blocks 30 for the states timeline 20b. However, an embodiment may allow for gaps between the end time of a directly preceding state block 30 and the start time of a newly determined state block 30 (for example, where null states are utilised).

[0066] In one or more embodiments, with reference to Figures 5A and 5B, a new state block 30 can be an open block 31 (as shown in Figure 5A) or a closed block 32 (as shown in Figure 5B). In both figures, there are two existing previously defined state blocks 30-A and 30-B, with state block 30-B being the directly preceding state block 30-B.

[0067] An open block 31 is a state block 30 in which an end time is yet to be defined (represented in the figure by dotted boundary lines extending into the future from the current time, TCUR). In contrast, a closed block 32 is one in which an end time (TEND) is defined. The new state block 31 can comprise an open / closed flag set by the modeller 41 indicating whether it is an open block 31 or a closed block 32. Alternatively, the presence of a defined end time (TEND) can suffice to indicate that the new state block 30 is a closed block 32; the absence of a defined end time (TEND) therefore indicates that the new state block 30 is an open block 31. Generally, any suitable means for indicating that the new state block 30 is an open block 31 or a closed block 32 (e.g., as determined by the modeller 41) can be utilised. A closed state block 32 can have an end time (TEND) equal to or earlier than the current time (TCUR) — in Figure 5B, the end time (TEND) is earlier than the current time (TCUR).P0658WO

[0068] A new state block 30 can be determined to be an open block 31 where the newly generated production data received thus far does not indicate a change in state has occurred since the immediately preceding state block 30. In this case, the state may still reflect the current status of the production line 12 and may do so for a currently indeterminate period of time.

[0069] On the other hand, a new state block 30 can be determined to be a closed block 32 in a case where the production data indicates a transition has occurred from the state of the new state block 30 to a different state. A closed block can therefore be assigned an end time earlier than the latest time for which production data is available. Often, in the case of determining a closed state block 32, a new open state block subsequent to the newly determined closed state block 32 is determined (for example, the machinery of the production line 12 can still be being utilised for a particular job 21).

[0070] Referring to Figure 5C, which shows an embodiment comprising a continuation of the method of Figure 4, at step SI 10, the states determination module 40 checks the new state block 30 to determine whether it is an open block 31 or a closed block 32. Upon determining that the new state block 30 is a closed block 32, the method proceeds to step S120.

[0071] On the other hand, on determining that the new state block 30 is an open state block 31, the states determination module 40 continues receiving newly generated production data at step Sill. The modeller 41 is applied to the newly generated production data in order to identify an end time for the current open state block 31. Typically, the modeller 41 also analyses at least a portion of the production data associated with the open state block 31 received before the open state block 31 was determined. In effect, the modeller 41 continues analysis of generated production data until it determines that the open block 31 has changed to a closed block 32. If an end time is determined (see step SI 12), the method proceeds to step S120. Otherwise, the method continues receiving newly generated production data at step Sill.

[0072] At step S120, the new state block 30 is a determined to be a closed block 32 and therefore have an end time associated. At this point, the method can return to step SI 00 of Figure 4 to continue monitoring newly generated production data in order to identify a new state block 30.

[0073] In one or more embodiments, at least one timeline 20 (in a preferred embodiment, every timeline 20) is stored in a memory of the analysis server 14 (or, equivalently, a storage memory accessible to the analysis server 14). In this way, the timeline(s) 20 is / are made P0658WOavailable for forensic analysis (e.g., for preparing performance reports regarding particular production lines 12).

[0074] In one or more embodiments, at least one timeline 20 is made available to a user device 16 in real-time. Considering, for example, the states timeline 20b, real-time here means that the state blocks 30 are available to the user device 16 up until the current time (or, relatively close to the current time). In this way, information regarding the current operation of the production line 12 is made available to a user of the user device 16. This can include graphical, textual, and other means for presenting the information to the user.

[0075] The states timeline 20b can be considered as an example of a class of timelines 20 for which a determination of a property of a block (i.e., the state associated with a state block 30) is required. Such timelines 20 can be referred to as annotated timelines 20, as these require the analysis server 14 to analyse received production data in order to “annotate” (or otherwise label) each block of the timeline 20. This is in contrast, for example, to the jobs timeline 20, which is typically determined in advance of receiving production data — the production line 12 is setup and run according to a job 21, rather than the job 21 being determined in accordance with how the production line 12 is operating. The jobs timeline 20 is therefore an example of an assigned timeline, corresponding to a data structure storing assigned blocks (such as jobs 21) based on predefined data (such as, for example, intended jobs 21 to be run on a particular production line 12).

[0076] In one or more embodiments, for annotated timelines 20 such as described above in respect of the states timeline 20b, the concept of an open block 31 can be interpreted (at least in some cases) as an “uncommitted” state. That is, a state can be determined for the open block 31 based on available newly generated data, however, the analysis server 14 can be enabled to change the assigned state for at least a portion of the open block 31, should future production data indicate that the currently assigned state is incurred (at least for a portion of the open block 31). In a variation, if the modeller 41 has not yet received enough newly generated production data to determine a selected model, then the current open block 31 can be labelled as such (i.e., as undetermined), with a determined state being assigned to at least a portion of the open block 31 when sufficient production data has been received to make such a determination.

[0077] For example, Figure 6 shows an example display of a states timeline 20b, including previously defined state blocks 30- A and 30-B (noting that state block 30a precedes, in time,P0658WOstate block 30-B). The most recently determined state block 30-B is shown as ending before the current time (TCUR). A temporary block 33 (e.g., depending on the embodiment, this can be either an uncommitted state or labelled as undetermined) is displayed between the end time of the most recent state block 30-B and the current time (TCUR) — in this case, the temporary block 33 is visually distinct to the preceding state blocks 30a and 30b.

[0078] In determining an annotated block 30, the determination module 40 can be subject to constraints. For example, certain annotations may or may not be allowed to immediately follow blocks 30 having particular other annotations.

[0079] In an embodiment, the modeller 40 is configured to analyse different segments of production data for different models. For example, a first model may be dependent upon production data associated with an already determined block 30 (i.e., existing production data which was generated before the end of the most recently determined block 30, as well as newly generated production data) whereas a second model is only dependent upon newly generated production data (i.e., that which has been generated since the end of the most recently determined block 30).

[0080] According to one or more embodiments, the timelines 20 described herein can be utilised by a data analysis module 50 implemented by the analysis server 14. The data analysis module 50 is configured to identify, from the one or more timelines 20, trends and other information concerning operation of the one or more production lines 12.

[0081] According to at least one embodiment, the states determination module 40 is enabled to replace a previously determined state block 30 with one or more different state blocks 30, or at least part of a different state block 30. The states determination module 40 can be constrained such that only a predefined number of a sequence of immediately preceding state blocks 30 is replaceable (preferably, only the most recently determined state block 30). This may be applicable, for example, where newly generated production data indicates that the previously assigned state for the period of time of the most recent states block 30 is no longer the best-fit state for that period of time.

[0082] An advantage of the annotated timelines 20 described herein (see disclosure of the states timeline 20b as an example of an annotated timeline 20) is that the states (or annotations) assigned to the blocks 30 is based, at least on part, on objective information. In contrast, prior art techniques might involve a worker inputting annotation information — for example, a worker P0658WOmay input that setup took 10 minutes, whereas the production data indicates that in fact setup took 7 minutes; the worker has naturally rounded up at the expense of temporal accuracy. Workers can also mischaracterise annotations / states, for example, where the correct characterisation of a block 30 is seen as a negative indication of the worker’s performance.

[0083] In one or more embodiments, a block 30 is determined at least in accordance with non-user entered production data, such as sensor data and / or parameter data as described herein. A block 30 can be determined in part in accordance with user entered production data, such as the user feedback data described herein. For example, this can be utilised by the states determination module 40 to assist in resolving ambiguities in determining a selected model that may be due to the non-user entered production data.

[0084] In an example, a production line 12 can be associated with the production of product units. The sensor data and / or the parameter data can indicate how production units on the production line 12 are operating, with one type of operation indicative of a first phase (for example, a setup phase) and another type of operation indicative of a second phase (for example, a main run phase). Therefore, the sensor data and / or the parameter data can be analysed to determine which of the two phases are indicated by the current operation data available. However, it may be that there is overlap between the sensor data and / or the parameter data received in relation to the two phases such that a period of time in which the sensor data and / or the parameter data is received is required to distinguish the two. During this time, there is an ambiguity and the modeller 41 does not identify a selected model and therefore production data continues to be generated. Only once enough production data has been generated to definitively choose between the two phases (i.e., states) can a determination be made.

[0085] In another example, that the most recent block 30 indicates the first phase (e.g., setup) and this is an open block 31. It is only changed to a closed block 32 after production data indicating a change to the second phase has been received for a period of time (e.g., 5-minutes). At this point, the determination module 40 can determine that the most recent block 30 should be changed to a closed block 32; however, this change in fact occurred 5-minutes ago (in this example). Therefore, the end time (TENo)for the setup phase block 30 is not the current time (TCUR) but in fact 5-minutes earlier. The determination module 40 can then create a new open block 31 representing the second phase, which has a start time commensurate with the end timeP0658WOof the now previous state block 30 (i.e., in this example, the start time of the new open block 31 is 5-minutes earlier than the current time).

[0086] A worked example is now discussed. A current open state block 30 can be labelled as “running”, indicating that the production line 12 (e.g., the machines making up the production line 12) are running at a nominal rate (e.g., running normally). The production line 12 (or a portion thereof) then begins operating below the nominal rate, which should be associated with a “running slow” state. However, in order to identify that the state has changed from the nominal running state to the running slow state, the analysis server 14 requires sufficient newly generated production data to confirm that a change of state has occurred (a requirement of the relevant model). During this period of time, the current state block 30 continues to indicate the nominal running state. However, once sufficient production data is obtained for the analysis server 14 to determine that the change of state occurred, it is possible for the analysis server 14 to backdate the change of state to a time commensurate when the running slow began. Therefore, in effect, the current open state block 30 is split into two, with the older portion being assigned to its own state block 30 which is annotated as nominal running, with the newer portion being assigned to its own state block 30 which is annotated as running slow. The newer running slow state block 30 is effectively an open state block 31 in this example, and the “running slow” annotation may be understood itself as an uncommitted state.

[0087] An advantage of the determination of blocks 30 of the annotated timelines 20 by an annotation determination module (in the embodiment described, this is the states determination module 40) is that a specific and objective start time and end time can be assigned to each block 30. This enables the annotated timelines 20 to be directly compared to other temporal data generated in relation to the production line 12, such as worker shifts (i.e., who was working on the production line 12 at different times), operation of other production lines 12 (e.g., it may be that an unexpected correlation in the operation of two production lines 12 can be found by analysing the timelines 20 as well as other data associated with the two production lines 12), and other data associated with the production location 11 of the production line 12.

[0088] In at least one embodiment, the data analysis module 50 implements an artificial intelligence program (herein, “Al program”). The Al program is configured to analyse the timelines 20 as well as other data associated with various production lines 12 and productionP0658WOlocations 11. An Al program utilising the annotated timelines 20 herein described may be improved, as the improved reliability of the annotated blocks 30 (e.g., in terms of temporal accuracy or annotation accuracy) can improve the analysis of the annotated blocks 30 to other temporal data known to be accurate. This may allow the Al program to uncover patterns and other cause and effect relationships between different parts of a production location 11 not necessarily believed to be related. Without temporal accuracy, such relationships might be difficult to uncover. An Al program also provides an advantage in that it can be configured to generate customised reports and other summaries of data based on natural language inputs.

[0089] Further modifications can be made without departing from the spirit and scope of the specification.P0658WO

Claims

Claims1. A method for generating an annotated timeline associated with the operation of a production line, wherein the annotated timeline comprises a sequence of annotated blocks indicative of an operation of the production line, wherein each annotated block is assigned an annotation selected from a plurality of predefined annotations, the method comprising:receiving production data generated by one or more production data units associated with the production line;identifying newly generated production data, being production data generated after an end time of a most recent annotated block assigned to the annotated timeline;initially assigning to a portion of the annotated timeline subsequent to the most recent annotated block an uncommitted or undetermined block;determining, based on reception of sufficient newly generated production data, a new annotated block for at least a portion of the uncommitted or undetermined block and replacing, within the annotated timeline, said at least portion of the uncommitted or undetermined block with the new annotated block.

2. The method of claim 1, wherein the annotated timeline is a states timeline, and wherein each associated annotated block is a state block indicative of a determined state of operation of the corresponding production line during a time range associated with the state block.

3. The method of claim 2, wherein each state block is annotated with a state selected from one of a plurality of predefined state categories, wherein each predefined state category comprises one or more predefined states.

4. The method of claim 3, wherein the plurality of predefined state categories comprises at least one of:a running states category comprising one or more running states each representing the production line operating to produce an output defined by an associated job; anda downtime states category comprising one or more downtime states each representing the production line not operating to produce an output defined by an associated job.P0658WO5. The method of any one of claims 1 to 4, wherein:at least one production data unit is a sensor data unit configured to generate sensor production data based on a measurement of the production line; and / orat least one production data unit is a production parameter data unit configured to generate production parameter data corresponding to production information obtained from the production line.

6. The method of any one of claims 1 to 5, wherein at least one production data unit is a user feedback data unit configured to generate user feedback data based on user provided information via a user interface of the user feedback data unit.

7. The method of any one of claims 1 to 6, comprising:receiving auxiliary data generated by one or more auxiliary data units associated with a production location of the production line,wherein the auxiliary data is utilised in determining an annotation to assign to an annotated block.

8. The method of any one of claims 1 to 7, comprising:providing at least one assigned timeline comprising one or more assigned blocks; and one or both of:determining the uncommitted or undetermined block based in part on an assigned block associated with a same time as the uncommitted or undetermined block; and / ordetermining the new annotated block based in part on an assigned block associated with a same time as new annotated block.

9. The method of any one of claims 1 to 8, comprising:implementing a modeller configured to determine: the uncommitted or undetermined block, and / or the new annotated block,wherein the modeller receives the newly generated production data and determines a best-fit model based, at least in part, on the newly generated production data.P0658WO10. The method of claim 9, wherein the modeller determines the best-fit model further based on existing production data being production data associated with a time before the end of the most recent annotated block.

11. The method of claim 10, wherein the existing production data is that generated after a defined time.

12. The method of any one of claims 1 to 11, comprising:displaying via a display of an analyser device, during a time when there is assigned an uncommitted or undetermined block, a graphical indication of the uncommitted or undetermined block; andupon the new annotated block, replacing the graphical indication of the uncommitted or undetermined block when a graphical indication of the annotated block,wherein the graphical indication of the new annotated block is indicative of the new annotated block being associated with an earlier time to the current time, wherein the earlier time had previously been indicated as associated with the uncommitted or undetermined block.

13. An analysis system comprising an analysis server for generating an annotated timeline associated with the operation of a production line, wherein the annotated timeline corresponds to a data structure stored in a memory of the analysis server and comprises a sequence of annotated blocks indicative of an operation of the production line, wherein each annotated block is assigned an annotation selected from a plurality of predefined annotations, wherein the analysis server is configured to:obtain production data generated by one or more production data units associated with the production line;identify newly generated production data, being production data generated after an end time of a most recent annotated block assigned to the annotated timeline;initially assign to a portion of the annotated timeline subsequent to the most recent annotated block an uncommitted or undetermined block;determine, based on reception of sufficient newly generated production data, a new annotated block for at least a portion of the uncommitted or undetermined block andP0658WOreplacing, within the annotated timeline, said at least portion of the uncommitted or undetermined block with the new annotated block.

14. The system of claim 13, wherein the annotated timeline is a states timeline, and wherein each associated annotated block is a state block indicative of a determined state of operation of the corresponding production line during a time range associated with the state block.

15. The system of claim 14, wherein each state block is annotated with a state selected from one of a plurality of predefined state categories, wherein each predefined state category comprises one or more predefined states.

16. The system of claim 15, wherein the plurality of predefined state categories comprises at least one of:a running states category comprising one or more running states each representing the production line operating to produce an output defined by an associated job; anda downtime states category comprising one or more downtime states each representing the production line not operating to produce an output defined by an associated job.

17. The system of any one of claims 13 to 16, wherein:at least one production data unit is a sensor data unit configured to generate sensor production data based on a measurement of the production line; and / orat least one production data unit is a production parameter data unit configured to generate production parameter data corresponding to production information obtained from the production line.

18. The system of any one of claims 13 to 17, wherein at least one production data unit is a user feedback data unit configured to generate user feedback data based on user provided information via a user interface of the user feedback data unit.

19. The system of any one of claims 13 to 18, the system comprising the one or more production units.P0658WO20. The system of any one of claims 13 to 19, wherein the analyser server is further configured to:receive auxiliary data generated by one or more auxiliary data units associated with a production location of the production line,wherein the auxiliary data is utilised in determining an annotation to assign to an annotated block.

21. The system of claim 20, the system comprising the one or more auxiliary data units.

30. The system of any one of claims 13 to 21, wherein the analysis server is provided at least one assigned timeline comprising one or more assigned blocks, and is configure to:determine the uncommitted or undetermined block based in part on an assigned block associated with a same time as the uncommitted or undetermined block; and / ordetermine the new annotated block based in part on an assigned block associated with a same time as new annotated block.

23. The system of any one of claims 13 to 30, wherein the analysis server is configured to implement a modeller configured to:determine the uncommitted or undetermined block and / or determine the new annotated block,wherein the modeller receives the newly generated production data and determines a best-fit model based, at least in part, on the newly generated production data.

24. The system of claim 23, wherein the modeller determines the best-fit model further based on existing production data being production data associated with a time before the end of the most recent annotated block.

25. The system of claim 24, wherein the existing production data is that generated after a defined time.P0658WO26. An analysis server configured for implementing the method of any one of claims 1 to 12.

27. A computer program configured to implement the method of any one of claims 1 to 12 when said computer program is implemented by a computer.P0658WO