Time calculation device, time calculation method, and program
The time calculation device accurately calculates the time required for producing a product by simulating the production process with execution units transitioning between modes based on completion notifications, enhancing the precision of time estimation.
Patent Information
- Application Number
- JP2022033570
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-04
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2042-03-04
AI Technical Summary
Existing time simulation devices for calculating the time required for producing a product with higher accuracy.
A time calculation device, a time calculation device, a time calculation device, a time calculation device, a time calculation method, and a time calculation program.
The time calculation device can accurately calculate the time required for producing a product by simulating the production process, including preparation and assembly steps, using a simulation model with execution units that transition between execution and wait modes based on completion notifications, thereby improving the accuracy of time estimation.
Smart Images

Figure 0007774226000001 
Figure 0007774226000002 
Figure 0007774226000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a time calculation device, a time calculation method, and a program. [Background technology]
[0002] Conventionally, there are known time calculation devices that simulate the production of a product and calculate the time required for production. As an example of the time calculation device, Patent Document 1 discloses a production line design device that uses a virtual model of the production line to simulate the movement of the production line and evaluate the production line. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2003-44115 Summary of the Invention [Problem to be solved by the invention]
[0004] However, the manufacturing line design device of Patent Document 1 cannot accurately calculate the time required for producing a product.
[0005] Therefore, the present disclosure provides a time calculation device etc. that can calculate the time required for producing a product with higher accuracy. [Means for solving the problem]
[0006] A time calculation device according to one aspect of the present disclosure includes: a model acquisition unit that acquires a simulation model for performing a simulation of a production process including a plurality of steps for producing a product in which a plurality of materials are assembled together; a simulation unit that performs the simulation using the simulation model acquired by the model acquisition unit; and an output unit that outputs results of the simulation performed by the simulation unit, wherein the plurality of steps include a preparation step of preparing the plurality of materials and resources for assembling the plurality of materials together, and an assembly step of assembling the plurality of materials together using the resources; the simulation model includes a plurality of execution units that each execute a corresponding one of the plurality of steps, the plurality of execution units including first execution units that transition to a first mode in which the own step is executed based on a previous step completion notification indicating that a previous step of the plurality of steps has been completed, and that transition to a second mode in which the own step is waited to be executed based on a current step completion notification indicating that the current step has been completed; and the simulation unit calculates a time for the own step of the first execution unit using a time in the first mode and a time in the second mode.
[0007] Furthermore, a time calculation method according to one aspect of the present disclosure includes: a model acquisition step of acquiring a simulation model for simulating a production process including a plurality of steps for producing a product in which a plurality of materials are assembled together; a simulation step of performing the simulation using the simulation model acquired in the model acquisition step; and an output step of outputting results of the simulation performed in the simulation step, wherein the plurality of steps include a preparation step of preparing the plurality of materials and resources for assembling the plurality of materials together, and an assembly step of assembling the plurality of materials together using the resources, the simulation model includes a plurality of execution units each executing a corresponding one of the plurality of steps, the plurality of execution units including first execution units that transition to a first mode in which the own step is executed based on a previous step completion notification indicating that a previous step of the own step has been completed, and that transition to a second mode in which the own step is waited to be executed based on a current step completion notification indicating that the own step has been completed, and the simulation step calculates a time for the own step of the first execution unit using a time in the first mode and a time in the second mode.
[0008] A program according to one aspect of the present disclosure is a program for causing a computer to execute the above-described time calculation method.
[0009] These comprehensive or specific aspects may be realized as a system, a method, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM, or may be realized as any combination of the system, the method, the integrated circuit, the computer program, and the recording medium. The recording medium may also be a non-transitory recording medium. [Effects of the Invention]
[0010] The time calculation device etc. disclosed herein can calculate the time required for producing a product with higher accuracy.
[0011] Further advantages and effects of one aspect of the present disclosure will become apparent from the specification and drawings. Such advantages and / or effects are provided by some embodiments and features described in the specification and drawings, but not all of them necessarily need to be provided to obtain one or more identical features. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 is a block diagram illustrating a functional configuration of a time calculation device according to an embodiment. [Figure 2] FIG. 2 is a schematic diagram showing an example of a production process. [Figure 3] FIG. 3 is a schematic diagram showing an example of a simulation model for simulating the production process of FIG. [Figure 4] FIG. 4 is a schematic diagram illustrating an example of an execution unit included in the simulation model of FIG. [Figure 5] FIG. 5 is a schematic diagram showing mode transitions of the first execution unit included in the simulation model of FIG. [Figure 6] FIG. 6 is a flowchart showing an example of the operation of the model generation unit of the time calculation device of FIG. [Figure 7] FIG. 7 is a flowchart showing an example of the operation of the time calculation device of FIG. DETAILED DESCRIPTION OF THE INVENTION
[0013] In order to solve the above-described problems, a time calculation device according to one embodiment of the present disclosure includes: a model acquisition unit that acquires a simulation model for performing a simulation of a production process including a plurality of steps for producing a product in which a plurality of materials are assembled together; a simulation unit that performs the simulation using the simulation model acquired by the model acquisition unit; and an output unit that outputs a result of the simulation performed by the simulation unit, wherein the plurality of steps include a preparation step of preparing the plurality of materials and resources for assembling the plurality of materials together, and an assembly step of assembling the plurality of materials together using the resources, and the simulation model includes a plurality of execution units that each execute a corresponding one of the plurality of steps, and the plurality of execution units include first execution units that transition to a first mode in which the own step is executed based on a previous step completion notification indicating that a previous step of the own step has been completed, and transition to a second mode in which the own step is waited to be executed based on a current step completion notification indicating that the current step has been completed, and the simulation unit calculates a time for the own step of the first execution unit using a time in the first mode and a time in the second mode.
[0014] According to this, the time related to the first execution unit's own process is calculated using the time of the first execution unit in the first mode and the time of the second mode, so the time related to the first execution unit's own process can be calculated using not only the time the first execution unit is executing its own process but also the time the first execution unit is waiting to execute its own process. Therefore, the time related to the first execution unit's own process can be calculated more accurately, and the time related to the production of the product can be calculated more accurately.
[0015] In addition, in a time calculation device according to one embodiment of the present disclosure, the first execution unit may transmit a notification of completion of its own process when its own process is completed in the first mode, and may transition from the first mode to the second mode when the notification of completion of its own process is transmitted.
[0016] According to this, when the first execution unit has completed its own process, it transmits a notification of completion of its own process and transitions from the first mode to the second mode, so that the first execution unit can transition from the first mode to the second mode with greater accuracy. Therefore, the time related to the first execution unit's own process can be calculated with greater accuracy, and the time related to the production of the product can be calculated with greater accuracy.
[0017] In addition, in a time calculation device according to one aspect of the present disclosure, the previous process of the process of the first execution unit may include the assembly process, the previous process end notification may include an assembly process end notification indicating that the assembly process has ended, and the first execution unit may transition from the second mode to the first mode when it receives the assembly process end notification while in the second mode.
[0018] According to this, the first execution unit transitions from the second mode to the first mode when it receives an assembly process completion notification, so that the first execution unit can transition from the second mode to the first mode with greater accuracy. Therefore, the time related to the first execution unit's own process can be calculated with greater accuracy, and the time related to the production of the product can be calculated with greater accuracy.
[0019] In addition, in a time calculation device according to one aspect of the present disclosure, the previous process of the process of the first execution unit may include the preparation process, the previous process end notification may include a preparation process end notification indicating that the preparation process has ended, and the first execution unit may transition from the second mode to the first mode when it receives the assembly process end notification while in the second mode and has already received the preparation process end notification.
[0020] According to this, the first execution unit transitions from the second mode to the first mode when it receives an assembly process end notification and has already received a preparation process end notification, so that the first execution unit can transition from the second mode to the first mode with greater accuracy. Therefore, the time related to the first execution unit's own process can be calculated with greater accuracy, and the time related to the production of the product can be calculated with greater accuracy.
[0021] In addition, in a time calculation device according to one aspect of the present disclosure, the first execution unit may transition to a third mode in which, if an abnormality occurs in the first mode or the second mode, the first execution unit waits until the abnormality is resolved.
[0022] According to this, since the first execution unit transitions to the third mode when an abnormality occurs, the time related to the abnormality can be calculated by calculating the time of the first execution unit in the third mode. Therefore, the time related to the first execution unit's own process can be calculated more accurately, and the time related to the production of the product can be calculated more accurately.
[0023] In addition, in the time calculation device according to an aspect of the present disclosure, the previous process end notification may be transmitted from a second execution unit among the plurality of execution units that executes the previous process of the process of the first execution unit.
[0024] With this, since the previous process completion notification is sent from the second execution unit that executes the previous process, the first execution unit can be transitioned from the second mode to the first mode with greater accuracy. Therefore, the time related to the first execution unit's own process can be calculated with greater accuracy, and the time related to the production of the product can be calculated with greater accuracy.
[0025] In the time calculation device according to the aspect of the present disclosure, the previous process end notification may be output from an execution device that actually executes the previous process of the process of the first execution unit.
[0026] With this, since the previous process completion notification is sent from the execution device that actually executes the previous process, the first execution unit can transition from the second mode to the first mode with greater accuracy in accordance with the actual production of the product. Therefore, the time related to the first execution unit's own process can be calculated with greater accuracy, and the time related to the production of the product can be calculated with greater accuracy.
[0027] Furthermore, a time calculation device according to one aspect of the present disclosure may include a result acquisition unit that acquires the results of the simulation performed by the simulation unit, a performance acquisition unit that acquires performance data related to the production of the product, and an analysis unit that analyzes the difference between the results acquired by the result acquisition unit and the performance data acquired by the performance acquisition unit.
[0028] This allows for the analysis of the difference between the results of the production process simulation and the actual production of the product, making it possible to determine whether the production of the product is being carried out according to the simulation, and thereby enabling more accurate evaluation of the product production process.
[0029] Furthermore, in a time calculation device according to one aspect of the present disclosure, the plurality of materials may include a substrate and components, the resources may include a feeder for supplying the components, the preparation process may include a process of preparing the components and a process of preparing the feeder, and the assembly process may include a process of mounting the components on the substrate.
[0030] This allows for more accurate calculation of the time required to produce a product in which components are mounted on a board.
[0031] In addition, in a time calculation device according to one aspect of the present disclosure, the process of the first execution unit may be the process of mounting the component on the board, and the first execution unit may mount the component on the board in the first mode and wait until the board and the component are supplied in the second mode.
[0032] This allows the time required for the first execution unit to mount components on the board and the time required for the first execution unit to wait until the board and components are supplied to be calculated, and therefore the time required for the process of mounting components on the board can be calculated more accurately, thereby enabling the time required for producing the product to be calculated even more accurately.
[0033] In addition, in a time calculation device according to one embodiment of the present disclosure, the first execution unit's own process may be the process of preparing one of the part and the feeder, and the first execution unit may prepare one of the part and the feeder in the first mode, and wait until the previous process included in the preparation process is completed in the second mode.
[0034] This allows the time required for the first execution unit to prepare either the part or the feeder, and the time required for the first execution unit to wait until the previous process included in the preparation process is completed, and therefore the time required for the process of preparing either the part or the feeder can be calculated more accurately, thereby allowing the time required for producing the product to be calculated even more accurately.
[0035] In order to solve the above-described problem, a time calculation method according to one aspect of the present disclosure includes: a model acquisition step of acquiring a simulation model for performing a simulation of a production process including a plurality of steps for producing a product in which a plurality of materials are assembled together; a simulation step of performing the simulation using the simulation model acquired in the model acquisition step; and an output step of outputting a result of the simulation performed in the simulation step, wherein the plurality of steps include a preparation step of preparing the plurality of materials and resources for assembling the plurality of materials together, and an assembly step of assembling the plurality of materials together using the resources, and the simulation model includes a plurality of execution units each executing a corresponding one of the plurality of steps, and the plurality of execution units include first execution units that transition to a first mode for executing the corresponding one of the plurality of steps based on a previous step completion notification indicating that a previous step of the corresponding one of the plurality of steps has been completed, and transition to a second mode for waiting to execute the corresponding one of the steps based on a current step completion notification indicating that the current step has been completed, and in the simulation step, a time calculation method for the first execution unit using a time in the first mode and a time in the second mode
[0036] This provides the same effects as the time calculation device described above.
[0037] In order to solve the above-described problems, a program according to one aspect of the present disclosure is a program for causing a computer to execute the above-described time calculation method.
[0038] This provides the same effects as the time calculation device described above.
[0039] Hereinafter, the embodiments will be specifically described with reference to the drawings.
[0040] The embodiments described below are all comprehensive or specific examples. The numerical values, shapes, materials, components, component placement and connection configurations, steps, and step order shown in the following embodiments are merely examples and are not intended to limit the present disclosure. Furthermore, among the components in the following embodiments, components not described in independent claims are described as optional components.
[0041] In addition, each drawing is a schematic diagram and is not necessarily an exact illustration. In addition, the same components are denoted by the same reference numerals in each drawing.
[0042] (Embodiment) 1 is a block diagram showing the functional configuration of a time calculation device 10 according to an embodiment. The functional configuration of the time calculation device 10 will be described with reference to FIG.
[0043] As shown in FIG. 1, the time calculation device 10 is a device that simulates the production of a product and calculates the time required for the production of the product. For example, the product is an object produced using a plurality of materials. In this embodiment, the product is an object produced by assembling a plurality of materials together. In this embodiment, the plurality of materials include a substrate and a plurality of electronic components A to D (see FIG. 3), and the product is a mounted substrate produced by assembling a plurality of electronic components A to D onto a substrate. Note that the product may be, for example, food, a semiconductor, an electrical device, or the like. In this embodiment, the product is produced using a plurality of production devices 50 and a plurality of work terminals 52, etc.
[0044] The time calculation device 10 includes a model generation unit 12, a model acquisition unit 14, a simulation unit 16, a result acquisition unit 18, a performance acquisition unit 20, an analysis unit 22, a display unit 24, a notification unit 26, and a memory unit 28.
[0045] The model generation unit 12 generates a simulation model for simulating a production process including a plurality of steps A1 to A19 (see FIG. 2) for producing a product. For example, the simulation model is a production model that models the plurality of steps A1 to A19 and the events that occur in each of the steps A1 to A19. Details of the production process and the simulation model will be described later. Events include external events and internal events. An external event refers to, for example, an event related to a detection sensor provided in the production device 50 or an operation of the work terminal 52. An internal event refers to, for example, an event exchanged within the simulation model for executing each step in accordance with a work sequence or production sequence in a process. As will be described later in detail, the simulation model includes a plurality of execution units B1 to B19, each of which executes its own step, which is a corresponding step among the plurality of steps A1 to A19. The multiple execution units B1 to B19 include a first execution unit that transitions to a first mode in which it executes its own process based on a previous process completion notification indicating that a previous process of its own process among the multiple processes A1 to A19 has been completed, and transitions to a second mode in which it waits to execute its own process based on a current process completion notification indicating that its own process has been completed.
[0046] The model acquisition unit 14 acquires a simulation model for simulating a production process. In this embodiment, the model acquisition unit 14 acquires a simulation model generated by the model generation unit 12. Note that, for example, the time calculation device 10 does not need to include the model generation unit 12, and the model acquisition unit 14 may acquire a simulation model generated outside the time calculation device 10.
[0047] The simulation unit 16 simulates a production process using the simulation model acquired by the model acquisition unit 14. That is, the simulation unit 16 simulates the production of a product using the simulation model acquired by the model acquisition unit 14. The simulation unit 16 calculates the time related to the first execution unit's own process using the time in the first mode and the time in the second mode of the first execution unit. For example, the simulation unit 16 calculates the time related to the first execution unit's own process by adding the length of time when the first execution unit is in the first mode and the length of time when the first execution unit is in the second mode.
[0048] For example, the simulation unit 16 performs a simulation by synchronizing the actual start time of each of the multiple processes A1 to A19 with the start time of the simulation of that process. That is, for example, the simulation unit 16 performs a simulation by synchronizing the actual start time of each of the multiple processes A1 to A19 with the start time of the simulation of that process. For example, the simulation unit 16 acquires information indicating that process A1 has actually started from the work terminal 52, etc., and starts process A1 in the simulation when process A1 has actually started. Also, for example, the simulation unit 16 acquires information indicating that process A3 has actually started from the production equipment 50, etc., and starts process A3 in the simulation when process A3 has actually started. Note that the start of the simulation may be performed asynchronously with the actual start time as a non-real-time process.
[0049] The result acquisition unit 18 acquires the results of the simulation performed by the simulation unit 16. For example, the results of the simulation include the time required to produce a predetermined number of products in the simulation, the number of products produced in a predetermined time in the simulation, the start and end times of each of the multiple processes A1 to A19 in the simulation, and the time associated with each of the multiple processes A1 to A19 in the simulation. For example, the time associated with each of the multiple processes A1 to A19 is the sum of the time during which the process is being performed and the time during which the process is not being performed. As will be described in detail later, in this embodiment, the multiple processes A1 to A19 include a preparation process for preparing multiple materials and resources for assembling the multiple materials together, and an assembly process for assembling the multiple materials together using the resources. The results of the simulation include at least one of the start time of the preparation process, the end time of the preparation process, the start time of the assembly process, and the end time of the assembly process in the simulation.
[0050] The result acquisition unit 20 acquires results related to the production of products. For example, the result acquisition unit 20 acquires results of a production process. For example, the results related to the production of products include the actual time required to produce a predetermined number of products, the number of products actually produced in a predetermined time, the actual start time and end time of each of a plurality of processes, and the actual time related to each of a plurality of processes A1 to A19. That is, for example, the results related to the production of products include the actual time required to produce a predetermined number of products, the actual number of products produced in a predetermined time, the actual start time and end time of each of the plurality of processes A1 to A19, and the actual time related to each of the plurality of processes A1 to A19. As described above, in this embodiment, the multiple processes A1 to A19 include a preparation process for preparing multiple materials and resources for assembling the multiple materials together, and an assembly process for assembling the multiple materials together using the resources, and the actual production results for the product include at least one of the actual start time of the preparation process, the actual end time of the preparation process, the actual start time of the assembly process, and the actual end time of the assembly process. The result acquisition unit 20 is capable of communicating with the multiple production devices 50 and the multiple work terminals 52, and acquires the actual production results for the product from the multiple production devices 50 and the multiple work terminals 52.
[0051] The analysis unit 22 analyzes the differences between the simulation results acquired by the result acquisition unit 18 and the actual results regarding the production of the products acquired by the actual result acquisition unit 20. For example, the differences include the difference in the time required to produce a predetermined number of products, the difference in the number of products produced in a predetermined time, the difference in the start time and the end time of each of the multiple processes A1 to A19, and the time required for each of the multiple processes A1 to A19.
[0052] For example, the analysis unit 22 analyzes the difference by identifying the cause of the difference between the simulation results acquired by the result acquisition unit 18 and the actual results regarding the production of products acquired by the actual result acquisition unit 20. For example, if the time required for a predetermined number of products to be produced in reality is longer than the time required for the predetermined number of products to be produced in the simulation, the analysis unit 22 identifies the cause of the longer time required for the predetermined number of products to be produced in reality than the time required for the predetermined number of products to be produced in the simulation. Specifically, for example, the analysis unit 22 compares the actual end time and the simulated end time for each of the multiple processes A1 to A19, and identifies the process among the multiple processes A1 to A19 whose actual end time is later than the end time in the simulation as the cause of the longer time required for the predetermined number of products to be produced in reality than the time required for the predetermined number of products to be produced in the simulation. Furthermore, if the time required to produce a predetermined number of products in reality is shorter than the time required to produce a predetermined number of products in the simulation, the analysis unit 22 identifies a process as one in which work may not be performed appropriately. Specifically, for example, the analysis unit 22 compares the end time in reality with the end time in the simulation for each of the multiple processes A1 to A19, and identifies a process among the multiple processes A1 to A19 whose end time in reality is too early than the end time in the simulation as one in which work may not be performed appropriately.
[0053] The display unit 24 is an example of an output unit that outputs the results of the simulation performed by the simulation unit 16. For example, the display unit 24 outputs the results by displaying the results. Furthermore, for example, the display unit 24 displays information including the difference between the simulation results acquired by the result acquisition unit 18 and the actual results related to the production of the product acquired by the actual result acquisition unit 20. For example, the display unit 24 displays the information including the difference by displaying a graph showing the difference. Note that, for example, the time calculation device 10 does not need to include the display unit 24, and may include an output unit that outputs the results of the simulation performed by the simulation unit 16 to an external device or the like.
[0054] The notification unit 26 notifies a plurality of production devices 50 and a plurality of work terminals 52 of various information.
[0055] The storage unit 28 stores various information, such as the simulation model acquired by the model acquisition unit 14, the results of the simulation performed by the simulation unit 16, the results of the production of the product acquired by the results acquisition unit 20, and the difference between the results of the simulation and the results of the production of the product.
[0056] For example, the model generation unit 12, the model acquisition unit 14, the simulation unit 16, the result acquisition unit 18, and the analysis unit 22 are realized by a processor or the like. Also, for example, the performance acquisition unit 20 and the notification unit 26 are realized by a communication module or the like. Also, for example, the display unit 24 is realized by a display panel or the like. Also, for example, the storage unit 28 is realized by a memory or the like.
[0057] The functional configuration of the time calculation device 10 has been described above.
[0058] 2 is a schematic diagram showing an example of a production process, which will be described with reference to FIG.
[0059] As shown in Fig. 2, the production process includes multiple steps A1 to A19. In Fig. 2, steps that are started by an operator's operation are indicated by dotted arrows, and steps that are started automatically without an operator's operation are indicated by white arrows.
[0060] As described above, in this embodiment, a product is produced by assembling multiple materials together, and the multiple processes A1 to A19 include a preparation process for preparing the multiple materials and resources for assembling the multiple materials together, and an assembly process for assembling the multiple materials together using the resources. In this embodiment, the preparation process includes processes A1, A2, A4, A8, A10, A12, and A14, and the assembly process includes processes A5, A9, A11, A13, A15, and A18. In this embodiment, the multiple materials include a substrate, solder, and multiple electronic components A to D. In this embodiment, the resources for assembling the multiple materials together include a supply device that supplies the multiple materials and assembly members for assembling the multiple materials together. In this embodiment, the supply device includes multiple feeders (not shown), and the assembly members include suction nozzles (not shown) provided by each of the multiple production devices 50. Resources are things and people that do not constitute a product but are used in the production of the product.
[0061] Process A1 is a process for preparing a board. Process A1 is started by an operator. For example, process A1 is performed by an operator. For example, the operator inputs the start of work into the work terminal 52, and transports the board stored in the warehouse to the mounting line. Furthermore, when the board has been transported to the board mounting line, the operator inputs the completion of process A1 into the work terminal 52.
[0062] Process A2 is a process for preparing a plurality of electronic components A to D and solder (see FIG. 3). Process A2 is started by an operator's operation. For example, process A2 is performed by an operator. For example, the operator inputs the start of work into work terminal 52, and transports a plurality of electronic components A to D and solder stored in a warehouse to the mounting line. Furthermore, once the boards have been transported to the board mounting line, the operator inputs the completion of process A2 into work terminal 52. Note that if the board mounting line can acquire the completion of process A2, the operator's input into work terminal 52 may be omitted.
[0063] Process A3 is a process of marking the substrate prepared in process A1. Process A3 is also a process of marking the substrate repaired in process A7 or process A17. Note that marking may be skipped for substrates that are repaired and re-input. Process A3 is started automatically without operator operation. For example, process A3 is performed by production apparatus 50. For example, the production apparatus 50 is a laser marker. For example, when a substrate is supplied to the production apparatus 50, the production apparatus 50 marks the substrate with a two-dimensional barcode for traceability of production information.
[0064] Step A4 is a step of supplying the solder prepared in step A2. Step A4 is initiated by an operator. For example, step A4 is performed by an operator supplying solder to a solder printing device. In addition to supplying solder, step A4 also includes the steps of attaching a solder pot to the solder printing device for automatically supplying solder, and attaching a squeegee and a screen mask to the solder printing device for depositing solder on the substrate.
[0065] Process A5 is a process of printing the solder supplied in process A4 onto the board marked in process A3. Process A5 is started automatically without operator intervention. For example, process A5 is performed by production apparatus 50. For example, production apparatus 50 is a solder printing apparatus. For example, when a board and solder are supplied, production apparatus 50 prints the solder on the board. Note that production apparatus 50 in process A5 does not have to be a solder printing apparatus as long as it is an apparatus that deposits solder on a board, and may be, for example, a solder application apparatus that deposits solder.
[0066] Process A6 is a process for inspecting the board manufactured in process A5. Process A6 is started automatically without operator intervention. For example, process A6 is performed by production apparatus 50. For example, production apparatus 50 is an inspection machine. For example, when a board is supplied to production apparatus 50, production apparatus 50 inspects the condition of the solder deposited on the board.
[0067] Step A7 is a step of repairing the board inspected in step A6. Step A7 is initiated by an operator. For example, step A7 is performed by an operator. For example, if a board with poor solder deposition or the like is found in step A6, the operator repairs the board. Note that the repair here includes at least removing the solder.
[0068] Process A8 is a process for preparing resources for supplying the electronic components A prepared in process A2. Process A8 is initiated by an operator. For example, process A8 is performed by an operator. For example, the operator prepares to attach a feeder for supplying electronic components A and a component reel containing electronic components A to production device 50.
[0069] Process A9 is a process of mounting electronic components A supplied by the feeder prepared in process A8 onto the board manufactured in process A6. Process A9 is started automatically without operator intervention. For example, process A9 is performed by production apparatus 50. For example, production apparatus 50 is a mounting machine. For example, when a board and electronic components A are supplied to production apparatus 50, production apparatus 50 mounts electronic components A onto the board.
[0070] Process A10 is a process for preparing resources for supplying electronic components B prepared in process A2. Process A10 is initiated by an operator. For example, process A10 is performed by an operator. For example, the operator prepares to attach a feeder for supplying electronic components B and a component reel containing electronic components B to production device 50.
[0071] Process A11 is a process of mounting electronic components B supplied by the feeder prepared in process A10 onto the board manufactured in process A9. Process A11 is started automatically without operator operation. For example, process A11 is performed by production apparatus 50. For example, production apparatus 50 is a mounting machine. For example, when a board and electronic components B are supplied to production apparatus 50, production apparatus 50 mounts electronic components B on the board.
[0072] Process A12 is a process for preparing resources for supplying the electronic components C prepared in process A2. Process A12 is initiated by an operator. For example, process A12 is performed by an operator. For example, the operator prepares to attach a feeder for supplying the electronic components C and a component reel storing the electronic components C to production device 50.
[0073] Process A13 is a process of mounting the electronic components supplied in process A12 onto the board manufactured in process A11. Process A13 is started automatically without operator operation. For example, process A13 is performed by production apparatus 50. For example, production apparatus 50 is a mounting machine. For example, when a board and electronic components are supplied to production apparatus 50, production apparatus 50 mounts electronic components C onto the board.
[0074] Process A14 is a process for preparing resources for supplying the electronic components D prepared in process A2. Process A14 is started by an operator. For example, process A14 is performed by an operator. For example, the operator prepares to attach a feeder for supplying the electronic components D and a component reel storing the electronic components D to production device 50.
[0075] Process A15 is a process of mounting electronic components D supplied in process A14 onto the board manufactured in process A13. Process A15 is started automatically without operator operation. For example, process A15 is performed by production apparatus 50. For example, the production apparatus 50 is a mounting machine. For example, when a board and electronic components D are supplied to the production apparatus 50, the production apparatus 50 mounts the electronic components D on the board.
[0076] Process A16 is a process for inspecting the board manufactured in process A15. Process A16 is started automatically without operator operation. For example, process A16 is performed by production apparatus 50. For example, the production apparatus 50 is an inspection machine. For example, when a board is supplied to the production apparatus 50, the production apparatus 50 inspects the mounting state of the components mounted on the board.
[0077] Step A17 is a step for repairing the board inspected in step A16. Step A17 is initiated by an operator. For example, step A17 is performed by an operator. For example, if a defective board is found in step A16, the operator repairs the board. The repair here includes at least removing solder or components, correcting the position of mounted components, etc., and the repair board that proceeds from step A17 to step A3 is a board from which the above-mentioned solder or components have been removed.
[0078] Step A18 is a step of reflowing the substrate manufactured in step A16. Step A18 is started automatically without operator intervention. For example, step A18 is performed by production apparatus 50. For example, the production apparatus 50 is a reflow furnace. For example, when a substrate is supplied to the production apparatus 50, the production apparatus 50 solidifies the solder deposited on the substrate to bond the component to the substrate.
[0079] Process A19 is a process for transporting the mounting board manufactured in process A18. Process A19 is started by an operator. For example, process A19 is performed by an operator, who transports the board to a storage warehouse as intermediate inventory or to the next production process.
[0080] In this embodiment, a mounted substrate, which is a product, is produced through the above-described plurality of steps A1 to A19.
[0081] As described above, in this embodiment, the actual production results for the product include at least one of the start time of the preparation process, the end time of the preparation process, the start time of the assembly process, and the end time of the assembly process. For example, the start times of the preparation processes include the actual start times of process A1, process A2, process A4, process A8, process A10, process A12, and process A14. Furthermore, for example, the end times of the preparation processes include the actual end times of process A1, process A2, process A4, process A8, process A10, process A12, and process A14. Furthermore, for example, the start times of the assembly processes include the actual start times of process A5, process A9, process A11, process A13, process A15, and process A18. Furthermore, for example, the end time of the assembly process includes the actual end time of process A5, the end time of process A9, the end time of process A11, the end time of process A13, the end time of process A15, and the end time of process A18.
[0082] An example of a production process has been described above.
[0083] Fig. 3 is a schematic diagram showing an example of a simulation model for simulating the production process of Fig. 2. Fig. 4 is a schematic diagram showing an example of an execution unit included in the simulation model of Fig. 3. An example of the simulation model will be described with reference to Figs. 3 and 4.
[0084] 3, the simulation model includes a plurality of execution units B1 to B19, each of which executes a corresponding one of a plurality of processes A1 to A19. The plurality of processes A1 to A19 correspond to the plurality of execution units B1 to B19.
[0085] For example, when a step corresponding to one of the multiple processes A1 to A19 is completed, each of the multiple execution units B1 to B19 transmits a notification indicating the completion of the corresponding step to the execution unit that executes the next step among the multiple execution units B1 to B19. If the execution unit does not receive the notification, it does not execute the corresponding step among the multiple processes. For example, if execution unit B3 does not receive the notification from execution unit B1, it does not execute step A3, and if it has completed step A3, it transmits the notification to execution unit B5. For example, the notification may be a token, an internal event, or an external event. Note that the term "notification" used here is not limited to the term itself. In other words, the present invention also applies to, for example, passing information from one process to the next process, and having the next process acquire the information itself, in addition to notifying the next process from the current process.
[0086] As shown in FIG. 4, in this embodiment, each of the multiple execution units B1 to B19 is a function block that functions as a state machine. For example, when a function block receives materials, assembled materials, resources, tokens, and an external event occurrence notification or an internal event occurrence notification while in a wait state, it enters an event execution state and executes the specified event for a set predetermined time. Furthermore, for example, when the event ends, the function block transmits the materials, resources, tokens, and an internal event occurrence notification to the function block executing the subsequent process and then enters a wait state again. Each of the multiple execution units B1 to B19 executes a process corresponding to the execution unit as a specified event. For example, after executing a process, the function block notifies the downstream process of the internal event. Note that the set predetermined time may be set in advance by the user or based on the start and end times of the target process acquired in the past. Furthermore, notifying the assembled materials means virtually assembling and transferring the materials prepared in each process. In processes that do not involve assembling materials, the assembled materials are transferred to the downstream process without being assembled.
[0087] As shown in FIG. 3, the execution unit B1 executes the process A1. For example, when the execution unit B1 is in a waiting state and receives a notification that an operator has started the process A1, the execution unit B1 executes the process A1. In the simulation, the process A1 transfers a virtually set number of boards one by one to the downstream process A3, and subtracts the number of transferred boards from the set number. It should be noted that examples of triggers that put the execution unit B1 into the execution state include receiving a simulation execution notification from a user and receiving an execution notification at a set predetermined time.
[0088] The execution unit B2 executes the process A2. For example, when the execution unit B2 is in a waiting state and receives a notification that a worker has started the process A2, the execution unit B2 executes the process A2. In the simulation, the process A2 virtually supplies a predetermined number of materials and supplies required for the execution of the processes A5, A9 to A15 to each process. The trigger for putting the execution unit B2 into the execution state may be, for example, receiving a simulation execution notification from the user or receiving an execution notification at a predetermined time.
[0089] The execution unit B3 executes the process A3. For example, when the execution unit B3 is in a waiting state, if the execution unit B3 receives a notification that the execution unit B1 has completed the process A1 and a notification that the production device 50 has started the process A3, the execution unit B3 executes the process A3. In the simulation, the process A3 virtually marks the substrate and transfers the substrate to the downstream process A5.
[0090] The execution unit B4 executes the process A4. For example, when the execution unit B4 is in a waiting state, if it receives a notification that the execution unit B2 has completed the process A2 and a notification that the worker has started the process A4, the execution unit B4 executes the process A4. In the simulation, the materials and supplies handed over from the process A2 (solder pots for automatically supplying solder, squeegees for depositing solder on the substrate, screen masks, etc.) are virtually assembled.
[0091] Execution unit B5 executes process A5. For example, when execution unit B5 is in a waiting state, it executes process A5 if it receives a notification indicating that execution unit B3 has completed process A3, a notification indicating that execution unit B4 has completed process A4, and a notification indicating that production device 50 has started process A5. In the simulation, process A5 virtually receives a board from process A3, assembles solder onto the board, and hands the board over to downstream process A6. In addition, a total amount and an amount to be assembled per board are set for the solder, and each time solder is assembled onto a board, the amount to be assembled per board is subtracted from the total amount.
[0092] The execution unit B6 executes the process A6. For example, when the execution unit B6 is in a waiting state, if it receives a notification that the execution unit B5 has completed the process A5 and a notification that the production device 50 has started the process A6, the execution unit B6 executes the process A6. The process A6 branches into processes A9 and A7 after the process A6, and the notification that the process A6 has completed is sent to the processes A9 and A7 at a preset ratio. The preset ratio may be set by the user or may be set based on the inspection pass rate obtained in the past.
[0093] The execution unit B7 executes the process A7. For example, when the execution unit B7 is in a waiting state, if the execution unit B7 receives a notification that the execution unit B6 has completed the process A6 and a notification that the worker has started the process A7, the execution unit B7 executes the process A7. In the simulation, the board is handed over to the process A1 without the virtually assembled solder.
[0094] Execution unit B8 executes process A8. For example, when execution unit B8 is in a waiting state, if it receives a notification that execution unit B2 has completed process A2 and a notification that a worker has started process A8, it executes process A8. In process A8 in the simulation, materials and supplies (feeders for supplying electronic components A and component reels storing electronic components A) virtually handed over from process A2 are virtually assembled. In addition, a total number and the number to be assembled on one board are set for each component, and each time a component is assembled on a board, the number to be assembled on one board is subtracted from the total number.
[0095] Execution unit B9 executes process A9. For example, when execution unit B9 is in a waiting state, if it receives a notification indicating that execution unit B6 has completed process A6, a notification indicating that execution unit B8 has completed process A8, and a notification indicating that production equipment 50 has started process A9, it executes process A9. In the simulation, process A9 virtually receives a board from process A6, assembles components on the board, and delivers the board to downstream process A11.
[0096] The execution unit B10 executes the process A10. For example, when the execution unit B10 is in a waiting state, if it receives a notification that the execution unit B2 has completed the process A2 and a notification that the worker has started the process A10, it executes the process A10. In the simulation, the process A10 virtually assembles materials and supplies (feeders for supplying electronic components A and component reels storing electronic components A) handed over from the process A2. In addition, the total number and the number to be assembled on one board are set for each component, and each time a component is assembled on a board, the number to be assembled on one board is subtracted from the total number.
[0097] The execution unit B11 executes the process A11. For example, when the execution unit B11 is in a waiting state, if the execution unit B11 receives a notification indicating that the execution unit B9 has completed the process A9, a notification indicating that the execution unit B10 has completed the process A10, and a notification indicating that the production device 50 has started the process A11, the execution unit B11 executes the process A11. In the simulation, the process A11 virtually receives a board from the process A9, assembles components on the board, and delivers the board to the downstream process A13.
[0098] Execution unit B12 executes process A12. For example, when execution unit B12 is in a waiting state, it executes process A12 if it receives a notification that execution unit B2 has completed process A2 and a notification that a worker has started process A12. In process A12 in the simulation, materials and supplies (feeders for supplying electronic components B and component reels storing electronic components B) virtually handed over from process A2 are virtually assembled. In addition, a total number and the number to be assembled on one board are set for each component, and each time a component is assembled on a board, the number to be assembled on one board is subtracted from the total number.
[0099] The execution unit B13 executes the process A13. For example, when the execution unit B13 is in a waiting state, if it receives a notification indicating that the execution unit B11 has completed the process A11, a notification indicating that the execution unit B12 has completed the process A12, and a notification indicating that the production device 50 has started the process A13, the execution unit B13 executes the process A13. In the simulation, the process A13 virtually receives a board from the process A11, assembles components onto the board, and delivers the board to the downstream process A15. In addition, the total number and the number to be assembled onto one board are set for each part, and each time a part is assembled onto a board, the number to be assembled onto one board is subtracted from the total number.
[0100] The execution unit B14 executes the process A14. For example, when the execution unit B14 is in a waiting state, if it receives a notification that the execution unit B2 has completed the process A2 and a notification that the worker has started the process A14, the execution unit B14 executes the process A14. In the simulation, the materials and supplies (feeders for supplying electronic components C and component reels storing electronic components C) virtually assemble the materials and supplies handed over from the process A2.
[0101] Execution unit B15 executes process A15. For example, when execution unit B15 is in a waiting state, it executes process A15 if it receives a notification indicating that execution unit B13 has completed process A13, a notification indicating that execution unit B14 has completed process A14, and a notification indicating that production equipment 50 has started process A15. In the simulation, process A15 virtually receives a board from process A13, assembles components onto the board, and delivers the board to downstream process A16. In addition, a total number and the number to be assembled onto one board are set for each part, and each time a part is assembled onto a board, the number to be assembled onto one board is subtracted from the total number.
[0102] The execution unit B16 executes the process A16. For example, when the execution unit B16 is in a waiting state, if it receives a notification that the execution unit B15 has completed the process A15 and a notification that the production device 50 has started the process A16, the execution unit B16 executes the process A16. The process following the process A16 branches into processes A18 and A17, and the notification that the process A16 has completed is sent to the processes A18 and A17 at a preset ratio. In the simulation, the process A16 virtually receives a substrate from the process A15 and passes the substrate to the downstream process A17 or A18. The preset ratio may be set by the user or may be set based on a previously obtained inspection pass rate.
[0103] The execution unit B17 executes the process A17. For example, when the execution unit B17 is in a waiting state, if it receives a notification that the execution unit B16 has completed the process A16 and a notification that the worker has started the process A17, the execution unit B17 executes the process A17. In the simulation, the board is handed over to the process A1 excluding virtually assembled solder and components.
[0104] Execution unit B18 executes process A18. For example, when execution unit B18 is in a waiting state, if it receives a notification that execution unit B16 has completed process A16 and a notification that production device 50 has started process A18, it executes process A18. In the simulation, process A18 virtually receives a substrate from process A16 and passes the substrate to downstream process A19.
[0105] Execution unit B19 executes process A19. For example, when execution unit B19 is in a waiting state, if it receives a notification that execution unit B18 has completed process A18 and a notification that production device 50 has started process A19, it executes process A19. In the simulation, process A19 virtually receives a board from process 18, and the production of the product is counted as completed.
[0106] In this embodiment, a simulation model is configured by the above-described plurality of execution units B1 to B19, etc., and a simulation of the production process of a product is performed.
[0107] As described above, in this embodiment, the simulation results include at least one of the start time of the preparation process, the end time of the preparation process, the start time of the assembly process, and the end time of the assembly process. For example, the start time of the preparation process includes the start time of process A1, the start time of process A2, the start time of process A4, the start time of process A8, the start time of process A10, the start time of process A12, and the start time of process A14 in the simulation. Furthermore, for example, the end time of the preparation process includes the end time of process A1, the end time of process A2, the end time of process A4, the end time of process A8, the end time of process A10, the end time of process A12, and the end time of process A14 in the simulation. Furthermore, for example, the start time of the assembly process includes the start time of process A5, the start time of process A9, the start time of process A11, the start time of process A13, the start time of process A15, and the start time of process A18 in the simulation. Furthermore, for example, the end time of the assembly process includes the end time of process A5, the end time of process A9, the end time of process A11, the end time of process A13, the end time of process A15, and the end time of process A18 in the simulation.
[0108] An example of the simulation model has been described above.
[0109] Fig. 5 is a schematic diagram showing mode transitions of the first execution unit included in the simulation model of Fig. 3. The mode transitions of the first execution unit will be described with reference to Fig. 5.
[0110] As shown in Figure 5, the first execution unit transitions to a first mode in which it executes its own process based on a previous process completion notification indicating that the previous process of the multiple processes A1 to A19 has been completed, and transitions to a second mode in which it waits to execute its own process based on a current process completion notification indicating that the current process has been completed.
[0111] In this embodiment, each of the execution units B3 to B19 corresponds to a first execution unit. For example, the execution unit B11 transitions to a first mode in which it executes its own process based on a previous process completion notification indicating that processes A9 and A10, which are previous processes of the process A11 among the multiple processes A1 to A19, have been completed. Also, for example, the execution unit B11 transitions to a second mode in which it waits to execute its own process A11 based on a current process completion notification indicating that the current process A11 among the multiple processes A1 to A19 has been completed.
[0112] For example, the first execution unit transmits a process end notification when its own process is completed in the first mode, and transitions from the first mode to the second mode when the process end notification is transmitted. Specifically, for example, the execution unit B11 transmits a process end notification when its own process, process A11, is completed in the first mode, and transitions from the first mode to the second mode when the process end notification is transmitted.
[0113] Furthermore, for example, the previous process of the first execution unit's own process includes an assembly process, the previous process end notification includes an assembly process end notification indicating that the assembly process has ended, and the first execution unit transitions from the second mode to the first mode when it receives the assembly process end notification while in the second mode. Specifically, for example, the previous process of process A11, which is the execution unit B11's own process, includes process A9, which is an assembly process, and the previous process end notification includes an assembly process end notification indicating that process A9, which is an assembly process, has ended, and the execution unit B11 transitions from the second mode to the first mode when it receives the assembly process end notification while in the second mode.
[0114] Furthermore, for example, the previous process of the first execution unit's own process includes a preparatory process, the previous process end notification includes a preparatory process end notification indicating that the preparatory process has ended, and the first execution unit transitions from the second mode to the first mode when it receives an assembly process end notification while in the second mode and has already received the preparation process end notification. Specifically, for example, the previous process of process A11, which is the execution unit B11's own process, includes process A10, which is a preparatory process, and the previous process end notification includes a preparatory process end notification indicating that process A10, which is a preparatory process, has ended, and the execution unit B11 transitions from the second mode to the first mode when it receives an assembly process end notification while in the second mode and has already received the preparation process end notification.
[0115] In this embodiment, the first execution unit transitions to the fourth mode when at least one of the materials and resources prepared by the preparation process, which is the process preceding the own process, is insufficient while in the second mode, and transitions to the second mode when a preparation process end notification is received while in the fourth mode. That is, in this embodiment, the first execution unit is in the second mode if it receives a preparation process end notification before receiving an assembly process end notification, and transitions to the fourth mode if it does not receive a preparation process end notification before receiving an assembly process end notification. Specifically, for example, the execution unit B11 transitions to the fourth mode when at least one of the materials and resources prepared by the process A10, which is the process preceding the own process, is insufficient while in the second mode, and transitions to the second mode when it receives a preparation process end notification while in the fourth mode. Furthermore, for example, the execution unit B11 is in the second mode if it receives a preparation process end notification before receiving an assembly process end notification, and transitions to the fourth mode if it does not receive a preparation process end notification before receiving the assembly process end notification.
[0116] For example, the previous-step completion notification is sent from a second execution unit among the multiple execution units B1 to B19 that executes a step preceding the process of the first execution unit B1. For example, execution unit B9 that executes process A9, which is a step preceding process A11, which is the execution unit B11's own step, sends a previous-step completion notification to execution unit B11 indicating that process A9 has ended when process A9 has ended. That is, for example, the previous-step completion notification is sent from execution unit B9, which is a second execution unit that executes a step preceding the process of the execution unit B11, which is the first execution unit. Also, for example, execution unit B10 that executes process A10, which is a step preceding process A11, which is the execution unit B11's own step, sends a previous-step completion notification to execution unit B11 indicating that process A10 has ended when process A10 has ended. That is, for example, the previous-step completion notification is sent from execution unit B10, which is a second execution unit that executes a step preceding the process of the execution unit B11, which is the first execution unit. In this way, for example, the execution unit B11 receives the previous process completion notification transmitted from the execution unit B9 and the previous process completion notification transmitted from the execution unit B10.
[0117] Also, for example, the previous process completion notification is output from an execution device (actual machine) that actually executes the process previous to the process of the first execution unit. For example, an execution device that actually executes process A9, which is the process previous to process A11, which is the process of the execution unit B11, sends a previous process completion notification to the execution unit B11 indicating that process A9 has been completed when process A9 has actually been completed. That is, for example, the previous process completion notification is sent from an execution device that actually executes process A9, which is the process previous to the process of the execution unit B11, which is the first execution unit. Also, for example, an execution device that actually executes process A10, which is the process previous to process A11, which is the process of the execution unit B11, sends a previous process completion notification to the execution unit B11 indicating that process A10 has been completed when process A10 has actually been completed. That is, for example, the previous process completion notification is sent from an execution device that actually executes process A10, which is the process previous to the process of the execution unit B11, which is the first execution unit. In this way, for example, the execution unit B11 receives a previous process end notification transmitted from the execution device that actually executes the process A9, and a previous process end notification transmitted from the execution device that actually executes the process A10.
[0118] Furthermore, for example, if an abnormality occurs in the first mode or the second mode, the first execution unit transitions to a third mode in which the execution unit waits until the abnormality is resolved. Specifically, for example, if an abnormality occurs in the first mode or the second mode, the execution unit B11 transitions to the third mode in which the execution unit waits until the abnormality is resolved. The transition to the third mode in the simulation occurs at a predetermined probability. The predetermined probability may be set by the user or may be set based on a previously acquired abnormality occurrence rate.
[0119] In this embodiment, the first execution unit transmits an abnormality occurrence notification when an abnormality occurs in the first mode, and transitions from the first mode to the third mode when the abnormality occurrence notification is transmitted. Also, in this embodiment, the first execution unit transmits an abnormality occurrence notification when an abnormality occurs in the second mode, and transitions from the second mode to the third mode when the abnormality occurrence notification is transmitted.
[0120] In this embodiment, when the first execution unit transitions from the first mode to the third mode, if the first execution unit receives an abnormality resolution notification indicating that the abnormality has been resolved while in the third mode, the unit transitions from the third mode to the first mode. In this embodiment, when the first execution unit transitions from the second mode to the third mode, if the first execution unit receives an abnormality resolution notification indicating that the abnormality has been resolved while in the third mode, the unit transitions from the third mode to the second mode. For example, the abnormality resolution notification is transmitted from an execution device or the like that actually executes the process of the first execution unit.
[0121] For example, the process of the first execution unit is a process of mounting components on a board, and the first execution unit mounts the components on the board in the first mode and waits until the board and components are supplied in the second mode. Specifically, for example, process A11, which is the process of execution unit B11, is a process of mounting electronic component B on a board, and execution unit B11 mounts electronic component B on the board in the first mode and waits until the board and electronic component B are supplied in the second mode.
[0122] For example, the first execution unit's own process is a process of preparing either a part or a feeder, and the first execution unit prepares either a part or a feeder in the first mode and waits until the previous process included in the preparation process is completed in the second mode. Specifically, for example, process A10, which is the execution unit B10's own process, is a process of preparing a feeder, and execution unit B10 prepares the feeder in the first mode and waits until process A2, which is the previous process included in the preparation process, is completed in the second mode.
[0123] The above has explained the mode transition of the first execution unit.
[0124] Fig. 6 is a flowchart showing an example of the operation of the model generating section 12 of the time calculation device 10 in Fig. 1. With reference to Fig. 6, an example of the operation of the model generating section 12 of the time calculation device 10 will be described.
[0125] 6, first, the model generation unit 12 sets a work area where a production line is to be arranged (step S1). For example, the production line is a production line for producing a product by executing a production process including a plurality of steps A1 to A19, and the work area is an area within a factory. That is, for example, the model generation unit 12 determines an area within a factory where a production line for producing a product is to be arranged.
[0126] After setting the work area where the production line is to be arranged, the model generation unit 12 sets a plurality of processes A1 to A19 (step S2). For example, the model generation unit 12 sets a marking process for marking a board as process A1, and a soldering process for soldering the board as process A5. Other processes are also set.
[0127] After setting the multiple processes, the model generation unit 12 sets a state machine that executes each of the multiple processes (step S3). For example, the model generation unit 12 sets a state machine (function block) that executes the marker process, a state machine (function block) that executes the soldering process, etc. State machines (function blocks) are also set for the other processes.
[0128] After setting the state machines that execute each of the multiple steps, the model generation unit 12 sets material objects (step S4). For example, material objects are objects related to multiple materials and are information exchanged between state machines. For example, material objects include attribute information of materials.
[0129] After setting the material object, the model generation unit 12 sets a resource object (step S5) and ends the process. For example, a resource object is an object related to a resource, and is information exchanged between state machines.
[0130] An example of the operation of the model generating unit 12 of the time calculation device 10 has been described above.
[0131] Fig. 7 is a flowchart showing an example of the operation of the time calculation device 10 in Fig. 1. With reference to Fig. 7, an example of the operation of the simulation section 16 of the time calculation device 10 will be described.
[0132] As shown in FIG. 7, first, the model acquisition unit 14 acquires a simulation model (model acquisition step) (step S11).
[0133] When the model acquisition unit 14 acquires the simulation model, the simulation unit 16 performs a simulation using the simulation model (simulation step) (step S12).
[0134] In the simulation step, the simulation unit 16 calculates the time for the first execution unit's own process using the time for the first mode and the time for the second mode of the first execution unit.
[0135] For example, the simulation unit 16 calculates the time for the first execution unit's own process by adding together the length of time when the first execution unit is in the first mode and the length of time when the first execution unit is in the second mode. Specifically, for example, the simulation unit 16 calculates the time for process A3, which is the execution unit B3's own process, by adding together the length of time when the execution unit B3 is in the first mode and the length of time when the execution unit B3 is in the second mode. The same applies to processes A4 to A19.
[0136] Furthermore, for example, the simulation unit 16 calculates the time for the first execution unit's own process by adding together the length of time when the first execution unit is in the first mode, the length of time when the first execution unit is in the second mode, the length of time when the first execution unit is in the third mode, and the length of time when the first execution unit is in the fourth mode. Specifically, for example, the simulation unit 16 calculates the time for process A11, which is the execution unit B11's own process, by adding together the length of time when the execution unit B11 is in the first mode, the length of time when the execution unit B11 is in the second mode, the length of time when the execution unit B11 is in the third mode, and the length of time when the execution unit B11 is in the fourth mode. The same applies to processes A5, A9, A13, and A14.
[0137] For example, when the simulation unit 16 performs a simulation, the display unit 24 outputs the results of the simulation.
[0138] When the simulation unit 16 performs the simulation, the result acquisition unit 18 acquires the results of the simulation (result acquisition step) (step S13). For example, the result acquisition unit 18 acquires the simulation results of each of the multiple processes A1 to A19 in the simulation every time each process is completed.
[0139] The result acquisition unit 20 acquires the result regarding the production of the product (result acquisition step) (step S14). For example, the result acquisition unit 20 acquires the result of each of the multiple processes A1 to A19 in reality every time each process is completed.
[0140] When the result acquiring unit 18 acquires the simulation results and the result acquiring unit 20 acquires the results regarding the production of the product, the analysis unit 22 analyzes the difference between the simulation results and the results regarding the production of the product (analysis step) (step S15).
[0141] For example, the analysis unit 22 compares the actual time for each of the plurality of processes A1 to A19 with the simulated time, and analyzes the difference between the actual time for each of the plurality of processes A1 to A19. Specifically, for example, if there is a difference between the actual time for each of the plurality of processes A1 to A19 and the simulated time, the analysis unit 22 analyzes the cause of this difference.
[0142] After analyzing the difference between the simulation result and the actual production results of the product, the analysis unit 22 outputs the analysis result (step S16). For example, the analysis unit 22 outputs the analysis result to the display unit 24 and causes the display unit 24 to display the analysis result. Specifically, for example, the analysis unit 22 outputs information indicating the cause of the difference between the simulation result and the actual production results of the product to the display unit 24 and causes the display unit 24 to display the information.
[0143] After outputting the analysis result, the analysis unit 22 determines whether or not production of the product has been completed (step S17). For example, the analysis unit 22 determines that production of the product has been completed if all of the multiple processes A1 to A19 have been completed. On the other hand, for example, the analysis unit 22 determines that production of the product has not been completed if all of the multiple processes A1 to A19 have not been completed. Also, for example, the number of products to be produced is predetermined, and the analysis unit 22 determines that production of the product has been completed if the predetermined number of products has been produced. On the other hand, for example, the analysis unit 22 determines that production of the product has not been completed if the predetermined number of products has not been produced.
[0144] If the production of the product has not been completed (No in step S17), the simulation unit 16 performs a simulation again using the simulation model (simulation step) (step S12). For example, if the simulation unit 16 performed a simulation for process A1 in the previous step S12, it performs a simulation for process A2 here.
[0145] If the production of the product has been completed (Yes in step S17), the time calculation device 10 ends the process.
[0146] An example of the operation of the time calculation device 10 has been described above.
[0147] As described above, in the time calculation device 10, the first execution unit can calculate the time related to its own process using not only the time in the first mode but also the time in the second mode, etc., so that the time related to the first execution unit's own process can be calculated more accurately, and the time related to the production of the product can be calculated more accurately.
[0148] The time calculation device 10 and the like according to the embodiment have been described above.
[0149] The time calculation device 10 according to the embodiment includes a model acquisition unit 14 that acquires a simulation model for simulating a production process including a plurality of steps for producing a product in which a plurality of materials are assembled together, a simulation unit 16 that performs a simulation using the simulation model acquired by the model acquisition unit 14, and a display unit 24 that outputs the results of the simulation performed by the simulation unit 16. The plurality of steps A1 to A19 include a preparation step of preparing a plurality of materials and resources for assembling the plurality of materials together, and an assembly step of assembling the plurality of materials together using the resources. The simulation model includes a plurality of execution units B1 to B19, each of which executes a corresponding process among a plurality of processes A1 to A19, and the plurality of execution units B1 to B19 include first execution units (execution units B3 to B11) which transition to a first mode in which they execute their own process based on a previous process completion notification indicating that a previous process of their own process among the plurality of processes A1 to A19 has been completed, and which transition to a second mode in which they wait to execute their own process based on a current process completion notification indicating that their own process has been completed, and a simulation unit 16 calculates the time for the first execution unit (execution units B3 to B11)'s own process using the time in the first mode and the time in the second mode of the first execution units (execution units B3 to B11).
[0150] According to this, the time related to the own process of the first execution unit (execution units B3 to B11) is calculated using the time in the first mode and the time in the second mode of the first execution unit (execution units B3 to B11), so the time related to the own process of the first execution unit (execution units B3 to B11) can be calculated using not only the time when the first execution unit (execution units B3 to B11) is executing its own process but also the time when the first execution unit (execution units B3 to B11) is waiting to execute its own process. Therefore, the time related to the own process of the first execution unit (execution units B3 to B11) can be calculated more accurately, and the time related to the production of the product can be calculated more accurately.
[0151] Furthermore, in the time calculation device 10 according to the embodiment, the first execution unit (execution units B3 to B11) transmits a notification of completion of its own process when its own process is completed in the first mode, and transitions from the first mode to the second mode when the notification of completion of its own process is transmitted.
[0152] According to this, when the first execution unit (execution units B3 to B11) has completed its own process, it transmits a notification of completion of its own process and transitions from the first mode to the second mode, so that the first execution unit (execution units B3 to B11) can transition from the first mode to the second mode with greater accuracy. Therefore, the time related to the first execution unit's (execution units B3 to B11) own process can be calculated with greater accuracy, and the time related to the production of the product can be calculated with greater accuracy.
[0153] In addition, in the time calculation device 10 according to the embodiment, the previous process of the first execution unit (for example, execution unit B11) includes an assembly process, the previous process completion notification includes an assembly process completion notification indicating that the assembly process has ended, and the first execution unit (for example, execution unit B11) transitions from the second mode to the first mode when it receives the assembly process completion notification while in the second mode.
[0154] According to this, the first execution unit (for example, execution unit B11) transitions from the second mode to the first mode when it receives an assembly process completion notification, so that the first execution unit (for example, execution unit B11) can transition from the second mode to the first mode with greater accuracy. Therefore, the time related to the process of the first execution unit (for example, execution unit B11) can be calculated with greater accuracy, and the time related to the production of the product can be calculated with greater accuracy.
[0155] Furthermore, in the time calculation device 10 according to the embodiment, the previous process of the first execution unit (for example, execution unit B11) of its own process includes a preparation process, the previous process completion notification includes a preparation process completion notification indicating that the preparation process has been completed, and the first execution unit (for example, execution unit B11) transitions from the second mode to the first mode when it receives an assembly process completion notification while in the second mode and has already received the preparation process completion notification.
[0156] According to this, the first execution unit (for example, execution unit B11) transitions from the second mode to the first mode when it receives an assembly process end notification and has already received a preparation process end notification, so that the first execution unit (for example, execution unit B11) can transition from the second mode to the first mode with greater accuracy. Therefore, the time related to the process of the first execution unit (for example, execution unit B11) can be calculated with greater accuracy, and the time related to the production of the product can be calculated with greater accuracy.
[0157] Furthermore, in the time calculation device 10 according to the embodiment, if an abnormality occurs in the first mode or the second mode, the first execution unit (for example, the execution unit B11) transitions to a third mode in which the execution unit waits until the abnormality is resolved.
[0158] According to this, the first execution unit (for example, execution unit B11) transitions to the third mode when an abnormality occurs, and the time related to the abnormality can be calculated by calculating the time of the third mode of the first execution unit (for example, execution unit B11). Therefore, the time related to the process of the first execution unit (for example, execution unit B11) can be calculated more accurately, and the time related to the production of the product can be calculated more accurately.
[0159] In addition, in the time calculation device 10 according to the embodiment, the previous process completion notification is sent from a second execution unit (e.g., execution unit B9, B10) that executes the previous process of the first execution unit (e.g., execution unit B11) among the multiple execution units B1 to B19.
[0160] According to this, since the previous process completion notification is sent from the second execution unit (for example, execution units B9 and B10) that executes the previous process, the first execution unit (for example, execution unit B11) can be transitioned from the second mode to the first mode with greater accuracy. Therefore, the time related to the process of the first execution unit (for example, execution unit B11) can be calculated with greater accuracy, and the time related to the production of the product can be calculated with greater accuracy.
[0161] In the time calculation device 10 according to the embodiment, the previous process end notification is output from an execution device that actually executes the previous process of the first execution unit (for example, execution unit B11).
[0162] According to this, since the previous process completion notification is sent from the execution device that actually executes the previous process, the first execution unit (for example, execution unit B11) can be more accurately transitioned from the second mode to the first mode in accordance with the actual production of the product. Therefore, the time related to the process of the first execution unit (for example, execution unit B11) can be calculated more accurately, and the time related to the production of the product can be calculated more accurately.
[0163] Furthermore, the time calculation device 10 according to the embodiment includes a result acquisition unit 18 that acquires the results of the simulation performed by the simulation unit 16, a performance acquisition unit 20 that acquires performance data related to the production of the product, and an analysis unit 22 that analyzes the difference between the results acquired by the result acquisition unit 18 and the performance data acquired by the performance acquisition unit 20.
[0164] This allows for the analysis of the difference between the results of the production process simulation and the actual production of the product, making it possible to determine whether the production of the product is being carried out according to the simulation, and thereby enabling more accurate evaluation of the product production process.
[0165] Moreover, in the time calculation device 10 according to the embodiment, the plurality of materials include a substrate and components (electronic components A to D), the resources include a feeder for supplying the components (electronic components A to D), the preparation process includes a step of preparing the components (electronic components A to D) and a step of preparing a feeder, and the assembly process includes a step of mounting the components (electronic components A to D) on the substrate.
[0166] This allows for more accurate calculation of the time required to produce a product in which components (electronic components A to D) are mounted on a board.
[0167] Furthermore, in the time calculation device 10 according to the embodiment, the own process of the first execution unit (for example, execution unit B11) is a process of mounting a component (for example, electronic component B) on a board, and the first execution unit (for example, execution unit B11) mounts the component (for example, electronic component B) on the board in the first mode, and waits until the board and component (for example, electronic component B) are supplied in the second mode.
[0168] This allows the first execution unit (for example, execution unit B11) to calculate the time it takes to mount a component (for example, electronic component B) on a board, and the time it takes for the first execution unit (for example, execution unit B11) to wait until the board and component (for example, electronic component B) are supplied, and therefore the time involved in the process of mounting a component (for example, electronic component B) on a board can be calculated more accurately, and therefore the time involved in producing a product can be calculated even more accurately.
[0169] In addition, in the time calculation device 10 according to the embodiment, the own process of the first execution unit (for example, execution unit B10) is a process of preparing either a part or a feeder, and the first execution unit (for example, execution unit B10) prepares either a part or a feeder in the first mode, and waits until the previous process included in the preparation process is completed in the second mode.
[0170] This allows the time required for the first execution unit (for example, execution unit B10) to prepare either a part or a feeder, and the time required for the first execution unit (for example, execution unit B10) to wait until the previous process included in the preparation process is completed, and since the time required for the process of preparing either a part or a feeder can be calculated more accurately, the time required for producing the product can be calculated even more accurately.
[0171] Also, a time calculation method according to an embodiment includes a model acquisition step of acquiring a simulation model for simulating a production process including a plurality of steps for producing a product in which a plurality of materials are assembled together, a simulation step of performing a simulation using the simulation model acquired in the model acquisition step, and an output step of outputting a result of the simulation performed in the simulation step, wherein the plurality of steps include a preparation step of preparing the plurality of materials and resources for assembling the plurality of materials together, and an assembly step of assembling the plurality of materials together using the resources, and The simulation model includes a plurality of execution units B1 to B19, each of which executes a corresponding process among a plurality of processes, and the plurality of execution units B1 to B19 includes a first execution unit (execution units B3 to B11) that transitions to a first mode in which it executes its own process based on a previous process completion notification indicating that a process previous to its own process among the plurality of processes A1 to A19 has been completed, and transitions to a second mode in which it waits to execute its own process based on a current process completion notification indicating that its own process has been completed, and in a simulation step, the time for the first execution unit (execution units B3 to B11) related to its own process is calculated using the time in the first mode and the time in the second mode of the first execution unit (execution units B3 to B11).
[0172] This provides the same effects as the time calculation device 10 described above.
[0173] (Other embodiments, etc.) While the time calculation device according to one or more aspects has been described above based on the embodiments, the present disclosure is not limited to these embodiments. As long as the modifications do not deviate from the spirit of the present disclosure, modifications that would occur to those skilled in the art may also be included within the scope of the present disclosure.
[0174] In the above-described embodiments, each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU (Central Processing Unit) or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory. Here, the software that realizes the devices and the like of the above-described embodiments is a program that causes a computer to execute each step included in the flowcharts shown in Figures 6 and 7.
[0175] The following cases are also included in this disclosure:
[0176] (1) The at least one device is specifically a computer system comprising a microprocessor, ROM, RAM, hard disk unit, display unit, keyboard, mouse, etc. A computer program is stored in the RAM or hard disk unit. The at least one device achieves its function when the microprocessor operates in accordance with the computer program. Here, the computer program is composed of a combination of multiple instruction codes that indicate instructions to the computer to achieve a predetermined function.
[0177] (2) Some or all of the components constituting at least one of the above devices may be configured as a single system LSI (Large Scale Integration). A system LSI is an ultra-multifunctional LSI manufactured by integrating multiple components on a single chip, and specifically, is a computer system configured to include a microprocessor, ROM, RAM, etc. A computer program is stored in the RAM. The system LSI achieves its functions when the microprocessor operates in accordance with the computer program.
[0178] (3) Some or all of the components constituting at least one of the above devices may be configured as an IC card or a standalone module that can be attached to the device. The IC card or module is a computer system composed of a microprocessor, ROM, RAM, etc. The IC card or module may include the above-mentioned ultra-multifunctional LSI. The IC card or module achieves its functions when the microprocessor operates according to a computer program. This IC card or module may be tamper-resistant.
[0179] (4) The present disclosure may be embodied as the methods described above, a computer program for implementing these methods on a computer, or a digital signal comprising the computer program.
[0180] The present disclosure may also be a computer program or a digital signal recorded on a computer-readable recording medium, such as a flexible disk, a hard disk, a CD (Compact Disc)-ROM, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray (registered trademark) Disc), a semiconductor memory, etc. Alternatively, the present disclosure may be a digital signal recorded on such a recording medium.
[0181] The present disclosure may also be applied to transmitting a computer program or digital signal via a telecommunications line, a wireless or wired communication line, a network such as the Internet, data broadcasting, or the like.
[0182] Furthermore, the program or digital signal may be recorded on a recording medium and transferred, or the program or digital signal may be transferred via a network or the like, so that the program or digital signal may be implemented by another independent computer system. [Industrial Applicability]
[0183] The present disclosure can be used in devices that calculate the time required to produce a product. [Explanation of symbols]
[0184] 10 Time calculation device 12 Model Generation Unit 14 Model Acquisition Section 16 Simulation Section 18 Result acquisition part 20. Performance Acquisition Department 22 Analysis Department 24 Display 26 Notification Department 28 Memory section
Claims
1. a model acquisition unit that acquires a simulation model for simulating a production process including a plurality of steps for producing a product in which a plurality of materials are assembled together; a simulation unit that performs the simulation using the simulation model acquired by the model acquisition unit; an output unit that outputs a result of the simulation performed by the simulation unit, the plurality of steps include a preparation step of preparing the plurality of materials and resources for assembling the plurality of materials together, and an assembly step of assembling the plurality of materials together using the resources; the simulation model includes a plurality of execution units each executing a corresponding process among the plurality of processes, the plurality of execution units include a first execution unit that transitions to a first mode in which the own process is executed based on a previous process completion notification indicating that a previous process of the own process among the plurality of processes has been completed, and that transitions to a second mode in which the own process is on standby for execution based on a current process completion notification indicating that the current process has been completed, the simulation unit calculates a time period for the first execution unit's own process using a time period for the first mode and a time period for the second mode. Time calculation device.
2. the first execution unit transmits a notification of completion of the own process when the own process is completed in the first mode, and transitions from the first mode to the second mode when the notification of completion of the own process is transmitted; The time calculation device according to claim 1 .
3. the previous process of the process of the first execution unit includes the assembly process, the pre-process completion notification includes an assembly process completion notification indicating that the assembly process has been completed, the first execution unit transitions from the second mode to the first mode when receiving the assembly process completion notification while in the second mode; The time calculation device according to claim 1 or 2.
4. the previous process of the process of the first execution unit includes the preparation process, the preparatory process completion notification includes a preparatory process completion notification indicating that the preparatory process has been completed; the first execution unit transitions from the second mode to the first mode when the assembly process completion notification is received in the second mode and the preparation process completion notification has already been received; The time calculation device according to claim 3 .
5. When an abnormality occurs in the first mode or the second mode, the first execution unit transitions to a third mode in which the first execution unit waits until the abnormality is resolved. The time calculation device according to any one of claims 1 to 4.
6. the notification of completion of the previous process is transmitted from a second execution unit among the plurality of execution units that executes the previous process of the process of the first execution unit; The time calculation device according to any one of claims 1 to 5.
7. the notification of completion of the previous process is output from an execution device that actually executes the previous process of the process of the first execution unit; The time calculation device according to any one of claims 1 to 6.
8. a result acquisition unit that acquires the results of the simulation performed by the simulation unit, a performance acquisition unit that acquires performance related to the production of the product, and an analysis unit that analyzes a difference between the result acquired by the result acquisition unit and the performance acquired by the performance acquisition unit, The time calculation device according to any one of claims 1 to 7.
9. the plurality of materials includes a substrate and a component; the resource includes a feeder for supplying the part; the preparing step includes a step of preparing the component and a step of preparing the feeder; The assembling step includes a step of mounting the component on the substrate. The time calculation device according to any one of claims 1 to 8.
10. the own process of the first execution unit is the process of mounting the component on the board, the first execution unit mounts the components on the board in the first mode, and waits until the board and the components are supplied in the second mode; The time calculation device according to claim 9.
11. the own process of the first execution unit is the process of preparing one of the component and the feeder, the first execution unit prepares one of the component and the feeder in the first mode, and waits until the previous process included in the preparation process is completed in the second mode; The time calculation device according to claim 9.
12. a model acquisition step of acquiring a simulation model for simulating a production process including a plurality of steps for producing a product produced by assembling a plurality of materials with each other; a simulation step of performing the simulation using the simulation model acquired in the model acquisition step; an output step of outputting a result of the simulation performed in the simulation step, the plurality of steps include a preparation step of preparing the plurality of materials and resources for assembling the plurality of materials together, and an assembly step of assembling the plurality of materials together using the resources; the simulation model includes a plurality of execution units each executing a corresponding process among the plurality of processes, the plurality of execution units include a first execution unit that transitions to a first mode in which the own process is executed based on a previous process completion notification indicating that a previous process of the own process among the plurality of processes has been completed, and that transitions to a second mode in which the own process is on standby for execution based on a current process completion notification indicating that the current process has been completed, In the simulation step, a time for the first execution unit related to the process itself is calculated using a time for the first mode and a time for the second mode of the first execution unit. Time calculation method.
13. A program for causing a computer to execute the time calculation method according to claim 12.
Citation Information
Patent Citations
Production planning simulation device
JP1989199756A
Process flow chart analysis device
JP1995141437A
Method and device for designing manufacture line, and process designing method
JP2003044115A
Apparatus and method for production / distribution schedule generation, apparatus and method for production / distribution process control, computer program, and computer-readable recording medium
JP2007004391A
Display of process-plan execution
JP2016129068A