Method, device and computer-readable storage medium for product tracing

By using object detectors and queue/stack structures on the production line to record object ID and time, the problem of object identification and traceability in harsh environments such as high temperature is solved, and low-cost object identification and production line traceability are achieved.

CN113138588BActive Publication Date: 2025-09-30SAINT-GOBAIN SAFETY GLASS CO FRANCE
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010617284.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-06-30
Publication Date
2025-09-30
Estimated Expiration
2040-06-30

AI Technical Summary

Technical Problem

Existing object sensing technologies cannot work effectively in harsh environments such as high temperatures and are costly, making it difficult to achieve object identification and tracing.

Method used

An object detector is used to detect the arrival location of the object, generate a message including the object identification, and record the object ID and arrival time through a queue or stack structure. Combined with modular design and virtual tracking solutions, the traceability of objects on the production line is achieved.

Benefits of technology

It enables low-cost identification and traceability of objects in harsh environments, improves the traceability and anomaly detection capabilities of production lines, and reduces dependence on expensive sensors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113138588B_ABST
    Figure CN113138588B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a method, apparatus, and computer-readable storage medium for product traceability. The method includes: determining whether a first object has arrived at a first location; in response to determining that the first object has arrived at the first location, determining an identity of the first object; generating a first message including the identity of the first object; and causing a second message to be moved to a second location upstream of the first location, the second message including the identity of the first object.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure generally relate to smart manufacturing, and more particularly to methods, devices, and computer-readable storage media for product traceability. Background Art

[0002] Object detection is a critical task in automation industries like smart manufacturing. Industrial controls need to know when an object reaches a specific location. Common types of object sensing technologies include electromechanical, pneumatic, capacitive, and photoelectric sensors. However, these sensors often have strict environmental requirements and cannot operate in harsh conditions such as high temperatures. Furthermore, these sensors often come at a relatively high cost to achieve object recognition. Summary of the Invention

[0003] According to an embodiment of the present disclosure, a method, device, system, and computer-readable storage medium for product tracing are provided.

[0004] In a first aspect, a computer-implemented method for product traceability is provided. The method includes determining whether a first object has arrived at a first location; in response to determining that the first object has arrived at the first location, determining an identity of the first object; generating a first message including the identity of the first object; and causing a second message to be moved to a second location upstream from the first location, the second message including the identity of the first object.

[0005] In a second aspect, a computing device is provided, comprising: a processing unit; and a memory coupled to the processing unit and storing instructions, wherein when the instructions are executed by the processing unit, the computing device executes the method according to the first aspect.

[0006] In a third aspect, a system for product traceability is provided. The system includes: a plurality of modules disposed in a process flow, each of the plurality of modules including: an object detector configured to detect whether an object has reached a position of the object detector; and the computing device according to the second aspect, the computing device coupled to the object detector.

[0007] In a fourth aspect, a computer-readable storage medium storing computer-executable instructions is provided, which, when executed by at least one processor, causes the at least one processor to perform the method according to the first aspect.

[0008] It should be understood that the contents described in the Summary of the Invention section are not intended to limit the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:

[0010] Figure 1 A schematic diagram illustrating a tracking method according to some embodiments of the present disclosure is shown;

[0011] Figure 2 A schematic diagram illustrating a tracking method according to some embodiments of the present disclosure is shown;

[0012] Figure 3 A schematic diagram illustrating a tracking method according to some embodiments of the present disclosure is shown;

[0013] Figure 4 A flowchart illustrating a tracking method according to some embodiments of the present disclosure is shown;

[0014] Figure 5 A schematic diagram showing exception handling according to some embodiments of the present disclosure is shown;

[0015] Figure 6 A schematic diagram showing exception handling according to some embodiments of the present disclosure is shown;

[0016] Figure 7 A schematic diagram illustrating association of process parameters according to some embodiments of the present disclosure is shown;

[0017] Figure 8 A flowchart illustrating a tracking method according to some embodiments of the present disclosure is shown;

[0018] Figure 9 shows a schematic diagram of a production line system according to some embodiments; and

[0019] Figure 10 A block diagram of a computing device capable of implementing some embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0020] The concepts of the present disclosure will now be described with reference to the various exemplary embodiments shown in the accompanying drawings. It should be understood that the description of these embodiments is merely to enable those skilled in the art to better understand and further implement the present disclosure, and is not intended to limit the scope of the present disclosure in any way. It should be noted that similar or identical reference numerals may be used in the figures where possible, and similar or identical reference numerals may represent similar or identical elements. It will be understood by those skilled in the art from the description below that alternative embodiments of the structures and / or methods described herein may be adopted without departing from the principles and concepts of the present disclosure described.

[0021] In the context of this disclosure, the term "including" and its various variations can be understood as open-ended terms, meaning "including but not limited to," the term "based on" can be understood as "based, at least in part, on," the term "one embodiment" can be understood as "at least one embodiment," and the term "another embodiment" can be understood as "at least one other embodiment." Other terms that may appear but are not mentioned here should not be interpreted or limited in a manner that is inconsistent with the concepts underlying the embodiments of this disclosure, unless explicitly stated.

[0022] It should be understood that although the terms "first" and "second" may be used herein to describe various elements, these elements should not be limited by these terms, and these terms have nothing to do with the order of the corresponding elements. These terms are only used to distinguish one element from another. For example, a first element can be referred to as a second element, and similarly, a second element can be referred to as a first element without departing from the scope of the embodiments. As used herein, the term "and / or" includes any and all combinations of one or more of the listed terms.

[0023] Figure 1 Schematic diagram of a tracking method according to some embodiments of the present disclosure is shown. Figure 1 As shown, objects 1-6 pass through the production line in sequence, and the object detector Detector i-1 and Detector i Set up on the production line to detect whether the object has reached the detector position, where the detector i-1 Located in the detector i Upstream. In some embodiments, an object detector may simply detect the presence of an object, without requiring complex image detection and recognition capabilities, thus having a relatively low cost. For example, if an object is detected, the detector output may be 1, and otherwise 0. Alternatively, a pyrometer, pressure sensor, or the like may be used to implement the object detector function.

[0024] In this example, the identification (ID) of the object arriving at each location (e.g., the object detection point or the location of the detector) can be recorded. In addition to the ID of the object, the arrival time of each object at the corresponding detection point can also be recorded. For example, at the location of each detector, when an object is detected, a corresponding message can be generated, which contains the ID of the object and optionally includes the time when the detector detected the object, that is, the time when the object arrived at the location of the detector. For ease of discussion, reference will be made to both the ID and the arrival time of the object below, however, it should be understood that some embodiments of the present disclosure do not require the recording of the arrival time.

[0025] The ID of an object (e.g., component / part identification (CPID)) enables manufacturers and the like to identify components and parts. Typically, the original equipment manufacturer (OEM) defines the specifications of the components or parts that are part of its final product (e.g., a car). Identification (ID) means uniquely identifying an object. The basic principle of identification is that each object can be identified even if objects of the same shape and material are manufactured in batches. The ID of an object can be printed as text, or encoded as a barcode or data matrix code (DMC) or an electronic product code (EPC) / radio frequency tag (RFID) attached to an object (e.g., a component or part). Virtual tracking is sometimes unavoidable because harsh environments prevent ID readers from working for a long time, such as high temperatures, highly corrosive atmospheres, narrow places, etc. In an embodiment of the present disclosure, the IDs of these entities are not necessary, but can be used to cross-check the results of virtual tracking, so that the location can be set flexibly. The virtual tracking scheme of an embodiment of the present disclosure can alleviate or even eliminate this problem.

[0026] For example, a linear data structure can be used to record this information, such as a queue or a stack, where a queue is a linear data structure of the first-in-first-out (FIFO) type, and a stack is a linear data structure of the last-in-first-out (LIFO) type. It should be understood that the queue or stack described here does not represent the actual storage situation in the storage device, but only represents the logical representation of these data. On the contrary, these data can be stored in the storage device in a more optimized manner. In the example Figure 1 In the example shown, a queue may be advantageous because this pipeline design is very suitable for using queues to record information such as the ID of an object. Alternatively, in some pipelines, some products may need to be temporarily stored in a warehouse or a temporary site. For example, some process flows may require cooling, which requires that high-temperature products be placed in a temporary site. For example, in glass production, these storage sites can slow down the production speed of glass reaching the next processing station and act as a buffer. In this case, the product that enters this temporary storage warehouse last needs to be taken out first, and a stack may need to be used to record information such as the ID of the object. It should be understood that linear data structures such as queues and stacks are only preferred examples of data structures, and other data structures can also be used to record these data or information.

[0027] The length of linear data structures such as queues or stacks is dynamic depending on the production line conditions. Figure 1 As shown, the queue i-1 and Queue i Record detectors separately i-1 and Detector iThe ID and arrival time of the detected object. For convenience, the following will discuss the embodiments of the present disclosure using a queue as an example. However, it should be understood that the inventive concept of the present disclosure can also be applied to other data structures such as a stack.

[0028] In a queue, new elements are pushed to the front of the queue. Figure 2 As shown, when the object with ID 6 enters the Detector i-1 When the location is i-1 The object is detected. Then, a message is generated including the object's ID 6 and arrival time (as a timestamp) and added to the queue. i-1 The top, such as Figure 2 shown.

[0029] When an object enters a new location, the last element in the queue of the previous location will be popped up, and a message containing the ID of the element and the time of arrival at the new location will be generated and pushed to the current queue, and so on, to achieve traceability. Figure 3 As shown, once the object with ID 3 enters the Detector i Location, Queue i-1 The last element ID 3 will pop up and will contain the ID of the element and the arrival Detector i The arrival time is pushed to the Queue i It should be understood that the push and pop operations described here do not represent the actual storage operations in the storage device, but only represent the logical representation of these data. On the contrary, these data can be stored in the storage device in a more optimized manner.

[0030] For example, the detector i-1 and Detector i It can be regarded as the entrance and exit of a module in the flow direction of the production line. i-1 Track objects inside the module along the moving sequence. In a production line, detection sensors can be installed at the entrance and exit of a workstation / process to enable object tracking between the two.

[0031] Some embodiments of the present disclosure may be implemented using a modular design. For example, Figure 4 FIG. 4 is a flow chart showing a method 400 for operating a single tracking module according to some embodiments of the present disclosure. For example, the tracking module may be arranged in Figure 1 Detector shown i Where the Detector is located iIt is shown as object detector 402. It should be understood that the operation method 400 can also be applied to tracking modules arranged at other detectors.

[0032] At block 404, a determination is made as to whether the output of object detector 402 has changed. For example, the output value of object detector 402 may be continuously monitored or periodically checked. If it is determined at block 404 that the output of object detector 402 has not changed, the process returns to block 402 to continue checking the output value of object detector 402.

[0033] If it is determined in block 404 that the output of the object detector 402 has changed, then it is determined in block 406 whether the output value has changed from 1 to 0 or from 0 to 1. If it is determined in block 406 that the output value has changed from 1 to 0, then proceed to block 408, indicating that the object has left the location, and record the timestamp as

[0034] If the value changes from 0 to 1 in block 406, it indicates that an object has arrived, and in block 410, the queue is updated from the previous linear data structure (e.g., Queue). i-1 A message pops up at the bottom of the queue and i-1 Extract the ID of the object (particularly from the pop-up message) and record the timestamp as It should be understood that although 1 is used to indicate that an object has arrived and 0 is used to indicate that an object has not arrived, other numbers can also be used to indicate the corresponding meanings. For example, 0 can be used to indicate that an object has arrived and 1 can be used to indicate that an object has not arrived.

[0035] At block 414, it is determined whether the object's arrival time matches the expected arrival time. For example, because an object may be removed from the assembly line or a new object may be added to the assembly line, the detected object's arrival time may not match the expected arrival time, thereby causing an anomaly.

[0036] If it is determined at block 414 that the object arrival time matches the expected time, the method 400 proceeds to block 416 where the object ID is compared to the expected time. Generate a new message together. Alternatively, this message can also contain only the ID. In box 418, push the new message to the Detector i Linear data structure at the location, for example, pushing new messages to the queue i The top of the Queue i of new elements.

[0037] If it is determined at block 414 that the object's arrival time does not match the expected arrival time, the method 400 proceeds to block 420. At block 420, the specific circumstances of the abnormal situation are determined. For example, it can be determined whether the object arrived at the location earlier or later than the expected arrival time. If it is determined at block 420 that the object arrived at the location later than the expected arrival time, it is a timeout situation, which will be discussed below in conjunction with Figure 5 The timeout condition is described in detail. In this case, the method 400 proceeds to block 422. In block 422, the timed-out ID or IDs are pushed to the Detector i If it is determined at block 420 that the object arrives at the location later than the expected arrival time, the method 400 also proceeds to block 416 to determine the ID of the object and to include the ID of the object and the optional arrival time. Push the message to the queue i middle.

[0038] In the event of a timeout, you can traverse the queue at the previous position i-1 To determine which element's expected arrival time matches the object's arrival time, we can traverse the queue starting from the element at the end (i.e., the earliest element pushed to the queue). For a stack, we can traverse the stack starting from the element at the beginning (i.e., the most recently pushed element). In this way, the ID of the element can be determined as the ID of the object.

[0039] If it is determined in block 420 that the object arrives at the location earlier than the expected arrival time, it is a case of an inserted object, and the following will be combined with Figure 6 In this case, the method 400 proceeds to block 424. In block 424, a datagram containing the object's ID and arrival time is generated. It should be understood that the ID of the object can be defined in a way that is different from that of a normal object and can be redefined at the checkpoint. For example, an insert object and a regular object can be defined in different encodings. In block 426, the message is pushed to the Detector i The linear data structure at that location, for example, pushes the message to the queue i The top of the Queue i of new elements.

[0040] In some embodiments, the time interval is calculated To determine whether the object's movement between two positions has timed out. For ease of calculation, it can be further simplified, that is, only the timestamp entering the detector is used to calculate the movement time interval, that is, Obviously, Where d is the size of the object in the direction of movement, is the average moving speed between the two. Alternatively, the time stamp of leaving the detector can also be used to calculate the movement interval, that is, Since the timestamp of the object entering each position is recorded in the corresponding queue, for example Figure 3 The object shown in 3 can be used Calculate the object from the Detector i-1 to Detector i The time interval of the movement, where Represents a Queue i The first element (that is, the top element or the most recently pushed to the Queue i The timestamp of the element, It is a Queue i-1 The last element (that is, the bottom element or the one to be removed from the Queue i-1 The timestamp of the element that is popped up), where n i-1 =len(Queue i-1 )-1.

[0041] In production, for a given production cycle, the time interval for each object to move from one location to the next is essentially the same. If an abnormal situation occurs, such as an operator taking the object away or the object breaking during transfer, a timeout will occur.

[0042] Figure 5 An example of a timeout is shown. i-1 With Detector i The distance between them is l i The average moving speed is Then the moving time t i equal Due to the instability of transmission speed, slight deviations may occur.

[0043] Assume that object 3 (object with ID 3) is taken off the conveyor belt, then the actual moving time is equal This is because It is actually the arrival time of object 4, where g n is the gap between object 3 and object 4 plus the size of the object in the direction of movement. Therefore, we can Defined as the reference time for timeout judgment, here Indicates the buffer time, taking into account that the speed is not absolutely stable. Usually, Is an empirical value, should be less than Reference time Also reflects (in Detector i-1 and Detector i The production cycle of the process (between).

[0044] If you pass from Subtract To calculate t i ′ , then the value will be closest to This can be used to determine if the timeout actually reached the Detector. i This is particularly useful for removing multiple objects, for example, by calculating t i and make it The minimum deviation to determine the Detector i The actual ID of the object at

[0045] In some embodiments, since the average motion speed cannot be easily obtained Therefore, the reference time It can also be determined by statistics or machine learning, without knowing the details of the kinematics inside the module. For example, it can be statistically calculated that a certain number of objects (for example, five) have been detected by the Detector. i-1 Move to Detector i In addition, the movement time of each object can be continuously recorded to determine abnormal values ​​or changes in reference time caused by movement speed adjustments.

[0046] For example, the following formula can be used to determine whether a timeout has occurred:

[0047]

[0048] Here, j is a Queue i-1 The index of the element in , indicating the actual detected object. Therefore, by calculating the minimum movement time interval, the details of the kinematics inside the module can be inferred.

[0049] In some embodiments, due to the use of queues, Queue i-1 The element at the end, that is, the first to enter the Queue i-1 The element will also be the first to arrive at the Detector i It can be seen that in the previous formula, when the timeout occurs, the Queue will be traversed. i-1 All elements of the closest This is because if a timeout occurs, the element at the end of the queue still gets the minimum value (i.e. j = len(Queue i-1 )-1), it may mean that there is a pause in the transmission.

[0050] If j <len(Queue i-1 )-1, it means that one or more objects have left the moving sequence, Queue i-1 Elements that enter earlier than the jth element (index>j) will be pushed into an exception linear data structure, such as an exception queue or an exception stack.

[0051] Moving these exception elements to an exception linear data structure (e.g., an exception queue or an exception stack) instead of simply deleting them also allows for better inspection and tracking. Since the exception elements contain timestamps, they can be correlated with the actual abnormal conditions in production to find the cause.

[0052] Alternatively, the anomaly may be recorded by marking, for example, the time, time interval, location, and cause of the anomaly may be marked for association with the anomaly element.

[0053] In addition, multiple exception queues can be used to record object information under different abnormal conditions, for example, a queue for broken objects, a queue for defective products, a queue for removed objects, etc. Of course, this may require other information to classify the abnormal conditions, such as a programmable logic controller (PLC) signal indicating that the door is open, a test result (NOK) of the inspection equipment, etc. Therefore, the use of exception queues may be highly customized because different production lines have different abnormalities. However, the classification of abnormal conditions can be achieved through simple filters, that is, timeout plus condition A / condition B / ... The above only describes the concept of the embodiment of the present disclosure in conjunction with the exception queue as an example. However, it should be understood that these exception queues can be replaced by other linear data structures such as exception stacks.

[0054] In some embodiments, an exception queue may be created for each section of the production line (e.g., at the Detector i-1 and Detector i (between), and then use algorithms to classify abnormal objects by correlating with abnormal signals (e.g., alarms). For example, machine learning algorithms can be used to classify abnormal data or abnormal flows.

[0055] Since classification is performed almost immediately after timeout determination and the signal is automatically read using a PLC, abnormal flow management can be achieved very effectively. The classified data can be used for subsequent statistical analysis and predictive maintenance.

[0056] In some embodiments, an object is replaced in the production line after being removed.

[0057] Figure 6 FIG. 5 is a schematic diagram showing a tracking method in this case according to some embodiments of the present disclosure. Figure 6 As shown, object 7 is inserted into the movement sequence and placed in front of object 3. In this case, when Detector i With a new detection value, t i will be equal to For example, there are two conditions that can be used to judge this situation, as shown in the following formula:

[0058]

[0059] here, and Detector i The current timestamp and next timestamp of the object detected; It is a Detector i-1 The last timestamp when the object was detected, n i-1 =len(Queue i-1 )-1. In this case, the object ID being processed and A new element will be constructed and pushed to the Queue i The ID of the object being processed can be defined in a way that it is distinct from normal objects and can be redefined at checkpoints.

[0060] Combination of the above Figure 6 An embodiment of inserting an object into a product line is introduced. Those skilled in the art should understand that the processing of inserting multiple objects simultaneously can be similar to the timeout determination of removing multiple objects.

[0061] In some embodiments, the accuracy of the virtual tracking described above can be verified by cross-checking. For example, the cross-check can be performed using a count of objects, i.e., the number of objects entering a workstation minus the number of objects removed plus the number of objects reinjected minus the number of objects damaged equals the number of objects leaving the workstation.

[0062] For example, one or more checkpoints can be set. Physical identification can be set on the object, such as a QR code, barcode, etc. For example, if the ID is printed on the object in the form of a data matrix code (DMC), it is possible to check whether the actual ID sequence is consistent with the expected ID queue by installing a scanner at a specific position as a checkpoint. If the check results are inconsistent, the queue can be readjusted based on the actual scan results. At this time, it is possible to check whether the configuration of the virtual tracking algorithm is correct, such as The above only describes the concept of the embodiment of the present disclosure in conjunction with queues as an example. However, it should be understood that these queues can also be replaced by other suitable linear data structures such as stacks.

[0063] In the embodiments of the present disclosure, traceability is achieved without relying on checkpoints, but rather using them as a means of verification. In practice, relying solely on scanners or RFID readers for traceability would be costly. These devices cannot be installed or used in certain harsh conditions (for example, RFID tags cannot survive temperatures exceeding 400°C). Virtual tracking undoubtedly offers the advantages of flexibility and cost savings.

[0064] However, in some cases, checkpoints are necessary, that is, when the movement sequence is interrupted and the order of objects is manually broken, so that subsequent checkpoints can be set to reorganize the order of IDs in linear data structures such as queues or stacks.

[0065] In production traceability applications, it is usually necessary to associate the object ID with the process parameters of each process so that indicators such as product quality can be associated with the production process, thereby performing product failure analysis and optimizing process control.

[0066] Figure 7 An example of association of object ID with process parameters is shown. k The closest detector i The distance between them is fixed, so we can use the distance l k and timestamp To derive and extract the corresponding process parameters. For example, according to Sensor k The sampling frequency, that is, The value measured under measurement, or at the closest For example, the production cycle can also be considered To set the sampling frequency, it helps to associate object ID with process parameters.

[0067] The values ​​of certain process parameters, such as the surface temperature of an object, can vary significantly depending on the presence or absence of an object. This type of process parameter sensor can also be considered an object detector. For example, a queue can be assigned to this object detector, and the elements of this queue can include the measured values ​​of the process parameter in addition to the object ID and timestamp.

[0068] Through its modular design, the virtual traceability system can be easily deployed on production lines. For example, object detectors can be installed at key locations along the production line and then connected to edge computing devices or other computing devices via an industrial network. The virtual tracking program will be deployed on these computing devices. These computing devices can be distributed across various sites and interconnected via a network or other communication method. Alternatively, the computing device can be centralized and receive detection signals from each object detector for evaluation.

[0069] In some embodiments, various sensors, PLCs, and the like can be connected to the network to manage abnormal flows, associate object IDs with production conditions, and so on. Furthermore, when tracking objects, the object ID, the timestamp of each inspection location, and related process parameters and measurement results can be written to a database in real time, thereby establishing a product-centric database.

[0070] Figure 8 A flow chart of a tracking method 800 according to some embodiments of the present disclosure is shown. Figure 8 Can be set in Figure 1 Detector shown i The computing device at the site is implemented.

[0071] At block 802, it is determined whether a first object has reached a first position. For example, the first position may be Figure 3 Detector shown i The first object may be object 3. Of course, the first position may also be any other suitable position on the production line, for example, a detector Detector i-1 Location.

[0072] At block 804, in response to determining that the first object has arrived at the first location, an identity of the first object is determined. i-1 For example, you can use the Detector i-1 Queue at i-1 Get the ID of the first object, that is, ID 3.

[0073] At block 806, a first message is generated that includes the identification of the first object. The first message may include the identification of the first object, for example, ID 3, and may also include the time when the first object arrived at the first location, for example, Figure 3 The time of ID3 is shown.

[0074] At block 808, a second message located at a second location upstream from the first location is moved, the second message including an identification of the first object. Figure 3 As shown, the second position can be Detector i-1 For example, you can remove the message containing ID 3 from the queue. i-1 The message can be directly deleted or moved to another data structure (e.g., another queue) or other storage space at a second location. It should be understood that although Figure 8 The order is shown in FIG. 8 , and the order of blocks 806 and 808 can be reversed or performed in parallel.

[0075] For example, the first message can be pushed to a linear data structure at the first position, and the second message can be popped out of the linear data structure at the second position. These linear data structures can be implemented by queues or stacks. Alternatively, any other suitable data structure can also be used.

[0076] In some embodiments, method 800 further includes: determining an expected arrival time of a second object at the first location; and in response to determining that the time of arrival of a third object at the first location does not match the expected arrival time, generating a third message indicating that the second object is not expected to arrive at the first location. The third message may include an identifier of the second object and, optionally, an expected arrival time of the second object at the first location. In this manner, anomaly detection may be implemented, such as Figure 4 As shown in box 414.

[0077] In some embodiments, determining the expected arrival time includes: determining the time when the second object arrives at the second position, the average moving speed between the first position and the second position, and the distance between the first position and the second position; and determining the expected arrival time based on the time when the second object arrives at the second position, the average moving speed between the first position and the second position, and the distance between the first position and the second position.

[0078] In some embodiments, determining the expected arrival time includes: determining a reference movement time between the second position and the first position through statistics or machine learning; and determining the expected arrival time based on the reference movement time.

[0079] In some embodiments, the time at which the third object arrives at the first location does not match the expected arrival time, including: the third object arriving at the first location after a time window defined by the expected arrival time, and the third message including the identifier of the second object and the expected arrival time of the second object. In addition, the third message is pushed into the abnormal linear data structure of the first location, the identifier of the third object is determined, a fourth message including the identifier of the third object is generated, and the fourth message is pushed into the linear data structure of the first location. In this way, timeout detection can be implemented, for example, by Figure 4-Figure 5 The method shown is used to implement timeout detection.

[0080] In some embodiments, the arrival time of the third object at the first location does not match the expected arrival time, including the third object arriving at the first location before a time window defined by the expected arrival time. The third message includes an identifier of the third object and the time of arrival of the third object at the first location. Method 800 also includes pushing the third message to the linear data structure at the first location. The identifier of the third object can be obtained and defined differently than for conventional objects. In this manner, detection and tracking of reinjected objects can be achieved.

[0081] In some embodiments, the third message can be associated with an abnormal signal associated with the first location at the expected arrival time of the second object. In this way, the cause of the abnormality can be analyzed, thereby facilitating subsequent improvements to the tracking method and / or process flow.

[0082] In some embodiments, method 800 further includes associating process parameters of a process associated with the first location with the first object based on the identifier of the first object. In this way, a product can be associated with various process parameters, thereby facilitating query and product traceability.

[0083] In some embodiments, method 800 further includes determining whether a fourth object has arrived at the second location; in response to determining that the fourth object has arrived at the second location, determining an identity of the fourth object; generating a fifth message including the identity of the fourth object; and causing a sixth message to be moved to a third location upstream of the second location, the sixth message including the identity of the fourth object. The second location may be such as Figure 3 Detector shown i-1 The location, and the third location can be the upstream Detector i-2 Location.

[0084] In some embodiments, the first object includes a physical identifier, such as a QR code, a barcode, or the like. Method 800 includes extracting the physical identifier of the first object from the first object; and determining whether the physical identifier extracted from the first object is consistent with the identifier obtained from the second location for cross-checking. For example, the physical identifier of the object can be extracted from the first object by, for example, reading a barcode.

[0085] According to embodiments of the present disclosure, production traceability can be rapidly deployed to various stations on a production line using a modular approach, using the output signals of object detectors to record the product's identity and optional timestamp at each section of the production line. Furthermore, embodiments of the present disclosure allow for the rapid addition of new stations to the tracking process, as well as conveniently modifying, skipping, and deleting tracking for one or more sections. This solution has no strict production line requirements and can be applied to a variety of different production lines and quickly deployed to a variety of production lines.

[0086] Printing identification on products (e.g., components or parts) and providing relevant information is greatly beneficial for quality control and the rapid tracking and analysis of product failures. Users can easily obtain relevant information about the product, thereby improving the production process using these components or parts, and taking a step further towards the realization of intelligent manufacturing.

[0087] By means of modular configuration, the embodiments of the present disclosure can be applied to various complex pipelines. For example, Figure 9 FIG1 shows a schematic diagram of a production line system 900 according to some embodiments. In the production line system 900, detectors are provided at multiple stations and corresponding modules are provided at each detector. For example, FIFO 901 represents a module provided at one station for implementing the following example: Figures 1-8 The methods and functions shown. Figure 9 FIFOs 901 and 904 form an upstream and downstream pipeline, FIFOs 902 and 905 form an upstream and downstream pipeline, and FIFOs 903 and 906 form an upstream and downstream pipeline. The three sub-pipelines are merged together at block 907 and split into two sub-pipelines, LIFOs 909 and 910, at block 908.

[0088] Figure 10 1 shows a schematic block diagram of a device 1000 that can be used to implement an embodiment of the present disclosure. Figure 4 The method 400 shown and Figure 8 The illustrated method 800 may be implemented by a device 1000. The device 1000 may be implemented at each detector or may be communicatively coupled to each detector.

[0089] like Figure 10As shown, the device 1000 includes a central processing unit (CPU) 1001, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 1002 or loaded from a storage unit 1008 into a random access memory (RAM) 1003. Various programs and data required for the operation of the device 1000 can also be stored in the RAM 1003. The CPU 1001, ROM 1002, and RAM 1003 are connected to each other via a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.

[0090] Various components in device 1000 are connected to I / O interface 1005, including an input unit 1006, such as a keyboard, mouse, etc.; an output unit 1007, such as various types of displays, speakers, etc.; a storage unit 1008, such as a magnetic disk, optical disk, etc.; and a communication unit 1009, such as a network card, modem, wireless communication transceiver, etc. The communication unit 1009 allows device 1000 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0091] The various processes and processing described above, such as method 400 or 800, may be performed by processing unit 1001. For example, in some embodiments, method 400 or 800 may be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as storage unit 1008. In some embodiments, part or all of the computer program may be loaded and / or installed on device 1000 via ROM 1002 and / or communication unit 1009. When the computer program is loaded into RAM 1003 and executed by CPU 1001, one or more steps of method 400 or 800 described above may be performed. Alternatively, in other embodiments, CPU 1001 may be configured to perform method 400 or 800 in any other appropriate manner (e.g., by means of firmware).

[0092] The present disclosure may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present disclosure.

[0093] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination thereof. As used herein, a computer-readable storage medium is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through an electrical wire.

[0094] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.

[0095] The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, Python, C++, and conventional procedural programming languages ​​such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., utilizing an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions. The electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.

[0096] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0097] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, such that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0098] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0099] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and the part of the module, program segment or instruction contains one or more executable instructions for realizing the prescribed logical function. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the prescribed function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0100] The embodiments of the present disclosure have been described above. The above description is illustrative and not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, practical applications, or improvements to the technology in the market, or to enable other persons skilled in the art to understand the embodiments disclosed herein.

Claims

1. A computer-implemented method for product traceability, comprising: determining whether the first object reaches the first position; In response to determining that the first object has arrived at the first location, determining an identity of the first object; generating a first message including an identification of the first object; Pushing the first message to the linear data structure at the first location; as well as A second message at a second location upstream from the first location is caused to be moved, the second message including an identification of the first object, wherein causing the second message to be moved comprises popping the second message from a linear data structure at the second location. The method of claim 1 , wherein the linear data structure comprises a queue or a stack.

3. The method according to claim 1, further comprising: determining an expected arrival time of a second object at the first location; as well as In response to determining that the time of arrival of the third object at the first location does not match the expected arrival time, a third message is generated indicating that the second object is not expected to arrive at the first location.

4. The method of claim 3, wherein determining the expected arrival time comprises: determining a time when the second object arrives at the second position, an average speed of movement between the first position and the second position, and a distance between the first position and the second position; as well as The expected arrival time is determined based on the time when the second object arrives at the second position, the average moving speed between the first position and the second position, and the distance between the first position and the second position.

5. The method of claim 3 , wherein determining the expected arrival time comprises: determining a reference motion time between the second position and the first position by statistics or machine learning; as well as Based on the reference movement time, the expected arrival time is determined.

6. The method according to claim 3, wherein: When the third object arrives at the first location after the time window defined by the expected arrival time, the third message includes an identification of the second object and an expected arrival time of the second object at the first location; The method further includes: pushing the third message into the abnormal linear data structure at the first location; determining an identification of the third object and generating a fourth message including the identification of the third object; and Pushing the fourth message to the linear data structure at the first location.

7. The method according to claim 3, wherein: When the third object arrives at the first location before the time window defined by the expected arrival time, the third message includes an identification of the third object and the time when the third object arrived at the first location, The method also includes pushing the third message to the linear data structure at the first location.

8. The method according to claim 3, further comprising: The third message is associated with an anomaly signal associated with the first location at the expected arrival time of the second object.

9. The method according to any one of claims 1 to 7, further comprising: Based on the identification of the first object, process parameters of a process associated with the first location are associated with the first object.

10. The method according to any one of claims 1 to 7, further comprising: determining whether a fourth object has reached the second position; in response to determining that the fourth object has arrived at the second location, determining an identity of the fourth object; generating a fifth message including an identification of the fourth object; as well as A sixth message located at a third location upstream from the second location is caused to be moved, the sixth message including an identification of the fourth object.

11. The method according to any one of claims 1 to 7, wherein determining the identity of the first object comprises: An identification of the first object is obtained from the second location.

12. The method according to claim 11, wherein The first object includes a physical identifier, and the method further includes: extracting a physical identifier of the first object from the first object; and Determine whether the physical identification extracted from the first object is consistent with the identification obtained from the second location for cross-checking.

13. A computing device comprising: processing unit; as well as A memory coupled to the processing unit and comprising instructions stored on the memory, the instructions, when executed by the processing unit, causing the computing device to perform the method according to any one of claims 1-12.

14. A system for product tracing, comprising: A plurality of modules disposed in a process stream, each module of the plurality of modules comprising: an object detector configured to detect whether an object has reached a position of the object detector; and The computing device of claim 13, the computing device being coupled to the object detector.

15. A computer-readable storage medium storing computer-executable instructions, which, when executed by at least one processor, cause the at least one processor to perform the method according to any one of claims 1-12.

Citation Information

Patent Citations

  • A radio frequency identification system for tracking and managing materials in a manufacturing process

    CN104221035A

  • Method and apparatus for determining physical location of electronic device

    CN107666658A