Scheduling method for tool parts
By determining the priority and scheduling of tooling components based on the use of tooling components, the problem of uneven resource allocation in the prior art is solved, and the reasonable allocation of tooling components and the reduction of maintenance costs are achieved.
Patent Information
- Application Number
- CN202311687338.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-08
- Publication Date
- 2025-04-15
AI Technical Summary
The existing tooling component scheduling methods mainly rely on path length, ignore the average number of call times of tooling components, resulting in uneven resource allocation, excessive use of some tooling components and idle other tooling components, resulting in waste of resources and increased maintenance costs.
By determining the priority of the tooling components in the idle state and performing task scheduling. Specific methods include prioritizing the remaining maintenance time or the number of times it has been used, ensuring that tooling components are fully utilized before the maintenance cycle, and reducing maintenance costs.
The rational allocation of tooling components is achieved, the maintenance cost of tooling components is reduced, the resource utilization rate is improved, and resource waste is avoided.
Smart Images

Figure CN119831190A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of automation control, and in particular to a method for scheduling tooling components. Background Art
[0002] Tooling parts used in some production processes need to be regularly inspected and maintained. Even if they have been idle for a certain period of time, they need to be inspected before they can be put into use again. In addition, they will wear out faster under normal use, and must be inspected after a certain number of uses before they can continue to be used.
[0003] The current scheduling scheme for tooling parts is based on the length of the path. Tooling parts with shorter paths to the work site will be scheduled first, while tooling parts with longer paths to the work site will be scheduled less frequently.
[0004] However, scheduling by path length mainly relies on the path length, while ignoring the average number of times tooling parts are called, resulting in unbalanced resource allocation. This unbalanced resource allocation may lead to excessive use of some tooling parts, while other tooling parts are rarely called, resulting in waste of resources and increased maintenance costs. Summary of the invention
[0005] The present application provides a scheduling method for tooling components, which realizes the reasonable allocation of tooling components and reduces the maintenance cost of tooling components.
[0006] In a first aspect, an embodiment of the present application provides a method for scheduling tooling components, comprising:
[0007] Determining the priority of each tooling component in an idle state according to the usage of each tooling component in an idle state;
[0008] According to the priority of each tooling component in the idle state, task scheduling is performed on each tooling component in the idle state.
[0009] It can be seen that the present application determines the priority of each tooling component in an idle state according to their usage, thereby performing task scheduling. Determining the priority of tooling components according to the usage of each tooling component in an idle state takes into account the average number of times the tooling components are called, so as to avoid some tooling components being idle due to not being called or being called less frequently, thereby increasing maintenance costs. By implementing the present application, the reasonable allocation of tooling components can be achieved, and the maintenance costs of tooling components can be reduced. In addition, by prioritizing each tooling component in an idle state, resource allocation can be better performed.
[0010] Based on the first aspect, in a possible implementation, determining the priority of each tooling component in an idle state according to the usage of each tooling component in an idle state includes:
[0011] Determine the priority of each tooling component in the idle state according to the remaining maintenance time of each tooling component in the idle state, the shorter the remaining maintenance time of the tooling component, the higher the priority; wherein each tooling component is provided with a maintenance cycle;
[0012] The step of performing task scheduling on each tooling component in the idle state according to the priority of each tooling component in the idle state comprises:
[0013] The tooling component with a higher priority will be scheduled first.
[0014] It can be seen that in this application, the priority of each tooling component in an idle state is determined according to the remaining maintenance time of the tooling component. The tooling component with a shorter remaining maintenance time is closer to the next maintenance. If the tooling component can be fully used during this period before the next maintenance, the use value of the tooling component can be fully utilized. This priority determination strategy can ensure that the tooling components are fully utilized before the maintenance cycle and reduce maintenance costs.
[0015] Based on the first aspect, in a possible implementation, determining the priority of each tooling component in an idle state according to the usage of each tooling component in an idle state includes:
[0016] Determine the priority of each tooling component in the idle state according to the number of times each tooling component in the idle state has been used, the fewer the number of times the tooling component has been used, the higher the priority; wherein each tooling component is set with a maximum number of times of use;
[0017] The step of performing task scheduling on each tooling component in the idle state according to the priority of each tooling component in the idle state comprises:
[0018] The tooling component with a higher priority will be scheduled first.
[0019] It can be seen that the fewer times a tooling component has been used during the maintenance cycle, the lower the value of the tooling component has been, and the higher the residual value. Since tooling components will be sent to the maintenance area for maintenance even if they are not used after the maintenance time is reached, which increases the maintenance cost, in order to avoid wasting maintenance costs, it is best to increase the number of times the tooling component is used as much as possible during the maintenance cycle to give full play to its use value. By determining the priority based on the number of times the tooling component has been used, not only can the maintenance cost be reduced, but also the utilization rate of the tooling component can be improved.
[0020] Based on the first aspect, in a possible implementation, before determining the priority of each tooling component in the idle state, the method further includes:
[0021] Determine whether each tooling component in the idle state can be used for task scheduling;
[0022] When it is determined that the tooling components in the idle state are not available for task scheduling, the tooling components in the idle state are sent to a maintenance area.
[0023] It can be seen that the present application takes into account whether each tooling component in an idle state can be used for task scheduling. By accurately judging the availability of each tooling component in an idle state, it is possible to avoid using unavailable tooling components for task scheduling, thereby further avoiding production interruptions and downtime due to failure or damage, which helps to improve production efficiency and the stability of the production line.
[0024] Based on the first aspect, in a possible implementation, determining whether each tooling component in an idle state can be used for task scheduling includes:
[0025] Comparing the remaining maintenance time of each tooling component in the idle state with a first threshold;
[0026] If the remaining maintenance time of each tooling component in the idle state is less than the first threshold, determining that each tooling component in the idle state is unavailable for task scheduling;
[0027] If the remaining maintenance time of each tooling component in the idle state is greater than or equal to the first threshold, it is determined that each tooling component in the idle state can be used for task scheduling.
[0028] It can be seen that in this application, the remaining maintenance time of the tooling component in the idle state is compared with the first threshold. If the remaining maintenance time of the tooling component is less than the first threshold, it means that the maintenance time of the tooling component is close to or insufficient, and there may be a risk of failure, so it is not suitable for task scheduling. If the remaining maintenance time of the tooling component is greater than or equal to the first threshold, it means that the maintenance time of the tooling component is still sufficient and can continue to be used, which is suitable for task scheduling. Through such judgment, it can be ensured that only tooling components with sufficient maintenance time are used for task scheduling, thereby improving production efficiency and reducing risks in the production process.
[0029] Based on the first aspect, in a possible implementation manner, the method is executed periodically at a time t, and the first threshold is 2t.
[0030] Based on the first aspect, in a possible implementation, before determining whether each tooling component in an idle state can be used for task scheduling, the method further includes:
[0031] Calculating the average usage times of each tooling component in the idle state during the maintenance cycle;
[0032] The maximum number of times of use is divided by the average number of times of use and the result is rounded down to obtain a proportionality coefficient;
[0033] When the proportional coefficient is less than the second threshold value, some tooling components do not need to be sealed;
[0034] When the proportional coefficient is greater than or equal to the second threshold, the total number of tooling parts is divided by the proportional coefficient to obtain the number of tooling parts actually required, and the number of tooling parts actually required is subtracted from the total number of tooling parts to obtain the number of tooling parts that need to be sealed.
[0035] It can be seen that this application takes into account the situation where the scheduling demand is not saturated. If there are too many idle pallets in the pallet idle buffer area, the idle cost will increase. Because even if the pallet is idle during the maintenance cycle, it needs to be repaired in the pallet maintenance area every other maintenance cycle. Therefore, if the number of idle pallets can be adjusted according to demand before formulating the scheduling strategy, and some of the idle pallets can be sealed, the maintenance cost will be reduced.
[0036] Based on the first aspect, in a possible implementation, the tooling component includes any one or more of a pallet and a fixture.
[0037] In a second aspect, an embodiment of the present application provides a scheduling device for tooling components, including:
[0038] A determination module, used to determine the priority of each tooling component in an idle state according to the usage of each tooling component in an idle state;
[0039] The scheduling module performs task scheduling on each tooling component in the idle state according to the priority of each tooling component in the idle state.
[0040] Based on the second aspect, in a possible implementation manner, the determining module is used to:
[0041] Determine the priority of each tooling component in the idle state according to the remaining maintenance time of each tooling component in the idle state, the shorter the remaining maintenance time of the tooling component, the higher the priority; wherein each tooling component is provided with a maintenance cycle;
[0042] According to the priority of each tooling component in the idle state, task scheduling is performed on each tooling component in the idle state. The higher the priority of the tooling component, the higher the priority of the tooling component.
[0043] Based on the second aspect, in a possible implementation manner, the determining module is used to:
[0044] Determine the priority of each tooling component in the idle state according to the number of times each tooling component in the idle state has been used, the fewer the number of times the tooling component has been used, the higher the priority; wherein each tooling component is set with a maximum number of times of use;
[0045] According to the priority of each tooling component in the idle state, the task scheduling is performed on each tooling component in the idle state. The higher the priority of the tooling component is, the higher the priority of the tooling component is.
[0046] Based on the second aspect, in a possible implementation manner, the determining module is used to:
[0047] Determine whether each tooling component in the idle state can be used for task scheduling;
[0048] When it is determined that the tooling components in the idle state are not available for task scheduling, the tooling components in the idle state are sent to a maintenance area.
[0049] Based on the second aspect, in a possible implementation manner, the determining module is used to:
[0050] Comparing the remaining maintenance time of each tooling component in the idle state with a first threshold;
[0051] If the remaining maintenance time of each tooling component in the idle state is less than the first threshold, determining that each tooling component in the idle state is unavailable for task scheduling;
[0052] If the remaining maintenance time of each tooling component in the idle state is greater than or equal to the first threshold, it is determined that each tooling component in the idle state can be used for task scheduling.
[0053] Based on the second aspect, in a possible implementation manner, the method is executed periodically at a time t, and the first threshold is 2t.
[0054] Based on the second aspect, in a possible implementation manner, the determining module is used to:
[0055] Calculating the average usage times of each tooling component in the idle state during the maintenance cycle;
[0056] The maximum number of times of use is divided by the average number of times of use and the result is rounded down to obtain a proportionality coefficient;
[0057] When the proportional coefficient is less than the second threshold value, some tooling components do not need to be sealed;
[0058] When the proportionality coefficient is greater than or equal to the second threshold, the total number of tooling components is divided by the proportionality coefficient to obtain the number of tooling components actually required, and the number of tooling components actually required is subtracted from the total number of tooling components to obtain the number of tooling components that need to be sealed. Based on the second aspect, in a possible implementation, the tooling components include any one or more of a tray and a fixture.
[0059] Each functional module in the second aspect is used to implement the method described in the first aspect and the possible implementation manner of the first aspect.
[0060] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory and a processor, wherein the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to implement the method described in the above-mentioned first aspect and any possible implementation method of the first aspect.
[0061] In a fourth aspect, an embodiment of the present application provides a readable storage medium, comprising program instructions, which, when executed by a scheduling system, enables the scheduling system to execute the method described in the first aspect and any possible implementation manner of the first aspect.
[0062] In a fifth aspect, the present application provides a computer program product, including program instructions, and when the computer program product is executed by a scheduling system, the controller is used to execute the method described in the first aspect and any possible implementation of the first aspect. The computer program product can be a software installation package, and when it is necessary to use the method provided by any possible design of the first aspect, the computer program product can be downloaded and executed on the scheduling system to implement the method described in the first aspect and any possible implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the background technology, the drawings required for use in the embodiments of the present application or the background technology will be described below.
[0064] Figure 1 A schematic diagram of a system architecture provided for this application;
[0065] Figure 2 A schematic diagram of the physical structure of the scheduling execution mechanism provided for this application;
[0066] Figure 3 A schematic diagram of a process flow of a tooling component scheduling method provided in this application;
[0067] Figure 4 A schematic diagram of obtaining pallet information for the scheduling system provided in this application;
[0068] Figure 5 A flowchart for determining whether to seal a portion of a tray that is in an idle state provided for this application;
[0069] Figure 6 A schematic diagram of the structure of a scheduling device for tooling components provided in this application;
[0070] Figure 7 A schematic diagram of the structure of an electronic device provided in this application. DETAILED DESCRIPTION
[0071] The embodiments of the present application are described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0072] It should be noted that the terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit the present application. The singular forms of "a", "said" and "the" used in the embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0073] It should be noted that when used in this specification and the appended claims, the terms "comprises" and any of their variations are intended to cover non-exclusive inclusions. For example, a system, product or device including a series of units / devices is not limited to the listed units / devices, but may optionally include units / devices not listed, or may also optionally include other units / devices inherent to these products or devices.
[0074] It will also be understood that the term “if” may be interpreted as “when” or “upon” or “in response to determining” or “in response to detecting” or “in the event of…” depending on the context.
[0075] Before introducing the embodiments of the present application, the technical terms involved in the embodiments of the present application are first introduced.
[0076] Tooling parts: Tooling refers to equipment, tools or devices used to support, fix, protect and position workpieces or products. Tooling parts refer to a part or device in tooling, such as a pallet or fixture.
[0077] The present application provides a method for scheduling tooling parts, wherein the tooling parts include any one or more of pallets and fixtures. The pallet is used as an example for introduction in the present application. In actual applications, the tooling parts may also be fixtures or other parts, which is not limited in the present application.
[0078] Before introducing the tooling component scheduling method provided in this application, the system architecture involved in the method is first introduced.
[0079] See also Figure 1 , Figure 1A schematic diagram of a system architecture provided for the present application, the system involves a scheduling system and a scheduling execution mechanism, the scheduling system includes a demand input module, a pallet information acquisition module, a scheduling decision module and a scheduling scheme output module. The demand input module is used to receive external demand information, the pallet information acquisition module is used to query the information of the pallet in the idle state, and the scheduling decision module obtains the scheduling scheme through the decision algorithm according to the demand received by the demand input module and the information of the pallet in the pallet information acquisition module. The scheduling scheme is transmitted to the scheduling execution mechanism through the scheduling scheme output module. The scheduling execution mechanism includes a pallet idle buffer area, a pallet working area, a pallet maintenance area and a transport execution mechanism. The pallet idle buffer area is used to store pallets in an idle state and pallets that need to be sealed. The pallets that need to be worked on work in the pallet working area, and the pallets that need to be repaired are repaired in the pallet maintenance area. The scheduling execution mechanism transports the pallets to each target area according to the scheduling scheme, and feeds back the current position of the pallet to the scheduling system, so that the scheduling system can obtain the latest information of each pallet in time.
[0080] In order to understand the execution details of the dispatch more clearly, the following is a detailed introduction to the physical structure of the dispatch execution mechanism. Figure 2 , Figure 2 A schematic diagram of the physical space structure of the scheduling execution mechanism provided for this application. The scheduling execution mechanism includes a pallet working area, a pallet idle buffer area, a pallet maintenance area and a pallet conveying mechanism. The pallet conveying mechanism includes a pallet number reading unit and a conveying mechanism control unit. Each pallet has a non-repeating number, so when it is first put online, the number on the pallet is read by the pallet number reading unit on the conveying mechanism, and the software program in the scheduling system binds the number of the pallet with the information of the pallet so that the scheduling system can accurately identify, track and manage each pallet in subsequent operations. The main function of the conveying mechanism control unit in the pallet conveying mechanism is to control the operation of the pallet conveying mechanism to ensure that it can perform tasks in a predetermined manner and sequence. A series of working pallets are stored in the pallet working area, and idle pallets and pallets that need to be sealed are stored in the pallet idle buffer area. Each pallet occupies a storage location, for example, a pallet numbered 1 occupies storage location 1, a pallet numbered 2 occupies storage location 2, a pallet numbered 3 occupies storage location 3, and so on. When the pallet transport mechanism receives the scheduling plan issued by the scheduling system, it will transport the idle pallets in the pallet idle buffer area to the pallet working area for work. When it receives the maintenance instruction from the scheduling system, it will transport the pallets that need maintenance to the pallet maintenance area for maintenance.
[0081] See also Figure 3 , Figure 3 A flowchart of a tooling component scheduling method provided in the present application, the method includes but is not limited to the description of the following content.
[0082] S101. Acquire information of each tray in an idle state.
[0083] The scheduling system needs to obtain information about each idle pallet in order to formulate a suitable scheduling plan for subsequent scheduling tasks. Figure 4 , Figure 4 A schematic diagram of the dispatching system provided in this application obtaining pallet information. Figure 4 There are N pallets in total, and the scheduling system obtains the information of each free pallet in turn. The information of the pallet includes the remaining maintenance time, the number of times it has been used, and the location. Among them, each pallet is set with a maintenance cycle T and a maximum number of uses. The maintenance cycle refers to the time interval between the maintenance of the pallet, which determines how often the pallet needs to be maintained, and the maximum number of uses indicates the maximum number of times the pallet can be used within the maintenance cycle. The remaining maintenance time refers to the remaining maintenance time within the maintenance cycle, that is, the time required for the pallet to be maintained next time. When the remaining maintenance time is reduced to 0, the pallet needs to be transported to the pallet maintenance area by the pallet transport mechanism. If the working time of the pallet is greater than the remaining maintenance time of the pallet due to an abnormal production process, the pallet is reduced to 0 before the work is completed, and the current work can still be performed until the work is completed; the number of uses refers to the number of times the pallet is used within the maintenance cycle, and each dispatch of the pallet will increase the number of uses. When the number of uses reaches the maximum number of uses, the pallet needs to be maintained; the location indicates the current location of the pallet. When the pallet is transferred from one location to another, the location of the pallet will change.
[0084] When a pallet is first put online, the remaining maintenance time is set to T and the number of times used is set to 0. After the pallet is repaired in the pallet maintenance area, the remaining maintenance time will be reset to T and the number of times used will be reset to 0. From the time it leaves the pallet maintenance area, the remaining maintenance time will gradually decrease, and each time it is scheduled for use, the number of times used will increase by 1. When the remaining maintenance time is reduced to 0 or the number of times used reaches the maximum, the pallet must be repaired again before it can continue to be used.
[0085] In the embodiment of the present application, the time required for a tray to complete a task is a fixed time length t, and the time required for each tray to complete a work task may also not be fixed, and this application does not limit this.
[0086] In addition, to ensure the reliability of the tray information, this information is stored in the CPU and is stored in a power-off protection manner. Even in the event of a power outage, the tray information can still be retained.
[0087] The scheduling system obtains the remaining maintenance time, number of times used, and location information of each idle pallet at fixed intervals t, providing accurate pallet information for subsequent scheduling tasks so as to formulate appropriate scheduling plans. Where t is an arbitrary positive integer.
[0088] In one embodiment, the scheduling system does not obtain information about each idle pallet at fixed intervals t, but obtains information about each idle pallet when there is a scheduling task, determines the priority of each idle pallet, and formulates an appropriate scheduling plan. This application does not specifically limit the time when the scheduling system obtains information about each idle pallet.
[0089] S102: Determine, based on the acquired information of each tray in an idle state, whether each tray in an idle state can be used for task scheduling.
[0090] When the remaining maintenance time of the pallet is insufficient for a dispatch, it needs to be sent to the pallet maintenance area for maintenance. Therefore, the dispatch system needs to determine whether each idle pallet can be used for task scheduling based on the information of each idle pallet obtained.
[0091] In order to ensure that all idle pallets can be used for task scheduling within their remaining maintenance time during the period between the time when the scheduling system obtains the information of each idle pallet this time and the time when the information of each idle pallet is obtained next time, it is necessary to evaluate the remaining maintenance time of each idle pallet. If the remaining maintenance time of a pallet is not enough to complete the task scheduling after the scheduling task arrives within this period, it needs to be sent to the pallet maintenance area for maintenance even if the remaining maintenance time has not been reduced to 0.
[0092] For ease of understanding, the reason for determining whether each idle pallet can be used for task scheduling is explained by giving an example. For example, the maintenance cycle of a pallet is 1 hour, and the scheduling system currently obtains the information of each idle pallet at 10 o'clock. Then the next time the scheduling system obtains the information of each idle pallet is at 11 o'clock. If the remaining maintenance time of a pallet in an idle state is 1.5 hours, and the working time of each pallet is 1 hour, a scheduling task arrives at 10:50. If the remaining maintenance time of the pallet is 40 minutes at 10:50 and it is in an idle state, if this pallet is used for scheduling, the task cannot be completed within 40 minutes. Therefore, the scheduling system needs to determine whether each idle pallet can be used for task scheduling before the next scheduling system obtains the pallet information.
[0093] A first threshold is set in the scheduling system. If the remaining maintenance time of multiple trays in an idle state is less than the first threshold, it is determined that the multiple trays are not available for task scheduling. If the remaining maintenance time of multiple trays in an idle state is greater than or equal to the first threshold, it is determined that the multiple trays are available for task scheduling. The first threshold is any positive integer greater than or equal to 2t.
[0094] S103: When it is determined that each idle pallet is not available for task scheduling, each idle pallet is sent to a pallet maintenance area.
[0095] When the remaining maintenance time of the plurality of idle pallets is less than the first threshold, it is determined that the plurality of idle pallets are unavailable for task scheduling, and the plurality of pallets are sent to the pallet maintenance area for maintenance in order of numbers.
[0096] S104: When it is determined that each tray in the idle state can be used for task scheduling, determine the priority of each tray in the idle state according to the usage of each tray in the idle state.
[0097] When the remaining maintenance time of each idle tray is greater than or equal to the first threshold, each idle tray is determined to be available for task scheduling. According to the remaining maintenance time of each idle tray, the priority of each idle tray is determined.
[0098] In order to ensure that there are enough pallets to use when the scheduling demand is sufficient, it is necessary to send the pallet to the pallet maintenance area for maintenance as soon as possible after the remaining maintenance time of the pallet is exhausted to replenish the available pallets. The priority of each idle pallet is determined according to the principle that the shorter the remaining maintenance time, the higher the priority. When the remaining maintenance time of multiple pallets is the same, the priority is determined in order of number. For example, the remaining maintenance time of the pallet numbered 1 is 2 hours, and the remaining maintenance time of the pallet numbered 2 is 3 hours. Then, when determining the priority, the priority of the pallet numbered 1 is higher than the priority of the pallet numbered 2. In this application, the priority is determined according to the principle that the shorter the remaining maintenance time, the higher the priority is based on the consideration of maximizing the use value of the pallet. In other application scenarios, the priority can also be determined according to the principle that the longer the remaining maintenance time, the higher the priority. This application does not make specific limitations.
[0099] In another embodiment, the priority of each idle pallet is determined according to the principle that the fewer times it has been used, the higher the priority. When the number of times multiple pallets have been used is the same, the priority is determined in order of number. For example, the number of times the pallet numbered 1 has been used is 1, and the number of times the pallet numbered 2 has been used is 3. Then, when determining the priority, the priority of the pallet numbered 1 is higher than the priority of the pallet numbered 2. In this application, determining the priority according to the principle that the shorter the number of times it has been used, the higher the priority is based on the perspective of maximizing the use value of the pallet (such as using each pallet as many times as possible within the maintenance cycle). In other application scenarios, the priority can also be determined according to the principle that the more times it has been used, the higher the priority, and this application does not make specific limitations.
[0100] S105 . Perform task scheduling on each idle tray according to the priority of each idle tray.
[0101] When there is a dispatch request, the transport mechanism transports the high-priority pallet from the storage location in the free buffer area to the pallet work area for work. During the transport process, the pallet number is read. After it is delivered to the action area, the pallet location is updated in the dispatch system, and the pallet status becomes in use, with the number of times it has been used + 1. When the pallet finishes its work, it is sent to the free buffer area by the transport mechanism, and the pallet location is updated in the dispatch system according to the pallet number.
[0102] When the scheduling demand is not saturated, if there are too many idle pallets in the pallet idle buffer area, the idle cost will increase. Because even if the pallet is idle during the maintenance cycle, it needs to be repaired in the pallet maintenance area every other maintenance cycle. Therefore, if the number of idle pallets can be adjusted according to demand before obtaining the information of each idle pallet, and some of the idle pallets are sealed, the sealed pallets will not be sent to the pallet maintenance area for maintenance after the remaining maintenance time is reduced to 0 or the number of times used reaches the maximum, it will save costs.
[0103] In one embodiment, when the scheduling demand is not saturated, before obtaining the information of each idle pallet, some pallets are sealed and not involved in the scheduling through calculation and decision, so as to reduce the circulation cost and maintenance cost of the idle pallets. Then, step S101 to step S105 are executed. Figure 5 , Figure 5 A flow chart for determining whether to seal a partially idle tray is provided for this application.
[0104] S201. Calculate the average usage times of each tray in an idle state within a maintenance cycle.
[0105] The operator can regularly predict the number of pallets Y required during the maintenance cycle. For example, predict Y every fixed time period X, where X can be 2t. This application does not specifically limit the size of X. If the number of pallets required this time is different from the number of pallets required last predicted, the new predicted value Y is input into the scheduling system. If the number of pallets required is the same as the last predicted number of pallets required, there is no need to input Y into the scheduling system again, and the scheduling system will make decisions based on the number of pallets required last input. Calculate the average number of times n that each idle pallet is used during the maintenance cycle r , the calculation formula is as follows:
[0106]
[0107] Wherein, N is the total number of pallets, that is, the sum of the number of pallets in the pallet working area, the number of pallets in the pallet free buffer area, and the number of pallets in the pallet maintenance area.
[0108] S202: Calculate the maximum number of times a single tray is used within a maintenance cycle.
[0109] Given the maintenance cycle T of the pallet and the time t required for the pallet to complete a task, the maximum number of times a single pallet can be used within the maintenance cycle, n0, can be calculated using the following formula:
[0110]
[0111] Among them, the time loss of the pallet during transportation is taken into account, so a -1 operation is performed when calculating the maximum number of uses n0 of a single pallet within a maintenance cycle.
[0112] S203: Determine whether to seal some of the trays that are in an idle state according to the average number of times of use and the maximum number of times of use.
[0113] The maximum number of times of use is divided by the average number of times of use and then rounded down to obtain a proportional coefficient. If the proportional coefficient is less than the second threshold, step S204 is executed. If the proportional coefficient is greater than or equal to the second threshold, step S205 is executed. The second threshold is any positive integer greater than or equal to 2. The application does not specifically limit the size of the second threshold.
[0114] For example, the average number of times that idle pallets are used during a maintenance cycle is 3, and the maximum number of times a single pallet is used during a maintenance cycle is 10. The maximum number of times is divided by the average number of times and then rounded down to get a proportional coefficient of 3, indicating that the scheduling demand is not saturated and more than half of the pallets may be idle, so some idle pallets need to be sealed.
[0115] For another example, the average number of times idle pallets are used during a maintenance cycle is 5, and the maximum number of times a single pallet is used during a maintenance cycle is 8. The maximum number of times used is divided by the average number of times used and rounded down to obtain a proportional coefficient of 1, indicating that the number of idle pallets is small and does not need to be sealed.
[0116] Regarding determining whether the sealed portion of the tray is in an idle state, it is not necessary to determine it based on the average number of uses and the maximum number of uses. Other methods can also be used, and this application does not make specific limitations.
[0117] S204. When it is determined that some idle trays are not to be sealed, execute steps S101 to S105.
[0118] If the proportional coefficient is less than the second threshold, it means that some idle trays do not need to be sealed, and steps S101 to S105 are executed to determine the priority of each idle tray, so as to perform task scheduling.
[0119] S205. When it is determined that some idle trays need to be sealed, the number of idle trays that need to be sealed is calculated.
[0120] If the proportional coefficient is greater than or equal to the second threshold, it means that some idle pallets need to be sealed. The number of pallets F actually required is calculated based on the total number of pallets N and the proportional coefficient, and the calculation formula is F=N / C. The total number of pallets in the pallet working area and the pallet maintenance area is F1, and the number of pallets in the idle state F2 is calculated, that is, F2=F-F1. The current number of pallets in the idle pallet buffer area is N-F1. The pallets in the idle pallet buffer area are set to the idle state in the order of numbering the first F2 pallets, and the remaining pallets in the idle pallet buffer area are set to the sealed state. In order to save idle costs, even if the remaining maintenance time of the sealed pallet is 0, it will not be sent to the pallet maintenance area. If the number of pallets Fr currently in a non-sealed state is less than F, it is necessary to unseal F-Fr pallets from the sealed pallets to meet actual needs. Then execute steps S101 to S105.
[0121] This application determines the priority of each idle tooling component based on its remaining maintenance time or number of times it has been used, thereby scheduling tasks. The average number of times tooling components are called is taken into account to avoid some tooling components being idle due to not being called or being called less frequently, thereby increasing maintenance costs. In addition, the situation where scheduling demand is not saturated is taken into account. Before formulating the scheduling strategy, the number of idle pallets is adjusted according to demand, and some idle pallets are sealed to reduce maintenance costs.
[0122] The present application provides a scheduling device for tooling components, see Figure 6, Figure 6 This is a schematic diagram of the structure of a tooling component scheduling device 600 provided in the present application. The scheduling device 600 can be Figure 3 The scheduling system in the method embodiment is used to implement Figure 3 In each step of the method embodiment, the scheduling device 600 includes:
[0123] A determination module 610, configured to determine the priority of each tooling component in an idle state according to the usage of each tooling component in an idle state;
[0124] The scheduling module 620 performs task scheduling on each tooling component in an idle state according to the priority of each tooling component in an idle state.
[0125] In a possible implementation, the determination module 610 is used to:
[0126] Determine the priority of each tooling component in an idle state according to the remaining maintenance time of each tooling component in an idle state, the shorter the remaining maintenance time of the tooling component, the higher the priority; wherein each tooling component is provided with a maintenance cycle;
[0127] According to the priority of each tooling component in an idle state, tasks are scheduled for each tooling component in an idle state. The higher the priority of the tooling component, the higher the priority of the tooling component.
[0128] In a possible implementation, the determination module 610 is used to:
[0129] Determine the priority of each tooling component in an idle state according to the number of times each tooling component in an idle state has been used, the fewer the number of times a tooling component has been used, the higher the priority; wherein each tooling component is set with a maximum number of times used;
[0130] According to the priority of each tooling component in an idle state, tasks are scheduled for each tooling component in an idle state. The higher the priority of the tooling component, the higher the priority of the tooling component.
[0131] In a possible implementation, the determination module 610 is used to:
[0132] Determine whether each tooling component in an idle state can be used for task scheduling;
[0133] When it is determined that each tooling component in an idle state is not available for task scheduling, each tooling component in an idle state is sent to a maintenance area.
[0134] In a possible implementation, the determination module 610 is used to:
[0135] Compare the remaining maintenance time of each tooling component in an idle state with a first threshold;
[0136] If the remaining maintenance time of each tooling component in the idle state is less than the first threshold, it is determined that each tooling component in the idle state is not available for task scheduling;
[0137] If the remaining maintenance time of each tooling component in the idle state is greater than or equal to the first threshold, it is determined that each tooling component in the idle state can be used for task scheduling.
[0138] In a possible implementation, the scheduling method of the tooling components is executed periodically at a time t, and the first threshold is 2t.
[0139] In a possible implementation, the determination module 610 is used to:
[0140] Calculate the average number of times each tooling component in an idle state is used during the maintenance cycle;
[0141] The maximum number of times used is divided by the average number of times used and then rounded down to get the proportionality coefficient;
[0142] When the proportional coefficient is less than the second threshold value, some tooling components do not need to be sealed;
[0143] When the proportionality coefficient is greater than or equal to the second threshold, the total number of tooling components is divided by the proportionality coefficient to obtain the number of tooling components actually required, and the number of tooling components actually required is subtracted from the total number of tooling components to obtain the number of tooling components that need to be sealed. In a possible implementation, the tooling components include any one or more of a tray and a fixture.
[0144] Figure 6 The various functional modules in Figures 3 to 5 For details of the steps of the method embodiment, please refer to Figures 3 to 5 The description of the relevant contents in the method embodiment will not be repeated here for the sake of brevity of the specification.
[0145] The present application also provides an electronic device, see Figure 7 , Figure 7 This is a schematic diagram of the structure of an electronic device 700 provided in this application, wherein the controller is used to implement Figures 3 to 5 In the method embodiment, the electronic device 700 includes: a processor 710, a communication interface 720 and a memory 730. The processor 710, the communication interface 720 and the memory 730 can be interconnected via an internal bus 740, or can communicate via other means such as wireless transmission.
[0146] Taking the connection through bus 740 as an example, bus 740 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. Bus 740 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0147] The processor 710 may be composed of at least one general-purpose processor, such as a CPU, or a combination of a CPU and a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The processor 710 executes various types of digital storage instructions, such as software or firmware programs stored in the memory 730, which enables the electronic device 700 to provide a wide variety of services.
[0148] The memory 730 is used to store program codes and is controlled by the processor 710 to execute the above Figures 3 to 5 For the steps described in the embodiment, please refer to the relevant description of the embodiment shown above, which will not be elaborated here.
[0149] The memory 730 may include a volatile memory, such as a RAM; the memory 730 may also include a non-volatile memory, such as a ROM, a flash memory; the memory 730 may also include a combination of the above types.
[0150] The communication interface 720 can be a wired interface (such as an Ethernet interface), an internal interface (such as a high-speed serial computer expansion bus (peripheral component interconnect express, PCIE) bus interface), a wired interface (such as an Ethernet interface) or a wireless interface (such as a cellular network interface or a wireless local area network interface) for communicating with other devices or modules.
[0151] The processor 710, communication interface 720, etc. in the electronic device 700 can implement the functions and / or various steps and methods implemented in the above-mentioned method embodiments, and for the sake of brevity, they are not repeated here. The determination module 610 and the scheduling module 620 in the scheduling device 600 can be located in the processor 710 in the electronic device 700.
[0152] Need to explain, Figure 7 This is only a possible implementation of the embodiment of the present application. In practical applications, the electronic device may also include more or fewer components, which is not limited here. For the contents not shown or described in the embodiment of the present application, please refer to the relevant description in the embodiment described in the aforementioned method, which will not be repeated here.
[0153] The present application also provides a readable storage medium, including program instructions. When the program instructions are executed by a scheduling system, the scheduling system executes part or all of the steps described in the above-mentioned scheduling method embodiment of the tooling components.
[0154] The present application also provides a computer program product, including program instructions. When the program instructions are executed by a scheduling system, the scheduling system executes part or all of the steps described in the above-mentioned scheduling method embodiment of the tooling components.
[0155] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0156] In the above embodiments, it can be implemented in whole or in part by software, hardware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product may include code. When the computer program product is read and executed by a computer, some or all steps of the method recorded in the above method embodiment may be implemented. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integration. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium, or a semiconductor medium, etc.
[0157] The steps in the method of the embodiment of the present application can be adjusted in order, combined or deleted according to actual needs; the units in the device of the embodiment of the present application can be divided, combined or deleted according to actual needs.
[0158] The embodiments of the present application are introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core idea of the present application. At the same time, for general technical personnel in this field, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A method for scheduling tooling components, characterized in that: The method comprises: Determining the priority of each tooling component in an idle state according to the usage of each tooling component in an idle state; According to the priority of each tooling component in the idle state, task scheduling is performed on each tooling component in the idle state.
2. The method according to claim 1, characterized in that Determining the priority of each tooling component in an idle state according to the usage of each tooling component in an idle state includes: Determine the priority of each tooling component in the idle state according to the remaining maintenance time of each tooling component in the idle state, the shorter the remaining maintenance time of the tooling component, the higher the priority; wherein each tooling component is provided with a maintenance cycle; The step of performing task scheduling on each tooling component in the idle state according to the priority of each tooling component in the idle state comprises: The tooling component with a higher priority will be scheduled first.
3. The method according to claim 1, characterized in that Determining the priority of each tooling component in an idle state according to the usage of each tooling component in an idle state includes: Determine the priority of each tooling component in the idle state according to the number of times each tooling component in the idle state has been used, the fewer the number of times the tooling component has been used, the higher the priority; wherein each tooling component is set with a maximum number of times of use; The step of performing task scheduling on each tooling component in the idle state according to the priority of each tooling component in the idle state comprises: The tooling component with a higher priority will be scheduled first.
4. The method according to any one of claims 1 to 3, characterized in that Before determining the priorities of the respective tooling components in the idle state, the method further includes: Determine whether each tooling component in the idle state can be used for task scheduling; When it is determined that the tooling components in the idle state are not available for task scheduling, the tooling components in the idle state are sent to a maintenance area.
5. The method according to claim 4, characterized in that The step of determining whether each tooling component in an idle state can be used for task scheduling includes: Comparing the remaining maintenance time of each tooling component in the idle state with a first threshold; If the remaining maintenance time of each tooling component in the idle state is less than the first threshold, determining that each tooling component in the idle state is unavailable for task scheduling; If the remaining maintenance time of each tooling component in the idle state is greater than or equal to the first threshold, it is determined that each tooling component in the idle state can be used for task scheduling.
6. The method according to claim 5, characterized in that The method is executed periodically at a time t, and the first threshold is 2t.
7. The method according to claim 4, characterized in that Before determining whether each tooling component in an idle state can be used for task scheduling, the method further includes: Calculating the average usage times of each tooling component in the idle state during the maintenance cycle; The maximum number of times of use is divided by the average number of times of use and the result is rounded down to obtain a proportionality coefficient; When the proportional coefficient is less than the second threshold value, some tooling components do not need to be sealed; When the proportional coefficient is greater than or equal to the second threshold, the total number of tooling parts is divided by the proportional coefficient to obtain the number of tooling parts actually required, and the number of tooling parts actually required is subtracted from the total number of tooling parts to obtain the number of tooling parts that need to be sealed.
8. The method according to any one of claims 1 to 7, characterized in that The tooling components include any one or more of a tray and a fixture.
9. A dispatching device for tooling parts, characterized in that: The scheduling device comprises: A determination module, used to determine the priority of each tooling component in an idle state according to the usage of each tooling component in an idle state; The scheduling module performs task scheduling on each tooling component in the idle state according to the priority of each tooling component in the idle state.
10. An electronic device, characterized in that: The method comprises a memory and a processor, wherein the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to implement the method according to any one of claims 1 to 8.
11. A readable storage medium, characterized in that: The method comprises program instructions, which, when executed by a scheduling system, cause the scheduling system to execute the method according to any one of claims 1 to 8.