System for controlling a production process
The system optimizes production processes by using entity-specific work step duration data to adapt to unique characteristics, addressing inefficiencies in transferring processes to new sites or equipment, ensuring efficient and timely execution.
Patent Information
- Application Number
- DE102022124280
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-09-21
- Publication Date
- 2026-02-12
- Estimated Expiration
- 2042-09-21
AI Technical Summary
Existing methods for optimizing production sequences fail when transferred to new production sites or with different equipment due to unknown or unpredictable differences in machine and human performance, leading to inefficiencies and delays.
A system that uses a database of entity-specific work step durations and control data records to optimize production flow plans, adapting to the unique characteristics of each entity, including humans and machines, by continuously updating with actual performance data.
Facilitates efficient porting and scaling of production processes by accurately accounting for entity-specific variations, reducing delays and optimizing resource utilization.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Area
[0001] The invention relates to a method and system for controlling or assisting in the control of complex production processes, such as those used in large-scale industrial plants, particularly in the production of complex products, but also in other application scenarios. State of the art
[0002] Various computer-assisted methods for controlling complex production processes are known in the state of the art. For example, so-called "solvers" are used to transform the planning task to be solved into a system of equations, such as a linear system of equations, so that this planning task is solvable for the solver and the process planning can be optimized.
[0003] For example, patent application DE 10 2019 208 194 A1 describes a device and a method for controlling complex production sequences in large-scale industrial plants, especially in the steel industry, which uses solver models for process optimization.
[0004] US patent application US 2018 / 0101608A1 describes a system and a method for assisting a user in preparing a meal. A control unit calculates the shortest possible cooking time to prevent the food from losing quality due to excessive waiting times and to ensure that all dishes in the meal are ready at approximately the same time.
[0005] US patent application US 2013 / 0123963A1 describes a manufacturing execution system (MES) that executes workflows in response to predefined business objectives. The MES can manage a library of activity sets representing industry-specific workflows that can be selected and executed to achieve business-oriented goals.
[0006] German patent application DE 10 2018 214 233 A1 describes a device for planning a new assembly and / or manufacturing process for a new product. The device can store data for a plurality of different process modules to describe a new assembly and / or manufacturing process, wherein the data for a module includes a time value indicating the duration of the execution of a process step represented by the module. Furthermore, the device is configured to analyze an actually executed assembly and / or manufacturing process for a product and, based on the analysis, to determine and store updated data for at least one module.
[0007] German patent application DE 10 2018 119 454 A1 describes a method for the automated optimization of a production process using a production process-trained knowledge database. The production process to be optimized comprises process steps, which are implemented by process stations and the station transitions connecting these stations. The process steps include, among other things, a computer-aided comparison of determined production process data with production process data from the production process-trained knowledge database, so that an identical and / or similar process step is identified through this computer-aided comparison, and the application of the associated optimized production data and / or the corresponding optimization algorithms to the identical or similar process steps of the production process to be optimized, resulting in an optimized production process.
[0008] In practice, however, it has become apparent that many prior art methods for optimizing production sequences yield poor results as soon as the process to be optimized and / or the system used to execute the production sequences exhibits a certain level of complexity. In particular, it has been found that predefined process flow diagrams, which may produce good results in individual cases and allow for process optimization with regard to the required process time, fail when transferred to other production sites and / or different production equipment. For example, the manufacturing system described in US 2013 / 0123963 A1 is based on the selection of predefined workflows. Specifically, optimized and efficient workflows may take longer at the new site or when using different production equipment because one work step more frequently has to wait for another.This not only delays the ported production process, but also leads to a longer occupancy period for the production resources, which are therefore no longer available for other processes.
[0009] Adapting production flowcharts to a new production site and its specific equipment is time-consuming and prone to errors. This is because the static and / or dynamic differences of the equipment used at various locations (e.g., machines, conveyor belts, furnaces, welding machines, etc.) are often unknown in detail, and / or there are so many differences that their respective contributions to the dynamic production process and its optimization are difficult or impossible to determine. In practice, these problems prevent the simple transfer of predefined production processes from a site where the process works well to other production sites or with different equipment. Therefore, porting and / or scaling up production processes is often impossible or requires significant adjustments. Summary
[0010] The invention is based on the objective of providing an improved method and system for controlling or assisting in the control of a production process in such a way that the aforementioned problems do not occur or occur to a lesser extent.
[0011] The problems underlying the invention are each solved by the features of the independent claims. Embodiments of the invention are specified in the dependent claims. The embodiments listed below can be freely combined with one another, provided they are not mutually exclusive.
[0012] In one aspect, the invention relates to a system for controlling or assisting in the control of a production process. The production process comprises several work steps. The system includes at least: - a database containing: ▪ several templates, each template specifying a production process including several work steps; ▪ entity-specific and work-step-specific control data records, wherein each of the control data records is assigned to one entity from a plurality of entities, each entity being a natural person, a machine or a production plant, wherein each of the control data records is stored linked to at least one of the work steps, and wherein each of the control data records specifies at least one past measured duration of the execution of this linked stored work step by that of the entities to which the control data record is assigned; - a computer system with a control module, wherein the control module is configured to: ▪ Receipt of an entity ID of at least one of the entities; ▪ Select at least one of the templates; ▪ Selecting those control records that are assigned to the at least one entity identified by the at least one received entity ID and that are stored linked to the operations specified in the at least one selected template; ▪ Analyzing the temporal and logical dependencies of the work steps of at least one selected template, taking into account the work step durations measured in the past for the selected entity, which are specified in the selected control data sets; ▪ Generating a production flow plan optimized for one entity such that at least some work step sequences, which were identified in the analysis as work step sequences to be executed in parallel, are orchestrated in time in such a way that the time interval of the completion of the parallel work step sequences and / or the total duration of the production process is minimized; ▪ Output of the optimized production flow plan via a user interface, wherein the output separately indicates the work steps of the optimized production flow plan to be executed in parallel and sequentially; and / or ▪ automatic control of production resources so that the production resources automatically perform at least some work steps of the optimized production flow plan according to the optimized production flow plan.
[0013] This can be advantageous for several reasons: Embodiments of the invention are based on the understanding that the use of predefined work step durations in process optimization is a major cause of problems encountered in practice. Previously, when creating templates for process flows, it was assumed that a specific work step could, in principle, be performed by a trained person or a machine designated for that step within a certain timeframe. Minor deviations were ignored or, at most, considered disruptions in the process flow. However, the inventor observed that in many processes, the speed at which a person performs a work step can vary considerably depending on the individual. Furthermore, the production equipment used, such as machines, ovens, etc., often requires significantly different times to complete a work step.Firstly, the location of a machine can influence important process parameters such as temperature or pressure. Furthermore, embodiments of the invention are based on the observation that even machines of the same type exhibit significant differences in the execution time of certain work steps and other aspects. Particularly in the field of industrial product manufacturing, the machines used are generally custom-made and therefore unique. Often, the production of these machines requires numerous manual work steps that can never be performed identically. This results in production machines sometimes exhibiting considerable differences in their static and dynamic properties, even if they are of the same type and from the same manufacturer.
[0014] According to embodiments of the invention, by recording the actual time required by an entity to perform a work step and considering it as historical, empirically determined work step durations (instead of, for example, exclusively predefined, optimized, or generally valid durations) when optimizing the process flow plan, the database used for process optimization continuously adapts to the specific characteristics of the respective entity (person, machine, etc.) performing the process. According to embodiments of the invention, the system is configured to continuously expand and update the process flow optimization database—i.e., the recorded durations of a specific work step performed by a specific entity—with each process execution by the entity, by recording the actual work step durations and updating the control data records with them.Process optimization is based on entity-specific recorded work step durations and can therefore continuously improve over time, adapting ever more effectively to the characteristics of the respective entity. Thus, if a person performs certain work steps particularly slowly, or if a machine processes a component particularly quickly or slowly due to, for example, manufacturing variations, this is automatically recorded and incorporated into the optimization of process flowcharts.
[0015] This can particularly facilitate the porting of an established production process to other machines or other production sites. In particular, this can also facilitate the scaling of production (i.e., the increase of production output).
[0016] According to a further advantageous aspect of embodiments of the invention, no manual adaptation of process schemas or process optimization algorithms to the specific characteristics of a particular entity is required. It is only necessary to have a sequence of work steps specified in a template executed at least once, and preferably multiple times, by a specific entity. This execution automatically improves the process optimization database for the specific entity, so that after at most a few executions of the steps specified in the at least one template by a specific entity, an optimal process flow plan for that entity can be found.
[0017] These embodiments can therefore be used, in particular, for the control and / or control assistance of manufacturing processes consisting of several discrete work steps performed by one or more operators and / or one or more individually manufactured special-purpose machines. Such processes are found in laboratories, workshops, construction sites, kitchens, and other, especially technical and industrial, production areas.
[0018] The production of goods within a complex manufacturing process often requires the orchestration of numerous automated and / or manual steps. The optimal approach for minimizing overall duration and costs is not always apparent, even to a person skilled in the art, due to various variable parameters that are unpredictable even with expert knowledge. In particular, the duration of each work step has proven to be a highly relevant factor for process optimization, yet one that is difficult to predict because of its dependence on the executing entity. Embodiments of the invention can offer a solution in the form of an automated and integrated learning process regarding the actual time required by a specific entity for a given work step.
[0019] In another advantageous aspect, the system or method according to embodiments of the invention is able to automatically learn domain-specific knowledge with minimal effort and take it into account when planning production processes: The question of how certain properties of machines and other production modules affect the duration of work steps cannot usually be estimated without extensive specialist knowledge. For example, increasing the temperature to a certain degree can accelerate a drying process, but above a certain material-dependent temperature, the processed object and / or the production module (e.g., oven) is destroyed. Recording the actual work step durations separately for each entity (e.g.,The use of drying step durations) and optionally other control-relevant process parameters for a specific object type and / or production module type creates a database from which not only entity-specific processing step durations can be derived, but also implicit domain knowledge regarding the processed objects and / or the processing production modules and regarding the optimal (i.e., aimed at the shortest possible overall execution time) orchestration of work steps.
[0020] A further advantage can be that, according to embodiments of the invention, the control module can record, evaluate, and use process optimization to improve the duration of work steps and, optionally, also state information and context parameters measured in connection with the execution of a work step. For example, it is possible to dynamically adapt the degree of parallelization and / or the sequence of work steps to the conditions of the respective production environment in order to proceed optimally under the given circumstances. The system ensures that the process always proceeds in a logical and error-free sequence.
[0021] According to various embodiments, the control module is further configured to: - During the execution of the optimized production flow plan, receiving a measured work step duration for one or more of the performed work steps; - Update the control records in the database that are assigned to one entity, such that the updated control records include at least one of the following values for each of the operations performed: ▪ the measured work step duration of the work step, and ▪ a mean of all work step durations measured to date for the at least one entity and for this work step, wherein the mean is in particular the arithmetic or weighted mean or the median of all work step durations measured to date for the one entity and this work step; and - Use the updated control data sets for future generations of entity-specific optimized production flowcharts.
[0022] For example, the control module can be configured to display a graphical user interface to the user, allowing the user to acknowledge the start and / or completion of a work step. Additionally or alternatively, the control module can be operationally linked to the production equipment or modules performing a specific work step. These production equipment or modules are equipped with sensors that automatically detect the start and / or completion of the work step and transmit this information to the control module. This enables the control module to use the actual, metrologically recorded, and / or manually acknowledged work step durations to calculate the average work step duration for a specific entity, preferably across multiple measurement points, in order to create entity-specific optimized production flow plans.For example, with regard to the allocation of subsequent work steps to specific production modules, it can make a significant difference whether the execution time of the current work step is estimated correctly or not: if a particular entity (person, machine, etc.) is on average 5% faster than the entity on which a production flow plan was specified in a template, the control module can recognize, by using entity-specific work step durations for planning instead of the predefined durations, that this work step is likely to be completed in time so that the following work step can be processed within a narrow remaining time window of a specific production module.
[0023] Had the control module mistakenly based its production schedule optimization on the time period known during template generation, it would have concluded that the specified time window for the particular production module was no longer sufficient to execute the subsequent step. The subsequent step would therefore have been assigned to a different production module, which might not be available for a delay of up to 10 minutes. By more accurately estimating the actual required work step durations, improved production schedule optimization is thus possible. Since the entity-specific and work step-specific control data records are preferably updated after each execution of the respective work step by the entity in question, the quality of the production schedule optimization also improves over time.
[0024] In some embodiments, the control module is further configured to repeatedly generate the production flow plan optimized for an entity using the updated control data sets during its execution. Additionally, the control module is configured to output each newly generated optimized production flow plan via the user interface and / or to perform automatic control of the production resources based on each newly generated optimized production flow plan.
[0025] Repeatedly updating the actual or anticipated work step durations and automatically updating the optimized production schedule can be advantageous, as it allows for the identification of current conflicts regarding the allocation of production modules such as ovens or pots. This enables the production schedule to be dynamically adjusted based on available resources and / or the work step durations determined specifically for the executing entity.
[0026] According to embodiments, the production process is selected from a group comprising: - a multi-step process for the chemical synthesis, characterization and / or purification of substances or mixtures of substances; - a molecular biological multi-step method for the production, characterization and / or purification of molecules or cells, in particular proteins, nucleic acids, metabolites, or drugs; - a manufacturing process of vehicles, machines, buildings, electronic devices or components thereof; - a fully or semi-automatic production, analysis and / or synthesis process, wherein at least one entity comprises, in particular, a machine that performs one or more of the steps of said process; Synthesis processes are understood here to be manufacturing processes in which chemical or biochemical reactions are substantially involved, whereby production processes are understood as a general term for all processes for the production of a product, but in particular processes that include mechanical manufacturing steps; - a recipe for preparing one or more meals or drinks; - a manual or semi-automatic production, analysis, or synthesis process. In particular, at least one entity may comprise a natural person who performs one or more of the steps of said process.
[0027] In some embodiments, the control module is operationally coupled to the production equipment. For example, the control module can be connected to the production equipment via a wired or wireless network connection (e.g., radio connection, Bluetooth connection, ZigBee connection, etc.) in order to send control commands to the production equipment and / or to receive status information from it.
[0028] According to embodiments, the means of production are assigned to and / or comprise the at least one entity. For example, the at least one entity may be a natural person to whom the means of production are assigned, e.g., by linking a person ID (which may, for example, function as an entity ID) and a means of production ID in the database. According to another example, the at least one received entity ID may also comprise multiple entity IDs of different entities. These different entities may be different natural persons, different non-human entities, or a mixture of human and non-human entities. The non-human entities may be, for example, machines or production modules that are represented as entities. This facilitates control and / or...Assistance in the control of semi-automatic processes, where seamless integration of manual and automatic work steps is sought.
[0029] In other implementation variants, the means of production and their components are not represented as entities, but merely assigned to the natural persons represented as entities.
[0030] According to various embodiments, the production equipment includes several production modules with one or more condition sensors. The control module is designed to: - in response to receiving the at least one entity ID, receiving status information from the status sensors of the multiple production modules of the production equipment assigned to this at least one entity, wherein the status information includes, in particular, one or more of the following parameters: an occupancy state, a current operating mode, a fault state, a standby state, a fill level, a temperature, a humidity, a pressure, a weight, an electrical resistance, a conveyor belt speed, a stirring speed, a drive power, and / or a rotation speed; and - Storage of the received state information in the control records assigned to at least one selected entity, linked to the work steps performed by the respective production module when the state information was acquired by the state sensors. If IDs of multiple entities are received and the work steps are performed by different entities, the state information is stored in the control records assigned to the entity performing the respective work step.
[0031] These features can be advantageous because considering the state information allows for even more precise optimization of the process flow plan. For example, the temperature of an oven can significantly influence the duration of a work step (such as a baking process), as an additional preparation phase may be required, or, if the oven is already hot enough, it can be omitted or shortened.
[0032] The production modules can be, for example, components (e.g., ovens, oven modules of a baking machine, hot plates, etc.) of a kitchen, e.g., in a private household, industry or catering, reaction chambers of a chemical synthesis facility, individual soldering stations of a workplace, or the like.
[0033] According to various embodiments, the system for controlling or assisting the control of a production process is a system for controlling or assisting the control of a cooking process for the preparation of food, meals, or beverages, designed, for example, for use in commercial kitchens, industrial kitchens, or private household kitchens. Other embodiments include, for example, systems for controlling or assisting the control of chemical synthesis steps or industrial manufacturing steps.
[0034] The status information may include information that displays the current status, in particular the occupancy status, work status, error mode and / or various operating parameters of the production module.
[0035] For example, the status information could include information such as whether a particular oven is currently occupied and is expected to remain occupied for at least another 15 minutes, whether the oven currently has a certain temperature, and / or whether there are further work steps in a work step queue of this production module.
[0036] The fact that the control module is operationally coupled to the production resources assigned to a single entity can mean, for example, that the at least one entity is a natural person who normally operates said production resource. It can also mean, for example, that the production resources are or comprise the at least one entity. For instance, the production resources might be a complex production plant comprising several machines and / or production modules. According to some embodiments, the production resources, the machines, and / or production modules are each registered with the control module as a single entity, or they are assigned to persons who act as entities.
[0037] Preferably, production resources or components function as separate entities, especially when they differ significantly from other production resources or components of the same that are also registered with the control module with regard to their individual properties and, in particular, the time they require to perform work steps, so that taking into account the individual properties of the production resources leads to significant improvements in generating the optimized production schedule.
[0038] The fact that the control module supports both human and non-human entities and treats them equally with regard to process optimization can be advantageous, as it can be used for process optimization in highly heterogeneous environments and especially in semi-automated manufacturing processes: for the manually executed steps of a template, the control module selectively reads those control data records that are to be executed by a human entity and that are assigned to the human entity whose entity ID has been obtained. For the automatically executed steps of the template, the control module determines those non-human entities that are assigned to the human entity whose entity ID has been received. For example, the template can determine the production resources and, if applicable,Production modules can also be specified that are to automatically execute one or more of the work steps specified in the template. In this case, the determination includes an evaluation of the template. Additionally or alternatively, the control module can be configured to determine the production resources or production modules based on more complex analyses, e.g., based on the identification of similar work steps already performed (for this or another entity) and the determination of which production resources and, if applicable, production modules were used to perform these similar work steps. For this purpose, machine learning methods, especially neural networks, or rule-based algorithms can be used.The control module then reads out those control data records that are stored linked to the aforementioned automatically executed work steps and that are assigned to the identified non-human entities.
[0039] According to embodiments, the control module is configured to analyze the state information of the production modules when generating the production flow plan optimized for a given entity. This analysis ensures that the optimized production flow plan is created in such a way that the work steps are assigned to the production modules in a manner that prevents double assignments and minimizes the overall duration of the production process. Double assignment, in this context, means that more work steps are assigned to a production resource or its components for simultaneous execution than that resource can perform simultaneously / in parallel.
[0040] According to embodiments, the control module is designed to perform the following when generating the production flow plan optimized for one entity: - Analyzing the received status information from the production modules, - for each work step of at least one selected template that can be performed in or by one of the production modules, calculate an expected entity-specific and state-specific work step duration as a function of the received state information and the work step durations measured for that entity; and - Use the calculated expected work step durations when creating the optimized production flow plan to assign the work steps to those production modules that have the shortest state-specific work step duration.
[0041] According to embodiments of the invention, the control module is configured to analyze the control data sets, including the recorded work step durations and the state information acquired before and / or during the execution of a work step, using statistical analyses and / or machine learning methods (for example, neural networks, support vector machines, etc.). During the analysis, relationships between this state information of a production module and the work step durations required by that module can be determined. For example, it can be automatically recognized that an oven that already has a certain high temperature when loaded with dough to be baked requires a different, shorter baking time than a cold oven. Preferably, the relationships thus determined are taken into account when creating the optimized production flow plan.
[0042] By automatically capturing and storing status information in the control data, preferably during each work step, it is possible to further improve the quality of the optimized production flow plan. In particular, it is possible to automatically consider the effects of numerous condition and environmental parameters, as well as the individual characteristics of machines and production modules, which interact in complex and unpredictable ways, on the work step duration and integrate this information into the process flow plan optimization.
[0043] In some embodiments, at least some of the work steps specified in the at least one selected template are assigned target value work step durations and / or adaptation work step durations. The control module is configured to use at least one of the work steps historically measured for the at least one entity to calculate a refined adaptation work step duration for that at least one work step. The control module updates the control record, which is stored and associated with the at least one entity and linked to the at least one work step, with the refined adaptation work step duration. For target value work step durations, the control module does not calculate refined target value work step durations based on measured work step durations.
[0044] Distinguishing between target value work step durations and adaptation work step durations, and selectively replacing initial adaptation work step durations with measured or averaged measured work step durations, can be advantageous because it allows the system to differentiate between work step duration variations that should be considered errors in the production process and work step duration variations that are considered individual characteristics of machines and people and do not require correction. For example, in many chemical processes, a work step duration (e.g., the time until a chemical reaction is complete, the time until an adhesive sets, the time until a layer of a specific varnish dries) is essentially determined by physical or chemical parameters.A measured deviation from a target work step duration should therefore be considered an error that must be avoided. For example, exceeding or falling short of a target work step duration can lead to a reduction in product quality. Examples of this would be allowing mortar to stand for too long, rendering it unusable, or allowing monomers to react to polymers for too long, resulting in a polymer with undesirable properties. Therefore, replacing a target work step duration with the actual work step duration required by a given entity would be detrimental.
[0045] According to embodiments of the invention, the control module is configured not to replace target value step durations with entity-specific measured step durations, but to replace adaptation step durations. By distinguishing between these two types of step durations, it is therefore possible to take into account differences in the speed of the various entities when executing different steps, while simultaneously still being able to detect if a deviation from a physically and chemically required step duration threatens to compromise the quality of the product.
[0046] Depending on the specific design, the control module is configured to: - Identifying at least one of the templates associated with a control data record that contains an adaptation work step duration in the form of a duration of execution of this work step measured for at least one entity in the past; - Determining a deviation of this adaptation work step duration from the duration of execution of the at least one identified work step measured in the past for one or more other entities; - Analyzing the work steps specified in one or more of the templates to identify work steps that are similar to at least one identified work step; - Modification of the control data records that are assigned to at least one entity and that are stored linked to the detected similar work steps, such that the adaptation work step durations of these detected similar work steps are shortened or lengthened according to the determined deviation.
[0047] If a work step is affected by the shortening or lengthening, the control module can regenerate the production flow plan optimized for that entity using the shortened or lengthened work step durations, output this regenerated optimized production flow plan, and / or control the production resources based on the regenerated optimized production flow plan. Thus, according to embodiments of the invention, the control module can even calculate entity-specific estimates of the work step durations and generate optimized production flow plans based on them, even if the entity has never performed these work steps before. It is sufficient that the entity has already performed a similar work step once.If an entity requires more or less time than other entities, this deviation can be detected by the control module and used to estimate the expected duration of similar work steps specific to that entity, even before initial measurements of the work step durations for that entity are available. This results in a particularly high and rapid learning effect, because the control module can expand the knowledge stored in the entity-specific control data records regarding the execution time of work steps not only when an entity performs a specific work step, but also when an entity performs a work step that is even just similar to other work steps of the selected template or other templates.
[0048] For example, the recognition of similar work steps and the adjustment of adaptation step durations can be performed by an entity on a regular basis in the background, for example, using batch processes. Additionally or alternatively, these steps can be performed in response to the selection of a template and / or during the execution of a template's work steps by an entity, so that any empirically or metrologically acquired knowledge about the entity-specific execution times of certain work steps can be directly used to improve the estimation of the durations of other work steps in the same or different templates by the entity in question.
[0049] For example, the production processes specified in the templates could be cooking recipes, and the entities could be cooks. The control module has control data records for a large number of cooks who have been registered with the control module for some time and have already cooked a large number of recipes. The control module is configured to calculate average durations of these steps based on the execution times measured for the various registered entities.
[0050] A cook K neu The user, who only recently registered, has so far only cooked one recipe using the assistance provided by the control module: roast pork with potato dumplings. Based on this recipe, the control module has a control data record for the work step "shaping potato dumplings" relating to the cook K. neu before. For example, K neuIt takes 12 minutes to form dumplings from 200g of potato dumpling dough. Based on a statistical analysis of the times taken for this step by other cooks, the control module determines that the other cooks take an average of 10 minutes to form potato dumplings. The control module therefore concludes that cook K neu This work step takes 2 minutes longer than an average registered cook, which corresponds to a deviation of 20%. This 20% increase in work step duration represents the determined deviation of the adapted work step duration from the duration of execution of at least one identified work step, "forming potato dumplings," measured for other entities in the past.
[0051] The database also contains a template with a recipe for "Eggplant Dumplings with Salad," which includes a step in forming dumplings from 200g of vegetable dough with eggplant. The cook K neu has never cooked this recipe before, nor any other recipe that includes the step "forming eggplant dumplings". Therefore, the control module has no entity-specific (i.e., specifically based on) information for cook K. neuThe control module automatically recognizes, for example by analyzing the names of the work steps, that the work step "shaping eggplant dumplings" in the recipe for roast pork is similar to the work step "shaping eggplant dumplings." This is based on the work step name and optionally other parameters (e.g., the machines or production modules performing a work step, and / or tools used and / or raw materials or intermediate products processed in a work step). The similarity score indicates the degree of similarity between two compared work steps.Work steps whose similarity score exceeds a threshold are considered similar. Similarity can refer to the similarity of the action performed, the similarity of the substances / materials processed, and / or the similarity of the production modules (equipment, machines, etc.) used.
[0052] In the example described above, the work steps "forming eggplant dumplings" and "forming potato dumplings" would therefore have a similarity score indicating a high degree of similarity, whereas the work steps "forming eggplant dumplings" and "roasting meat in the oven" would have a similarity score indicating a low degree of similarity.
[0053] The template for the recipe "Eggplant dumplings with salad" and / or the control data records of chef K that are linked to the work steps of this template. neuFor example, the work step "Forming eggplant dumplings" can include a predefined estimate for the time required for this step, or it can be free of any information regarding the working time of this step. For example, in the template "Eggplant dumplings with salad" or in the control data records, the K neu Regarding the work step "forming eggplant dumplings", an adaptation work step duration of 13 minutes is assigned as a "default value", which is not measured by the cook K. neu The data collected will be stored.
[0054] However, the control module would not use the 13 minutes as the basis for determining the optimized production schedule, but rather adjust these 13 minutes according to the previously identified deviations. For example, the control module recognized that the cook K neuIf a cook requires 20% more time than other cooks for the "forming potato dumplings" step, the control module would allocate 15.6 minutes (120% x 13 minutes = 15.6 minutes) for the "forming eggplant dumplings" step, instead of 13 minutes. The control module would therefore assume that a cook who already requires 20% more time than other cooks for the "forming potato dumplings" step would also require 20% more time than other cooks for the similar "forming eggplant dumplings" step, or than an optionally specified default value. The optimized production schedule is then calculated based on the 15.6 minutes, not the default value of 13 minutes.
[0055] The "default value" can be an estimated work step duration read from a configuration file or calculated based on the measured and averaged work step durations of other entities for that work step.
[0056] For example, the recognition of similar work steps and the determination or adjustment of work step durations can occur in response to the selection of a template, particularly if no entity-specific work step durations exist in the corresponding control data records for individual or all work steps of this template for at least one entity. However, it is also possible for the corresponding calculations to be performed independently of the selection of a specific template. For example, background processes can be executed at regular intervals, ensuring that each work step duration recorded for an entity is automatically and prospectively used to improve the estimation of similar work steps that could potentially be performed by that entity and are already available when the at least one entity or...their production resources should actually perform this work step in the future.
[0057] According to embodiments, adaptation work step durations for work steps for which work step durations have already been measured in the past for at least one entity are not adjusted based on similar work step durations during the procedure described above. Adjusting work step durations already measured specifically for an entity based on similar work steps would reduce the quality of the production flow plan optimization, since an estimate based on similarities would be used instead of an entity-specific measured value.
[0058] According to embodiments, the templates characterize the work steps specified therein at least by specifying the action to be performed in the work step, an object processed by the action, and optionally also the production module performing the action. The recognition of work steps similar to the at least one identified work step can, in particular, include the following: - Recognition of work steps that specify the same action; and / or - Detection of work steps that specify the same object type; and / or - Recognition of work steps performed by identical production modules.
[0059] For example, similar work steps can be identified using "string-matching" algorithms, which determine the names of work steps, raw materials, tools, and / or production resources specified in the templates. String-matching algorithms are a group of algorithms that can identify similar strings by comparing the similarity of individual characters and / or their positions.
[0060] Depending on the specific design, the control module is configured to: - automatically updating the control data records in the database with the measured, actual work step durations of the work step durations measured for several of the entities; and - Analysis of the updated control data sets to generate a predictive model; the analysis can be performed, for example, using analysis software, whereby in some embodiments machine learning methods can be employed that use the measured execution times for various steps, which may be stored in the control data, as training data; in other embodiments, the analysis can also be performed semi-automatically or manually. The predictive model thus generated is configured to recognize sequences of work steps that must be executed sequentially and sequences of work steps that can be executed in parallel, at least when several production modules are sufficiently available.
[0061] The control module is configured to use the predictive model when analyzing the temporal and logical dependencies of the work steps of at least one selected template and / or the optimized production flow plan in order to identify the work steps that can be executed in parallel.
[0062] For example, the predictive model could be a rule-based program or program module that implements the following rule: if the analysis of the updated control data sets reveals that in the past, several work steps were executed in parallel by at least one entity (or by other entities) when executing one or more different production flowcharts, these steps are considered parallelizable. The control module thus treats these work steps as parallelizable. For example, a specific person (entity) may have already executed the work steps "cook pasta" and "heat milk" multiple times in parallel on specific production equipment (a stove with four burners) to prepare a meal according to a template "Menu 1".If the same entity, using the same production resources, wants to execute a template for "Menu 2" for the first time, which—although it contains different dishes—also includes the two work steps "cook pasta" and "heat milk," the predictive model of the control module can automatically recognize or predict that these two work steps are parallelizable, even if the person is executing the template or recipe for Menu 2 for the first time and the template lacks corresponding information regarding parallelizability. Furthermore, the predictive model can implement additional rules that do not require analysis of the updated control data sets: if a work step A2 requires the product of another work step A2 as its input, then the two steps A1 and A2 are considered non-parallelizable. The predictive model can, for example,Various text analysis algorithms are used to identify synonyms for these intermediate products. For example, vegetables generally need to be washed before further processing, so steps that process vegetables are considered non-parallelizable to the vegetable washing step. In this case, the predictive model can be configured to recognize and process the step specifications "wash vegetables," "clean vegetables," and "peel vegetables" as synonyms.
[0063] The impossibility of parallelization can also be recognized when a step processes an intermediate product that is generated in another (previous) step.
[0064] In other embodiments, the predictive model can be more complex and, for example, be a model generated using a predictive learning method. For instance, the updated control datasets can serve as a training dataset for generating a predictive model of a neural network or a SVM. The measured durations of the respective entities used can be employed as weights for the nodes in a neural network, allowing the neural network to "learn" the optimal control of the entities.
[0065] These features can be particularly advantageous when a large number of entities execute many different production processes using a heterogeneous and potentially changing set of machines and production modules. The multitude of differences regarding the executing entity, the condition of the production resources used, and other machine, process, and environmental parameters poses a significant obstacle to the precise calculation of time-optimized process flowcharts. This is because the same user may require very different work step durations for the same operation, depending on the machine and / or environmental parameters, such as temperature and air pressure. Under such conditions, the combinatorial complexity of all these parameters means that hardly any production process is exactly reproducible.By determining and evaluating a large amount of information, including entity-specific measured work step durations and machine state parameters, using machine learning methods, it becomes possible to identify patterns and correlations between these parameters that influence the question of which sequence of work steps, possibly to be performed sequentially or in parallel, leads to a minimum overall duration of the production process or to an optimal utilization of the production resources used.
[0066] According to embodiments, at least one of the templates specifies its production flow in the form of an acyclic graph with one or more connected and / or unconnected paths. Linking the nodes to form paths specifies the chronological sequence of the work steps represented by the nodes. The analysis of the at least one template to generate the optimized production flow plan includes an analysis of the topology in combination with an analysis of the work step durations and / or in combination with an analysis of the status of a multitude of production modules available for the respective work steps. The analysis is performed to identify which of the multiple unconnected paths can be executed in parallel.The optimized production flow plan generated for at least one template is designed to orchestrate the work steps of the at least one template in such a way that the work step paths identified as parallelizable are executed in parallel.
[0067] For example, at least one template could be a data structure specifying a multi-course menu with a salad as a starter, carrots as a side dish, and fruit as dessert. This template might include the steps "wash salad," "wash carrots," and "wash fruit." These three steps could be components of three different, unconnected paths or sequences. The graph topology of the acyclic graph might, for instance, stipulate that the "wash salad" step must precede the "mix salad with dressing" step, or that the "wash fruit" step must precede the "serve fruit" step. However, this example template does not specify whether the three washing steps should be performed in parallel or sequentially, or, if sequential, in what order.
[0068] The question of whether two or three of the aforementioned three washing steps should be performed in parallel or sequentially is preferably decided dynamically by the control module during the generation of the optimized process flow plan. In doing so, the control module takes into account how long the entity, for example a cook, has previously required for the aforementioned washing steps (or for similar steps), whether multiple sinks or washing stations, or other people or machines, are available to perform the washing, and, if applicable, when a currently occupied washing station will become available again.By continuously recalculating the optimized production plan during its execution, taking into account current status information from the production modules and / or the actual time required by at least one entity to perform the work steps, the production process can be dynamically adapted to new situations. For example, if the initial production plan for the aforementioned multi-course meal only allows for the parallel washing of the lettuce and carrots due to the occupancy of two out of four washing stations in a restaurant kitchen, the system can dynamically detect when a washing station becomes available, allowing the optimized production plan to be recalculated and the washing of the fruit to be carried out in parallel as well.
[0069] In some embodiments, the system also includes an input interface operationally connected to the database. The input interface is configured to: - Receiving a new specification of a production process comprising several work steps, where the specification takes the form of a list of work steps; - Comparing the steps of the new specification with the steps of the database templates to identify similar steps; - Assigning the execution durations of one or more work steps from the database templates that were identified as similar based on the comparison to the similar work steps of the received new specification;
[0070] Transformation of the received new specification into a new template, in which temporal and logical dependencies of the work steps are represented in the form of an acyclic graph, and in which at least some of the work steps include the assigned work step durations. The work step durations assigned by the control module during the creation of the new template can be marked in the template, in particular as adaptation work step durations (e.g., by means of corresponding "tags" (parameter identifiers) or by storing them in fields reserved for storing adaptation work step durations). Assigning work step execution durations from one or more work steps of the database templates, which were identified as similar based on comparison, to the similar work steps of the received new specification can, for example,This is done by evaluating the control data records of a large number of entities associated with a work step identified as similar, in order to calculate an average work step duration.
[0071] This averaged work step duration can then be assigned to the respective work step of the new template as a "default" or "initial" value for an adaptation work step duration. This allows for at least an approximate estimate of the work step duration, even for work steps that have not yet been executed by any registered entity. As soon as at least one entity has executed the work step at least once, an entity-specific work step duration is recorded for that work step. The control module then replaces the default data value for the duration of this work step with the measured work step duration.
[0072] According to various embodiments, the system includes a graphical user interface (“GUI”). The GUI is configured to display the parallel and sequential work steps of the optimized production flow plan in such a way that parallel work steps are identifiable as such. For example, parallel work steps can be marked as such by appropriate formatting (background color, text size, etc.) and / or by appropriate spatial arrangement on the GUI (e.g., side by side).
[0073] As soon as the execution of one of the work steps begins, the GUI displays a duration icon and updates it dynamically, i.e., repeatedly during the execution of the work steps. The duration icon indicates one or more of the following durations for that work step: - the time elapsed since the start of the work step; - the remaining time until the expected completion of the work step; - the duration allocated to this work step according to the optimized production flow plan.
[0074] According to embodiments, the GUI is further configured to display at least one selectable GUI element, referred to here as an acknowledgment element, for manually executed work steps. The acknowledgment element allows the user to acknowledge the start and / or end of the work step by selecting it. Selecting the acknowledgment element to indicate the end of a work step results in the control records of the entity executing the production process being updated with a further measured time duration for this work step. A new production flow plan, optimized for that entity, is then generated and displayed on the GUI.
[0075] According to embodiments of the invention, said GUI can also be used as an input interface for receiving a new specification of a production process.
[0076] Using a GUI with an acknowledgment element can be advantageous, as it allows for the integration of processes into the system that include one or more manually performed steps and / or whose start and completion are difficult or impossible to measure, for example, because the device used to perform a step cannot be operationally connected to the control module. This allows for the automatic integration and optimization of workflows consisting of a mix of fully automatic, semi-automatic, or manual steps. Therefore, it is not strictly necessary to use separate production equipment for each step that can be communicatively connected to the control module.
[0077] According to some embodiments, the GUI is configured so that the user can only select and activate the at least one acknowledgment element for acknowledging the start of a work step when all resources required according to the optimized production flow plan for carrying out this work step are available.
[0078] This can be advantageous because it prevents the user from losing track of complex work steps and starting a step that cannot be completed due to, for example, a lack of a raw material or auxiliary material. This prevents the production of rejects or the potential irreversible destruction of the intermediate product by an incorrectly executed work step. For example, in the repair process of a damaged vehicle component, the confirmation element for starting the work step "mix and apply 2K repair adhesive" would only be activated and selectable for the user once the tools for applying the adhesive are available. If the 2K adhesive were mixed without being applied within a few minutes using suitable tools, it would harden and become unusable.
[0079] According to embodiments, the production equipment comprises at least one production module equipped with sensors that automatically detect whether all raw materials, auxiliary materials, and tools required for a work step are present and whether the production module itself is operational. The sensors repeatedly acquire this information as status data and transmit it to the control module. The control module evaluates the data to automatically determine whether all prerequisites for starting the next work step are met and, only if so, allows the selection of the acknowledgment element to confirm the start of the work step.
[0080] The GUI can, for example, be the GUI of an application program that includes the control module or acts as the control module itself. The GUI can be displayed, for instance, on the screen of the data processing device on which the application program is instantiated, or on the screen of a client computer connected to this data processing device via a network.
[0081] In addition to or as an alternative to a GUI, an acoustic user interface can also be used, which only allows a user to acknowledge the start of a work step via voice input if all resources required for carrying out the work step are available.
[0082] In various embodiments, the system is a distributed computer system comprising a server computer system and multiple client computer systems. The client computer systems can be, for example, portable computer systems such as notebooks, tablet computers, or smartphones, or stationary computer systems such as desktop computers, and each includes a client application. The server computer system is operationally linked to the database and includes the control module. The server computer system is configured to: - Receiving a request regarding a production process from one of the client computer systems, wherein the request includes the entity ID and optionally status information regarding the status of production modules; - In response to the receipt of the request: • Performing the selection of at least one template, the selection of which includes identifying at least one template specifying the requested production process. • Determining the control data records that belonged to the work steps of the at least one identified template and the requesting entity, by the server computer system; • Performing an analysis of the temporal and logical dependencies of the work steps of at least one selected template and generating the production flow plan optimized for that entity; and • Transmitting the optimized production schedule from the server computer system to the requesting client computer system via a network.
[0083] For example, the client application can be implemented as a browser plugin and / or as an application executable within a browser, such as a JavaScript-based application. However, a variety of alternative programming languages and libraries are available for implementing a client-server architecture, and these can be used equally well.
[0084] According to embodiments, the requesting client computer system is configured to output the optimized production flow plan via a GUI of the client computer system in response to receiving the transmitted optimized production flow plan.
[0085] Additionally or alternatively, the requesting client computer system is configured to perform automatic control of the production resources in response to receiving the transmitted optimized production flow plan.
[0086] Using a client-server architecture can be advantageous because it allows a multitude of entities (people, machines, etc.) at different locations to benefit from the control module's ability to optimize complex production flow plans in a situation-specific and entity-specific manner. Any knowledge gained by the control module from monitoring the actual execution times of an entity's work steps can automatically be used to better estimate the durations of work steps for which no measured execution time yet exists, but which are at least similar to an actually executed work step. This information can then be used in the orchestration of all work steps. Entities that have never previously executed this particular work step, or a similar one, can also benefit from this.Thus, a client-server architecture particularly supports the integration of information regarding the actual required work step durations in a very heterogeneous and dynamically changing production infrastructure.
[0087] For example, an internationally operating company might use various production lines with a multitude of machines at different production sites to manufacture a specific product or several different products. Typically, the machinery at the different sites is not identical, as these are historical structures that have evolved over the years. The machines are often sourced and maintained by different local manufacturers, and the operating personnel also differ. Despite this heterogeneity, the system or method according to embodiments of the invention can enable the control module, as the central instance, or the database containing the control data records, to continuously gain more knowledge over time. This allows for increasingly better planning of production processes and flexible responses to disruptions.
[0088] In particular, embodiments of the inventions can significantly improve the planning of production processes even when these processes are carried out by many independently acting individuals or organizations. For example, the entities involved could be cooks (e.g., private individuals working as cooks, professional cooks in restaurants and commercial kitchens, and possibly also assistants) who have registered as entities with the control module to organize the preparation of food and beverages more efficiently. The corresponding recipes can be stored as templates in the database. The cooks' equipment (stove, oven, microwave, mixers, hot plates, pressure cookers, all kinds of kitchen components, especially kitchen appliances and kitchen machines, etc.) can vary considerably.This can mean, for example, that stoves from different manufacturers require different times to reach a specific temperature, or that different appliances have different work step durations due to varying performance characteristics. It can also mean that some production equipment used by some chefs has suitable interfaces to automatically transmit various status parameters, or the start and end of a work step, to the control module via a network, whereas other production equipment lacks these interfaces, requiring the respective chef to manually acknowledge the start or end of a corresponding work step via a GUI or voice interface provided by the control module.Although each individual cook acts completely independently of the other cooks, they can benefit from the fact that the control module can already calculate a good estimate of the work step durations required by that cook based on the data of other cooks, for example based on similarities of the work steps and / or on similarities of the type of stove, oven or mixing device used.
[0089] According to various embodiments, at least one selected template comprises a multitude of templates selected via a GUI.
[0090] For example, the control module can be configured to generate a GUI through which multiple users registered with the control module can search the templates stored in the database, for example, using a category-based and / or keyword-based search. The user can select one or more templates from the list of results. The control module receives the identifiers of the one or more selected templates, as well as an ID of the selecting user, and then identifies all control records assigned to that user that relate to work steps contained in the selected templates.
[0091] According to other embodiments, the selection of one or more templates is not made by natural persons, but by production plants, machines, or parts of machines that are registered as entities with the control module. This can enable an even higher degree of flexibility, process automation, and integration, since it allows individual production plants, machines, or production modules to dynamically request further templates during ongoing production. The control module then dynamically integrates the steps of these templates into the production process by recalculating the optimized production schedule.For example, if a specific synthesis module in a chemical synthesis plant detects that the contents of a tank containing a required reactant are running low—a reactant that can be produced by another module within the plant—the synthesis plant can automatically request the template containing instructions for producing this required reactant. This ensures that the system can dynamically detect when specific reactants need to be produced or additional steps need to be performed, depending on the situation. The instructions for these additional steps can therefore be requested and integrated into the process completely autonomously by the system, without requiring operators to calculate in advance when a particular substance will run out.This is particularly advantageous for the optimized process control of complex, poorly predictable synthesis pathways, as the demand for specific materials cannot always be accurately predicted. Automated processes for machine maintenance or troubleshooting can also be seamlessly integrated into the production flow. The production plant / machine / module automatically detects when a specific error has occurred or when maintenance is required. In response, it automatically requests a corresponding template and integrates the specified work steps into the ongoing production process by recalculating the optimized production schedule, taking into account all work steps from all templates requested by the entity.
[0092] According to embodiments, the system further comprises the production means used to automatically execute at least some of the work steps. The production means are assigned to the at least one entity and / or are the at least one entity whose entity ID has been received.
[0093] For example, the system also includes some or all production facilities, machines and / or production modules contained in the machines that are used or can be used to carry out the work steps specified in one or more templates.
[0094] In some embodiments, each control data set specifies at least the possibility of parallel processing of the work step associated with that control data set by the entity assigned to that control data set. The analysis considers not only the work step durations measured in the past but also the possibility of parallel processing.
[0095] In another aspect, the invention relates to an industrial production plant for manufacturing products. The production plant is designed as a system according to one of the embodiments and examples described herein and comprises one or more machines, each of which is an entity or is assigned to a person acting as an entity. At least one of the machines was manufactured based on at least one manual manufacturing step.
[0096] In another aspect, the invention relates to a distributed computer-based system for providing cooking recipes to multiple users and for controlling or assisting in the preparation of meals according to at least one of the recipes. The distributed computer-based system is configured as a system according to one of the embodiments and examples described herein. The templates specify the cooking recipes and the users, by which at least some of the entities are represented. Preferably, each user is assigned production resources with multiple production modules in the form of a kitchen with several kitchen appliances and / or machines, e.g., ovens.
[0097] In another aspect, the invention relates to a computer-implemented method for controlling or assisting in the control of a production process with multiple work steps. The method includes accessing a database.
[0098] The database contains: - multiple templates, each template specifying a production process with several work steps; - entity-specific and work-step-specific control data records, wherein each of the control data records is assigned to one entity from a plurality of entities, each entity being a natural person, a machine or a production plant, wherein each of the control data records is stored linked to at least one of the work steps, and wherein each of the control data records specifies at least: • a past measured duration of the execution of this linked stored work step by the entity to which the control record is assigned; and / or • a priori predetermined step duration or step duration interval, wherein said priori predetermined step duration is a step duration which, in some embodiments, is used instead of a measured duration of the execution of this linked stored step, until a measured step duration of this step is available for the first time; and / or • the possibility of parallel processing of the execution of this linked stored work step by the entity to which the control record is assigned;
[0099] The procedure also includes: - Receipt of an entity ID from at least one of the entities; - Select at least one of the templates; - Selecting those control records that are assigned to the at least one entity identified by the at least one received entity ID and that are stored linked to the operations specified in the at least one selected template; - Analyzing the temporal and logical dependencies of the work steps of at least one selected template, taking into account the work step durations measured in the past for the selected entity and / or the possibility of parallel processing specified in the selected control data sets; - Generating a production flow plan optimized for one entity in such a way that at least some work sequences identified in the analysis as work sequences to be executed in parallel are orchestrated in time in such a way that the time interval between the completion of the parallel work sequences and / or the total duration of the production process is minimized; - Output of the optimized production flow plan via a user interface, wherein the output separately indicates the work steps of the optimized production flow plan to be executed in parallel and sequentially; and / or - automatic control of production resources (which may be assigned to one entity, for example) so that the production resources automatically perform at least some work steps of the optimized production flow plan according to the optimized production flow plan.
[0100] A "target value work step duration" is understood here as a time period that the control module must consider as a target value when generating the optimized production schedule. This means that the production process must be controlled in such a way that deviations from the target value work step durations are avoided or minimized. For example, target value work step durations can specify the durations of work steps that are determined by natural or technical properties of the work step. A target value work step duration can also specify a time interval (min / opt / max) within which the work step should be maintained. Multiple target value work step durations can also be specified for a single work step, for example, for specific conditions of the equipment (e.g., temperature / humidity, etc.).
[0101] Each entity that executes a work step linked to a target work step duration should therefore be controlled in such a way that the actual required work step duration is neither significantly shorter nor significantly longer than the target execution duration. According to embodiments, adherence to the target work step duration is achieved either through the direct control of a suitable production resource or by providing guidance to a user via a user interface.
[0102] The term "adaptation step duration" refers to the execution time of a work step that is intended to be replaced by the control module for determining the optimized process flow plan based on historically measured work step durations of this work step and / or a similar work step, or which has already been derived from this historical data. In particular, the adaptation step duration can be determined by averaging the work step durations that one or more entities required to execute this work step in the past. For example, a template may initially contain generic, non-entity-specific adaptation step durations that were generated by the template creator based on empirical data, literature values, or manual or automated initial estimates and stored in the template.Additionally or alternatively, the control module can initially use a generic, non-entity-specific work step duration as an initial adaptation work step duration when generating the optimized production flow plan during the first execution of a work step by a specific entity. Therefore, it is not necessary, but possible according to some embodiments, for the templates to specify adaptation work step durations or for such durations to be included in the control data records. However, after the first execution of the work step by at least one entity, a measured, entity-specific, and work step-specific work step duration is available, which replaces this initial adaptation work step duration.
[0103] In this context, a "work step" is understood to be a self-contained part of a production plan, preferably carried out by the same entity, and delivering a defined result, e.g., a product or intermediate product, in a defined state.
[0104] Here, a "production process" refers to a set of one or more sequences of work steps for creating a product. For example, a production process can describe a technical process from the input of raw materials into production to the input of a finished product ready for mass sale.
[0105] Here, a "production flow plan" is understood to be a specification of a production process. For example, the production flow can be implemented as an XML file, a JSON file, a binary object, or as a logically linked set of data records in a database.
[0106] Here, a "template" refers to a data structure that enables the structured storage of data. For example, a template can be represented by a database record, a file such as an XML file, or a JSON file. Preferably, a template is a data structure whose syntax allows for both machine processing and human modification, for example, using a text editor.
[0107] Here, a "data set" is understood to be a group of data values that are related in content (e.g., belonging to an object).
[0108] A "control data record" is understood here to be a data record assigned to a specific work step and containing data that specifies how, with what, by whom, and under what conditions or prerequisites a work step is to be carried out. For example, a control data record can contain data that enables or facilitates the planning of the control and / or control of production resources, such as work step durations, environmental parameters measured during work step execution, production resource status information, etc. The control data records of a work step can, for example, include a list of the materials or intermediate products required to carry out the work step, a list of the machines and / or production modules required to carry out the work step, and / or a list of the parameters required to carry out the work step (e.g.,(Include minimum temperature, minimum or maximum humidity, pressure, brightness, pH value, etc.).
[0109] In this context, a "machine" is understood to be a technical device used to perform one or more work steps. For example, a machine can include a drive system and moving parts. Machines can be used, for instance, for the mechanical action of raw materials and intermediate products. Alternatively, a machine can also be a device that physically acts on the raw materials and / or intermediate products in any way (e.g., thermally or chemically), such as an oven or stove that acts on the materials or intermediate products through heat.
[0110] In this context, a "production plant" is understood to be a group of machines that work together functionally and are optionally also interconnected in a communicative way, such that the product is manufactured completely or at least partially through their interaction.
[0111] The term "means of production" here refers to any technical means used to execute one or more steps in a production process. For example, means of production can include a machine, one or more machine components (e.g., production modules), a set of machines that may be connected to form a production plant, and / or individual tools. For instance, means of production, such as a specific machine or production plant, can be assigned to at least one entity, which is a natural person. Additionally or alternatively, the means of production themselves can be these entities, such as machines or production plants.
[0112] Here, a "computer system" is understood to be a monolithic or distributed data processing system, in particular a digital data processing system. The data processing system can therefore consist, for example, of a standalone computer system or a computer network, especially a cloud system. The computer system can also be designed, for example, as a mobile data processing system, such as a notebook, tablet computer, or portable telecommunications device, such as a smartphone, or as a client-server system with a server computer system and one or more client computer systems.
[0113] In this context, a "database" is understood to be a data structure for storing data, particularly structured data. For example, a database can be a directory, a file, or a set of multiple files. Preferably, however, the database is a set of data structures managed by a database management system (DBMS). A DBMS is a software- and / or hardware-based system for storing, managing, and processing electronic data. According to embodiments of the invention, the DBMS is designed to store large amounts of data efficiently, consistently, and permanently. According to embodiments, the DBMS can be a database with a relational or hierarchical data model, but a variety of other DBMS types can also be used.Preferably, the DMBS enables efficient category-based and / or keyword-based searching of the data repositories, particularly the templates and control data records stored in the database. The database can also be a distributed database, in which parts of the data are stored on different physical data storage devices connected via a network.
[0114] In this context, a "control module" is understood to be a software-based, firmware-based, and / or hardware-based module for processing an optimized production flow plan. It either directly controls a production process or individual work steps, or enables a user to control the process by outputting the production flow plan. The term "control" is to be interpreted broadly here and encompasses both control and regulation processes.
[0115] An "entity ID" is understood here to be a data value that uniquely identifies an entity. This could be, for example, a user ID of a user registered with the control module or a hardware ID of a machine or production module.
[0116] In this context, a "user interface" refers to an interface that enables data to be output to a user and / or input to be received from a user. For example, the interface can be a graphical user interface (GUI) and / or an acoustic interface (speaker / microphone).
[0117] A "data storage" is a storage medium, a storage area on a storage medium, or a combination of several storage media or storage areas, used for storing data. If the data storage comprises multiple storage media or storage media areas, these can be interconnected to form a logical data storage. The storage media or storage media areas can be operationally connected, for example, via a network or a bus within a computer system. Brief description of the drawing
[0118] Embodiments of the invention are described below with reference to the drawing. The drawings show Fig. 1. A flowchart of a procedure for controlling or assisting in the control of a production process; Fig. 2 a block diagram of a corresponding system for controlling or assisting the control of a production process; Fig. 3. Contents of a database used by the system; Fig. 4. A block diagram of a system with multiple means of production for the manufacture of a product; Fig. 5. A block diagram of a system for controlling or assisting the control of a production process, with further details regarding two system components; Fig. 6. A screenshot of a GUI showing a graphical representation of an optimized production flow plan during processing; Fig. 7. A GUI with a recipe capture view including process information; Fig. 8 a GUI with a processing view of a recipe with selectable (activated) and non-selectable (deactivated) GUI elements, each representing executable or locked work steps; Fig. 9. An example of a template in text format with markup for target value work step durations and for dependencies; Fig. 10. A GUI with a display of the time measurements for optimization in the database (in milliseconds; and Fig. 11. A GUI for checking and / or modifying a template.
[0119] Fig. Figure 1 shows a flowchart of a possible implementation variant of a method for controlling or assisting in the control of a production process. The method can be executed, for example, using a system as described in the following. Fig. 2 and Fig. 3 is shown as an example.
[0120] First, in step 102, a control module, which can be implemented, for example, as an application program or part of an application program, accesses a database 202 containing several templates 201 and a large number of control data records 204. The database can be, in particular, a database managed by a DBMS, such as an Oracle database, a PostgreSQL database, or a JSON object database. The templates can be, for example, individual files or database entries, which can be stored in the database as XML files, JSON files, or simple text files. Each template specifies a production process with several work steps.
[0121] Furthermore, the database contains a multitude of entity-specific and work-step-specific control records. This means that each control record is assigned to a specific entity, for example, by including or being stored linked to an entity ID. In particular, the control records are also assigned to individual work steps, for example, by including work step IDs and / or being stored linked to work step IDs. A control record comprises data that has been measured or calculated specifically for that entity. For example, a control record might contain an execution time that was measured while the entity to which that control record is assigned was performing that work step.The control data record can also include further parameters and status information, such as the ambient temperature or the temperature of the production module (e.g., oven), which were measured at the beginning, during, and / or at the end of the execution of the work step. According to some examples, at least some of the control data records assigned to a specific user N and a specific work step A include multiple measured work step durations and / or status information recorded during repeated execution of the work step. The status information can include details of which machine or production module performed the step and under which conditions (temperature, pressure, other process parameters, etc.).
[0122] The entity can be a natural person, a machine, or a production plant. Preferably, the database comprises a register of entities that have initially registered with the control module and thereby stored entity-related data (profiles).
[0123] In step 104, the control module receives an entity ID of at least one of the entities. For example, a user 208 registered with control module 206 can authenticate (log in), so that, as part of a successful authentication process, the ID of this user relating to this entity is transmitted to the control module.
[0124] In step 106, the control module selects at least one of the templates. The selected template specifies a production sequence that will subsequently be executed by the control module using the control assistance and / or control functions.
[0125] The template or a template ID can be received by the control module, e.g. together with the entity ID, via a network and / or via a user interface of a locally installed program, and the control module can be configured to select the received template or the template identified by the received template ID.
[0126] For example, it is possible for a user to select one or more templates, for example via a GUI, whereby the user's selection is transferred from the GUI to the control module and the control module is instructed to select and load the corresponding template from the database.
[0127] In some implementation variants, the template selection is carried out by the control module receiving an identifier of the template to be selected from the production resources. For example, if an error is detected during ongoing production that can be corrected according to a procedure defined in a template, the ID of this error handling template can be included in the error message from the production resources to the control module. The control module then selects the template identified by this template ID. In addition to templates with error handling protocols, templates describing procedures for maintenance or the production of reagents or auxiliary materials can also be loaded before, during, or after an ongoing production process, and the steps of these templates can be dynamically integrated into the currently executed production flow plan as needed.
[0128] Once the control module knows which templates to select for which entity(ies), in step 108 it selects the control records in the database that are assigned to the corresponding entity(ies) and that are also linked to the work steps contained in the selected template(s). For simplicity, we will refer to an entity whose ID is received or a selected template. However, it is also possible for the control module to select multiple templates, for example, if a user selects several recipes or other specifications of production processes that are to be carried out together according to an optimized production flow plan that integrates all work steps of the selected templates.It is also possible for the control module to receive IDs for multiple entities, for example, when the template specifies a semi-automatic production process / recipe in which some steps are to be carried out by a user represented as the first entity and other steps are to be carried out by one or more machines or production modules, each represented as the second entity.
[0129] The selection of templates and control data records can involve transferring the templates or control data records via a local bus or a network. For example, the database containing the templates and control data records can be instantiated on the same machine as the control module. However, it is also possible that the database is instantiated on a different machine (e.g., a database server) than the control module, in which case the selected data must be transferred via the control module's network.
[0130] In step 110, the control module analyzes the temporal and logical dependencies of the work steps defined in the selected template. This analysis also considers the work step durations measured for the entity in the past, as specified in the selected control data sets. Preferably, the analysis also considers status information of the production resources operationally connected to the control module to determine which production resources, machines, and production modules are currently available and best suited for the efficient execution of a work step. The type and number of available production resources can influence whether work steps that are parallelizable according to the template can actually be parallelized in the current situation or with the currently available production resources.
[0131] According to some implementation variants, this analysis can also determine whether entity-specific information on the expected duration of individual work steps is unavailable. In this case, the control module can estimate the expected duration by determining the average time required by other entities to execute this work step. Additionally or alternatively, the expected duration can also be estimated by searching the database for work steps and corresponding control rates that are similar to this work step. If information regarding the duration of the identified similar work steps is available, this information can be used as the estimated duration of the individual work step in question.
[0132] Based on the analysis, it is generally possible to assign a step duration to all work steps of a template, even if the template itself does not contain this information. Preferably, entity-specific, metrologically determined work step durations are used, provided these already exist in the database for the entity and the designated work steps. Manually acknowledging the start and end of a work step constitutes a form of "metrologically determined" work step duration. If such an entity-specific measured work step duration is not yet available in the database, the work step duration can be estimated, at least for the first execution of the template by the selected entity, based on work step similarities and / or on the work step durations in the control data records of other entities.After this first execution, entity-specific execution times are measured for all work steps of the selected template and are used to update the control records assigned to this entity and the work steps of the template accordingly.
[0133] In step 112, the control module generates a production flow plan optimized for the entity. The production flow plan is generated in such a way that at least some work sequences, identified in the analysis as requiring parallel execution, are orchestrated in time to minimize the time interval between the completion of the parallel work sequences and / or the overall duration of the production process.
[0134] If, for example, the template specifies several steps of baking an object in an oven as being capable of parallel processing, the control module can check whether there are currently, or will be in the future, enough ovens available to execute these baking steps in parallel. If not, only some of the baking steps specified in the template may be executed in parallel, while the others are executed sequentially.
[0135] In step 114, the control module outputs the optimized production flow plan via a user interface. The output clearly indicates which work steps of the optimized production flow plan can be executed in parallel and which can be executed sequentially, allowing the user to immediately and intuitively understand which work steps can be executed in parallel and which must be executed sequentially due to their interdependencies.
[0136] Additionally or alternatively, the control module can also use the optimized production flow plan directly to control production by automatically controlling the production resources that are operationally linked to the control module, so that at least some work steps of the optimized production flow plan are automatically executed according to this optimized plan.
[0137] For example, the method described here can be used to manufacture an electronic assembly for a specific application (e.g., harsh environments / outdoor use). The production of such an electronic assembly can be based on a reusable process flow specified in a template, although each individual manufacturing process ultimately proceeds differently due to the multiple manual steps involved. The production of an electronic assembly using the described method can, for example, proceed as described below: 1. A processor authenticates themselves to the control module as a person authorized to carry out this manufacturing process, for example, as an employee of a company. During authentication, a user ID of the processor, used as an entity ID, is transmitted to the control module. 2. After the operator has successfully authenticated and optionally indicated to the control module that the electronic assembly is to be produced, the control module loads the template that specifies the manufacturing process of the electronic assembly from the database. 3. The control module interactively records various production-relevant parameters and status information of the production equipment in cooperation with individual production modules and / or with the operator, such as the number and type of (currently functional or available) soldering stations or the soldering irons installed in them, the number of components, solder joints, etc. 4. In addition, the control module reads the control data records from the database, which are stored linked to an identifier of the authenticated operator and to an identifier of the work steps of the loaded template. The read control data records can, in particular, contain work step durations that were previously measured for one or more of the work steps specified in the template for this operator; 5. From this, the control module calculates the expected total production time. To do this, the control module determines one or more work steps or work step paths that can be executed in parallel, based on the work step durations specified in the control data records and the received current status information of the production equipment. The steps listed within a path must always be executed sequentially. Based on the degree of possible parallelization and the work step durations contained in the control data records, the control module calculates the expected total execution time of all work steps in the template. 6. In a further step, the control module can output a list of required tools, raw materials, and / or auxiliary materials. For example, if the templates specify cooking recipes, this list can contain all the necessary ingredients and / or equipment (machines, tools, etc.). The list can be displayed to the user via a GUI. The user can then confirm via the GUI, for example by selecting a confirmation element, that all ingredients or equipment listed are available. For instance, the list can be displayed as a checkbox list, allowing the user to confirm the availability of each item by checking the corresponding box. 7. According to some implementation variants, the control data records for each work step specify which ingredients and / or equipment (or more generally, "resources") are required for that work step. Even if only some of the materials are available, the control module can automatically determine, based on the work step-specific control data records regarding the required resources, whether all resources necessary for that work step are present. For example, each individual action by the operator that confirms the presence of a specific resource can prompt the control module to recheck whether all required resources are now available for at least one work step of the loaded template.If this is the case, the control module can automatically initiate the execution of this single step or notify the user via the user interface that the execution of this step can already begin because all the necessary resources are available. This can occur even if not all resources are yet available for other steps in the template. 8. Once all resources are available, for example, for the "populate circuit board" step, the operator can begin this step. Since this is a manual process, the control module provides the operator with a user interface through which they can acknowledge the start of this step. For example, the operator can acknowledge the start of this step via voice input or by selecting a GUI element on a touchscreen. Manual acknowledgment of the start initiates a timer (stopwatch) and / or a countdown timer, which is generated and monitored by the control module for this step. The stopwatch serves to measure the actual time required to complete the step. The timer allows the operator to monitor the remaining time until the (expected) end of the step., if the work step takes longer, to measure and output the corresponding timeout in order to provide the user with feedback information and, if necessary, to enable a correction of the work speed; 9. Once the circuit board is populated, the operator confirms this via the user interface. This stops the stopwatch and, if applicable, the timer created and started for the "populate circuit board" step. The period between the start and end of the step is the work step duration measured for that operator and for that specific step. This work step duration is stored in the control data record assigned to that operator and the "populate circuit board" step. Preferably, the measured work step durations are not overwritten by more recent measurements; instead, all work step durations ever measured for a given operator and step are stored in the corresponding control data record, preferably along with status information and other contextual parameters related to the step execution.This allows for future predictions regarding the expected work step duration to be calculated, based on averages of several measured values and / or which take contextual information into account, and are therefore more accurate than a single measured work step duration. 10. Once the circuit board is populated, it is tested according to the production flow plan generated based on the template and status information. This test step is also a manual process, the duration of which was determined by prior measurements. 11. After testing, the circuit board is to be coated with a moisture-resistant coating according to the production schedule. For minimal throughput time, it is ideal that the coating preparation (e.g., mixing the chemical components of the epoxy resin) is completed by the time the test step is finished. Therefore, the control module triggers the start of the mixing process at the appropriate time, while the test step is still in progress. This can be achieved, for example, via an interface to a mixing unit that is operationally connected to the control module. 12. Once the test step is complete and the coating is prepared, the control module enables the coating step. Only now is the operator able to acknowledge the start of the coating step via the user interface and start a timer created for the coating step. 13. Once the completion of the coating process has been acknowledged, the control module starts another (physical or software-based, i.e., “virtual”) stopwatch for the time required for curing and announces the end of the curing step, for example by an audible signal and / or a visual signal. 14. This completes the entire manufacturing process and the control data records assigned to this operator and the work steps performed are supplemented in the database with the new time measurements. 15. The control module can be configured to correlate the measured work step durations with the status information of the production equipment and other context parameters entered or recorded at the beginning of each work step, either after the execution of a manufacturing process or independently. This correlation analysis can be performed, for example, using machine learning methods and serves to identify relationships between working time duration and the state of the production equipment and the environment, thus enabling a more accurate estimation of future work step durations.For example, in the course of such an analysis, a predictive model can be created in which the relationships are explicitly or implicitly stored that, for small assemblies, the soldering step ("populating the board") and the test step may be carried out so quickly that the coating should be prepared earlier in order to reduce the overall duration of the manufacturing process.
[0138] Fig. Figure 2 shows a block diagram of a corresponding system 200 for controlling or assisting the control of a production process.
[0139] The system comprises a computer system 230 with a control module 206. The computer system 230 can be, for example, a monolithic computer system, such as a desktop computer or notebook belonging to a specific person 208. However, the computer system 230 can also be a distributed computer system, such as a system with a client-server architecture. The user 208 can be registered with the control module as one of several entities, and during the registration process, the user 208 is assigned a unique entity ID. During user authentication with the computer system 230 for the purpose of carrying out a production process, the user's entity ID 212 is transmitted to the control module.
[0140] The system can comprise a database 202 in which several templates 201 and a multitude of control data records 204 are stored. Each template specifies a production process. For example, the production processes can be specified in the form of directed acyclic graphs, which specify which steps are logically dependent on each other and therefore must be carried out sequentially. Optionally, the templates can also include information regarding the type and quantity of resources (ingredients, raw materials, auxiliary materials, tools, machines) required to start a specific work step. The control module 206 has at least read access and preferably also write access to the database.
[0141] The control data records are assigned to individual work steps and individual entities and include, in particular, work step durations measured in the past, i.e., the time that the entity to which the control data record is assigned needed in the past to execute the work step.
[0142] Optionally, the system can also include production resources 214, which are intended to perform at least some of the work steps of the manufacturing processes specified in the templates. A production resource can include one or more machines and / or production modules. The production resources, machines, and / or production modules can each be registered as entities (non-human entities) with the control module. This has the advantage that, in semi-automated manufacturing processes that include both manual and automatic steps, machines and people can be treated equally by the control module and taken into account during process optimization.The control module can therefore measure and record work step durations for natural persons as well as machines or production modules, store them in the corresponding control data sets and, if necessary, calculate estimated work step durations based on the work step durations of similar work steps and / or on the work step durations of other entities in order to enable the most optimal and efficient orchestration of various, partially parallelizable work steps.
[0143] If this user has production resources assigned to them, which are also treated as entities by the control module, then, according to some implementation variants, the control module can be configured to automatically determine, in response to receiving this user's entity ID 212, the entity IDs assigned to the production resources belonging to this user. If this user then initiates a manufacturing process according to a specific template, the control module first identifies all manual work steps to be performed by this user and selectively reads the control records assigned to this user and these identified manual work steps. Furthermore, the control module determines which of the remaining, automated work steps of the manufacturing process can at least potentially be performed by which of the production resources registered as entities.The control module identifies, reads, and analyzes the control data records assigned to the automatically executed work steps of this manufacturing process and the aforementioned non-human entities. The analysis is performed to determine which of the non-human entities should best be assigned these automatically executed work steps to ensure the most efficient execution of the manufacturing process.
[0144] The optimized process flow plan determined during the analysis can be output to the user 208 via interface 210. Additionally or alternatively, the control module 206 can send corresponding control commands to the production equipment 214 to control the production process fully or partially automatically.
[0145] According to some implementation variants, the computer system comprises a server computer system and several client computer systems, with each client computer system assigned to a user 208. In this case, the production resources 214 can preferably be implemented as a distributed set of production resources, with each user being assigned and able to use only a portion of the production resources. For example, if the users are cooks, each cook is assigned the equipment and machines of the kitchen in which they are currently working. The kitchen equipment of other cooks is typically not available to that cook and is not considered when calculating the optimized production schedule for that cook.
[0146] Fig. Figure 3 shows some further details regarding the contents of database 202. For example, templates 201 can contain instructions for manufacturing processes, such as cooking recipes, in the form of directed acyclic graphs. The templates can, for example, include a template 350, here designated "T45", which represents a recipe for preparing roast pork with salad. The graph of this template contains two paths of essentially independent and therefore parallelizable work steps, whereby the individual nodes representing the work steps within these paths must be executed sequentially. Thus, the first of the two paths contains the prescribed step sequence RTX, then ARZ, then FTW, and then NLW. The second of the two paths contains the prescribed step sequence ZOG and HRC. For example, the first path could refer to the preparation of roast pork and the second path to the preparation of salad.The sequence of work steps within the two paths cannot be changed during process optimization, as it is based on fixed dependencies. For example, lettuce must be washed before it is mixed with the salad dressing. However, whether the first path is executed before the second, the second path before the first, or whether both paths are executed fully or partially in parallel, is determined dynamically by the control module based on state information (e.g., the occupancy plan) and / or on known work step durations for the executing entity during the creation of the optimized process flowchart.
[0147] The database also stores a large number of control data records (204). Each control data record is assigned to one of the entities, for example, by linking the control data record to an identifier of that entity (here, for example, "E34", "E35", "E38"). Furthermore, each control data record is linked to a specific work step, for example, by linking the control data record to an identifier of the work step (here, for example, with the names of the work steps "Step RTX", "Step ARZ", etc.). At least some of the control data records in the database contain one or more metrologically recorded work step durations, i.e., time periods that the entity to which the control data record is assigned required to perform this work step in the past.A control record can also contain multiple operation durations measured for that entity, and the control module can be configured to use mean values of these operation durations as the most likely operation duration required by the entity to perform the operation.
[0148] Preferably, the control data records also include historical status information of those production resources, machines, and / or production modules that performed this work step in the past. According to some implementation variants, the control module is configured to evaluate this status information and the associated work step durations using a machine learning method in order to automatically generate and / or improve a predictive model capable of calculating the expected work step duration of the entity for a specific work step, depending on the currently measured status information of the production resources, machines, and / or production modules provided as input to the model. Preferably, a control data record is therefore not a static data record, but a data record that is updated over the duration of the system's use for process control.The process control assistance is continuously supplemented and / or updated.
[0149] According to some implementation variants, each control data record is stored linked to an identifier from one of the templates. This can be advantageous because it's possible for work steps to have the same name in different templates but require different execution times depending on the context. For example, the required drying time for a coat of paint can depend heavily on the type of paint applied and the material it's applied to.
[0150] Fig. Figure 4 shows a block diagram of a system 300 with several production resources 214, 310, 312 for the production of a product 326. For example, the system 300 could be a complex production plant for the manufacture of a body part for automotive production.
[0151] For example, production equipment 214 could be a first manufacturing plant configured to shape various sheet metal parts. Production modules 332 and 334 could be presses, each configured to press a provided sheet metal part 302, 304 into a specific shape. The two shaped sheets are automatically transferred to production module 336, an automatic welding station, where the two sheets are welded together. In production module 338, another component, for example, part of a door handle 306, is shaped by pressing pressure.
[0152] The composite sheet 313 produced in production module 336, as well as the formed door handle part 318, are transported automatically or manually to various production modules of another production line, designated as "production equipment 2" 310, for the painting of components. In the painting station 340, the composite sheet 313 is coated with a first layer of paint 314. Both the paint 314 and the composite sheet 313 represent resources required by production module 340, which can be registered as a separate entity with the control module. These resources must therefore be available before production module 340 can execute its assigned work step, "paint component." The control data record belonging to this work step and this production module can thus stipulate that the work step can only be carried out when the aforementioned resources 314 and 313 are available.
[0153] After the first coat of paint has dried, the composite sheet is transferred to another painting station 342, where a second coat of paint is applied using a different paint 316. The double-coated composite sheet is then transported to production module 343, an oven. The high temperature in the oven allows the second coat of paint to cure quickly. The double-coated and dried composite sheet 322 is then transferred to production module 346 of a third production line 312.
[0154] Furthermore, a third painting station 344 paints the door handle part 318. The painted door handle part 324 is then also (automatically or manually) forwarded to the production module 346.
[0155] Production module 346 is a work area where a worker manually screws together the painted composite sheet 322 and the painted door handle part 324.
[0156] The manufacturing process and the production plant are complex, as numerous work steps are performed partly sequentially and partly in parallel by various machine entities as well as by human workers. Implementation variants of the invention thus enable an efficient manufacturing process in which work steps are dynamically orchestrated to take into account the time required by the individual processing units and their status.
[0157] Preferably, each person and each non-human entity performing a work step in the production process is assigned a (physical or software-based) stopwatch and / or timer, with the stopwatch recording the time required by the respective entity to perform a work step. For example, at least some of the production modules can include an integrated stopwatch that is communicatively connected to the control module and automatically informs the control module when a specific processing step started and when it finished. Additionally or alternatively, it is also possible that a production module itself does not include a stopwatch, but at least an interface for outputting status information, and transmits this status information to the control module regularly or at least whenever the state of the production module changes.This enables the control module to determine the times when the production module began and completed a work step. In this case, the control module provides a software-based stopwatch for recording the working time of a specific entity for a particular work step. The control module's ability to create and monitor this software-based stopwatch for individual entities allows for the seamless integration of production modules into the process control system, even those that do not have a built-in clock. Similarly, the control module can also implement a software-based or physical stopwatch integrated into the respective machine.Assign a physically existing timer (counter-running stopwatch) in the respective production module to a work step in order to determine and output the expected remaining time until the work step is completed.
[0158] According to some implementation variants, the control module is configured to assign an acknowledgment to each person and non-human entity performing a work step in the production process, or to use one already embedded in the entity, to determine when a work step began and / or ended. For example, a production module such as an oven or a paint station may have corresponding switches or buttons for operators to start or stop a work step. It is also possible for the production modules to have sensors or interfaces to detect when they receive a control command to start or stop a work step, or to autonomously start or stop a work step.The control module can also be configured to generate a graphical user interface (GUI) and / or exchange data with a GUI that has step-related GUI elements through which a user can acknowledge the start and / or end of a step.
[0159] Depending on the implementation variant and the entity executing a work step, various events can trigger the acknowledgment of the start and / or completion of a work step: - the achievement of a technical / physical target value (temperature / hardness / pressure) that is measured on the processed (intermediate) product or in or on the processing entity, - Expiration of a specific work step duration, in particular a target value work step duration. Specifically, the durations used as confirmation events for the completion of a work step may be those predetermined by technical, chemical, and / or physical conditions and which are not adapted to specific entities based on measured actual durations, as a deviation from these target value work step durations would lead to a deterioration of the product; examples include predetermined (optimal) durations for stirring steps, mixing steps, baking steps, chemical reaction steps, steps for allowing mixtures to harden, etc. (stirring, heating, hardening, chemical reaction, etc.). - an automatic determination that a partial result or intermediate product provided by a previous work step is available, possibly combined with the determination that all resources required for a particular work step are available, can induce the automatic commencement of a work step and the automatic acknowledgment of the commencement; - The determination that two or more steps, the result of which is needed, for example, for the execution of a specific step, have been successfully completed, can induce the automatic commencement of a work step and the automatic acknowledgment of the commencement.
[0160] Preferably, the control module can automatically detect that two or more work steps cannot be executed simultaneously, for example, because all these steps require the same tool or resource, which is not available in the required quantity. According to some examples, the control module can also determine, based on the status information of the non-human entities, that these steps cannot be executed simultaneously if the required tools or resources are available in sufficient numbers for parallel execution of the work steps, but are currently in a state (occupied by other processes, in maintenance mode, in error mode, etc.) such that parallel execution of these work steps is not possible.If multiple non-human entities are available to perform a specific work step, the control module can be configured to assign the step to the entity that can perform it in a way that minimizes the overall manufacturing process time. For example, if ovens other than oven 336 are available for the drying step, the control module can assign the drying step to the oven whose current temperature is closest to the required drying temperature, thus avoiding or reducing the time lost due to an additional heating or cooling phase. Therefore, the topology of the paths of the work processes specified in the templates only provides basic information regarding the fundamental possibility of parallelizing work steps.Whether, when and by whom these work steps are actually carried out in parallel is dynamically determined by the control module depending on the status information and the entity-specific measured and / or estimated working time durations and is output in the form of an optimized process flow plan.
[0161] Preferably, at least some of the production equipment, machines, and / or production modules include one or more sensors that automatically acquire status information regarding the status of said machines or production modules and / or that automatically record the progress of a work step. Depending on the type of machine or production module, the sensors may include, for example, one or more of the following: temperature sensors, humidity sensors, sensors for detecting the status of a door or opening (open, closed, degree of opening, etc.), optical sensors, in particular cameras, pH meters, pressure sensors, vibration sensors, accelerometers, sensors for determining position or orientation, GPS sensors, etc.
[0162] Industrial production facilities and their components are often equipped with appropriate sensors as standard or can be retrofitted accordingly. However, tools and machines with suitable sensors and interfaces for connecting the tool or machine to the control module are also increasingly used in other application scenarios, such as optimizing cooking process schedules. For example, small-format cooking appliances like the Thermomix sometimes already have a network interface, such as a Wi-Fi or Bluetooth interface, allowing their functions to be controlled via a computer over a network.By connecting such a cooking robot to the control module, it is possible to optimize the timing of highly complex recipes that involve the preparation of a wide variety of dishes. Control commands can be sent via the network to specify which functions (chopping, stirring, cooking, keeping warm, etc.) should be performed at what time and for how long. Many ovens, cooktops, and range hoods now also have a network interface and / or built-in or retrofittable sensors (meat thermometers, etc.) and can be integrated into the system and controlled by the control module.
[0163] Fig. Figure 5 shows a block diagram of a System 500 for controlling or assisting the control of a production process, with further details regarding two system components.
[0164] For example, database 202 can contain corresponding profiles 502 and 504 for all registered entities. For instance, natural persons registered as entities may be assigned one or more means of production, machines, and / or production modules, each of which is also registered as an entity with the control module and is referred to here as "non-human entities." When the control module receives a request to execute a specific manufacturing process, containing an entity ID 212 of a particular person, the control module can analyze the corresponding profiles 502 and 504 to determine which non-human entities are assigned to the requesting entity.
[0165] The control module can, for example, include a module 508 for reading a specific template from a database. For instance, the module can offer a user a GUI to allow the user to select template 506 by searching database 202 for a specific manufacturing process for a desired product.
[0166] The control module can contain further modules or functions 510, 512 for analyzing the template to identify parallelizable paths (list of sequentially executed work steps). First, the control data records are determined that relate to the work steps of the read template 506 and are to be executed by the user specified by entity ID 212 and / or by the non-human entities assigned to this user. At least some of these control data records contain historical, metrologically and entity-specific recorded work step durations, as well as preferably historical, metrologically recorded status information regarding a multitude of relevant parameters that were measured during the execution of these work steps.
[0167] Based on this information, the control module calculates an optimized production flow plan 513. This can be output to the user via a user interface 522, in particular a GUI and / or a loudspeaker.
[0168] In particular, the optimized production flow plan displayed on the GUI can be interactive, meaning that the user is given the opportunity to acknowledge at least the start and / or end of manually executed work steps by selecting the corresponding GUI elements, as is the case in Fig. Figure 8 is shown. According to some implementation variants, the optimized production flow plan is implemented as a dynamic model, for example as a Petri net, in which different system states can be calculated and simulated during the execution of the production flow plan over several steps.
[0169] Optionally, the control module can also calculate and output further, alternative production flow plans, so that the user can choose from several alternatives if necessary.
[0170] The control module can include another module or functionality 518 for the automatic or semi-automatic execution of the optimized production flow plan.
[0171] The next work steps for the selected optimal production flow plan are automatically started by the control module (e.g., by means of control commands sent to the respective production equipment via a network), provided that the available production resources or their components allow this, or alternatively displayed to the operator so that he can carry out the individual work steps in the correct logical sequence (e.g., starting a machine, manual execution with a tool, waiting for a physical process or a chemical reaction).
[0172] The control module assigns a physical or software-based stopwatch to each work step and displays, at least for manually performed steps, confirmation elements via a GUI. These elements allow the operator to acknowledge the start and completion of work steps, thus enabling the measurement of step duration even for manual tasks. By using measured durations, and preferably averages of multiple measured durations, the control module can derive predictions for the overall duration and optimize processes.Module 518 can include automated learning functions using statistical methods or artificial intelligence methods (machine learning, artificial neural networks) that capture multiple measured work step durations and correlate them with the also captured status information, thus predicting the expected work step duration of the next step to be executed based on the status information received from the non-human entity to which this work step is assigned.
[0173] Preferably, according to implementation variants of the invention, before the start of each work step of the optimized production flow plan 513, the optimized production flow plan is recalculated taking into account further, currently received status information. For example, the control module can be operationally connected to the production equipment 214 intended for carrying out the production process via corresponding interfaces 526 for receiving machine status information. The control module 206 can be connected to the user 208 via a graphical user interface 522, 524 in order to continuously receive confirmation information during the execution of the production process.Based on this status information and / or acknowledgment information, the control module can therefore continuously adapt the production schedule to dynamically changing and unpredictable circumstances during operation (operator needs a processing step longer or shorter than usual, a production module is defective or occupied, etc.).
[0174] User interface 522 allows the user to specify templates, view the currently determined optimal production flow plan, and / or monitor the current status information of the production equipment in use. User interfaces 522 and 524 may be different or identical.
[0175] Preferably, the control module also includes a further module or functionality 528 for determining similarities between work steps. The similarity analysis can refer to work steps within the same template or to work steps within different templates. Based on the similarity analysis, in cases where, for example, no historically determined work step execution times are available for a specific entity, the work step durations of the identified similar work steps can be used as an approximate estimate.
[0176] Preferably, the control module stores the status information and metrologically recorded work step durations received during the manufacturing process in the database. This updates the control data records assigned to the work steps contained in Template 506 and the entities executing these work steps, so that these control data records are now available in the database as updated, refined control data records 516.
[0177] For example, at moment T1, when the control module 206 receives a request from entity E24 to execute a manufacturing process according to template 506, including work step A243, the control data record assigned to entity E24 and work step A243 may already contain five previously measured work durations of 13, 12, 13, 14, and 17 minutes. When the control module calculates the optimized production schedule for entity E24, it can use an average of the previously measured durations for the expected work step duration required for the sixth execution of work step A243, i.e., (13+12+13+14+17) / 5 = 69 / 5 = 13.8 minutes.After the optimized production flow plan for entity E24 is calculated and the manufacturing process is carried out according to this plan, the actual time required to perform step A243 during the sixth execution is measured and stored as an additional work step duration, preferably linked to a timestamp. The corresponding control data record is then updated and supplemented with further data. For example, the measured work time could be 16 minutes. The estimated work step duration used for the seventh execution of the work step would then be calculated as (13+12+13+14+17+16) / 6=85 / 6=14.4 minutes.
[0178] Fig. Figure 6 shows a screenshot of a GUI with an output of a graphical representation of an optimized production flow plan for a cooking recipe during processing.
[0179] The GUI's representation of the individual steps clearly shows which steps must be executed sequentially and which paths can be executed in parallel: each of the potentially parallel-executable paths 606, 608, 610 is indicated by a light gray background bar.
[0180] The sequence of work steps belonging to the respective path is displayed below this grey background bar in the form of a list of 614, 616 work steps.
[0181] The currently executed work steps can be indicated by a progress bar (602, 604). The estimated duration of each step can be displayed in minutes and seconds next to the name of the step being performed. This duration can be determined, for example, based on historically recorded times for the user performing the task or on the durations of similar work steps. Using the progress bars and / or other forms of display showing the elapsed and remaining time for the current work step, the user can recognize and monitor the status of the current manufacturing process.
[0182] Fig. Figure 7 shows a GUI with a recipe capture view including process information.
[0183] For example, the GUI can allow a user to enter a new template, such as a new recipe or, more generally, a new specification of a manufacturing process, by entering a numbered list of work steps.
[0184] The template shown here does not contain any information regarding the expected duration of most work steps. This can be advantageous because the time required for these steps, for example, cleaning carrots, depends heavily on the individual cook or their assistants performing the step. Even though the template does not include time estimates for these work steps, the control module can still determine the expected durations, at least approximately. This can be done, for example, by calculating the average of the measured execution times of other cooks (more generally: the average of the measured execution times of other entities and / or their production resources or modules) and using this as the expected duration of that step, and / or by determining the duration that this or other cooks have required for similar work steps.Therefore, if no historical data is available for the step "cleaning and cutting carrots into sticks" for the cook selecting the recipe, but data is available for the step "cleaning and cutting potatoes into sticks," the work time of this similar step can be used as a first approximation. Work times that have been determined based on historically measured work time times of a work step and / or a similar work step, or that are intended to be replaced or refined (i.e., adjusted or "adapted") using such historically measured times, are also referred to here as "adapted work time times."
[0185] Some steps of the in Fig. However, the seven recipes shown include a specified work step duration. For example, the step "Sauté vegetables in oil" has a duration of 11 minutes, and the step "Cook" has a duration of 5 minutes. These steps are so-called "target work step durations," which should preferably not be replaced by the actually measured work step durations. These target work step durations should be considered as target values or correct work step durations, and excessive deviations from them are considered execution errors. A template can contain a mixture of work steps without specified work step durations, work steps with adapted work step durations, and work steps with target work step durations, whereby the type of work step duration can optionally be specified by a tag or other identifier in the template.
[0186] In the "Previous" column, the user can specify an ID or the number of the steps that must be successfully completed before the respective step can begin. For example, before the step "Fry vegetables in oil" can be performed, steps 1, 2, and 3 must first be successfully completed.
[0187] Fig. Figure 8 shows a GUI with a recipe processing view featuring selectable (activated) and non-selectable (deactivated) GUI elements, each representing executable or locked work steps. The recipe includes five immediately executable work steps. These can, in principle, be executed in parallel, provided a sufficient number of cooks and the necessary equipment are available. The immediately executable work steps are indicated by a light gray background. In the example shown, these are the work steps "Clean and cut carrots into sticks," "Clean and cut beets into sticks," "Cut onions into quartered rings," "Finely chop chard / spinach," and "Chop coriander."
[0188] The grayed-out, immediately executable steps are displayed on the GUI according to Fig. The 8 steps are displayed as selectable GUI elements. This means that the user can confirm the start of one of these five steps by selecting it (for example, via touchscreen or mouse). Depending on the availability of additional cooks or helpers, all four of the five immediately executable steps can also be selected, thus confirming the start of their execution. A stopwatch and, if necessary, a timer are then started for each of these steps. The progress of all started steps can be displayed, for example, via step-specific progress bars, as shown in... Fig. 6 will be displayed.
[0189] The steps that cannot yet be executed because required resources (in this case, the results of other steps) are not yet available are marked here as steps without a gray background. For example, the step "Sauté vegetables in oil" cannot yet be executed because the vegetables (carrots, beets, onions, chard / spinach, and coriander) must first be washed and chopped. The steps "Add curry / tandoori paste," "Put on lid," and "Decorate, serve" also cannot yet be executed. Therefore, the user cannot select these steps via the GUI and cannot confirm the start of these steps.
[0190] According to some implementation variants, detailed additional information is displayed for each work step, for example various images and / or received status information of the production resources that are to perform this step.
[0191] Fig. Figure 9 shows an example of a template in text format with markup for target value work step durations and dependencies. The work steps that must already be successfully completed before a specific work step can start are indicated by listing their numbers or IDs after the "#" character.
[0192] Fig. Figure 10 shows a GUI displaying the time measurements for optimization in the database (in milliseconds). This GUI visualizes the internal storage of a template's time data in a cloud-based JSON database. The GUI serves to illustrate and, if necessary, manually check or correct measured data. This is advantageous, for example, if a device has a technical defect, meaning the measured duration is not representative of the typical work step duration on that device.
[0193] The diagram shows that timing started for the entity with ID "hsm" and the template with ID "hsm12" in the third iteration ("_3"). Times were measured for steps with IDs 0, 1, and 2 in this iteration, but not yet for subsequent steps.
[0194] According to some implementations, a user can authenticate to the control module in order to use the template (recipe) they created, also with the help of the [missing information]. Fig. To further edit the GUI shown in section 10.
[0195] Fig.Figure 11 shows another GUI for checking and / or modifying a template. A user can authenticate with the control module to check and, if necessary, edit an existing template (recipe). For example, the edited template can include several work steps. By selecting the "steps" category, the user can display a list of the work steps already specified in the template (middle column). Selecting the work step "hsm22" opens a GUI area in the right column with several input fields, allowing the user to specify various attributes of this work step. For example, in the "after" field, the user can enter the step numbers "0" and "1" to specify that this step may only be executed after steps "0" and "1" have been successfully completed.This allows the user to define the topology of the directed acyclic graph of the work steps contained in this template. The user can enter or modify the name of this work step, for example, "Sauté onions in butter," and can specify the desired duration of this work step in the form of a target value work step duration, for example, 3 minutes.
[0196] For example, the edited template may contain multiple work steps, and the user can assign a target work step duration to three of these steps. Assigning a target work step duration means that the control module will not attempt to replace this target work step duration with measured, entity-specific processing times, as the target work step durations are considered target values.
[0197] Preferably, the duration of all work steps is measured, even if a target work step duration is specified for them. The measured values can be verified and used for quality assurance purposes.
Claims
[1] System (200, 300, 500) for controlling or assisting the control of a production process with several work steps, wherein the system comprises at least: - a database (202) containing: ▪ several templates (201), each template including one of the production processes and specifying several of the work steps; ▪ entity-specific and work-step-specific control records (204), wherein each of the control records is assigned to one entity from a plurality of entities (208, 214310, 312), wherein each entity is a natural person, a machine or a production plant, wherein each of the control records is stored linked to at least one of the work steps, and wherein each of the control records specifies at least one past measured duration of the execution of this linked stored work step by that of the entities to which the control record is assigned; - a computer system (230) with a control module (206), wherein the control module is configured to: ▪ Receipt (104) of an entity ID (212) of at least one of the entities; ▪ Select (106) at least one of the templates (506); ▪ Select (108) those of the control records that are assigned to the at least one entity identified by the at least one received entity ID and that are stored linked to the operations specified in the at least one selected template; ▪ Analyzing (110) the temporal and logical dependencies of the work steps of the at least one selected template, taking into account the work step durations measured in the past for the selected entity, which are specified in the selected control data sets; ▪ Generating (112) a production flow plan optimized for one entity (513) such that at least some work sequences identified in the analysis as work sequences to be performed in parallel are orchestrated in time in such a way that the time interval of the completion of the parallel work sequences and / or the total duration of the production process is minimized; ▪ Output (114) of the optimized production flow plan via a user interface, wherein the output separately identifies the work steps of the optimized production flow plan to be executed in parallel and sequentially; and / or ▪ automatic control (116) of production resources such that the production resources automatically perform at least some of the work steps of the optimized production schedule in accordance with the optimized production schedule. [2] The system according to claim 1, wherein the control module is further configured to: - during the execution of the optimized production flow plan, receiving a measured work step duration for one or more of the work steps performed; - Update the control records in the database that are assigned to the entity performing the respective operation, such that the updated control records include at least one of the following values for each of the operations performed: • the measured duration of the work step, and • a mean of all work step durations measured to date for the at least one entity and for this work step, wherein the mean is in particular the arithmetic mean or the median or a weighted mean of all work step durations measured to date for the one entity and this work step; and - Using the updated control data sets for future generations of entity-specific optimized production flowcharts; - wherein preferably the control module is further configured to repeatedly generate the optimized production schedule for the at least one entity during the execution of the optimized production schedule using the updated control data and to output the regenerated optimized production schedule via the user interface and / or to perform the automatic control of the production resources based on the regenerated optimized production schedule. [3] The system according to any of the preceding claims, wherein the production process is selected from a group comprising: - a recipe for preparing one or more meals or drinks; - a multi-step process for the chemical synthesis, characterization and / or purification of substances or mixtures of substances; - a molecular biological multi-step method for the production, characterization and / or purification of molecules or cells, in particular proteins, nucleic acids, metabolites, or drugs; - a manufacturing process of vehicles, machines, buildings, electronic devices or components thereof; - a fully automatic or semi-automatic production, analysis and / or synthesis process, wherein the at least one entity comprises in particular a machine that performs one or more of the steps of said process; - a manual or semi-automatic production, analysis or synthesis process, wherein the at least one entity comprises, in particular, a natural person who performs one or more of the work steps of said process; wherein the system is preferably configured as: - an industrial production plant (300) for the manufacture of products (326), comprising one or more machines, each of which is an entity or is assigned to a person acting as an entity, wherein at least one of the machines was manufactured on the basis of at least one manual manufacturing step; or - a distributed computer-based system for providing cooking recipes to multiple users and for controlling or assisting in the preparation of meals according to at least one of the cooking recipes, wherein the distributed computer-based system is configured as a system according to one of the preceding claims, wherein the templates specify the cooking recipes and the users are represented by at least some of the entities, wherein preferably each of the users is assigned production resources with multiple production modules in the form of a kitchen with multiple kitchen appliances and / or ovens. [4] The system according to any of the preceding claims, wherein the control module is operationally coupled to the production means, wherein the production means are assigned to the at least one entity and / or are the at least one entity, wherein the production means include several production modules with one or more state sensors, wherein the control module is configured to: - In response to receiving at least one entity ID, receiving status information from the status sensors of multiple production modules, wherein the status information includes, in particular, one or more of the following parameters: an occupancy state, a current operating mode, a fault state, a standby state, a fill level, a temperature, a humidity, a pressure, a weight, an electrical resistance, a conveyor belt speed, a stirring speed, a drive power, and / or a rotation speed; and - Storage of the received status information in the control data records assigned to at least one selected entity, linked to those of the work steps performed by the respective production module when the status information was acquired by the status sensors; - wherein the control module is preferably further configured to analyze the state information of the production modules when generating the production flow plan optimized for the at least one entity, in order to create the optimized production flow plan in such a way that the work steps are assigned to the production modules in such a way that double occupancy is prevented and the overall duration of the production process is minimized. [5] The system according to claim 4, wherein the control module is configured to: - when generating the production flow plan optimized for one entity: • Analyzing the received status information from the production modules, • For each work step of at least one selected template that can be performed in or by one of the production modules, calculate an expected, entity-specific and state-specific work step duration as a function of the state information and the work step durations measured for that entity; • Use the calculated expected work step durations when creating the optimized production flow plan to assign the work steps to those production modules that have the shortest state-specific work step duration. [6] The system according to any of the preceding claims, - where at least some of the work steps specified in the at least one selected template are assigned target value work step durations and / or adaptation work step durations, - where a target value work step duration is a time duration that the control module must consider as a target value parameter when generating the optimized production flow plan, - where an adaptation step duration is a time period that is intended to be replaced by the control module for determining the optimized process flow plan based on historically measured step durations of this step and / or a similar step, or which has already been obtained on the basis of these historical data, - wherein the control module is configured to use historically measured work step durations for at least one entity for the calculation of a refined adaptation work step duration of the at least one work step and to update the control record, which is stored assigned to and associated with the at least one entity, with the refined adaptation work step duration, wherein the control module does not calculate refined target value work step durations based on measured work step durations. [7] The system according to any of the preceding claims, wherein the control module is configured to: - Identifying at least one of the templates associated with a control record that contains an adaptation step duration in the form of a duration of execution of this step measured for at least one entity in the past; - Determining a deviation of this adaptation work step duration from the duration of execution of the at least one identified work step measured in the past for one or more other entities; - Analyzing the work steps specified in one or more of the templates to identify work steps that are similar to at least one identified work step; - Modification of the control data records that are assigned to at least one entity and that are stored linked to the detected similar work steps, such that the adaptation work step durations of these detected similar work steps are shortened or lengthened according to the determined deviation. [8] The system according to any of the preceding claims, further comprising an input interface operationally connected to the database, which is configured to: - Receiving a new specification of a production process comprising several work steps, where the specification takes the form of a list of work steps; - Comparing the steps of the new specification with the steps of the database templates to identify similar steps; - Assigning the execution durations of one or more work steps from the database templates that were identified as similar based on the comparison to the similar work steps of the received new specification; - Transformation of the received new specification into a new template in which temporal and logical dependencies of the work steps are represented in the form of an acyclic graph, and in which at least some of the work steps include the assigned work step durations. [9] The system according to any of the preceding claims, further comprising a graphical user interface - GUI (522, 524), wherein the GUI is configured to: - Displaying the parallel and sequential work step sequences of the optimized production flow plan in such a way that work step sequences that can be executed in parallel are recognizable as such; - as soon as the execution of one of the work steps begins, a duration symbol is displayed, showing one or more of the following durations relating to that work step and updating dynamically: • the time elapsed since the start of the work step; • the remaining time until the expected completion of the work step; • the duration allocated to this work step according to the optimized production flow plan; - at least for manually executed work steps: Display at least one selectable GUI element, referred to here as an acknowledgement element, which allows the user to acknowledge the start and / or end of the work step by selecting at least one acknowledgement element, whereby selecting at least one acknowledgement element to indicate the end of a work step results in the control records of the entity executing the production process being updated with a further measured time duration for this work step and a production process plan optimized for that entity being generated and displayed on the GUI; - preferably, the GUI is configured so that the user can only select and activate at least one acknowledgment element for acknowledging the start of a work step when all resources required according to the optimized production flow plan for carrying out this work step are available. [10] Computer-implemented method for controlling or assisting in the control of a multi-step production process, comprising: - Access (102) to a database (202) using: • several templates (201), each template specifying a production process including several work steps; • entity-specific and work-step-specific control records (204), wherein each of the control records is assigned to one entity from a plurality of entities (208, 214310, 312), wherein each entity is a natural person, a machine or a production plant, wherein each of the control records is stored linked to at least one of the work steps, and wherein each of the control records specifies at least one past measured duration of the execution of this linked stored work step by that of the entities to which the control record is assigned; - Receipt (104) of an entity ID of at least one of the entities; - Select (106) at least one of the templates; - Selecting (108) those control records that are assigned to the at least one entity identified by the at least one received entity ID and that are stored linked to the operations specified in the at least one selected template; - Analyzing (110) the temporal and logical dependencies of the work steps of the at least one selected template, taking into account the work step durations measured in the past for the selected entity, which are specified in the selected control data sets; - Generating (112) a production flow plan optimized for one entity such that at least some of the work sequences identified in the analysis as work sequences to be performed in parallel are orchestrated in time in such a way as to minimize the time interval between the completion of the parallel work sequences and / or the total duration of the production process; - Output (114) of the optimized production flow plan via a user interface, wherein the output separately identifies the work steps of the optimized production flow plan to be executed in parallel and sequentially; and / or - automatic control (116) of production resources such that the production resources automatically perform at least some of the steps of the optimized production schedule in accordance with the optimized production schedule.
Citation Information
Patent Citations
Methods for the automated optimization of a production process and production facility
DE102018119454A1
Method and device for planning an assembly and / or manufacturing process
DE102018214233A1
Device and method for controlling complex production sequences in large-scale industrial plants, especially in the steel industry
DE102019208194A1
Activity set management in a manufacturing execution system
US20130123963A1
Meal preparation orchestrator
US20180101608A1