A collaborative programming method, device, system, electronic device, and storage medium

Through the collaborative programming method, the SMT programming task nodes are processed in parallel, and the problems of task interruption and repetitive operations in traditional programming are solved, which improves efficiency and coordination and reduces costs.

CN113850045BActive Publication Date: 2025-03-18VAYO SHANGHAI TECH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010599673.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-06-28
Publication Date
2025-03-18
Estimated Expiration
2040-06-28

AI Technical Summary

Technical Problem

There are problems of task interruption and repeated operations in the traditional SMT programming process, which leads to prolonging production cycles and poor synergy among participants, increasing the company's money and time costs.

Method used

The collaborative programming method is adopted to obtain and detect the initial state values ​​of multiple task nodes, and parallel processing and automatic push of tasks are realized to ensure timely feedback and processing in abnormal situations to avoid task interruption.

Benefits of technology

It improves the efficiency of task completion, reduces the company's money and time costs, enhances the coordination of participants, and reduces negative emotions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113850045B_ABST
    Figure CN113850045B_ABST
Patent Text Reader

Abstract

The present invention discloses a collaborative programming method, device, system, electronic device, and storage medium. The collaborative programming method includes: obtaining collaborative programming tasks; detecting the initial state value of a PCB design file reading task; detecting the initial state values ​​of a BOM table data reading task, creating a platemaking task, and creating a MARK point task in parallel; detecting the initial state value of a program output task, and updating the initial state value of the program output task to a final state value according to the initial state value of the program output task, and outputting the program. The collaborative programming method provided by the present invention improves the collaboration of the participants, improves the efficiency of task completion, reduces the money cost and time cost of the enterprise, and ensures that the data security of the collaborative programming project is highly protected.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of printed circuit boards, and specifically relates to a collaborative programming method, device, system, electronic equipment, and storage medium. Background Art

[0002] SMT (Surface Mounted Technology) is the most popular technology and process in the electronic assembly industry. SMT is a circuit assembly technology that mounts pinless or short-lead surface mount components on the surface of a printed circuit board (PCB) or other substrates, and assembles them by soldering through reflow soldering or dip soldering.

[0003] At present, there are two types of SMT programming software providers in the industry, one is the software system provided by the equipment manufacturer itself, and the other is the programming system developed by a third party. Among them, the software system provided by the equipment manufacturer focuses on the optimization of the equipment's operating performance, that is, the production and placement efficiency of the equipment within the specified time during production, while this software system ignores the programming efficiency when offline; the other is the solution provided by a third-party software company, which focuses on the conversion of EDA (Electronic design automation) CAD (Computer Aided Design) design and development data and Gerber (photographic file) data. Due to the non-openness of the equipment's operating parameters, third-party solutions cannot improve the equipment's operating performance, especially the mainstream modular placement machine, the parameters of which cannot be obtained.

[0004] For the traditional mode, in the entire SMT programming process, it contains 6 related nodes, which are: 1. Read in PCB (Printed Circuit Board) design files; 2. Read in BOM (Bill of Material) table data; 3. Create imposition; 4. Create MARK (position identification) points; 5. Component library data query and mounting parameter setting; 6. Program output. Currently, the above nodes are executed in sequence through industrial software. When executing the above nodes, if one of the nodes is abnormal, the execution task will be interrupted at this node. If there is a solution for the abnormality, it is necessary to start from the beginning or continue the operation manually. If there are many abnormalities, it needs to be repeated, which will cause the previous process without errors to be operated again, which will greatly lengthen the production cycle of this stage and affect the coordination of the participants in the whole process (some nodes are not wrong, but they have to be repeated), which will make the relevant participants prone to negative emotions.

[0005] To sum up, the traditional operation mode is very time-consuming and the coordination among the participants is poor, which greatly increases the company's financial and time costs at this stage. Summary of the invention

[0006] In order to solve the above problems existing in the prior art, the present invention provides a collaborative programming method, device, system, electronic device, and storage medium. The technical problem to be solved by the present invention is achieved through the following technical solutions:

[0007] A collaborative programming method, comprising:

[0008] Acquire collaborative programming tasks, wherein the collaborative programming tasks at least include PCB design file reading tasks, MARK point creation tasks, component library data query and mounting parameter setting tasks, and program output tasks;

[0009] Detecting an initial state value of the PCB design file reading task, and updating the initial state value of the PCB design file reading task to a final state value according to the initial state value of the PCB design file reading task;

[0010] Parallel detection of the initial state values ​​of the BOM data reading task, the creating panel task and the creating MARK point task, and updating the initial state values ​​of the BOM data reading task, the creating panel task, the creating MARK point task, the component library data query and the mounting parameter setting task to final state values ​​according to the initial state values ​​of the BOM data reading task, the creating panel task and the creating MARK point task;

[0011] Detecting an initial state value of the program output task, updating the initial state value of the program output task to a final state value according to the initial state value of the program output task, and outputting the program;

[0012] The initial state value represents an unexecuted state or an executed state, and the final state value represents an executed state.

[0013] In one embodiment of the present invention, before detecting the initial state value of the PCB design file reading task and updating the initial state value of the PCB design file reading task to the final state value according to the initial state value of the PCB design file reading task, the method further includes:

[0014] Determine whether the BOM data reading task and / or the creation plateform task exists in the collaborative programming task; if the BOM data reading task exists in the collaborative programming task, maintain the initial state value of the BOM data reading task; if the BOM data reading task does not exist in the collaborative programming task, update the initial state value of the BOM data reading task to represent the executed state; if the creation plateform task exists in the collaborative programming task, maintain the initial state value of the creation plateform task; if the creation plateform task does not exist in the collaborative programming task, update the initial state value of the creation plateform task to represent the executed state.

[0015] In one embodiment of the present invention, detecting the initial state value of the PCB design file reading task, and updating the initial state value of the PCB design file reading task to a final state value according to the initial state value of the PCB design file reading task, comprises:

[0016] Detect the initial state value of the PCB design file reading task, and determine whether the initial state value of the PCB design file reading task represents an executed state or an unexecuted state. If the initial state value of the PCB design file reading task represents an executed state, the initial state value of the PCB design file reading task is the final state value. If the initial state value of the PCB design file reading task represents an unexecuted state, execute the PCB design file reading task. After the PCB design file reading task is completed, update the initial state value of the PCB design file reading task to the final state value.

[0017] In one embodiment of the present invention, the PCB design file reading task is executed, and after the PCB design file reading task is completed, the initial state value of the PCB design file read is updated to the final state value, including:

[0018] Execute the PCB design file reading task, and determine whether there is an abnormal situation during the execution of the PCB design file reading task. If there is no abnormal situation, the initial state value of the PCB design file reading is updated to the final state value after the PCB design file reading task is completed. If there is an abnormal situation, the abnormal situation is fed back to the manual processing client, and then feedback from the manual processing client that the abnormal situation has been processed is accepted within a first preset time. After receiving the feedback and after the PCB design file reading task is completed, the initial state value of the PCB design file reading task is updated to the final state value.

[0019] In one embodiment of the present invention, the initial state values ​​of the BOM data reading task, the creating panel task and the creating MARK point task are detected, and according to the initial state values ​​of the BOM data reading task, the creating panel task and the creating MARK point task, the initial state values ​​of the BOM data reading task, the creating panel task, the creating MARK point task, the component library data query and the mounting parameter setting task are updated to final state values, including:

[0020] Determine the initial state values ​​of the BOM table data reading task, the imposition creation task and the MARK point creation task;

[0021] If the initial state value of the BOM data reading task represents an executed state, then the initial state value of the component library data query and mounting parameter setting task is detected, and according to the initial state value of the component library data query and mounting parameter setting task, the initial state value of the component library data query and mounting parameter setting task is updated to a final state value; if the initial state value of the BOM data reading task represents an unexecuted state, then the BOM data reading task is executed, and after the execution of the BOM data reading task is completed, the initial state value of the BOM data reading task is updated to a final state value, and then the initial state value of the component library data query and mounting parameter setting task is detected, and according to the initial state value of the component library data query and mounting parameter setting task, the initial state value of the component library data query and mounting parameter setting task is updated to a final state value;

[0022] If the initial state value of the creation imposition task represents an executed state, the initial state value of the creation imposition task is the final state value; if the initial state value of the creation imposition task represents an unexecuted state, the creation imposition task is executed, and after the creation imposition task is executed, the initial state value of the creation imposition task is updated to the final state value;

[0023] If the initial state value of the MARK point creation task represents an executed state, then the initial state value of the MARK point creation task is the final state value; if the initial state value of the MARK point creation task represents an unexecuted state, then the MARK point creation task is executed. After the MARK point creation task is completed, the initial state value of the MARK point creation task is updated to the final state value.

[0024] In one embodiment of the present invention, executing the BOM table data reading task, and after the BOM table data reading task is completed, updating the initial state value of the BOM table data reading task to the final state value, includes:

[0025] Execute the BOM table data reading task, and determine whether there is an abnormal situation during the execution of the BOM table data reading task. If there is no abnormal situation, update the initial state value of the BOM table data reading task to the final state value. If there is an abnormal situation, feedback the abnormal situation to the manual processing client, and then accept feedback from the manual processing client that the abnormal situation has been processed within a second preset time. After receiving the feedback, update the initial state value of the BOM table data reading task to the final state value.

[0026] In one embodiment of the present invention, executing the creating imposition task, and after the creating imposition task is completed, updating the initial state value of the creating imposition task to the final state value, includes:

[0027] Execute the create platemaking task, and determine whether there is an abnormal situation during the execution of the create platemaking task. If there is no abnormal situation, update the initial state value of the create platemaking task to the final state value. If there is an abnormal situation, feedback the abnormal situation to the manual processing client, and then accept feedback from the manual processing client that the abnormal situation has been processed within a third preset time. After receiving the feedback, update the initial state value of the create platemaking task to the final state value.

[0028] In one embodiment of the present invention, executing the MARK point creation task, after the MARK point creation task is completed, updating the initial state value of the MARK point creation task to the final state value, includes:

[0029] Execute the MARK point creation task, and determine whether there is an abnormal situation during the execution of the MARK point creation task. If no abnormal situation exists, update the initial state value of the MARK point creation task to the final state value. If an abnormal situation exists, feedback the abnormal situation to the manual processing client, and then accept feedback from the manual processing client that the abnormal situation has been processed within a fourth preset time. After receiving the feedback, update the initial state value of the MARK point creation task to the final state value.

[0030] In one embodiment of the present invention, updating the initial state value of the component library data query and mounting parameter setting task to a final state value according to the initial state value of the component library data query and mounting parameter setting task includes:

[0031] Detect the initial state value of the component library data query and mounting parameter setting task, and determine whether the initial state value of the component library data query and mounting parameter setting task represents an executed state or an unexecuted state. If the initial state value of the component library data query and mounting parameter setting task represents an executed state, the initial state value of the component library data query and mounting parameter setting task is the final state value. If the initial state value of the component library data query and mounting parameter setting task represents an unexecuted state, execute the component library data query and mounting parameter setting task. After the component library data query and mounting parameter setting task is completed, update the initial state value of the component library data query and mounting parameter setting task to the final state value.

[0032] In one embodiment of the present invention, executing the component library data query and mounting parameter setting task, after the component library data query and mounting parameter setting task is completed, updating the initial state value of the component library data query and mounting parameter setting task to a final state value, includes:

[0033] Execute the component library data query and mounting parameter setting tasks, and determine whether there is an abnormal situation during the execution of the component library data query and mounting parameter setting tasks. If there is no abnormal situation, then after the component library data query and mounting parameter setting tasks are completed, the initial state value of the component library data query and mounting parameter setting tasks is updated to the final state value. If there is an abnormal situation, then the abnormal situation is fed back to the manual processing client, and then within a fifth preset time, feedback is received from the manual processing client that the abnormal situation has been processed. After receiving the feedback and after the component library data query and mounting parameter setting tasks are completed, the initial state value of the component library data query and mounting parameter setting tasks is updated to the final state value.

[0034] In one embodiment of the present invention, detecting the initial state value of the program output task, and updating the initial state value of the program output task to a final state value according to the initial state value of the program output task, comprises:

[0035] After the initial state values ​​of the component library data query and placement parameter setting task, the create imposition task and the create MARK point task are updated to the final state values, the initial state value of the program output task is detected to determine whether the initial state value of the program output task represents an executed state or an unexecuted state. If the initial state value of the program output task represents an executed state, the initial state value of the program output task is the final state value. If the initial state value of the program output task represents an unexecuted state, the program output task is executed. After the program output task is executed, the initial state value of the program output task is updated to the final state value.

[0036] In one embodiment of the present invention, executing the program output task, and after the program output task is completed, updating the initial state value of the program output task to the final state value, includes:

[0037] Execute the program output task, and determine whether there is an abnormal situation during the execution of the program output task. If no abnormal situation exists, update the initial state value of the program output task to the final state value. If an abnormal situation exists, feedback the abnormal situation to the manual processing client, and then accept feedback from the manual processing client that the abnormal situation has been processed within a sixth preset time. After receiving the feedback, update the initial state value of the program output task to the final state value.

[0038] An embodiment of the present invention further provides a collaborative programming device, comprising:

[0039] The PCB task processing module is used to obtain a PCB design file reading task, detect an initial state value of the PCB design file reading task, and update the initial state value of the PCB design file reading task to a final state value according to the initial state value of the PCB design file reading task;

[0040] A parallel processing module is used to respectively obtain the BOM table data reading task, the creation of imposition task, the creation of MARK point task and the component library data query and mounting parameter setting task, and to detect the initial state values ​​of the BOM table data reading task, the creation of imposition task and the creation of MARK point task in parallel, and to update the initial state values ​​of the BOM table data reading task, the creation of imposition task, the creation of MARK point task, the component library data query and mounting parameter setting task to final state values ​​according to the initial state values ​​of the BOM table data reading task, the creation of imposition task and the creation of MARK point task;

[0041] A program output processing module, used to obtain a program output task, detect an initial state value of the program output task, update the initial state value of the program output task to a final state value according to the initial state value of the program output task, and output the program;

[0042] The initial state value represents an unexecuted state or an executed state, and the final state value represents an executed state.

[0043] An embodiment of the present invention further provides a collaborative programming system, comprising a manual processing client and the collaborative programming device described in the above embodiment, wherein:

[0044] The manual processing client is used to send the collaborative programming task to the collaborative programming device. In addition, the manual processing client is also used to assign at least one designated person to handle the abnormal situation under the set number of times and the corresponding set time conditions when an abnormal situation occurs during the execution of at least one of the tasks among the PCB design file reading task, the BOM table data reading task, the creation of imposition task, the creation of MARK point task, the component library data query and mounting parameter setting task and the program output task. After the abnormal situation is handled, the manual processing client provides feedback to the SMT collaborative programming device.

[0045] An embodiment of the present invention further provides an electronic device, comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus;

[0046] Memory for storing computer programs;

[0047] The processor is used to implement the steps of the collaborative programming method described in any of the above embodiments when executing the computer program.

[0048] An embodiment of the present invention further provides a storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the collaborative programming method described in any of the above embodiments are implemented.

[0049] Beneficial effects of the present invention:

[0050] The collaborative programming method provided by the present invention can realize automatic push and task execution at any task node, and at the task node where an abnormality occurs, after the abnormality of the task node is resolved, the task continues to be executed, thereby improving the collaboration of the participants. And because it is not necessary for the processing personnel of each task to participate in the entire operation process, after the PCB design file reading task is completed, the BOM table data reading task, the creation of the imposition task, and the creation of the MARK point task are operated at the same time, which greatly improves the efficiency of task completion, thereby reducing the money cost and time cost of the enterprise.

[0051] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Figure 1 It is a flowchart of a collaborative programming method provided by an embodiment of the present invention;

[0053] Figure 2 It is a schematic diagram of a specific implementation framework of a collaborative programming method provided by an embodiment of the present invention;

[0054] Figure 3 is a schematic diagram of a manual processing client provided by an embodiment of the present invention;

[0055] Figure 4 is a schematic diagram of an exception handling group workflow provided by an embodiment of the present invention;

[0056] Figure 5 is a schematic diagram of a collaborative programming device provided by an embodiment of the present invention;

[0057] Figure 6 It is a structural schematic diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0058] The present invention is further described in detail below with reference to specific embodiments, but the embodiments of the present invention are not limited thereto.

[0059] Embodiment 1

[0060] See also Figure 1 Understanding the technical solution of this embodiment. The embodiment of the present invention provides a collaborative programming method, which may specifically include:

[0061] Step 1, obtain collaborative programming tasks, which at least include PCB design file reading tasks, MARK point creation tasks, component library data query and mounting parameter setting tasks and program output tasks;

[0062] Step 2, detecting the initial state value of the PCB design file reading task, and updating the initial state value of the PCB design file reading task to the final state value according to the initial state value of the PCB design file reading task;

[0063] Step 3, parallelly check the initial state values ​​of the BOM data reading task, creating a panel task and creating a MARK point task, and update the initial state values ​​of the BOM data reading task, creating a panel task, creating a MARK point task, component library data query and placement parameter setting tasks to final state values ​​according to the initial state values ​​of the BOM data reading task, creating a panel task and creating a MARK point task;

[0064] Step 4: Detect the initial state value of the program output task, update the initial state value of the program output task to the final state value according to the initial state value of the program output task, and output the program;

[0065] The initial state value represents an unexecuted state or an executed state, and the final state value represents an executed state.

[0066] In this embodiment, because the PCB design file reading task, MARK point creation task, component library data query and mounting parameter setting task and program output task are executed in the SMT programming process, the collaborative programming task should at least include the PCB design file reading task, MARK point creation task, component library data query and mounting parameter setting task and program output task. In addition, in some SMT programming processes, it is also necessary to execute the BOM table data reading task and / or the plate creation task. At this time, the collaborative programming task can also include the BOM table data reading task and / or the plate creation task. The collaborative programming task is sent by a manual processing client, for example.

[0067] In this embodiment, initial state values ​​are set for the PCB design file reading task, BOM table data reading task, imposition creation task, MARK point creation task, component library data query and mounting parameter setting task and program output task. The initial state values ​​of the above six tasks can correspond to TI, T2, T3, T4, T5 and T6 respectively. When the initial state value is YES (such as TI=YES, T2=YES, T3=YES, T4=YES, T5=YES, T6=YES), it means that the state of the task is executed. When the initial state value is NO (such as TI=NO, T2=NO, T3=NO, T4=NO, T5=NO and T6=NO), it means that the state of the task is not executed. Before executing the task, the default value is T1=NO, T2=NO, T3=NO, T4=NO, T5=NO, T6=NO; the final state value is YES.

[0068] After obtaining the collaborative programming task, the initial state value of the PCB design file reading task must be detected first. When the initial state value represents an unexecuted state, the PCB design file reading task is executed. After the execution is completed, the initial state value is updated to the final state value. When the initial state value represents an executed state, the initial state value can be directly used as the final state value; then the initial state values ​​of the BOM table data reading task, the creation of imposition task and the creation of MARK point task are detected at the same time. When any of the initial state values ​​of the BOM table data reading task, the creation of imposition task and the creation of MARK point task is an unexecuted state, the corresponding unexecuted task is executed until the initial state values ​​of the BOM table data reading task, the creation of imposition task and the creation of MARK point task are all updated to the final state values; at the same time, in order to save time, after the initial state value of the BOM table data reading task is updated to the final state value, the component library information query and mounting parameter setting tasks can be directly detected. When the initial state value represents the unexecuted state, the component library data query and placement parameter setting task is executed. After the execution is completed, the initial state value is updated to the final state value. When the initial state value represents the executed state, the initial state value can be directly used as the final state value; after the initial state values ​​of the BOM table data reading task, the creation of the imposition task, the creation of the MARK point task, the component library data query and the placement parameter setting task are all updated to the final state value, the initial state value of the program output task is detected. When the initial state value represents the unexecuted state, the program output task is executed. After the execution is completed, the initial state value is updated to the final state value. When the initial state value represents the executed state, the initial state value can be directly used as the final state value. After that, the program can be output, and the completion status can be fed back to the manual processing client to complete the SMT programming task, and the state values ​​T1, T2, T3, T4, T5, and T6 are restored to the default value NO.

[0069] This embodiment sets a status value for each task node, so in the process of executing the task, the execution status of each task can be recorded through the status value, and the task can be continued after an abnormal situation occurs in a task and the abnormal situation is handled, avoiding the situation where all tasks need to be executed again due to the occurrence of an abnormal situation when a task is being executed, thereby improving the coordination of the participants. In addition, after the PCB design file reading task is completed, the BOM table data reading task, the creation of the imposition task, and the creation of the MARK point task are operated at the same time, and the initial status values ​​of the BOM table data reading task, the creation of the imposition task, the creation of the MARK point task, the component library data query and the placement parameter setting task are all updated to the final status value before the program output task is executed, which can greatly improve the efficiency of task completion, thereby reducing the company's monetary and time costs.

[0070] In addition, after the collaborative programming task is obtained, the collaborative programming task may not include the BOM table data reading task and / or the creation of the imposition task. Therefore, before detecting the PCB design file reading task, it is necessary to first determine the task content that the collaborative programming task needs to perform, that is:

[0071] Determine whether there is a BOM data reading task and / or a creation platesetting task in the collaborative programming task. If there is a BOM data reading task in the collaborative programming task, maintain the initial state value of the BOM data reading task. If there is no BOM data reading task in the collaborative programming task, update the initial state value of the BOM data reading task to represent the executed state, even if T2=YES. If there is a creation platesetting task in the collaborative programming task, maintain the initial state value of the creation platesetting task. If there is no creation platesetting task in the collaborative programming task, update the initial state value of the creation platesetting task to represent the executed state, even if T3=YES.

[0072] After that, step 2 can be executed, which may specifically include:

[0073] Detect the initial state value of the PCB design file reading task, and determine whether the initial state value of the PCB design file reading task represents an executed state or an unexecuted state. If the initial state value of the PCB design file reading task represents an executed state, the initial state value of the PCB design file reading task is the final state value. If the initial state value of the PCB design file reading task represents an unexecuted state, execute the PCB design file reading task. After the PCB design file reading task is completed, update the initial state value of the PCB design file reading task to the final state value.

[0074] Furthermore, when executing the PCB design file reading task, there may be abnormal situations, such as the PCB design file cannot be read in, there are duplicate component position numbers during the PCB design file reading process, it is found that the read file is incomplete during the PCB design file reading process, etc. Therefore, during the execution of the PCB design file reading task, it is necessary to determine whether there is an abnormal situation. If there is no abnormal situation, then after the PCB design file reading task is completed, the initial state value of the PCB design file reading task is updated to the final state value. If there is an abnormal situation, the abnormal situation is fed back to the manual processing client, and then feedback that the manual processing client has processed the abnormal situation is accepted within a first preset time. After receiving the feedback and after the PCB design file reading task is completed, the initial state value of the PCB design file reading task is updated to the final state value, wherein the first preset time is the time for processing the abnormal situation when executing the PCB design file reading task.

[0075] In order to more clearly illustrate the process of handling abnormal situations when executing the PCB design file reading task, take the abnormal situation that the PCB design file cannot be read as an example:

[0076] See also Figure 2 , Figure 3 , Figure 4 , if the PCB design file cannot be read in, the abnormal situation and the suggestion for re-reading need to be fed back to the manual processing client. The manual processing client stores the abnormal situation that the PCB design file cannot be read in and the suggestion for re-reading in the task pool in the PCB data abnormal processing group. According to the situation (according to the problem caused by the abnormal situation, it can be given priority to members who are more professional in handling such problems), the PCB data abnormal processing group assigns the processing task of this abnormal situation to member 1 for processing, and sets the completion time (for example, 10 minutes). Member 1 starts the countdown when receiving the task. If the task is completed within the specified time, the processing situation is fed back to the node of the PCB design file reading task, the PCB design file reading task is completed, and the initial state value of the PCB design file reading task is updated to the final state value, that is, T1=YES; if the task is not completed within the specified time, member 1 can choose to give up the processing, and the abnormal task is in an interrupted state during the processing of member 1. The processing of the interrupted abnormal situation can be saved and returned to the task pool. The PCB data abnormal processing group assigns the processing task of this abnormal situation to member 1 according to the situation (according to the situation of the abnormal processing task For example, if the exception handling task is almost completed, but the countdown time is up, member 1 can choose to continue processing until the exception handling task is completed. The countdown setting can be set by the PCB data exception handling group according to the difficulty of the task, with different durations and different times of countdown reminders. For example, for the exception situation that the PCB design file cannot be read in, two countdown reminders are set after it is assigned to member 1, and the durations are set to 10 minutes and 5 minutes respectively; if the exception handling task is no longer capable of being handled by member 1, other members can be considered to continue to perform the exception handling task), and the task is again assigned to member 1 or other members to continue processing the exception (continue processing under the previous exception handling state), and the completion time (for example, 10 minutes) is set. When the member receives the task, the countdown starts. If the task is completed within the specified time, the processing status is fed back to the node of the PCB design file reading task, the PCB design file reading task is completed, and the initial state value of the PCB design file reading task is updated to the final state value, that is, this node is completed and the state value T1=YES is set. If the exception handling is not completed, the above operation is repeated.

[0077] Similarly, when executing the PCB design file reading task, if other abnormal situations occur, they can also be handled in the above manner. Different problems can be assigned to different members for processing so as to complete the task efficiently.

[0078] In a specific embodiment, step 3 may specifically include:

[0079] Determine the initial status values ​​of the BOM data reading task, the imposition creation task, and the MARK point creation task;

[0080] If the initial state value of the BOM data reading task indicates an executed state, then the initial state value of the component library data query and mounting parameter setting task is detected, and according to the initial state value of the component library data query and mounting parameter setting task, the initial state value of the component library data query and mounting parameter setting task is updated to the final state value; if the initial state value of the BOM data reading task indicates an unexecuted state, then the BOM data reading task is executed, and after the BOM data reading task is executed, the initial state value of the BOM data reading task is updated to the final state value, and then the initial state value of the component library data query and mounting parameter setting task is detected, and according to the initial state value of the component library data query and mounting parameter setting task, the initial state value of the component library data query and mounting parameter setting task is updated to the final state value;

[0081] If the initial status value of the create imposition task represents the executed state, the initial status value of the create imposition task is the final status value; if the initial status value of the create imposition task represents the unexecuted state, the create imposition task is executed, and after the create imposition task is executed, the initial status value of the create imposition task is updated to the final status value;

[0082] If the initial state value of the MARK point creation task represents the executed state, then the initial state value of the MARK point creation task is the final state value. If the initial state value of the MARK point creation task represents the unexecuted state, then the MARK point creation task is executed. After the MARK point creation task is completed, the initial state value of the MARK point creation task is updated to the final state value.

[0083] Specifically, this embodiment needs to simultaneously determine the initial state values ​​of the BOM data reading task, the creation of the imposition task, and the creation of the MARK point task. For the BOM data reading task, after confirming that its initial state value represents the executed state, the initial state values ​​of the component library data query and the mounting parameter setting tasks can then be detected. This process can be executed in parallel with the process of detecting the initial state values ​​of the creation of the imposition task and the creation of the MARK point task, and they do not conflict with each other, thereby saving programming time and improving work efficiency.

[0084] Furthermore, when detecting the initial state value of the component library data query and mounting parameter setting task, it can be determined whether the initial state value of the component library data query and mounting parameter setting task represents an executed state or an unexecuted state. If the initial state value of the component library data query and mounting parameter setting task represents an executed state, then the initial state value of the component library data query and mounting parameter setting task is the final state value. If the initial state value of the component library data query and mounting parameter setting task represents an unexecuted state, then the component library data query and mounting parameter setting task is executed. After the component library data query and mounting parameter setting task is completed, the initial state value of the component library data query and mounting parameter setting task is updated to the final state value.

[0085] Preferably, when the initial state value of the BOM table data reading task indicates an unexecuted state, the BOM table data reading task needs to be executed. During the execution process, there may be abnormal situations, such as failure to read the BOM table, duplicate components found during the BOM table reading process, inconsistency between the number and position of components in the BOM table found during the BOM table reading process, and the position of components in the BOM table found during the BOM table reading process cannot be found in the CAD design file. As shown in Table 1, this is a BOM table provided in this embodiment. Therefore, during the execution of the BOM table data reading task, it is also necessary to determine whether there is an abnormal situation. In an abnormal situation, if there is no abnormal situation, then after the BOM data reading task is completed, the initial state value of the BOM data reading task is updated to the final state value; if there is an abnormal situation, the abnormal situation is fed back to the manual processing client, and then within a second preset time, feedback is accepted from the manual processing client that the abnormal situation has been handled; after receiving the feedback and after the BOM data reading task is completed, the initial state value of the BOM data reading task is updated to the final state value, wherein the second preset time is the time for handling the abnormal situation when executing the BOM data reading task.

[0086] Table 1 BOM

[0087] Position No. Part Number quantity information C1,C11 E16359-001 2 CAP C,X5R,0402,1UF,6.3V,10%,GRM155R60J1> C1M5,C2M1 C83410-003 2 CAPC,X5R,0201,0.100UF,6.300V,+ / -10%

[0088] In order to more clearly illustrate the process of handling abnormal situations when executing the BOM data reading task, take the abnormal situation of finding that the number of components and the position number in the BOM are inconsistent during the BOM reading process, and finding that the position of the components in the BOM is inconsistent during the BOM reading process as an example:

[0089] See also Figure 2 , Figure 3 , Figure 4,If an abnormal situation of inconsistency between the number of components and the bit number in the BOM table is found during the BOM table reading process, then the abnormal situation of inconsistency between the number of components and the bit number in the BOM table and the component information of inconsistency between the number of components and the bit number in the BOM table need to be fed back to the manual processing client. The manual processing client splits the abnormal situation of inconsistency between the number of components and the bit number in the BOM table and the component information of inconsistency between the number of components and the bit number into two types of tasks (the first type: checking whether there is an error in the number of components in the fed-back component information; the second type: checking whether there is an error in the component bit number of the fed-back component information) and stores them in the task pool of the BOM data exception processing group. According to the situation (according to the problem caused by the abnormality, it can be given priority to members who are more professional in handling such problems), the BOM The data exception processing group assigns these two tasks to members 3 and 4 to process these two exception situations in parallel, and sets the completion time to be 10 minutes. Members 3 and 4 start the countdown when receiving the task. If the task is completed within the specified time, the processing status will be fed back to the node of the BOM data reading task to complete the BOM data reading task, and the initial state value of the BOM data reading task will be updated to the final state value, that is, T2 = YES; if the exception task is not completed within the specified time (there are 3 exception handling exception completion situations: the first exception situation and the second exception situation are not completed; the first exception situation is completed, and the second exception situation is not completed; the first exception situation is not completed, and the second exception situation is completed.), then member 3 and member 4 can choose to give up processing, and the exception handling task is in an interrupted state when being processed by member 3 and member 4. The interrupted exception handling situation can be saved and returned to the task pool, and the BOM data exception handling group will decide based on the situation (based on the situation of the exception handling task, for example: the exception handling task is almost completed, but the countdown time is up, in this case member 3 and / or member 4 can choose to continue processing until the exception handling task is completed. The countdown setting can be set by the BOM data exception handling group according to the difficulty of the task, with different lengths and different numbers of countdown reminders. For example, in response to the exception that the number of components and position numbers in the BOM table are inconsistent during the BOM table reading process, two countdown reminders are set after being assigned to member 3 and / or member 4. Timing reminder, the duration is set to 10 minutes and 5 minutes respectively; if it is an exception handling task, member 3 and / or member 4 are no longer able to handle it, you can consider replacing other members to continue to perform this exception handling), and assign it to member 3 and / or member 4 or other members to continue handling this exception (continue to handle it under the previous exception handling status), and set the completion time (for example, 10 minutes). Members start counting down when they receive the task. If the task is completed within the specified time, the processing status will be fed back to the node of the BOM data reading task, the BOM data reading task will be completed, and the initial state value of the BOM data reading task will be updated to the final state value, that is, this node is completed and the state value T2=YES is set. If the exception handling is not completed, repeat the above operations.

[0090] If it is found during the BOM reading process that the component position in the BOM table cannot be found in the CAD design file, then the abnormal situation that the component position in the BOM table cannot be found in the CAD design file and the related component information will be fed back to the manual processing client. The manual processing client will split the abnormal situation that the component position in the BOM table cannot be found in the CAD design file and the related component information into two types of tasks (the first type: whether there is an error in the related component information in the CAD file; the second type: whether there is an error in the related component information in the BOM table) and store them in the task pool of the BOM data exception processing group. According to the situation, the BOM data exception processing group assigns these two tasks to member 5 and member 6 for parallel processing, and sets the completion time (for example, 10 minutes). Members 5 and 6 start the countdown when they receive the task. If in If the task is completed within the specified time, the processing status will be fed back to the node of the BOM table data reading task, this node will be completed and the status value T2=YES will be set; if the exception task is not completed within the specified time, members 5 and 6 can choose to give up the processing, and the exception task is in an interrupted state during the processing of members 5 and 6. The interrupted exception processing status can be saved and returned to the task pool. The BOM data exception processing group will assign it to member 5 and / or member 6 or other members again to continue processing the exception according to the situation, and set the completion time. Members start counting down when they receive the task. If the task is completed within the specified time, the processing status will be fed back to the node of the BOM table data reading task, this node will be completed and the status value T2=YES will be set. If the exception processing is not completed, repeat the above operation.

[0091] Similarly, when executing the BOM table data reading task, if other abnormal situations occur, they can also be handled in the above way. Different problems can be assigned to different members for processing so as to complete the task efficiently.

[0092] Preferably, when the initial state value of the creation imposition task represents an unexecuted state, the creation imposition task needs to be executed. During the execution process, there may be abnormal situations, such as the imposition information cannot be found when the imposition is created, the size of the board is too large after the imposition operation is completed, etc. Therefore, during the execution process of the creation imposition task, it is necessary to determine whether there is an abnormal situation. If there is no abnormal situation, after the creation imposition task is completed, the initial state value of the creation imposition task is updated to the final state value. If there is an abnormal situation, the abnormal situation is fed back to the manual processing client, and then the feedback that the manual processing client has processed the abnormal situation is accepted within a third preset time. After receiving the feedback and after the creation imposition task is completed, the initial state value of the creation imposition task is updated to the final state value, wherein the third preset time is the time for processing the abnormal situation when creating the imposition task.

[0093] In order to more clearly explain the process of handling abnormal situations when executing the task of creating an imposition, take the abnormal situation that the imposition information cannot be found when creating an imposition as an example:

[0094] See also Figure 2 , Figure 3 , Figure 4 If the imposition information cannot be found when creating an imposition, the abnormal situation of not finding the imposition information and the suggestions for supplementing the imposition information will be fed back to the manual processing client. The manual processing client will store the abnormal situation of not finding the imposition information and the suggestions for supplementing the imposition information in the task pool of the imposition exception processing group. According to the situation, the imposition exception processing group will assign such abnormal tasks to member 1 for processing and set the completion time. Member 1 starts the countdown when receiving the task. If the task is completed within the specified time, the processing situation will be fed back to the node that creates the imposition task, and this node will be completed and the status value will be set. T3=YES; if the task is not completed within the specified time, member 1 can choose to give up the processing. The exception task is in an interrupted state during member 1's processing. The interrupted exception processing situation can be saved and returned to the task pool. The imposition exception processing group will assign it to member 1 or other members to continue processing the exception according to the situation, and set the completion time. Members start counting down when they receive the task. If the task is completed within the specified time, the processing situation will be fed back to the node that created the imposition task, and this node will be completed and the status value T3=YES will be set. If the exception processing is not completed, repeat the above operation.

[0095] Similarly, when executing the task of creating a layout, if other abnormal situations occur, they can also be handled in the above manner. Different problems can be assigned to different members for processing so as to complete the task efficiently.

[0096] Preferably, when the initial state value of the MARK point creation task represents an unexecuted state, the MARK point creation task needs to be executed. During the execution process, there may be abnormal situations, for example, when the MARK point creation task is not found, when the MARK point creation task is found that the number of MARK points is insufficient, when the MARK point creation task is found that the size of the board is exceeded, etc. Therefore, during the execution process of the MARK point creation task, it is necessary to determine whether there is an abnormal situation. If there is no abnormal situation, after the MARK point creation task is completed, the initial state value of the MARK point creation task is updated to the final state value. If there is an abnormal situation, the abnormal situation is fed back to the manual processing client, and then the feedback that the manual processing client has processed the abnormal situation is accepted within a fourth preset time. After receiving the feedback and after the MARK point creation task is completed, the initial state value of the MARK point creation task is updated to the final state value, wherein the fourth preset time is the time for processing the abnormal situation when creating the MARK point task.

[0097] In order to more clearly illustrate the process of handling abnormal situations when executing the task of creating a MARK point, take the abnormal situation of not finding a suitable MARK point when creating a MARK point as an example:

[0098] If a suitable MARK point cannot be found when creating a MARK point, the abnormal situation of not being able to find a suitable MARK point and the opinions on manually creating a MARK point will be fed back to the manual processing client. The manual processing client will store the abnormal situation of not being able to find a suitable MARK point and the opinions on manually creating a MARK point in the task pool of the MARK point creation exception processing group. According to the situation, the MARK point creation exception processing group will assign such abnormal tasks to member 1 for processing and set the completion time. Member 1 will start the countdown when receiving the task. If the task is completed within the specified time, the processing situation will be fed back to the node of the MARK point creation task. Complete this node and set the status value T4 = YES; if the task is not completed within the specified time, member 1 can choose to give up the processing. The abnormal task is in an interrupted state during the processing of member 1. The interrupted exception processing situation can be saved and returned to the task pool, and a MARK point exception processing group is created. According to the situation, it is again assigned to member 1 or other members to continue processing this exception, and the completion time is set. Members start counting down when they receive the task. If the task is completed within the specified time, the processing situation is fed back to the node that created the MARK point task, and this node is completed and the status value T4 = YES is set. If the exception processing is not completed, repeat the above operation.

[0099] Similarly, when executing the task of creating MARK points, if other abnormal situations occur, they can also be handled in the above manner. Different problems can be assigned to different members for processing so as to complete the task efficiently.

[0100] Preferably, when the initial state value of the component library data query and mounting parameter setting task indicates an unexecuted state, the component library data query and mounting parameter setting task needs to be executed. During the execution process, there may be abnormal situations, such as when downloading in the component library according to the part number (PartNumber), it is found that the downloaded data is incomplete; when downloading in the component library according to the part number, it is found that the relevant component cannot be found in the component library; when searching for the angle offset and mounting data information of the component in the total component library according to the part number, it is found that the angle offset and / or mounting data information of some components cannot be found, etc. Therefore, during the execution of the component library data query and mounting parameter setting task, it is necessary to determine whether there is an abnormal situation. If there is no abnormal situation, then after the component library data query and mounting parameter setting tasks are completed, the initial state value of the component library data query and mounting parameter setting tasks is updated to the final state value. If there is an abnormal situation, the abnormal situation is fed back to the manual processing client, and then within the fifth preset time, the feedback from the manual processing client that the abnormal situation has been handled is accepted. After receiving the feedback and after the component library data query and mounting parameter setting tasks are completed, the initial state value of the component library data query and mounting parameter setting tasks is updated to the final state value, wherein the fifth preset time is the time for handling abnormal situations when executing the component library data query and mounting parameter setting tasks.

[0101] In order to more clearly explain the process of handling abnormal situations when executing component library data query and placement parameter setting tasks, take the abnormal situation as an example of finding that the downloaded data is incomplete when downloading from the component library based on the material number:

[0102] See also Figure 2 , Figure 3 , Figure 4If the downloaded data is found to be incomplete when downloading from the component library according to the material number, the abnormal situation of incomplete and missing component information (for example, N component data has not been downloaded) will be fed back to the manual processing client. The manual processing client will split the incomplete and missing component information into multiple tasks (for example, N) and store them in the task pool of the component library maintenance and mounting parameter setting exception processing group. According to the situation, the component maintenance and mounting parameter setting exception processing group assigns these tasks to the corresponding members for parallel processing and sets the completion time. The members start the countdown when they receive the task. If the task is completed within the specified time, the processing situation will be fed back to the node of the component library data query and mounting parameter setting task, and this node will be completed and the status will be set. Value T5 = YES; if the task is not completed within the specified time, member i (i is any number between 1-N) can choose to give up processing, and the abnormal task is in an interrupted state when member i is processing it. The abnormal processing of the interruption can be saved and returned to the task pool. The component maintenance and mounting parameter setting abnormal processing group will be assigned to the corresponding member i or other members to continue processing this abnormality according to the situation, and set the completion time. The member starts the countdown when receiving the task. If the task is completed within the specified time, the processing status will be fed back to the node of the component library data query and mounting parameter setting task, and the component library data query and mounting parameter setting task will be completed. This node will be completed and the status value T5 = YES will be set. If this abnormal processing is not completed, repeat the above operation. For example: if there are 100 material numbers, 70 of them are fine and 30 have problems, then these 30 can be split into 30 abnormal tasks, which can be handled by 30 abnormal processing members in parallel.

[0103] Similarly, when executing component library data query and mounting parameter setting tasks, if other abnormal situations occur, they can also be handled in the above manner. Different problems can be assigned to different members for processing so as to complete the task efficiently.

[0104] In a specific embodiment, step 4 may be specifically as follows:

[0105] After the initial status values ​​of the component library data query and placement parameter setting tasks, the creation of imposition tasks, and the creation of MARK point tasks are updated to the final status values, the initial status value of the program output task is detected to determine whether the initial status value of the program output task represents an executed state or an unexecuted state. If the initial status value of the program output task represents an executed state, the initial status value of the program output task is the final status value. If the initial status value of the program output task represents an unexecuted state, the program output task is executed. After the program output task is executed, the initial status value of the program output task is updated to the final status value.

[0106] Furthermore, when executing the program output task, there may be abnormal situations, for example, the program cannot be output when executing the program output, etc. Therefore, during the execution of the program output task, it is necessary to determine whether there is an abnormal situation. If there is no abnormal situation, then after the program output task is completed, the initial state value of the program output task is updated to the final state value. If there is an abnormal situation, the abnormal situation is fed back to the manual processing client, and then the feedback that the manual processing client has handled the abnormal situation is accepted within the sixth preset time. After receiving the feedback and after the program output task is completed, the initial state value of the program output task is updated to the final state value, wherein the sixth preset time is the time for handling the abnormal situation when executing the program output task.

[0107] In order to more clearly illustrate the process of handling abnormal situations when executing program output tasks, take the abnormal situation that the program cannot be output when executing program output as an example:

[0108] See also Figure 2 , Figure 3 , Figure 4 If the program cannot be output when executing the program output, the exception of the program cannot be output and the suggestion of requiring manual assistance are fed back to the manual client. The manual processing client stores the exception of the program cannot be output and the suggestion of requiring manual assistance in the task pool of the program output exception processing group. According to the situation, the program output exception processing group assigns such tasks to member 1 and sets the completion time. Member 1 starts the countdown when receiving the task. If the task is completed within the specified time, the processing situation is fed back to the node of the program output task, the node is completed and the status value T6=YES is set; if the task is not completed within the specified time, member 1 can choose to give up the processing. The abnormal task is in an interrupted state when member 1 is processing. The interrupted abnormal processing situation can be saved and returned to the task pool. The program output abnormal processing group assigns it to member 1 or other members again according to the situation to continue processing the abnormality and sets the completion time. The member starts the countdown when receiving the task. If the task is completed within the specified time, the processing situation is fed back to the node of the program output task, the node is completed and the status value T6=YES is set. If the abnormal processing situation is not completed, the above operation is repeated.

[0109] Similarly, when executing the program output task, if other abnormal situations occur, they can also be handled in the above manner. Different problems can be assigned to different members for processing so as to complete the task efficiently.

[0110] The collaborative programming method of this embodiment first determines whether there is a BOM table data reading task and / or a creation imposition task, and sets the initial state values ​​of the BOM table data reading task and the creation imposition task according to their existence status, thereby determining the execution status of the BOM table data reading task and the creation imposition task; in addition, after the PCB design file reading task is completed, the BOM table data reading task, the creation imposition task, and the creation MARK point task are operated at the same time, and the initial state values ​​of the BOM table data reading task, the creation imposition task, the creation MARK point task, the component library information query and the placement parameter setting task are all updated to the final state values, and then the program output task is executed, which can improve the efficiency of task completion, thereby reducing the company's monetary and time costs.

[0111] This embodiment sets a status value for each task node. Therefore, during the execution of the task, the execution status of each task can be recorded through the status value. After an abnormal situation occurs in a task and the abnormal situation is handled, the task can continue to be executed. This avoids the need to re-execute all tasks due to the occurrence of an abnormal situation during the execution of a task, thereby improving the collaboration of the participants.

[0112] In this embodiment, when an abnormal situation occurs in each task node, the abnormal situation will be promptly fed back to the manual processing client. The corresponding task will not be executed until the manual processing client has completed processing the abnormal situation. When processing the abnormal situation, the manual processing client will designate the corresponding professional to solve the abnormal situation. The personnel involved in each abnormal processing node only need to read the data with abnormalities in the relevant nodes, and there is no need to read the data of the entire design file. This embodiment can control the data access rights of the professionals who handle the exceptions in participating in the specific collaborative programming project, that is, the data information that the professionals can understand and process is very limited. Even if personnel leakage occurs in the later stage of the project, the security of the entire project data can still be ensured to a high degree.

[0113] Embodiment 2

[0114] See also Figure 5 , 5 is a schematic diagram of a collaborative programming device provided by an embodiment of the present invention. The collaborative programming device includes:

[0115] The PCB task processing module is used to obtain the PCB design file reading task, detect the initial state value of the PCB design file reading task, and update the initial state value of the PCB design file reading task to the final state value according to the initial state value of the PCB design file reading task;

[0116] A parallel processing module is used to respectively obtain the BOM data reading task, the panel creation task, the MARK point creation task, the component library data query and the mounting parameter setting task, and to detect the initial state values ​​of the BOM data reading task, the panel creation task and the MARK point creation task in parallel, and to update the initial state values ​​of the BOM data reading task, the panel creation task, the MARK point creation task, the component library data query and the mounting parameter setting task to the final state values ​​according to the initial state values ​​of the BOM data reading task, the panel creation task and the MARK point creation task;

[0117] A program output processing module is used to obtain a program output task, detect an initial state value of the program output task, update the initial state value of the program output task to a final state value according to the initial state value of the program output task, and output the program;

[0118] The initial state value represents an unexecuted state or an executed state, and the final state value represents an executed state.

[0119] In one embodiment of the present invention, the PCB task processing module can be specifically used to determine whether there is a BOM data reading task and / or a creation platelet task in the collaborative programming task. If there is a BOM data reading task in the collaborative programming task, the initial state value of the BOM data reading task is maintained; if there is no BOM data reading task in the collaborative programming task, the initial state value of the BOM data reading task is updated to represent the executed state; if there is a creation platelet task in the collaborative programming task, the initial state value of the creation platelet task is maintained; if there is no creation platelet task in the collaborative programming task, the initial state value of the creation platelet task is updated to represent the executed state.

[0120] Furthermore, the PCB task processing module is more specifically used to detect the initial state value of the PCB design file reading task, and determine whether the initial state value of the PCB design file reading task represents an executed state or an unexecuted state. If the initial state value of the PCB design file reading task represents an executed state, the initial state value of the PCB design file reading task is the final state value. If the initial state value of the PCB design file reading task represents an unexecuted state, the PCB design file reading task is executed. After the PCB design file reading task is completed, the initial state value of the PCB design file reading task is updated to the final state value.

[0121] Further, a PCB design file reading task is executed, and after the PCB design file reading task is completed, an initial state value of the PCB design file read in is updated to a final state value, including: executing the PCB design file reading task, determining whether there is an abnormal situation during the execution of the PCB design file reading task, if there is no abnormal situation, updating the initial state value of the PCB design file read in to a final state value after the PCB design file reading task is completed, if there is an abnormal situation, feeding back the abnormal situation to a manual processing client, and then accepting feedback from the manual processing client that the abnormal situation has been processed within a first preset time, and after receiving the feedback and after the PCB design file reading task is completed, updating the initial state value of the PCB design file reading task to a final state value.

[0122] In one embodiment of the present invention, the parallel processing module can be specifically used to determine the initial state values ​​of the BOM data reading task, the creation of the imposition task and the creation of the MARK point task; if the initial state value of the BOM data reading task represents the executed state, then the initial state value of the component library data query and the mounting parameter setting task is detected, and according to the initial state value of the component library data query and the mounting parameter setting task, the initial state value of the component library data query and the mounting parameter setting task is updated to the final state value; if the initial state value of the BOM data reading task represents the unexecuted state, then the BOM data reading task is executed, and after the BOM data reading task is executed, the initial state value of the BOM data reading task is updated to the final state value, and then the initial state value of the component library data query and the mounting parameter setting task is detected, and according to the initial state value of the component library data query and the mounting parameter setting task, the initial state value of the component library data query and the mounting parameter setting task is updated to the final state value. The initial status value of the component library data query and placement parameter setting task is updated to the final status value; if the initial status value of the create imposition task represents the executed state, the initial status value of the create imposition task is the final status value, if the initial status value of the create imposition task represents the unexecuted state, then the create imposition task is executed, and after the create imposition task is completed, the initial status value of the create imposition task is updated to the final status value; if the initial status value of the create MARK point task represents the executed state, the initial status value of the create MARK point task is the final status value, if the initial status value of the create MARK point task represents the unexecuted state, then the create MARK point task is executed, and after the create MARK point task is completed, the initial status value of the create MARK point task is updated to the final status value.

[0123] Further, a BOM data reading task is executed, and after the BOM data reading task is completed, the initial state value of the BOM data reading task is updated to the final state value, including: executing the BOM data reading task, determining whether there is an abnormal situation during the execution of the BOM data reading task, if there is no abnormal situation, updating the initial state value of the BOM data reading task to the final state value, if there is an abnormal situation, then feeding back the abnormal situation to a manual processing client, and then accepting feedback from the manual processing client that the abnormal situation has been processed within a second preset time, and after receiving the feedback, updating the initial state value of the BOM data reading task to the final state value.

[0124] Further, execute the create platemaking task, and after the create platemaking task is completed, update the initial state value of the create platemaking task to the final state value, including: execute the create platemaking task, determine whether there is an abnormal situation during the execution of the create platemaking task, if there is no abnormal situation, update the initial state value of the create platemaking task to the final state value, if there is an abnormal situation, then feedback the abnormal situation to the manual processing client, and then accept feedback from the manual processing client that the abnormal situation has been processed within a third preset time, and after receiving the feedback, update the initial state value of the create platemaking task to the final state value.

[0125] Further, execute the MARK point creation task, and after the MARK point creation task is completed, update the initial state value of the MARK point creation task to the final state value, including: execute the MARK point creation task, determine whether there is an abnormal situation during the execution of the MARK point creation task, if there is no abnormal situation, update the initial state value of the MARK point creation task to the final state value, if there is an abnormal situation, feedback the abnormal situation to the manual processing client, and then accept feedback from the manual processing client that the abnormal situation has been processed within a fourth preset time, and after receiving the feedback, update the initial state value of the MARK point creation task to the final state value.

[0126] Furthermore, according to the initial state value of the component library data query and mounting parameter setting task, the initial state value of the component library data query and mounting parameter setting task is updated to the final state value, including: detecting the initial state value of the component library data query and mounting parameter setting task, judging whether the initial state value of the component library data query and mounting parameter setting task represents an executed state or an unexecuted state; if the initial state value of the component library data query and mounting parameter setting task represents an executed state, then the initial state value of the component library data query and mounting parameter setting task is the final state value; if the initial state value of the component library data query and mounting parameter setting task represents an unexecuted state, then the component library data query and mounting parameter setting task is executed; after the component library data query and mounting parameter setting task is completed, the initial state value of the component library data query and mounting parameter setting task is updated to the final state value.

[0127] Further, the component library data query and mounting parameter setting tasks are executed, and after the component library data query and mounting parameter setting tasks are completed, the initial state value of the component library data query and mounting parameter setting tasks is updated to the final state value, including: executing the component library data query and mounting parameter setting tasks, judging whether there is an abnormal situation during the execution of the component library data query and mounting parameter setting tasks, if there is no abnormal situation, then after the component library data query and mounting parameter setting tasks are completed, the initial state value of the component library data query and mounting parameter setting tasks is updated to the final state value, if there is an abnormal situation, then the abnormal situation is fed back to the manual processing client, and then the feedback that the manual processing client has processed the abnormal situation is accepted within a fifth preset time, and after receiving the feedback and after the component library data query and mounting parameter setting tasks are completed, the initial state value of the component library data query and mounting parameter setting tasks is updated to the final state value.

[0128] In one embodiment of the present invention, the program output processing module can be specifically used to detect the initial state value of the program output task after the initial state values ​​of the component library data query and placement parameter setting task, the creation of imposition task and the creation of MARK point task are updated to the final state values, and determine whether the initial state value of the program output task represents an executed state or an unexecuted state. If the initial state value of the program output task represents an executed state, the initial state value of the program output task is the final state value. If the initial state value of the program output task represents an unexecuted state, the program output task is executed. After the program output task is executed, the initial state value of the program output task is updated to the final state value.

[0129] Further, executing the program output task, after the program output task is completed, updating the initial state value of the program output task to the final state value, including: executing the program output task, determining whether there is an abnormal situation during the execution of the program output task, if there is no abnormal situation, updating the initial state value of the program output task to the final state value, if there is an abnormal situation, then feeding back the abnormal situation to the manual processing client, and then accepting feedback from the manual processing client that the abnormal situation has been processed within a sixth preset time, and after receiving the feedback, updating the initial state value of the program output task to the final state value.

[0130] The collaborative programming device provided in the embodiment of the present invention can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.

[0131] Embodiment 3

[0132] See also Figure 2 , Figure 3 , Figure 4 The embodiment of the present invention also provides a collaborative programming system, which includes a manual processing client and the collaborative programming device described in Example 2, wherein the manual processing client is used to send collaborative programming tasks to the collaborative programming device. In addition, the manual processing client is also used to assign at least one designated person to handle the abnormal situation under the conditions of a set number of times and a corresponding set time each time when an abnormal situation occurs during the execution of at least one of the tasks among the PCB design file reading task, the BOM table data reading task, the creation of the imposition task, the creation of the MARK point task, the component library data query and the mounting parameter setting task and the program output task. After the abnormal situation is handled, the manual processing client provides feedback to the SMT collaborative programming device, the set number of times is the number of times required to solve the abnormal situation, and the set time is the time required to handle the abnormal situation each time. The manual processing client can set the set number of times and the set time according to the difficulty of handling each abnormal situation.

[0133] Specifically, the manual processing client may include a task initiation group, a PCB data exception processing group, a BOM data exception processing group, a platemaking exception processing group, a MARK point creation exception processing group, a component library maintenance and mounting parameter setting exception processing group, and a program output exception processing group. The task initiation group is used to initiate tasks to the collaborative programming device. The collaborative programming device is an SMT automation processing center. The collaborative programming device chooses whether to accept the task initiated by the manual client according to the situation (for example, this collaborative programming device is accepting other projects, and the manual processing client may be reallocated to other collaborative programming devices). When the collaborative programming device accepts the task, the collaborative programming device starts an independent SMT automation programming. The PCB data exception handling group is used to handle the exceptions that occur during the execution of the PCB design file reading task; the BOM data exception handling group is used to handle the exceptions that occur during the execution of the BOM table data reading task; the imposition exception handling group is used to handle the exceptions that occur during the execution of the creation imposition task; the MARK point creation exception handling group is used to handle the exceptions that occur during the execution of the MARK point creation task; the component library maintenance and mounting parameter setting exception handling group is used to handle the exceptions that occur during the execution of the component library data query and mounting parameter setting tasks; the program output exception handling group is used to handle the exceptions that occur during the execution of the program output task.

[0134] Furthermore, the PCB data exception processing group, the BOM data exception processing group, the imposition exception processing group, the MARK point creation exception processing group, the component library maintenance and mounting parameter setting exception processing group and the program output exception processing group all include multiple task pools. Each exception processing group can assign the exception situation to designated personnel for processing according to the situation. For the specific processing process, please refer to Example 1, which will not be repeated here.

[0135] In this embodiment, when an abnormal situation occurs in each task node, the abnormal situation will be promptly fed back to the manual processing client. The corresponding task will not be executed until the manual processing client has completed processing the abnormal situation. When processing the abnormal situation, the manual processing client will designate personnel to resolve the abnormal situation. The personnel involved in each node only need to read the data with abnormalities in the relevant nodes, and there is no need to read the data of the entire design file. In this way, the security of the entire project data is improved.

[0136] Embodiment 4

[0137] See also Figure 6 , Figure 61 is a schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. The electronic device 1100 includes: a processor 1101, a communication interface 1102, a memory 1103 and a communication bus 1104, wherein the processor 1101, the communication interface 1102 and the memory 1103 communicate with each other through the communication bus 1104;

[0138] Memory 1103, used for storing computer programs;

[0139] The processor 1101 is configured to implement the above method steps when executing a computer program.

[0140] When the processor 1101 executes the computer program, the following steps are implemented:

[0141] Step 1, obtain collaborative programming tasks, which at least include PCB design file reading tasks, MARK point creation tasks, component library data query and mounting parameter setting tasks and program output tasks;

[0142] Step 2, detecting the initial state value of the PCB design file reading task, and updating the initial state value of the PCB design file reading task to the final state value according to the initial state value of the PCB design file reading task;

[0143] Step 3, parallelly check the initial state values ​​of the BOM data reading task, creating a panel task and creating a MARK point task, and update the initial state values ​​of the BOM data reading task, creating a panel task, creating a MARK point task, component library data query and placement parameter setting tasks to final state values ​​according to the initial state values ​​of the BOM data reading task, creating a panel task and creating a MARK point task;

[0144] Step 4: Detect the initial state value of the program output task, update the initial state value of the program output task to the final state value according to the initial state value of the program output task, and output the program;

[0145] The initial state value represents an unexecuted state or an executed state, and the final state value represents an executed state.

[0146] The electronic device provided by the embodiment of the present invention can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.

[0147] Embodiment 4

[0148] Another embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the following steps are implemented:

[0149] Step 1, obtain collaborative programming tasks, which at least include PCB design file reading tasks, MARK point creation tasks, component library data query and mounting parameter setting tasks and program output tasks;

[0150] Step 2, detecting the initial state value of the PCB design file reading task, and updating the initial state value of the PCB design file reading task to the final state value according to the initial state value of the PCB design file reading task;

[0151] Step 3, parallelly check the initial state values ​​of the BOM data reading task, creating a panel task and creating a MARK point task, and update the initial state values ​​of the BOM data reading task, creating a panel task, creating a MARK point task, component library data query and placement parameter setting tasks to final state values ​​according to the initial state values ​​of the BOM data reading task, creating a panel task and creating a MARK point task;

[0152] Step 4: Detect the initial state value of the program output task, update the initial state value of the program output task to the final state value according to the initial state value of the program output task, and output the program;

[0153] The initial state value represents an unexecuted state or an executed state, and the final state value represents an executed state.

[0154] The computer-readable storage medium provided in the embodiment of the present invention can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.

[0155] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, devices (equipment), or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware, which are collectively referred to as "modules" or "systems" herein. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes. The computer program is stored / distributed in a suitable medium, provided together with other hardware or as a part of hardware, or may adopt other distribution forms, such as by the Internet or other wired or wireless telecommunication systems.

[0156] In the description of the present invention, it should be understood that the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the present invention, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.

[0157] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine different embodiments or examples described in this specification.

[0158] The above contents are further detailed descriptions of the present invention in combination with specific preferred embodiments, and it cannot be determined that the specific implementation of the present invention is limited to these descriptions. For ordinary technicians in the technical field to which the present invention belongs, several simple deductions or substitutions can be made without departing from the concept of the present invention, which should be regarded as falling within the protection scope of the present invention.

Claims

1. A collaborative programming method, characterized in that: include: Acquire collaborative programming tasks, wherein the collaborative programming tasks at least include PCB design file reading tasks, MARK point creation tasks, component library data query and mounting parameter setting tasks, and program output tasks; Detecting an initial state value of the PCB design file reading task, and updating the initial state value of the PCB design file reading task to a final state value according to the initial state value of the PCB design file reading task; Parallel detection of the initial state values ​​of the BOM data reading task, the creating panel task and the creating MARK point task, and updating the initial state values ​​of the BOM data reading task, the creating panel task, the creating MARK point task, the component library data query and the mounting parameter setting task to final state values ​​according to the initial state values ​​of the BOM data reading task, the creating panel task and the creating MARK point task; Detecting an initial state value of the program output task, updating the initial state value of the program output task to a final state value according to the initial state value of the program output task, and outputting the program; The initial state value represents an unexecuted state or an executed state, and the final state value represents an executed state; Before detecting the initial state value of the PCB design file reading task and updating the initial state value of the PCB design file reading task to the final state value according to the initial state value of the PCB design file reading task, the method further includes: Determine whether the BOM data reading task and / or the creation plateform task exists in the collaborative programming task; if the BOM data reading task exists in the collaborative programming task, maintain the initial state value of the BOM data reading task; if the BOM data reading task does not exist in the collaborative programming task, update the initial state value of the BOM data reading task to represent the executed state; if the creation plateform task exists in the collaborative programming task, maintain the initial state value of the creation plateform task; if the creation plateform task does not exist in the collaborative programming task, update the initial state value of the creation plateform task to represent the executed state.

2. The collaborative programming method according to claim 1, characterized in that: Detecting the initial state value of the PCB design file reading task, and updating the initial state value of the PCB design file reading task to a final state value according to the initial state value of the PCB design file reading task, including: Detect the initial state value of the PCB design file reading task, and determine whether the initial state value of the PCB design file reading task represents an executed state or an unexecuted state. If the initial state value of the PCB design file reading task represents an executed state, the initial state value of the PCB design file reading task is the final state value. If the initial state value of the PCB design file reading task represents an unexecuted state, execute the PCB design file reading task. After the PCB design file reading task is completed, update the initial state value of the PCB design file reading task to the final state value.

3. The collaborative programming method according to claim 2, characterized in that: Executing the PCB design file reading task, after the PCB design file reading task is completed, updating the initial state value of the PCB design file read into the final state value, including: Execute the PCB design file reading task, and determine whether there is an abnormal situation during the execution of the PCB design file reading task. If there is no abnormal situation, the initial state value of the PCB design file reading is updated to the final state value after the PCB design file reading task is completed. If there is an abnormal situation, the abnormal situation is fed back to the manual processing client, and then feedback from the manual processing client that the abnormal situation has been processed is accepted within a first preset time. After receiving the feedback and after the PCB design file reading task is completed, the initial state value of the PCB design file reading task is updated to the final state value.

4. The collaborative programming method according to claim 1, characterized in that: Detecting the initial state values ​​of the BOM data reading task, the creating panel task and the creating MARK point task, and updating the initial state values ​​of the BOM data reading task, the creating panel task, the creating MARK point task, the component library data query and the mounting parameter setting task to final state values ​​according to the initial state values ​​of the BOM data reading task, the creating panel task and the creating MARK point task, including: Determine the initial state values ​​of the BOM table data reading task, the imposition creation task and the MARK point creation task; If the initial state value of the BOM data reading task represents an executed state, then the initial state value of the component library data query and mounting parameter setting task is detected, and according to the initial state value of the component library data query and mounting parameter setting task, the initial state value of the component library data query and mounting parameter setting task is updated to a final state value; if the initial state value of the BOM data reading task represents an unexecuted state, then the BOM data reading task is executed, and after the execution of the BOM data reading task is completed, the initial state value of the BOM data reading task is updated to a final state value, and then the initial state value of the component library data query and mounting parameter setting task is detected, and according to the initial state value of the component library data query and mounting parameter setting task, the initial state value of the component library data query and mounting parameter setting task is updated to a final state value; If the initial state value of the creation imposition task represents an executed state, the initial state value of the creation imposition task is the final state value; if the initial state value of the creation imposition task represents an unexecuted state, the creation imposition task is executed, and after the creation imposition task is executed, the initial state value of the creation imposition task is updated to the final state value; If the initial state value of the MARK point creation task represents an executed state, then the initial state value of the MARK point creation task is the final state value; if the initial state value of the MARK point creation task represents an unexecuted state, then the MARK point creation task is executed. After the MARK point creation task is completed, the initial state value of the MARK point creation task is updated to the final state value.

5. The collaborative programming method according to claim 4, characterized in that: Executing the BOM table data reading task, and after the BOM table data reading task is completed, updating the initial state value of the BOM table data reading task to the final state value, including: Execute the BOM table data reading task, and determine whether there is an abnormal situation during the execution of the BOM table data reading task. If there is no abnormal situation, update the initial state value of the BOM table data reading task to the final state value. If there is an abnormal situation, feedback the abnormal situation to the manual processing client, and then accept feedback from the manual processing client that the abnormal situation has been processed within a second preset time. After receiving the feedback, update the initial state value of the BOM table data reading task to the final state value.

6. The collaborative programming method according to claim 4, characterized in that: Executing the creation imposition task, and after the creation imposition task is completed, updating the initial state value of the creation imposition task to a final state value, including: Execute the create platemaking task, and determine whether there is an abnormal situation during the execution of the create platemaking task. If there is no abnormal situation, update the initial state value of the create platemaking task to the final state value. If there is an abnormal situation, feedback the abnormal situation to the manual processing client, and then accept feedback from the manual processing client that the abnormal situation has been processed within a third preset time. After receiving the feedback, update the initial state value of the create platemaking task to the final state value.

7. The collaborative programming method according to claim 4, characterized in that: Executing the MARK point creation task, and after the MARK point creation task is completed, updating the initial state value of the MARK point creation task to the final state value, including: Execute the MARK point creation task, and determine whether there is an abnormal situation during the execution of the MARK point creation task. If no abnormal situation exists, update the initial state value of the MARK point creation task to the final state value. If an abnormal situation exists, feedback the abnormal situation to the manual processing client, and then accept feedback from the manual processing client that the abnormal situation has been processed within a fourth preset time. After receiving the feedback, update the initial state value of the MARK point creation task to the final state value.

8. The collaborative programming method according to claim 4, characterized in that: According to the initial state value of the component library data query and mounting parameter setting task, the initial state value of the component library data query and mounting parameter setting task is updated to a final state value, including: Detect the initial state value of the component library data query and mounting parameter setting task, and determine whether the initial state value of the component library data query and mounting parameter setting task represents an executed state or an unexecuted state. If the initial state value of the component library data query and mounting parameter setting task represents an executed state, the initial state value of the component library data query and mounting parameter setting task is the final state value. If the initial state value of the component library data query and mounting parameter setting task represents an unexecuted state, execute the component library data query and mounting parameter setting task. After the component library data query and mounting parameter setting task is completed, update the initial state value of the component library data query and mounting parameter setting task to the final state value.

9. The collaborative programming method according to claim 8, characterized in that: Executing the component library data query and mounting parameter setting task, after the component library data query and mounting parameter setting task is completed, updating the initial state value of the component library data query and mounting parameter setting task to the final state value, including: Execute the component library data query and mounting parameter setting tasks, and determine whether there is an abnormal situation during the execution of the component library data query and mounting parameter setting tasks. If there is no abnormal situation, then after the component library data query and mounting parameter setting tasks are completed, the initial state value of the component library data query and mounting parameter setting tasks is updated to the final state value. If there is an abnormal situation, then the abnormal situation is fed back to the manual processing client, and then within a fifth preset time, feedback is received from the manual processing client that the abnormal situation has been processed. After receiving the feedback and after the component library data query and mounting parameter setting tasks are completed, the initial state value of the component library data query and mounting parameter setting tasks is updated to the final state value.

10. The collaborative programming method according to claim 1, characterized in that: Detecting an initial state value of the program output task, and updating the initial state value of the program output task to a final state value according to the initial state value of the program output task, including: After the initial state values ​​of the component library data query and placement parameter setting task, the create imposition task and the create MARK point task are updated to the final state values, the initial state value of the program output task is detected to determine whether the initial state value of the program output task represents an executed state or an unexecuted state. If the initial state value of the program output task represents an executed state, the initial state value of the program output task is the final state value. If the initial state value of the program output task represents an unexecuted state, the program output task is executed. After the program output task is executed, the initial state value of the program output task is updated to the final state value.

11. The collaborative programming method according to claim 10, characterized in that: Executing the program output task, and after the program output task is executed, updating the initial state value of the program output task to the final state value, including: Execute the program output task, and determine whether there is an abnormal situation during the execution of the program output task. If no abnormal situation exists, update the initial state value of the program output task to the final state value. If an abnormal situation exists, feedback the abnormal situation to the manual processing client, and then accept feedback from the manual processing client that the abnormal situation has been processed within a sixth preset time. After receiving the feedback, update the initial state value of the program output task to the final state value.

12. A collaborative programming device, characterized in that: include: The PCB task processing module is used to obtain a PCB design file reading task, detect an initial state value of the PCB design file reading task, and update the initial state value of the PCB design file reading task to a final state value according to the initial state value of the PCB design file reading task; A parallel processing module is used to respectively obtain the BOM table data reading task, the creation of imposition task, the creation of MARK point task and the component library data query and mounting parameter setting task, and to detect the initial state values ​​of the BOM table data reading task, the creation of imposition task and the creation of MARK point task in parallel, and to update the initial state values ​​of the BOM table data reading task, the creation of imposition task, the creation of MARK point task, the component library data query and mounting parameter setting task to final state values ​​according to the initial state values ​​of the BOM table data reading task, the creation of imposition task and the creation of MARK point task; A program output processing module, used to obtain a program output task, detect an initial state value of the program output task, update the initial state value of the program output task to a final state value according to the initial state value of the program output task, and output the program; The initial state value represents an unexecuted state or an executed state, and the final state value represents an executed state; A judgment module, used for judging whether the BOM data reading task and / or the creation imposition task exists in the collaborative programming task; if the BOM data reading task exists in the collaborative programming task, the initial state value of the BOM data reading task is maintained; if the BOM data reading task does not exist in the collaborative programming task, the initial state value of the BOM data reading task is updated to represent the executed state; if the creation imposition task exists in the collaborative programming task, the initial state value of the creation imposition task is maintained; if the creation imposition task does not exist in the collaborative programming task, the initial state value of the creation imposition task is updated to represent the executed state; The collaborative programming tasks include PCB design file reading tasks, MARK point creation tasks, component library data query and mounting parameter setting tasks and program output tasks.

13. A collaborative programming system, characterized in that: It comprises a manual processing client and the collaborative programming device as claimed in claim 12, wherein: The manual processing client is used to send collaborative programming tasks to the collaborative programming device. In addition, the manual processing client is also used to assign at least one designated person to handle the abnormal situation under the set number of times and the corresponding set time conditions when an abnormal situation occurs during the execution of at least one of the tasks among the PCB design file reading task, the BOM table data reading task, the creation of imposition task, the creation of MARK point task, the component library data query and mounting parameter setting task and the program output task. After the abnormal situation is handled, the manual processing client provides feedback to the SMT collaborative programming device.

14. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; Memory for storing computer programs; A processor, for implementing the collaborative programming method according to any one of claims 1 to 11 when executing the computer program.

15. A storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the collaborative programming method according to any one of claims 1 to 11 is implemented.

Citation Information

Patent Citations

  • Scheduling and failure recovery method for task processing flow

    CN106547613A