Method for dynamically positioning batches of materials in stock bin

By using the combination of computer systems and MongoDB database in industrial production, the problem of difficulty in positioning material batches in the silo is solved, real-time dynamic positioning of material batches in the silo is achieved, and management accuracy and efficiency are improved.

CN119262644APending Publication Date: 2025-01-07MCC NORTH (DALIAN) ENG TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411510533.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-28
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

In industrial production, it is difficult to accurately locate the material batches in the silo, and traditional monitoring methods cannot reflect the material distribution in real time and accurately, resulting in inefficient management and errors or loss of information recording.

Method used

The conventional computer system and PLC interface are used to collect bin data in real time through the OPC protocol, develop batch positioning algorithms using Python, and use MongoDB database to store time sequence data to realize dynamic positioning of material batches in the bin.

Benefits of technology

Real-time dynamic positioning of material batches in the silo is realized, management accuracy and reliability are improved, manual intervention is reduced, and data storage and reading efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119262644A_ABST
    Figure CN119262644A_ABST
Patent Text Reader

Abstract

A method for dynamically positioning batches of materials in a stock bin belongs to the technical field of data processing, and adopts a conventional computer system as a data processing and storage platform, is equipped with a high-performance processor and a large-capacity storage device, accesses PLC production data through an OPC protocol, and collects related data of the stock bin in real time; using Python to develop a batch positioning algorithm; and a MongoDB database is used for storing the time sequence data. According to the method, the MongoDB database is used for storing the time sequence data, meanwhile, the character string is used for storing the time sequence data, all needed information is stored at a time, the data processing flow is simplified, the number of times of interaction with the database is reduced, and the data storage and reading efficiency is improved. By automatically calculating the feeding amount and the discharging amount in each period and updating the positions of the material batches in the stock bin in real time, the specific position of each batch in the stock bin is dynamically positioned in real time, manual intervention is reduced, and the accuracy and reliability of batch management are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of data processing, and in particular relates to a method for dynamically positioning a batch of materials in a silo. Background Art

[0002] In the industrial production process, silos are important facilities for storing and managing various materials. In order to ensure the continuity of production and product quality, it is essential to effectively manage the batches of materials in the silo. At present, the method that relies on the time sequence of feeding and discharging is usually used to manage the batches of materials in the silo. This method has certain defects in sintering production.

[0003] First, it is difficult to accurately locate the specific location of each batch in the silo, especially when processing multiple batches of materials or a single batch of materials entering different silos, which is prone to confusion. Secondly, traditional monitoring methods are mainly based on inlet and outlet records, which cannot reflect the distribution of different batches of materials in the silo in real time and accurately. The manual recording and management of batch information is also inefficient, and it is easy to cause batch information to be recorded incorrectly or lost due to human error. Summary of the invention

[0004] In order to solve the above problems, the present invention proposes: a method for dynamically locating material batches in a silo, using a conventional computer system as a data processing and storage platform, equipped with a high-performance processor and a large-capacity storage device, accessing PLC production data through the OPC protocol, and collecting relevant data of the silo in real time;

[0005] Use Python to develop batch positioning algorithms; use MongoDB database to store time series data.

[0006] Furthermore, the method specifically includes the following steps:

[0007] S1. Data collection and definition: Collect relevant data about the feeding and discharging of a silo through a specified time period;

[0008] S2. The stratification and composition information of the silo materials are converted into a data storage format;

[0009] S3. Calculate and update the material stratification and composition information of the new cycle silo according to the batch positioning algorithm:

[0010] S4. Display of dynamic positioning results.

[0011] Furthermore, in step S1, data collection and definition are as follows:

[0012] Silo level, defined as Lever, in tons;

[0013] Silo material stratification and composition information, defined as Lever_MAT, string type, recognized as NULL when calculated for the first time;

[0014] The discharge volume is defined as Outflow, in tons;

[0015] The discharge speed is defined as OutflowSpeed, in tons per hour;

[0016] The time period is defined as T, in minutes;

[0017] Material composition, defined as M, string type;

[0018] The variable name (T) represents the variable value at the current time; the variable name (T-1) represents the variable value of the previous time period; the variable name (T+1) represents the variable value of the next time period, that is, the updated data.

[0019] Furthermore, in step S2, the MongoDB database is used to store the silo material layered composition information time series data, and each record contains the following field information content:

[0020] Material composition (M): content information of each component of the material;

[0021] Starting material level (start_Lever_i): the starting position of the i-th layer of material in the silo;

[0022] End material level (end_Lever_i): the end position of the i-th layer of material in the silo;

[0023] Timestamp: data recording time, in string format (ISO 8601 standard), used to identify batches of raw materials;

[0024] Data storage format description: [{[batch 1 material composition], batch 1 starting material level, batch 1 ending material level, timestamp}, {[batch 2 material composition], batch 2 starting material level, batch 2 ending material level, timestamp}, …]. Further, in step S3, the traditional batch management algorithm is used to locate each batch of materials in the silo based on the time sequence and the inlet and outlet data, and the following calculation is performed once in each time period:

[0025] Get the current silo material layer composition information data (Lever_MAT(T)), and determine whether it is NULL. If it is NULL, it means there is no material in the silo, otherwise it means there is material.

[0026] Furthermore, if there is no material in the silo:

[0027] The new feed is the first layer of material in the silo. In this case, the discharge volume (Outflow) is not considered. The starting level (start_Lever_1) of the first layer of material is 0, the ending level (end_Lever_1) is the current level Lever (T), and the material composition (M) is the current composition M (T). At the same time, the current timestamp Timestamp (T) is obtained, that is, the silo material layer composition information data is:

[0028] Lever_MAT(T+1)="[{[M(T)],0,Lever(T),Timestamp(T)}]".

[0029] Furthermore, if there are raw materials in the silo, assuming there are 2 layers of materials:

[0030] After obtaining the silo discharge volume and the current material layer information of the silo, first calculate the discharge volume:

[0031] Outflow = Outflow Speed ​​* Time period (T)

[0032] Then the starting and ending material levels of each layer of material in the silo are calculated cyclically:

[0033] The new starting material level of each layer of material is the starting material level of the layer minus the discharge amount of the time period, that is:

[0034] start_Lever_i(T+1)=start_Lever_i(T)-Outflow(T);

[0035] If the starting material level is less than 0, it is recorded as 0;

[0036] The new end material level of each layer of material is the end material level of the layer of material minus the discharge amount of the time period, that is:

[0037] end_Lever_i(T+1)=end_Lever_i(T)-Outflow(T);

[0038] If the final material level is less than 0, it means that the material in this layer has been consumed, and the material in this layer will be deleted;

[0039] Process the current material layer information data, take out the top material composition information in the silo, compare it with the material composition information of the incoming material, and determine whether the new incoming material is the original batch or a new batch;

[0040] If the composition of the new feed is the same as the composition of the top layer of material in the silo, then the new feed is the original batch:

[0041] Update the end material level of the top material to the current material level Lever (T). Since it is not a new batch, the timestamp is not changed. The new cycle data of the silo material layering and composition information is:

[0042] Lever_MAT(T+1)="[{M1(T),0,end_Lever_1(T+1)},{[M2(T)],end_Lever_1(T+1),Lever(T),Timestamp(T)}]"

[0043] ii) If the composition of the new feed is different from the composition of the top layer of material in the silo, the new feed is a new batch:

[0044] Then the material in the silo will change from 2 layers to 3 layers, the starting material level (start_Lever_3) of the third layer material is the ending material level (end_lever_2) of the second layer material, the ending material level (end_Lever_3) of the third layer material is the current material level Lever (T), the material composition (M) is the current composition M (T), and the current timestamp Timestamp (t) is obtained at the same time; the new periodic data of the silo material layering and composition information is:

[0045] Lever_MAT(T+1)="[{[M_1],0,end_Lever_1(T+1),Timestamp_1},{[M_2],start_Leve r_2(T+1),end_Lever_2(T+1),Timestamp_2},{[M(T)],end_Lever_2(T+1),Lever(T),Timestamp(T)}]"

[0046] The silo material stratification and composition information Lever_MAT(T+1) calculated for the new period is stored in the MongoDB database.

[0047] Furthermore, in step S4, a data visualization tool is used to display the time series data in MongoDB in real time, visually displaying the dynamic distribution of the material batches in the silo.

[0048] The beneficial effects of the present invention are as follows: the present invention uses the MongoDB database to store time series data, and uses a string to store time series data to store all required information at once, which simplifies the data processing process, reduces the number of interactions with the database, and improves data storage and reading efficiency. By automatically calculating the feed and discharge amounts in each cycle and updating the material batch position in the silo in real time, the specific position of each batch in the silo can be dynamically located in real time, reducing manual intervention and improving the accuracy and reliability of batch management. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] Figure 1 The present invention is a flow chart of a method for dynamically positioning a batch of materials in a silo. DETAILED DESCRIPTION

[0050] In order to make the technical means and objectives of the present invention easy to understand, the present invention is further described below in combination with specific implementation methods. A method for dynamically locating material batches in a silo uses a conventional computer system as a data processing and storage platform in hardware, equipped with a high-performance processor and a large-capacity storage device. The PLC (programmable logic controller) production data is accessed through the OPC protocol to collect relevant data of the silo in real time. Python is used to develop a batch positioning algorithm in software; MongoDB database is used to store time series data.

[0051] like Figure 1 As shown, the specific steps include:

[0052] 1) Data collection and definition: Collect relevant data about the feeding and discharging of a silo through a specified time period. The details are as follows:

[0053] Silo level, defined as Lever, in tons (t);

[0054] Silo material stratification and composition information, defined as Lever_MAT, string type, recognized as NULL when calculated for the first time;

[0055] The discharge volume is defined as Outflow, in tons (t);

[0056] The discharge speed is defined as OutflowSpeed, in tons per hour (t / h);

[0057] Time period, defined as T, in minutes (min);

[0058] Material composition, defined as M, string type.

[0059] The variable name (T) represents the variable value at the current time; the variable name (T-1) represents the variable value of the previous time period; the variable name (T+1) represents the variable value of the next time period, that is, the updated data.

[0060] 2) Storage format of silo material stratification and composition information (Lever_MAT):

[0061] The MongoDB database is used to store the time series data of the silo material layer composition information. Each record contains the following field information content:

[0062] Material composition (M): content information of each component of the material, such as the content of CaO, MgO, etc.

[0063] Starting material level (start_Lever_i): The starting position of the i-th layer of material in the silo.

[0064] End material level (end_Lever_i): the end position of the i-th layer of material in the silo.

[0065] Timestamp: Data recording time, in string format (ISO8601 standard). Use timestamp to identify the batch of raw materials.

[0066] Data storage format description: [{[batch 1 material composition], batch 1 starting material level, batch 1 ending material level, timestamp}, {[batch 2 material composition], batch 2 starting material level, batch 2 ending material level, timestamp}, ...]

[0067] Data storage format example: [{[20, 13, 21, 13, 24], 0, 23, 1718638810}, {[21, 12, 13, 14, 21], 23, 30, 1718638908}, …]

[0068] 3) Calculate and update the material stratification and composition information Lever_MAT(T+1) of the new period silo according to the batch positioning algorithm: Use the traditional batch management algorithm, relying on the time sequence and the material in and out data, to locate each batch of materials in the silo. Perform the following calculation once every time period

[0069] Get the current silo material layer composition information data (Lever_MAT(T)) and determine whether it is NULL. If it is NULL, it means there is no material in the silo, otherwise it means there is material.

[0070] A. If there is no material in the silo:

[0071] The new feed is the first layer of material in the silo. In this case, the discharge volume (Outflow) is not considered. The starting level (start_Lever_1) of the first layer of material is 0, the ending level (end_Lever_1) is the current level Lever (T), and the material composition (M) is the current composition M (T). At the same time, the current timestamp Timestamp (T) is obtained. That is, the silo material layer composition information data is:

[0072] Lever_MAT(T+1)="[{[M(T)],0,Lever(T),Timestamp(T)}]"

[0073] B. If there are raw materials in the silo (assuming there are 2 layers of materials):

[0074] After obtaining the silo discharge volume and the current material layer information of the silo, first calculate the discharge volume:

[0075] Outflow = Outflow Speed ​​* Time period (T)

[0076] Then the starting and ending material levels of each layer of material in the silo are calculated cyclically:

[0077] The new starting material level of each layer of material is the starting material level of the layer minus the discharge amount of the time period, that is:

[0078] start_Lever_i(T+1)=start_Lever_i(T)-Outflow(T).

[0079] If the starting material level is less than 0, it is recorded as 0;

[0080] The new end material level of each layer of material is the end material level of the layer of material minus the discharge amount of the time period, that is:

[0081] end_Lever_i(T+1)=end_Lever_i(T)-Outflow(T).

[0082] If the final material level is less than 0, it means that the material in this layer has been consumed, and the material in this layer will be deleted.

[0083] The current material stratification information data is processed, the uppermost material composition information in the silo is taken out, and compared with the material composition information of the incoming material to determine whether the new incoming material is an original batch or a new batch.

[0084] If the composition of the new feed is the same as the composition of the top layer of material in the silo, then the new feed is the original batch:

[0085] Update the end material level of the top material to the current material level Lever (T). Since it is not a new batch, the timestamp is not changed. The new cycle data of the silo material layering and composition information is:

[0086] Lever_MAT(T+1)="[{M1(T),0,end_Lever_1(T+1)},{[M2(T)],end_Lever_1(T+1),Lever(T),Timestamp(T)}]"

[0087] ii) If the composition of the new feed is different from the composition of the top layer of material in the silo, the new feed is a new batch:

[0088] Then the material in the silo will change from 2 layers to 3 layers, the starting material level (start_Lever_3) of the third layer material is the ending material level (end_lever_2) of the second layer material, the ending material level (end_Lever_3) of the third layer material is the current material level Lever (T), the material composition (M) is the current composition M (T), and the current timestamp Timestamp (t) is obtained at the same time. The new periodic data of the silo material layering and composition information is:

[0089] Lever_MAT(T+1)="[{[M_1],0,end_Lever_1(T+1),Timestamp_1},{[M_2],start_Leve r_2(T+1),end_Lever_2(T+1),Timestamp_2},{[M(T)],end_Lever_2(T+1),Lever(T),Timestamp(T)}]"

[0090] The silo material stratification and composition information Lever_MAT(T+1) calculated for the new cycle is stored in the MongoDB database.

[0091] 4) Dynamic positioning results display:

[0092] Using data visualization tools, the time series data in MongoDB can be displayed in real time, intuitively showing the dynamic distribution of material batches in the silo.

[0093] The above description is only a preferred specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can make equivalent replacements or changes according to the technical solutions and concepts of the present invention within the technical scope disclosed by the present invention, which should be covered by the protection scope of the present invention.

Claims

1. A method for dynamically locating a batch of materials in a silo, characterized in that: Use conventional computer systems as data processing and storage platforms, equipped with high-performance processors and large-capacity storage devices, access PLC production data through the OPC protocol, and collect relevant data of the silo in real time; Use Python to develop batch positioning algorithms; use MongoDB database to store time series data.

2. The method for dynamically positioning a batch of materials in a silo as claimed in claim 1, characterized in that: The specific steps include: S1. Data collection and definition: Collect relevant data about the feeding and discharging of a silo through a specified time period; S2. The stratification and composition information of the silo materials are converted into a data storage format; S3. Calculate and update the material stratification and composition information of the new cycle silo according to the batch positioning algorithm: S4. Display of dynamic positioning results.

3. The method for dynamically positioning a batch of materials in a silo as claimed in claim 2, characterized in that: In step S1, data collection and definition are as follows: Silo level, defined as Lever, in tons; Silo material stratification and composition information, defined as Lever_MAT, string type, recognized as NULL when calculated for the first time; The discharge volume is defined as Outflow, in tons; The discharge speed is defined as OutflowSpeed, in tons per hour; The time period is defined as T, in minutes; Material composition, defined as M, string type; The variable name (T) represents the variable value at the current time; the variable name (T-1) represents the variable value of the previous time period; the variable name (T+1) represents the variable value of the next time period, that is, the updated data.

4. The method for dynamically positioning a batch of materials in a silo as claimed in claim 2, characterized in that: In step S2, the MongoDB database is used to store the silo material layered composition information time series data, and each record contains the following field information content: Material composition (M): content information of each component of the material; Starting material level (start_Lever_i): the starting position of the i-th layer of material in the silo; End material level (end_Lever_i): the end position of the i-th layer of material in the silo; Timestamp: data recording time, in the string type format (ISO 8601 standard), used to identify the batch of raw materials; Data storage format description: [{[batch 1 material composition], batch 1 starting material level, batch 1 ending material level, timestamp}, {[batch 2 material composition], batch 2 starting material level, batch 2 ending material level, timestamp}, …].

5. The method for dynamically positioning a batch of materials in a silo as claimed in claim 2, characterized in that: In step S3, a traditional batch management algorithm is used to locate each batch of materials in the silo, relying on the time sequence and the inlet and outlet data. The following calculation is performed once in each time period: Get the current silo material layer composition information data (Lever_MAT(T)), and determine whether it is NULL. If it is NULL, it means there is no material in the silo, otherwise it means there is material.

6. The method for dynamically positioning a batch of materials in a silo as claimed in claim 5, characterized in that: If there is no material in the silo: The new feed is the first layer of material in the silo. In this case, the discharge volume (Outflow) is not considered. The starting level (start_Lever_1) of the first layer of material is 0, the ending level (end_Lever_1) is the current level Lever (T), and the material composition (M) is the current composition M (T). At the same time, the current timestamp Timestamp (T) is obtained, that is, the silo material layer composition information data is: Lever_MAT(T+1)="[{[M(T)],0,Lever(T),Timestamp(T)}]".

7. The method for dynamically positioning a batch of materials in a silo as claimed in claim 5, characterized in that: If there are raw materials in the silo, assuming there are 2 layers of materials: After obtaining the silo discharge volume and the current material layer information of the silo, first calculate the discharge volume: Outflow = Outflow Speed ​​* Time period (T) Then the starting and ending levels of each layer of material in the silo are calculated cyclically: The new starting material level of each layer of material is the starting material level of the layer minus the discharge amount of the time period, that is: start_Lever_i(T+1)=start_Lever_i(T)-Outflow(T); If the starting material level is less than 0, it is recorded as 0; The new end material level of each layer of material is the end material level of the layer of material minus the discharge amount of the time period, that is: end_Lever_i(T+1)=end_Lever_i(T)-Outflow(T); If the final material level is less than 0, it means that the material in this layer has been consumed, and the material in this layer will be deleted; Process the current material layer information data, take out the top material composition information in the silo, compare it with the material composition information of the incoming material, and determine whether the new incoming material is the original batch or a new batch; If the composition of the new feed is the same as the composition of the top layer of material in the silo, then the new feed is the original batch: Update the end material level of the top material to the current material level Lever (T). Since it is not a new batch, the timestamp is not changed. The new cycle data of the silo material layering and composition information is: Lever_MAT(T+1)="[{M1(T),0,end_Lever_1(T+1)}, {[M2(T)],end_Lever_1(T+1),Lever(T),Timestamp(T)}]” ii) If the composition of the new feed is different from the composition of the top layer of material in the silo, the new feed is a new batch: Then the material in the silo will change from 2 layers to 3 layers, the starting material level (start_Lever_3) of the third layer material is the ending material level (end_lever_2) of the second layer material, the ending material level (end_Lever_3) of the third layer material is the current material level Lever (T), the material composition (M) is the current composition M (T), and the current timestamp Timestamp (t) is obtained at the same time; the new periodic data of the silo material layering and composition information is: Lever_MAT(T+1)= "[{[M_1],0,end_Lever_1(T+1),Timestamp_1},{[M_2],start_Leve r_2(T+1),end_Lever_2(T+1),Timestamp_2},{[M(T)],end_Lever_2(T+1),Lever(T),Timestamp(T)}]" The silo material stratification and composition information Lever_MAT(T+1) calculated for the new period is stored in the MongoDB database.

8. The method for dynamically positioning a batch of materials in a silo as claimed in claim 2, characterized in that: In step S4, a data visualization tool is used to display the time series data in MongoDB in real time, visually displaying the dynamic distribution of the material batches in the silo.