Online scheduling method based on aviation automatic production line tool constraint

By adopting an online scheduling method based on tool constraints for automatic aviation production lines in the aviation manufacturing process, the problem of difficult scheduling of aviation processing tasks is solved, and more efficient scheduling response is achieved and the effect of combining multiple influencing factors on the actual production site is achieved.

CN119417108APending Publication Date: 2025-02-11AVIC BEIJING AERONAUTICAL MFG TECH RES INST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411443999.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-16
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

During the aviation manufacturing process, the scheduling of aviation processing tasks is difficult, and the existing technology cannot effectively consider the multi-party influencing factors at the production site.

Method used

The online scheduling method based on the tool constraints of the aviation automatic production line is adopted. By acquiring and preprocessing the production schedule data, setting the target data, and online scheduling is performed according to the set conditions, and scheduling is performed in combination with process characteristics, tool restrictions and real-time processing status.

Benefits of technology

It reduces the difficulty of scheduling and scheduling of aviation processing tasks, improves the response speed and efficiency of scheduling, and can better combine the multi-party influencing factors at the actual production site.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119417108A_ABST
    Figure CN119417108A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of aeronautical part production scheduling, in particular to an online scheduling method based on aviation automatic production line cutter constraint, which comprises the following steps: obtaining production scheduling data, the production scheduling data comprises control parameters of a production scheduling process, an online part tray state, locking work packet data, a work task to be scheduled, process main data and work calendar information; preprocessing the production scheduling data to obtain preprocessed data; setting the preprocessed data to obtain target data; checking the set target data according to a set condition; and according to the inspection result of the target data, performing online scheduling on the task scheduling. The online scheduling method based on the aviation automatic production line cutter constraint aims to solve the problem that production scheduling of aviation processing tasks on a production site is difficult.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of aviation parts production scheduling, and in particular to an online scheduling method based on aviation automatic production line tool constraints. Background Art

[0002] Aviation products are related to the safety of human life, and their manufacturing process needs to be strictly controlled without any quality problems. At this stage, aviation manufacturing companies have a more urgent need for automated and intelligent scheduling of mechanical processing tasks, especially in the face of rapidly changing manufacturing plans, the scheduling of manufacturing tasks also needs to respond quickly. All of the above factors have put forward higher requirements for the scheduling of aviation manufacturing.

[0003] However, the manufacturing process of aviation products is extremely complex. In the actual aviation mechanical processing process, aviation products are jointly affected by factors such as part processing technology characteristics, processing tool parameters, and machine tool mechanical properties. On the other hand, the scheduling of aviation manufacturing parts is also limited by production environment factors such as real-time production line processing status and personnel work calendar. Although some scholars in the academic community have conducted academic research on the scheduling of aviation processing tasks, these studies tend to build theoretical simulation models and cannot combine the multiple influencing factors of the actual production site. Therefore, how to comprehensively consider the actual scheduling in the production site has become a practical problem that needs to be solved urgently.

[0004] Therefore, the inventor provides an online scheduling method based on tool constraints of aviation automatic production lines. Summary of the invention

[0005] (1) Technical issues to be solved

[0006] The embodiment of the present invention provides an online scheduling method based on tool constraints of an aviation automatic production line, which solves the technical problem that it is difficult to schedule aviation processing tasks at a production site.

[0007] (2) Technical solution

[0008] The present invention provides an online scheduling method based on tool constraints of an aviation automatic production line, comprising the following steps:

[0009] Obtaining production scheduling data, the production scheduling data including control parameters of the production scheduling process, online part tray status, locked work package data, work tasks to be scheduled, process master data and work calendar information;

[0010] Preprocessing the production scheduling data to obtain preprocessed data;

[0011] Setting the preprocessed data to obtain target data;

[0012] According to the set conditions, checking the set target data;

[0013] Based on the inspection results of the target data, the task production is scheduled online.

[0014] Further, the preprocessing of the production scheduling data to obtain preprocessed data specifically includes:

[0015] Prepare the current work calendar: parse the data of the original work calendar and build a linked list of work calendar items;

[0016] Prepare loading and unloading stations and machine tools: Build the data structure of production scheduling resources based on the loading and unloading station and machine tool status data stored in the host computer communication middleware;

[0017] Prepare the tool tray: The tool tray includes multiple slots, each slot stores a tool;

[0018] Prepare the parts tray: The parts tray is the base for storing the processed parts. The parts to be processed are fixed by the tooling, and the tooling is placed on the parts tray;

[0019] Prepare work packages: including loading work packages, processing work packages and unloading work packages;

[0020] Prepare other data: including the construction of tooling, locked work packages and online work packages.

[0021] Further, the setting of the preprocessed data to obtain target data specifically includes:

[0022] Set up resource query cache: traverse the loading and unloading stations and machine tools, and build query caches of them encoded into objects;

[0023] Set locked work package: Mark the decomposed work package data. If the work package is in the locked work package list, you need to set the lock status of the work package, the actual start time, and the actual processing part pallet of the work package, and set the actual end time of the work package according to the processing time of the work step in the process master data;

[0024] Set up online work packages: Mark the actual disassembled work tasks through the online work package list and set up their actual parts trays;

[0025] Set part tasks: Sort parts by task priority and task code.

[0026] Furthermore, if the online work package stays in the processing work package, the loading process is skipped and the current work package of the work task is set to the corresponding P-type processing work package; if the online work package stays in the unloading work package, the unloading process is scheduled.

[0027] Further, the checking the set target data according to the set conditions specifically includes:

[0028] Check resources: Check whether the current loading and unloading stations are available. If all loading and unloading stations are unavailable, the algorithm will exit abnormally; check whether the current machine tools are available. If all machine tools are unavailable, the algorithm will exit abnormally;

[0029] Check work packages: There are dependent loading and unloading stations in the loading and unloading work packages. If all the loading and unloading stations are unavailable, the algorithm will exit abnormally; there are dependent machine tools in the processing work package. If the corresponding machine tools are unavailable, the algorithm will exit abnormally;

[0030] Check the tooling list: If all the tools in the current part pallet library are unavailable, it means there is no tooling available and the algorithm exits abnormally;

[0031] Check the required tooling list: Each work package has the required tooling code. If the required tooling code in a work package cannot be found in the part pallet library, it is a scenario where the initial tooling is missing and the algorithm exits abnormally.

[0032] Furthermore, the task production is scheduled online based on the inspection result of the target data, specifically:

[0033] Multiple rounds of scheduling are performed, and one work package is scheduled in each round of scheduling. When the termination condition is met, the scheduling execution step stops and the production scheduling algorithm exits normally.

[0034] Furthermore, the termination condition includes at least one of the following: the production schedule reaches the maximum time in the work calendar, all the scheduled work packages are assigned and completed, and the production schedule round reaches a set upper limit value.

[0035] Furthermore, in a scheduling round, the following steps are included:

[0036] Increment the current scheduling round counter value;

[0037] Call the real-time updated information of the current resource to determine the optional set;

[0038] Selecting a target from the optional set according to a rule preset by a user;

[0039] Calling the dispatched set target and updating the dynamic properties;

[0040] Check the termination conditions of production scheduling. If the exit conditions are met, the algorithm exits normally; otherwise, continue to the next scheduling round.

[0041] Furthermore, the calling of the real-time updated current resource information to determine the optional set specifically includes the following steps:

[0042] Traverse all the work tasks to be scheduled and refresh the status of each work task;

[0043] Refresh the resource status corresponding to each work task and determine the candidate set of resource status;

[0044] The optional set is determined based on the candidate set.

[0045] Furthermore, the step of selecting a target from the optional set according to a rule preset by the user specifically includes the following steps:

[0046] The work packages are grouped according to the part code. The key of the group is the work task object, and the value is the list of optimization items. The group values ​​are sorted by the current work package priority of the part.

[0047] Verify the existence of the target based on the work package priority traversal;

[0048] The optimization items are grouped according to their priority levels. The key of the group is the task object and the value is the list of optimization items.

[0049] For a list of optimization items grouped with the same priority, iterate over each optimization item in the list.

[0050] (3) Beneficial effects

[0051] In summary, the present invention reduces the difficulty of scheduling aviation machining tasks by taking into account process characteristics, machining tool limitations, and combining multiple influencing factors such as on-site real-time machining status and personnel work calendars. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the embodiments of the present invention will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative work.

[0053] Figure 1 It is a flow chart of an online scheduling method based on tool constraints of an aviation automatic production line provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0054] The following detailed description of the embodiments of the present invention is provided in conjunction with the accompanying drawings and examples. The following detailed description of the embodiments and the accompanying drawings are used to illustrate the principles of the present invention, but cannot be used to limit the scope of the present invention, that is, the present invention is not limited to the described embodiments.

[0055] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0056] Figure 1 is a flow chart of an online scheduling method based on tool constraints for an aviation automatic production line provided by an embodiment of the present invention, see Figure 1 , the method may include the following steps:

[0057] S100, obtaining production scheduling data, the production scheduling data including control parameters of the production scheduling process, online part tray status, locked work package data, work tasks to be scheduled, process master data and work calendar information.

[0058] Specifically, the production scheduling data in step S100 includes the following aspects:

[0059] 1. Obtain the control parameters of the production scheduling process: production scheduling business code, production scheduling start time, task code to be scheduled and other user input data.

[0060] 2. Get the status of online part pallets: Since there are part pallets waiting to be processed in the actual processing production line, the scheduling algorithm needs to obtain the task information being processed online through the processing host computer communication middleware. This part of the data is the original data of the online part pallet status. When the parts are actually processed, the parts to be processed need to be placed in the pallet, and the parts and the pallet are fixed by tooling. When scheduling, it is necessary to consider the parts being processed in the production line. This part of the part information is obtained through the interface call between the host computer. It is mainly the online pallet being processed. The pallet carries the attribute information of the task because it is bound to the task.

[0061] 3. Get the locked work package data: The hardware execution controller will lock the work package being processed, which means that the work package must be given priority in this scheduling. Therefore, it is necessary to obtain the original data of the locked work package through interface calls.

[0062] 4. Obtain the work tasks to be scheduled: Each time production is scheduled, it is necessary to obtain the tasks to be scheduled based on user input. At this time, it is necessary to obtain the original data of the work tasks from the business database.

[0063] 5. Obtain the associated process master data: The machine tools and loading and unloading stations that the work tasks depend on, as well as the information such as the tool usage time, are recorded in the process master data. Here, the original data of the process master data also needs to be obtained through the database interface.

[0064] 6. Obtain work calendar information: Scheduling and production scheduling need to refer to the information defined in the daily work calendar. Tasks can only be scheduled on weekdays, so the original data of the work calendar also needs to be obtained.

[0065] S200: pre-process the production scheduling data to obtain pre-processed data.

[0066] Step S200 specifically includes the following aspects:

[0067] 1. Prepare the current work calendar: parse the data of the original work calendar, build a linked list of work calendar items, and provide reasonable data structure support for subsequent production scheduling judgment.

[0068] 2. Prepare loading and unloading stations and machine tools: According to the loading and unloading station and machine tool status data stored in the host computer communication middleware, the data structure of production scheduling resources is constructed. Loading and unloading stations and machine tools are resource entities for scheduling. Here, according to the loading and unloading station and machine tool status data stored in the host computer communication middleware, the data structure of production scheduling resources is constructed. All resources need to be initialized to an available state, and unavailable resources do not participate in production scheduling. In addition, the machine tool contains several slots, and the tool information in each slot is also initialized at this time.

[0069] 3. Prepare the tool tray: The tool tray includes multiple slots, each of which stores a tool. The basic properties of the tool include: tool serial number, remaining tool life, etc. Here, all the tools in the tool tray are summarized and built into a tool library. In the tool library, all information of the tool object can be queried by tool serial number.

[0070] 4. Prepare the parts tray: The parts tray is the base for storing the processed parts. The parts to be processed are fixed by the tooling, and the tooling is placed on the parts tray. Each parts tray and tooling has a corresponding code. After the tooling is placed in the parts tray, the parts tray can work normally. All parts trays are collected here and built into a parts tray library. In the parts tray library, you can query the available parts tray objects by the tooling code.

[0071] 5. Prepare work packages: including loading work packages, processing work packages and unloading work packages. Here, the original work task is decomposed to generate three types of work packages: L-type loading work packages, P-type processing work packages and U-type unloading work packages. It should be noted that a work task is composed of several continuous work steps, among which a work step is an uninterruptible processing task. If a work task contains multiple work steps, the work task will be divided into multiple P-type processing work packages.

[0072] 6. Prepare other data: including the construction of tooling, locked work packages and online work packages.

[0073] S300, setting the preprocessed data to obtain target data.

[0074] Step S300 specifically includes:

[0075] 1. Set up resource query cache: traverse the loading and unloading stations and machine tools, and build a query cache of them encoded into objects.

[0076] 2. Set the locked work package: Mark the decomposed work package data. If the work package is in the locked work package list, you need to set the lock status of the work package, the actual start time, and the actual processing part pallet of the work package, and set the actual end time of the work package according to the processing time of the work step in the process master data.

[0077] 3. Set up online work packages: This part marks the actual disassembled work tasks through the online work package list. First, you need to set up the actual part tray. If the online work package stays in the P-type processing work package, skip the loading process and set the current work package of the work task to the corresponding P-type work package. If the online work package stays in the U-type unloading work package, you need to schedule the unloading process.

[0078] 4. Set part tasks: Sort parts according to task priority and task coding.

[0079] S400: Check the set target data according to the set conditions.

[0080] Step S400 specifically includes:

[0081] 1. Check resources: Check whether the current loading and unloading stations are available. If all loading and unloading stations are unavailable, the algorithm will exit abnormally; check whether the current machine tools are available. If all machine tools are unavailable, the algorithm will exit abnormally;

[0082] 2. Check the work package: There are dependent loading and unloading stations in the loading and unloading work package. If all the loading and unloading stations are unavailable, the algorithm will exit abnormally; there are dependent machine tools in the processing work package. If the corresponding machine tools are unavailable, the algorithm will exit abnormally;

[0083] 3. Check the tooling list: If all the tools in the current part tray library are unavailable, it means there is no tooling available and the algorithm exits abnormally;

[0084] 4. Check the required tooling list: Each work package has the required tooling code. If the required tooling code in a work package cannot be found in the part pallet library, it is a scenario where the initial tooling is missing and the algorithm exits abnormally.

[0085] S500: Perform online scheduling of task production according to the inspection result of the target data.

[0086] Specifically, step S500 is the core step of production scheduling, and its main function is to schedule work packages according to current resource conditions and execute work packages at the same time. This step is divided into multiple scheduling rounds, and one work package is scheduled in each round. Finally, if any of the following termination conditions is met, the scheduling execution step stops and the production scheduling algorithm exits normally.

[0087] Condition 1: The production schedule reaches the maximum time in the work calendar;

[0088] Condition 2: All scheduled work packages are assigned and completed;

[0089] Condition three: The production scheduling round reaches the set upper limit.

[0090] Furthermore, if the online work package stays in the processing work package, the loading process is skipped and the current work package of the work task is set to the corresponding P-type processing work package; if the online work package stays in the unloading work package, the unloading process is scheduled.

[0091] Furthermore, in a scheduling round, the following steps are included:

[0092] S501, increment the current scheduling round counter value;

[0093] S502, calling the real-time updated information of the current resource to determine the optional set;

[0094] S503, selecting a target from the optional set according to a rule preset by the user;

[0095] S504, calling the dispatch setting target and updating the dynamic attributes;

[0096] S505. Check the termination conditions of production scheduling. If the exit conditions are met, the algorithm exits normally; otherwise, continue to the next scheduling round.

[0097] Among them, step S503 is to select a suitable target from the optional set according to the rules, which is the core decision logic of scheduling execution. The solution logic of the optional set refers to the detailed description in step S600. Here we first introduce how to select the target. The specific implementation process is as follows:

[0098] 1. First, group the work packages according to the part code, the key of the group is the work task object, and the value is the list of optimization items. Then sort the group values ​​by the current work package priority of the part.

[0099] 2. According to the work package priority traversal, the target existence is checked. That is, at least one target is guaranteed, otherwise a missing tool plan is added, the current work package is set to STOP state, and the current work package is terminated.

[0100] 3. Group the optimization items according to the priority Rank. The key of the group is the task object and the value is the list of optimization items. Sort the values ​​for each Rank. The sorting conditions are as follows:

[0101] First sorting condition: earliest start time;

[0102] The second sorting condition: the number of missing knives;

[0103] The third sorting condition: machine tool / loading station code;

[0104] The fourth sorting condition: work task code.

[0105] 4. For the list of optimization items grouped by the same priority Rank, traverse each optimization item in the list and complete the following operations:

[0106] If it is S mode, there is no need to arrange the tool, the target is found;

[0107] If it is M mode and ProvideMap is empty, it means that no additional tools are required for machine processing and the target is found;

[0108] If it is M mode, but ProvideMap is not empty, it means that the machine tool needs to provide additional tools for the current work package. At this time, it is necessary to generate a tool change work package, that is, an X-type work package, and the target target is found. Note that the X-type work package needs to calculate the upper / lower tool information. The specific calculation method is described below.

[0109] In actual machining, there are scenarios where the remaining life of some slot tools on the machine tool is insufficient, or all tools on the machine tool do not meet the tool definition for the work step in the process master data. In this case, the scheduler is required to calculate the tool replacement and tool removal information for the machine tool. The work package for tool replacement is called an X-type work package. Note that the X-type work package is not defined in the process master data, but is dynamically generated by the scheduler. The core logic of the X-type work package is to calculate the appropriate tool replacement and tool removal information. The specific calculation method is as follows:

[0110] 1. First, calculate the tool list. The logic of this part is relatively simple. It directly counts the tool information in ProvideMap. The result forms a key-value table, where the key is the tool serial number and the value is the tool object in the tool tray. The calculation result is saved in BpUpMap;

[0111] 2. Then calculate the cutting information. Since only a single tool tray is allowed to operate each time the tool is changed, the cutting information needs to be grouped and summarized by tool tray. The specific process is as follows:

[0112] 2.1 First, cut the tool according to the pallet group. The key of the group is the pallet object and the value is the list of tool objects.

[0113] 2.2 Then find the upper and lower tool pairs of the same series. The tool pairs of the same series refer to the upper tool on the tool tray and the lower tool with insufficient remaining life of the machine tool, which have the same tool serial number. This part can be calculated directly by traversal, and the calculation result is saved in SeriesPairs. Since sister tools are not allowed in the machine tool slot, tools of the same series are replaced first when changing tools.

[0114] 2.3 Then search for different series of tool changes, including:

[0115] 2.3.1 Find the empty slots in the machine tool;

[0116] 2.3.2 If there are enough vacancies, there is no need to find a cutter;

[0117] 2.3.3 Otherwise, find the tool with the shortest service life and replace the tool in the slot with the shortest service life;

[0118] 2.3.4 If all upper cuts find corresponding lower cuts, the results are saved in XchgPairs;

[0119] 2.4 Non-urgent tasks do not allow the replacement of different series of tools. At this time, the task is set to STOP state.

[0120] 2.5 After completing the upper and lower tool calculations, continue to allocate tool change work packages, including:

[0121] 2.5.1 Traverse the tool list corresponding to the tool tray;

[0122] 2.5.2 If there are tools of the same series, they will be allocated first; otherwise, tools of different series will be allocated;

[0123] 2.5.3 The final calculation result is an upper and lower tool pair in a tool tray, which is saved in BpUpDwPairs.

[0124] The above process calculates the upper and lower tool pair information, and the X-type work package can be further dispatched through the information in BpUpDwPairs. For the dispatch logic, refer to the detailed description in step S700.

[0125] Step S600 is resource update, which mainly refreshes the dynamic data in each round of calculation. It mainly includes the following steps:

[0126] S601: Refresh task status and resource information;

[0127] S602: Refresh the candidate set of resources;

[0128] S603: Refresh the optional items and generate an optional set.

[0129] The main task of step S601 is to refresh the task status and resource information. The work task is managed by a finite state machine, where the work task contains the following states:

[0130] The idle state after the IDLE task is initialized;

[0131] PEND task is in suspended state, and the task is scheduled to terminate;

[0132] RUN task execution status, the task is waiting for the scheduler to run;

[0133] DONE The task has been completed;

[0134] STOP task stop status, the task is stopped due to resource shortage or unsatisfied work calendar;

[0135] PARK task is in park state. The task resources are temporarily insufficient. The task in park state can be woken up by eating again.

[0136] When a work task is created, it is initialized to the IDLE idle state. If the priority Rank of the work task is 9, it means that the work task is suspended, and the state is migrated to the PEND suspended state. Otherwise, if the work task enters the scheduling execution, the state is migrated to the RUN execution state. After the task is executed normally, its current work package becomes empty, and the state will be migrated to the DONE completion state. Sometimes due to resource shortages, the task scheduler will change its state to the STOP stop state, and tasks in this state will no longer be scheduled subsequently. If some tasks temporarily have insufficient resources, the scheduler will first change the task to the PARK state, and will no longer schedule it within a certain scheduling round. After several scheduling rounds, the work task in the PARK state will be reawakened to the RUN state, waiting to be scheduled again. This process is also called rescheduling.

[0137] Step S601 will traverse all the work tasks to be scheduled, and then refresh the status of each work task according to the above state machine. Then, for each work task, it is also necessary to refresh its corresponding resource status, which specifically involves the following processes:

[0138] 1. Refresh the available loading and unloading station information of the work task, and traverse the list of dependent loading and unloading stations in the process master data

[0139] 1.1 For L-type loading work packages, it is necessary to check whether there is a part pallet with applicable tooling in the part pallet library. If there is a suitable part pallet, add the current loading and unloading station to the list of available loading and unloading stations, otherwise reject;

[0140] 1.2 For U-type unloading work packages, add the loading and unloading station directly to the list of available loading and unloading stations.

[0141] 2. Refresh the available machine tool information of the work task and traverse the dependent machine tool list in the process master data

[0142] 2.1 First, calculate the tool required time list, that is, the tool time summary of continuous P-type processing work packages;

[0143] 2.2 Then calculate and compare the machine tools, calculate and summarize the tool missing list of each slot of the machine tool;

[0144] 2.3 Finally, the current machine tool is added to the list of available machine tools, and a list of missing tools matching the work task and each available machine tool is obtained.

[0145] At this point, step S601 is calculated and then step S602 is performed to refresh the candidate set of resources. This step S602 traverses all work tasks in the RUN state and performs the following operations on these work tasks:

[0146] 1. If the current work package of the work task is L / U type, the one who sets the loading and unloading station is the candidate;

[0147] 2. If the current work package of the work task is of type P, set the machine tool as the candidate;

[0148] 3. For candidates, query the work calendar to determine whether they can be added to the candidate set. The logic is as follows:

[0149] Get the working calendar objects of the current working day and the next working day;

[0150] Calculate the remaining processing time of the current working day, recorded as todayLeftTime;

[0151] If todayLeftTime is less than half an hour, schedule the current workday to start, otherwise schedule the next workday to start, and record the start time in start, which is the earliest start time;

[0152] If the next working day is scheduled to start, but the working calendar for the next working day does not exist, the system will exit with an internal error;

[0153] Finally, add the candidate candiate and the start time start to the candidate set.

[0154] Step S603 refreshes the optional set. The optional set consists of multiple optional items, each optimization item is recorded as item, and Table 1 lists all the attributes contained in the optimization item.

[0155] Table 1 Attribute list of optimization item

[0156]

[0157]

[0158] In an optional set, each item is uniquely identified by the three attributes (Mode, WT, M / Z), where Mode is the optimization scheduling mode, which contains the following two values:

[0159] SM_WORK_ON_MACHINE indicates M mode for machine tool work

[0160] SM_WORK_ON_STATION means S mode working on loading and unloading station

[0161] Note: The (WT, Z) attribute value corresponding to the item is valid in S mode, and the (WT, M) attribute value corresponding to the item is valid in M ​​mode.

[0162] In S mode, the corresponding work package is L / U type. At this time, the work package needs to be loaded or unloaded, so you only need to find the part pallet that matches the tooling code in the part pallet library, and then complete the pallet allocation.

[0163] In M mode, the corresponding work package is P type. At this time, it is necessary to calculate the tools required for the work package. Some tool information lists need to be calculated. The meanings of these tool information lists are as follows:

[0164] EssenMap refers to the list of necessary tools for WT machining. Note that if the process contains multiple steps, the tool list of the P-type work package needs to be summarized according to the tool serial number. The result of the summary is the list of necessary tool durations here;

[0165] MissMap refers to the missing tool list. When a WT is put on the corresponding machine tool M for processing, there may be a scenario where there are missing tools on the machine tool M. The missing tools are summarized according to the tool serial number to obtain the missing tool list;

[0166] RequireMap is a list of requirements for machining WT on machine tool M. According to the definition, the results expressed by RequireMap and MissMap are consistent;

[0167] ProvideMap refers to the provide list. When WT is placed on the corresponding machine tool M for processing, there may be a missing tool list MissMap on the machine tool M. According to MissMap, the tool pallet library can be searched, and a tool pallet can be allocated through the tool library to obtain a provide list for the machine tool M. This list is the provide list;

[0168] AbsentMap is a list of shortage tools. When WT is placed on the corresponding machine tool M for processing, if the tool in MissMap cannot be found in the tool tray, such tool will be defined as shortage tool. The shortage tool will be added to AbsentMap, forming a shortage tool list. Note that the shortage tool needs to be manually loaded to the tool tray externally before it can be rescheduled.

[0169] The third state value of the optimization scheduling mode, SM_EXCHANGE_BLADE, indicates that a tool change operation is required, also known as E mode. It should be noted that the prerequisite for entering E mode is that ProvideMap is not empty, and the subsequent scheduler needs to perform tool change calculations based on ProvideMap.

[0170] Finally, loop through the work tasks in the RUN state and the corresponding list of available resources, and fill in all the properties in the optimization item to get the final optional set.

[0171] Step S700 is scheduling and dispatching, which is to dispatch the actual work to the target. Dispatching is to arrange the target selected in step S500 into a dispatch queue, which specifically corresponds to the operation in step S504. The scheduling algorithm mainly involves the following types of dispatching:

[0172] 1. Mode S targets for loading or unloading at the dispatching station;

[0173] 2. Assign M-mode targets for machining on machine tools;

[0174] 3. Assign E-mode targets for tool change operations.

[0175] Each element in the dispatch queue is called a dispatch alloc, and the attributes it contains are shown in Table 2. Among them, Round records the current production round, WT records the work task object, WP records the currently decomposed work package, and Cate marks the work package as L / P / U / X type. Resources include Z loading and unloading stations or M machine tools. Each dispatch alloc contains common attributes: planned start time Begin, planned end time End, and the currently assigned part pallet SP object. If it is E mode, the upper tool list Ups and lower tool list Downs information are also required.

[0176] Table 2 List of attributes for alloc dispatch

[0177] Property name Attribute meaning description English name Round Production round Round WT Work Tasks WorkTask WP Work Package WorkPackages Cate Work Package Type Category Z Loading and unloading station Station M machine tool Machine Begin Planned start time Plan Begin Time End Planned end time Plan End Time SP Carrying parts tray Spare-Parts Pallet BP Loading tool tray Blade Pallet Ups Cutting list Up Blades List Downs Cut list Down Blades List

[0178] For the S-mode target, dispatching is actually arranging L / U-type work packages to loading and unloading stations, which requires the following operations:

[0179] 1. Set the common properties of the alloc object

[0180] Set WT to target.WT, set Z to target.Z, and Cate to L / U mode depending on loading or unloading.

[0181] 2. Dynamic properties of the calculated alloc schedule

[0182] Begin is set to the target earliest start time target.ES, and End is set to target.ES+Duration, where Duration is the processing time of the current work package. SP searches for a part pallet with a matching tooling number from the library.

[0183] 3. Add alloc to the dispatch queue

[0184] For the M-mode target, dispatching is actually arranging the P-type work packages to the machine tools, which requires the following operations:

[0185] 1. Set the common properties of the alloc object

[0186] Set WT to target.WT, set M to target.M, and set Cate to P mode.

[0187] 2. Dynamic properties of the calculated alloc schedule

[0188] Begin is set to the target earliest start time target.ES, and End is set to target.ES+Duration, where Duration is the processing time of the current work package. The tool time list that the current work package depends on is traversed, and the remaining life of the tools in the machine tool slots is reduced one by one. The part pallet used by the previous L-mode work package is transferred to SP.

[0189] 3. Add alloc to the dispatch queue

[0190] For the E-mode target, dispatching is actually binding the tool change logic of the X-type work package to the tool pallet, which requires the following operations:

[0191] 1. Set the common properties of the alloc object

[0192] Set WT to empty and Cate to X mode.

[0193] 2. Dynamic properties of the calculated alloc schedule

[0194] Begin is set to the target earliest start time target.ES, and End is set to target.ES+Duration, where Duration is the default tool change time.

[0195] 3. Set the upper and lower tool lists for tool change

[0196] 3.1 Traverse the upper and lower tool pairs of the BpUpDwPairs pallet group in the target target, and obtain the corresponding tool pallet bp and upper and lower tool pairs updwPairs.

[0197] 3.2 For each tool tray, upper tool and lower tool (bp, up, dw) triple

[0198] Add up to the upper tool list Ups. If dw is not empty, add dw to the lower tool list Downs. Otherwise, skip the dw value and set the tool pallet bp to BP.

[0199] 4. Add alloc to the dispatch queue

[0200] In summary, the three mode targets S / M / E can be scheduled and dispatched, and the dispatch results are placed in the dispatch queue. The dispatch queue of the final dispatch output is the output result of the scheduling algorithm.

[0201] It should be clear that the various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. The present invention is not limited to the specific steps and structures described above and shown in the figures. In addition, for the sake of brevity, a detailed description of known methods and technologies is omitted here.

[0202] The above are only embodiments of the present application and are not limited to the present application. For those skilled in the art, the present application may have various changes and variations without departing from the scope of the present invention. Any modification, equivalent substitution, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims

1. An online scheduling method based on tool constraints for aviation automatic production lines, characterized in that: The method comprises the following steps: Obtaining production scheduling data, the production scheduling data including control parameters of the production scheduling process, online part tray status, locked work package data, work tasks to be scheduled, process master data and work calendar information; Preprocessing the production scheduling data to obtain preprocessed data; Setting the preprocessed data to obtain target data; According to the set conditions, checking the set target data; Based on the inspection results of the target data, the task production is scheduled online.

2. The online scheduling method based on tool constraints of aviation automatic production line according to claim 1 is characterized in that: The preprocessing of the production scheduling data to obtain preprocessed data specifically includes: Prepare the current work calendar: parse the data of the original work calendar and build a linked list of work calendar items; Prepare loading and unloading stations and machine tools: Build the data structure of production scheduling resources based on the loading and unloading station and machine tool status data stored in the host computer communication middleware; Prepare the tool tray: The tool tray includes multiple slots, each slot stores a tool; Prepare the parts tray: The parts tray is the base for storing the processed parts. The parts to be processed are fixed by the tooling, and the tooling is placed on the parts tray; Prepare work packages: including loading work packages, processing work packages and unloading work packages; Prepare other data: including the construction of tooling, locked work packages and online work packages.

3. The online scheduling method based on tool constraints of aviation automatic production line according to claim 2 is characterized in that: The setting of the preprocessed data to obtain target data specifically includes: Set up resource query cache: traverse the loading and unloading stations and machine tools, and build query caches of them encoded into objects; Set locked work package: Mark the decomposed work package data. If the work package is in the locked work package list, you need to set the lock status of the work package, the actual start time, and the actual processing part pallet of the work package, and set the actual end time of the work package according to the processing time of the work step in the process master data; Set up online work packages: Mark the actual disassembled work tasks through the online work package list and set up their actual parts trays; Set part tasks: Sort parts by task priority and task code.

4. The online scheduling method based on tool constraints of aviation automatic production line according to claim 3 is characterized in that: If the online work package stays in the processing work package, the loading process is skipped and the current work package of the work task is set to the corresponding P-type processing work package; if the online work package stays in the unloading work package, the unloading process is scheduled.

5. The online scheduling method based on tool constraints of aviation automatic production line according to claim 1 is characterized in that: The checking of the set target data according to the set conditions specifically includes: Check resources: Check whether the current loading and unloading stations are available. If all loading and unloading stations are unavailable, the algorithm will exit abnormally; check whether the current machine tools are available. If all machine tools are unavailable, the algorithm will exit abnormally; Check work packages: There are dependent loading and unloading stations in the loading and unloading work packages. If all the loading and unloading stations are unavailable, the algorithm will exit abnormally; there are dependent machine tools in the processing work package. If the corresponding machine tools are unavailable, the algorithm will exit abnormally; Check the tooling list: If all the tools in the current part pallet library are unavailable, it means there is no tooling available and the algorithm exits abnormally; Check the required tooling list: Each work package has the required tooling code. If the required tooling code in a work package cannot be found in the part pallet library, it is a scenario where the initial tooling is missing and the algorithm exits abnormally.

6. The online scheduling method based on tool constraints of aviation automatic production line according to claim 1 is characterized in that: The task production is scheduled online based on the inspection result of the target data, specifically: Multiple rounds of scheduling are performed, and one work package is scheduled in each round of scheduling. When the termination condition is met, the scheduling execution step stops and the production scheduling algorithm exits normally.

7. The online scheduling method based on tool constraints of aviation automatic production line according to claim 6 is characterized in that: The termination condition includes at least one of the following: the production schedule reaches the maximum time in the work calendar, all the scheduled work packages are assigned and completed, and the production schedule round reaches a set upper limit value.

8. The online scheduling method based on tool constraints of aviation automatic production line according to claim 1 is characterized in that: In a scheduling round, the following steps are included: Increment the current scheduling round counter value; Call the real-time updated information of the current resource to determine the optional set; Selecting a target from the optional set according to a rule preset by a user; Calling the dispatched set target and updating the dynamic properties; Check the termination conditions of production scheduling. If the exit conditions are met, the algorithm exits normally. Otherwise, continue to the next scheduling round.

9. The online scheduling method based on tool constraints of aviation automatic production line according to claim 8 is characterized in that: The calling of the real-time updated current resource information to determine the optional set specifically includes the following steps: Traverse all the work tasks to be scheduled and refresh the status of each work task; Refresh the resource status corresponding to each work task and determine the candidate set of resource status; The optional set is determined according to the candidate set.

10. The online scheduling method based on tool constraints of aviation automatic production line according to claim 8 is characterized in that: The step of selecting and setting a target from the optional set according to the user's pre-set rules specifically includes the following steps: The work packages are grouped according to the part code. The key of the group is the work task object, and the value is the list of optimization items. The group values ​​are sorted by the current work package priority of the part. Verify the existence of the target based on the work package priority traversal; The optimization items are grouped according to their priority levels. The key of the group is the task object and the value is the list of optimization items. For a list of optimization items grouped with the same priority, iterate over each optimization item in the list.