Automatic configuration of electric drives and electric motors
By automating the configuration of electric drives and motors using generative machine learning models and agent software components, the problem of human configuration errors is solved, and efficient and optimized configuration parameter determination is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ABB (SCHWEIZ) AG
- Filing Date
- 2026-01-15
- Publication Date
- 2026-07-31
AI Technical Summary
The configuration of electric drives and electric motors mainly relies on manual tasks, which are prone to human error, and optimizing the configuration becomes a bottleneck, making it difficult to achieve optimization goals such as energy utilization.
By employing a generative machine learning model (GMLM) and agent software components, configuration parameters for electric drives and electric motors are automatically determined by decomposing configuration tasks into sub-actions and combining contextual information and tool queries.
It improves configuration efficiency, reduces the possibility of errors, and can automatically adjust the configuration according to the optimization goal, thus reducing the workload of human experts.
Smart Images

Figure CN122495937A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the automatic determination of configuration parameters for electric drives and electric motors, particularly for electric drives and electric motors used in industrial plants and / or processes. Specifically, these configuration parameters can be used for the configuration and / or commissioning of electric drives and / or electric motors. Background Technology
[0002] Electric motors are used in a wide range of industrial applications, such as in conveyors, mixers, robots, or cranes. Electric motors are powered by an electric drive that controls the motor's rotational speed. Optionally, the electric drive can also move the electric motor to a precise, given position. To obtain feedback on the current position of the electric motor or the component it drives, an encoder can be used to convert this position into an electrical signal.
[0003] Currently, configuring the parameters of electric drives and / or electric motors (especially any encoders used) is primarily a manual task, requiring human experts to perform. Therefore, this task is prone to human error. Furthermore, this lack of expertise can become a bottleneck in the deployment of electric drives and electric motors.
[0004] In particular, optimizing the configuration for any given optimization objective (such as energy efficiency) is less of an industrial task and more of an art.
[0005] Therefore, the object of the present invention is to allow for at least partially automated configuration of electric drives and motors, thereby improving efficiency and reducing the possibility of errors.
[0006] This objective is achieved by the method described according to the independent claim. Further advantageous embodiments are detailed in the dependent claims. Summary of the Invention
[0007] The present invention provides a method for configuring at least one electric drive and / or the electric motor, which can be connected to at least one electric motor. In particular, "configuration" may mean determining a set of configuration parameters to be applied to the electric drive and / or the electric motor.
[0008] Specifically, the electric drive can be an industrial electric drive connected to an industrial electric motor. Such an industrial electric motor can be mechanically connected to machines in an industrial plant and / or machines involved in an industrial process to move certain parts and / or components of the plant and / or physically act on parts and / or components of the industrial process, based on a given industrial application. Examples of such applications include conveyors (such as conveyor belts), heating and cooling processes involving mixing and / or stirring, cranes, and escalators, elevators, ski lifts, or other personnel transport equipment.
[0009] In this method, a request to configure the electric drive and / or electric motor is provided to at least one agent software component. This agent software component can access at least one generative machine learning model (GMLM), such as a large language model (LLM) or a small language model (SLM). Specifically, such a language model can predict the next word or text item in a sequence of words or other text items. In this way, the language model can generate a long text of configuration files (such as human-readable instructions for configuring the electric drive and / or electric motor), which can be downloaded segment by segment to the electric drive and / or electric motor.
[0010] The agent software component can also possess reasoning capabilities. Specifically, this means it has a given target, instructions, memory, decision history, and any other information necessary to reason about the given target. Optionally, the agent software component can also access internal or external tools to perform specific tasks or actions given a particular input format.
[0011] The agent software component breaks down the task of configuring the electric drive and / or electric motor into a series of sub-actions. It then causes the execution of each sub-action, such that the completion of all sub-actions results in the electric drive and / or electric motor being at least partially configured.
[0012] During the execution of at least one sub-action, a query for the Generative Machine Learning Model (GMLM) is obtained based on this sub-action to be executed. Here, "obtained" specifically includes generating this query from information indicating the sub-action to be executed. However, for a specific task, predefined queries and / or hints used with the GMLM can be readily obtained.
[0013] The query is provided to the GMLM. In addition, contextual information is also provided to the GMLM. This contextual information indicates at least the nature of the electric drive and the function of the electric drive and the motor to be connected to it. Specifically, different instances of the same type of electric drive and motor can be used in many different industrial plants or processes and can play drastically different roles depending on the end-user application or use case. For example, one instance of a specific type of motor connected to one instance of a particular type of electric drive can move an escalator in a personnel mobility application. Another instance of the same type of motor connected to a different instance of the same type of electric drive can agitate mixtures of segregated materials in a chemical production process. For example, contextual information can be provided to the GMLM along with the query. However, this is not required. For example, an agent software component can obtain the necessary contextual information based on a given query and / or target using a tool, and then provide this contextual information to the GMLM later.
[0014] Based at least in part on the output of the GMLM, the result regarding the sub-action to be performed is calculated. Specifically, this calculation can seek assistance from any additional internal or external tools accessible to the agent software component. That is, to obtain the result, the agent software component can utilize any number of tools besides the accessible GMLM to accomplish the specific task. In other words, such tools can be added to the agent software component as "plugins" without altering the agent software component's internal workings.
[0015] In other words, the agent can also use available tools to perform one or more tasks. Tools may or may not be part of the generative AI agent. Tools can provide the agent with additional capabilities, such as performing calculations to find some configuration parameters for industrial drives, enabling the agent to connect to external databases / data sources and retrieve some data from them, evaluating or protecting given content generated by the agent or language model, performing online searches, or connecting to real industrial drives to read or write drive configuration parameters.
[0016] The inventors discovered that decomposing tasks into sub-actions and incorporating contextual information significantly improves the tendency of the output from a GMLM to include useful information for configuring electric drives and / or electric motors in the current application. Typically, training a GMLM from scratch for a single industrial application is impractical. Fine-tuning a pre-trained GMLM for this purpose may also be impractical. Instead, at least to a large extent, it is necessary to rely on a general-purpose GMLM. This general-purpose GMLM has been trained on a wide variety of use cases, meaning that the GMLM's knowledge of general electric motors and / or electric drives may cover a broad range of applications. This is both an advantage and a disadvantage: on the one hand, knowledge of many different use cases is available; on the other hand, knowledge of one use case may not be applicable to another. Among the numerous available knowledge sources, the correct knowledge needs to be selected. Decomposing and considering contextual information greatly benefits the selection process. However, this method is equally effective even if the GMLM has been trained, in whole or in part, on drive or electric motor configuration data.
[0017] The end result is that most of the configuration of the sought electric drive and / or motor can be determined automatically, freeing system integrators or other experts from a great deal of routine work. Furthermore, by adding this optimization objective to the query, the configuration can be guided toward any desired optimization goal. For example, phrases like "in the way of lowest energy consumption" or "in the way of minimizing electric motor wear" can be appended to the query. To take advantage of these benefits, it is not required that the complete configuration be successfully determined automatically. Rather, if at least a portion of the configuration is determined automatically, and any remaining gaps are left to human experts to fill in, then the workload is already reduced.
[0018] This method is not a simple copy of previous work by human experts. It strives for the same type of end result, namely, the configuration of electric drives and / or electric motors. However, as discussed above, the way to obtain this end result is specifically tailored to the nature of general GMLMs.
[0019] Alternatively, or in combination with this, one can seek help from GMLM to break down the configuration task into sub-actions.
[0020] Therefore, a query for the generative machine learning model GMLM can be obtained based on this request. In particular, this obtaining may include generating the query from information indicating the configuration task.
[0021] The query is provided to the GMLM along with contextual information, which at least indicates the nature of the electric drive and the function of the electric drive and the motor to be connected to it. As discussed earlier, this helps in selecting GMLM knowledge relevant to the specific current use case.
[0022] A set of sub-actions is computed, at least in part, based on the output obtained from the GMLM. That is, the GMLM can deliver an output from which the desired sub-actions can be derived. Computations can be performed on the output obtained from the GMLM to generate sub-actions. Alternatively or in combination with this, information about some, but not all, sub-actions can be provided by the GMLM, and any missing information can be filled in through further computation.
[0023] In a particularly advantageous embodiment, during the execution of at least one sub-action, a retrieval query for a database or other information retrieval system is obtained based on this sub-action to be executed. As discussed previously, obtaining this query may include generating the retrieval query, or the retrieval query may be readily available for a specific sub-task. The retrieval query is then provided to the database or other information retrieval system. In this way, a response can be obtained from the database or other information retrieval system. Based at least in part on this response, a result regarding the sub-action to be executed is calculated. In this way, if the database or other information retrieval system contains information that is more relevant and / or more specific than the information available from the GMLM, this information can be utilized. Therefore, for each sub-task, the most specific and / or most relevant information can be used.
[0024] Actions like these can be performed using tools. For example, agent software components may include tools that can connect to a database and provide information about a specific drive hardware and / or electric motor hardware.
[0025] For example, in one of the subtasks, the agent software component could have the task of obtaining additional information (maximum permissible torque value) about the widely used industrial drive ACS880. Information about the ACS880 could be stored in an external database, and the agent software component could have tools (e.g., Python functions or via API calls) that could connect to this external database and retrieve the required information.
[0026] Now, the agent software component can invoke this tool with two input arguments (drive name ACS880, and the desired information being "allowed torque value"). Once invoked, the tool provides the agent with an answer to this query, which the agent can then use to complete its task or verify that the information is correct and within the allowed range. If the agent disagrees with the result (i.e., deems the result unavailable for any reason), it can then use the same tool again with an additional extended query (e.g., a more precise one) to retrieve the same information, hoping to receive an available answer on the next attempt. Alternatively, or in combination with this, if a better tool is available, it can also be used to accomplish the same task.
[0027] Having this functionality in a tool that operates independently of the proxy software component offers the advantage of being able to maintain the tool more independently of the proxy software component itself. In particular, the interface with the external database may change due to modifications by the external database vendor.
[0028] In another particularly advantageous embodiment, the search query includes at least the identifier of the electric drive and / or electric motor. In this way, the search query can produce at least the configuration options and parameters that are theoretically available for this electric drive and / or electric motor. Optionally, the search query may also include any further appropriate information regarding the actual use case and application of the electric motor. Different properties among the set of properties that an electric motor must provide may be relevant to different applications. For example, in one application, it may be necessary to stop the electric motor at a precisely defined position; while in another application, strong torque is critical. Therefore, in different applications, the electric motor may have to be actuated in different ways.
[0029] In another particularly advantageous embodiment, a database or other information retrieval system is selected to include configuration parameters used for: For electric drives and / or electric motors already configured in industrial plants; and / or For electric drives and / or electric motors from the same manufacturer as the electric drive and / or electric motor to be configured.
[0030] This facilitates the setup process for multiple electric drives and / or motors that require somewhat similar configurations. In other words, if the setup process is somewhat repetitive, but not to the point of essentially copying and pasting configuration information, at least some of the sought configuration information can be automatically determined depending on the specific application.
[0031] To facilitate access to these databases, in addition to providing direct access to the databases or other retrieval systems, appropriate tools (e.g., Python functions or via API calls) can be used to connect to the databases and provide the requested details.
[0032] In another particularly advantageous embodiment, after a sub-action is performed, it is determined whether the sub-action was successfully performed. This determination can be performed in any suitable manner. For example, the agent software component itself can perform the check, and / or one or more tools for verification / evaluation can be used. Alternatively, or in combination with this, an operator or expert may be prompted to confirm whether the sub-action was successfully performed.
[0033] In response to the determination that a sub-action has been successfully executed, execution of the sub-action can continue to the next sub-action in the sequence. Conversely, in response to the determination that a sub-action has not been successfully executed, the sub-action can be redone. In particular, when redoing the sub-action, its execution method can be modified. For example, a different information source can be used, or the query for that information source can be modified. In one example, when redoing a sub-action, the query can be enhanced with information indicating why the first attempt failed. For example, error messages or other feedback obtained in the first attempt can be included in the new query.
[0034] Specifically, after each task / subtask is executed, the agent software component, which has access to one or more tools, can invoke one or more tools and inquire whether the result of the task / subtask has reached an acceptable level. If not, the agent software component can receive this feedback and redo the task using the same previous tool with more additional information, or it can choose another tool to execute the given task / subtask.
[0035] In another particularly advantageous embodiment, redoing the sub-action involves at least one agent software component selecting at least one resource that was not used in previous attempts to perform the sub-action. Hereinafter, the term "resource" essentially includes everything that is available in principle but has not yet been used. For example, a resource could be a source of information, a tool, or even a hint given to an operator or expert. When the sub-action is performed again, the assistance of this newly selected resource is sought. That is, the sub-action is redoed with a different set of resources than the set used in the previous attempts to perform the sub-action.
[0036] Alternatively, or in combination with this, redoing a sub-action may include changing the order in which at least two resources were used to perform the sub-action in a previous attempt. This order is important because resources used earlier may provide information about what resources used later can utilize. For example, if GMLM was called first in the first attempt and the database was queried later, then the database could be queried first in the second attempt and GMLM could be called later.
[0037] The logic behind redoing sub-actions mentioned above is that if the next attempt is made without any changes, the problem of the sub-action failing to complete is unlikely to disappear. There are almost no reasons for the second attempt to succeed unless at least some aspects have been positively improved.
[0038] As discussed above, in another particularly advantageous embodiment, determining whether a sub-action was successfully performed is based at least in part on feedback obtained from the electric drive and / or electric motor, and / or from a controller attached to the electric drive and / or electric motor. For example, error codes or messages may be evaluated. Alternatively, or in combination with this, feedback may also be obtained from operators, system integrators, or other experts.
[0039] In another particularly advantageous embodiment, the context information includes one or more of the following: Manuals or parameter sheets for electric drives and / or electric motors; Commissioning setup information for electric drives and / or electric motors; Manuals or parameter sheets for devices including electric drives and / or electric motors; Documentation of past configurations and operations of electric drives and / or electric motors; and This includes user applications and / or use cases that utilize electric drives and / or electric motors.
[0040] In this way, GMLM can leverage the reasoning capabilities it acquires during training, while utilizing specific contextual information that is not typically disclosed. Because configuration parameters are closely related to specific types of electric drives and motors, the same parameters with the same (physical) unit of measurement or other dimensions can have very different meanings and effects on different electric drives or motors. Therefore, information about the principles behind a specific type of electric drive or motor allows GMLM to reason about what happens if a particular configuration parameter is changed.
[0041] Specifically, a user might purchase a machine and simultaneously buy electric motors associated with the electric drive from different suppliers to power that machine. The system integrator or commissioning engineer, who specializes in the machine itself, might then be overwhelmed by the sheer number of different electric drives and motors available to the user. This makes manual configuration even more difficult, thus highlighting the significant convenience of automated configuration.
[0042] Furthermore, even the same machine may be used for very different purposes on the user side, so the same action performed by the machine can have different meanings and consequences in an industrial plant or throughout the process.
[0043] In another particularly advantageous embodiment, the electric drive and / or electric motor includes at least one encoder that provides precise position measurement via an electrical feedback signal. This encoder is configured to measure the position affected by the electric motor, and configuring the electric drive and / or electric motor includes configuring the encoder. Encoders are more often purchased separately from the machine, electric drive, and electric motor. Furthermore, there is some flexibility regarding whether the encoder is placed on the electric motor side or the load side (i.e., on the load moved by the electric motor). Users may choose a particular type of encoder for any reason. Therefore, a system integrator is likely to encounter encoders they have never encountered before, but they still need to get the entire system running.
[0044] In another particularly advantageous embodiment, at least one sub-action includes determining a set of configuration parameters to be applied to the electric drive and / or electric motor (e.g., to an encoder). When these configuration parameters are applied to the electric drive and / or electric motor (optionally, after enhancement by a system integrator or other expert), the electric drive and / or electric motor will perform their assigned functions in the user's intended application.
[0045] In another particularly advantageous embodiment, at least one sub-action includes optimizing at least one configuration parameter for a given objective. In this way, instead of obtaining any configuration for the electric drive and / or motor to function as intended, an optimal configuration in a given respect is obtained. For example, the optimization objective may include minimizing energy usage, minimizing wear on the electric motor, or maximizing the accuracy of measurements performed by the encoder.
[0046] In another particularly advantageous embodiment, at least one sub-action includes checking the feasibility and / or validity of the configuration parameters based on a given set of rules. In this way, existing prior knowledge regarding feasibility and validity can be utilized. There is no need to extract known information from the GMLM. In particular, this check can be used to identify problems that are identified as “hindrances” to the electric drive and / or electric motor in the configuration. For example, if the configuration syntax is incorrect or critical parts are missing, the drive and / or electric motor will be completely inoperable under this configuration.
[0047] In another particularly advantageous embodiment, the sequence of subtasks includes the following steps: Determine the template that specifies the required configuration parameters; Determine the values of at least some of the required configuration parameters; and Merging these determined values with the determined template.
[0048] In this way, a set of parameters that are theoretically usable can be obtained, and a subset of parameters that can be obtained using this method can be populated into the template. Then, it becomes clear what is missing and what needs to be completed by the system integrator or other experts. Partial template population has significantly reduced the burden of manual configuration work.
[0049] In another particularly advantageous embodiment, at least one sub-action includes: Provide information to a trained machine learning model, indicating the type of electric drive and / or electric motor, its location in an industrial plant, and / or its intended use; and The configuration parameters are obtained as output from the trained machine learning model.
[0050] In this way, the generalization ability of the trained machine learning model can be fully utilized. As discussed earlier, the configurations of a large number of electric drives and / or motors are somewhat repetitive, but not to the extent that the configuration can be copied and pasted from one drive / motor to the next. The trained machine learning model can capture the differences between different instances of electric drives and / or motors in industrial plants or other applications.
[0051] In another particularly advantageous embodiment, at least two subtasks can be executed concurrently by two different software agent components. In this multi-agent setup, the total workload can be split across multiple computers and / or computing instances, thus enabling faster configuration. Furthermore, each agent software component can focus on its specific task. Multiple agent software components can coordinate with each other using different agent modes.
[0052] In one example, two different software agent components are configured to provide multiple sets of different context information to the GMLM. In this way, they can share the same GMLM, but use this single GMLM for distinctly different purposes. This saves resources, particularly memory, that would otherwise be needed for more GMLM instances.
[0053] As discussed earlier, automatically determining the configuration may not cover all available aspects of the configuration. However, this is not necessary for the advantages promised by this approach to be realized. Instead, each part of the automatically determined configuration helps to reduce the manual configuration work of system integrators or other personnel. Therefore, it is perfectly acceptable that some configuration work still needs to be done manually, given the disproportionate effort required to automatically determine these last few aspects. Thus, in another particularly advantageous embodiment, after all sub-actions have been completed, the industrial plant operator is prompted with the still missing configuration information.
[0054] In another particularly advantageous embodiment, the configuration (e.g., in the form of configuration parameters) of the electric drive and / or electric motor, determined by this method (optionally, incorporating further input from human experts), is loaded onto the electric drive and / or electric motor. In this way, the configuration is implemented, enabling the electric drive and / or electric motor to operate as intended. The device onto which the configuration is loaded can be a physical device or a virtual device, such as a "digital twin" of a physical device. Optionally, after loading, any communication protocol can be used to perform a verification check. That is, it can be queried whether the physical or virtual device is able to function correctly using the loaded configuration.
[0055] Loading configuration information (which may be uploading or downloading, depending on the perspective) into actual or virtual electric drives and / or motors can be done in various ways.
[0056] In one example, an agent software component with tools (software functions like Python functions) can connect to the drive (physical or virtual) and download the final configuration parameters to the drive using any industrial communication protocol.
[0057] Loading can also be done manually, using any available method (e.g., using any external tool not within the scope of the multi-agent system) to download configuration parameters to the industrial drive (physical or virtual).
[0058] In another example, loading can also be done manually, using any available method (e.g., using external tools not within the scope of the multi-agent system) to download configuration parameters to the industrial drive (physical or virtual).
[0059] Then, once the parameters are downloaded to the actual / virtual industrial drive, the agent software component can evaluate / verify them using tools or other suitable means to check if the industrial drive / motor is functioning correctly. If the drive is not functioning correctly, the multi-agent system will receive feedback from the drive (by reading some drive parameters, errors, or logs) and use it as additional input to rerun the entire process until the drive / motor functions correctly.
[0060] Ideally, the evaluation / verification is performed by automated tools. Alternatively, or in combination with this, the operator or other expert can also provide feedback to the agent software component and / or to the method, indicating what works and what doesn't. The agent software component can then use this feedback and perform further evaluation / verification, allowing it to redo subtasks to find new parameters. Furthermore, the operator can confirm that everything is working correctly after downloading the configuration parameters to the physical / virtual industrial drive. The agent software component (and thus the method) has then successfully completed its task.
[0061] In another particularly advantageous embodiment, an industrial process is performed in an industrial plant, wherein at least a portion of the configured electric drives and / or electric motors participate in the industrial process. In this way, the entire industrial process can benefit from the configuration that has been identified and applied to the electric drives and / or electric motors.
[0062] Since this method can be implemented wholly or at least partially by a computer, it can be embodied in software. The invention also relates to a computer program having machine-readable instructions that, when executed by one or more computers and / or computing instances, cause those computers and / or computing instances to perform the method described above. Examples of computing instances include virtual machines, containers, or serverless execution environments in the cloud. The invention also relates to a machine-readable data carrier and / or a downloadable product including the computer program. A downloadable product is a digital product having a computer program, for example, which may be sold in an online store for immediate delivery and download to one or more computers. The invention further relates to one or more computing instances having the computer program and / or having the machine-readable data carrier and / or downloadable product.
[0063] Below, we will further explain why this method is particularly advantageous for encoder use cases in electric drives and / or motors.
[0064] Encoders are used in a wide range of industrial applications to provide precise position measurements via electrical feedback signals. The configuration of these encoders is crucial for precise control, improved efficiency, and safety. For a given motion application, they can be used to provide precise control of motor speed and position to improve overall efficiency. Encoder feedback can also be used to identify abnormalities in drive system operation, preventing accidents or damage.
[0065] The configuration of these encoders is currently done manually by human experts, making it susceptible to human error. As the number of drives in the setup increases, the time required to identify the encoder configuration also increases dramatically. Furthermore, any errors that occur during the process require significant expertise and time to resolve. This is extremely difficult for novices and customers, who primarily rely on system integrators or a few experts.
[0066] Therefore, this method proposes a solution based on a generative AI agent to identify encoder configuration parameters for a given industrial application setup. The proposed setup requires very little input and can identify the correct configuration for a given industrial application. This eliminates human error and speeds up the overall configuration process, thus enabling non-human experts to perform such configurations (to a large extent / to a sufficiently good extent).
[0067] Currently, encoder configuration is done manually. Given the application settings (multiple encoders from different vendors, their positions in the setup (on the motor side or the load side), and the number of motors and drives), the manual workload can be considerable, especially for applications with hundreds of drives. Furthermore, diagnosing a large number of drives becomes extremely difficult and time-consuming if any errors exist in the configuration or debugging settings.
[0068] In addition, configuration personnel need to possess certain technical skills, so this aspect mainly relies on our engineers or system integrators. End customers (who may lack the technical skills to configure encoders or troubleshoot resulting errors) may have to wait for this support from the supplier or system integrator, which can delay their installation process. For some types of setups, it may even require experts with a certain level of technical skills, but this is not always the case.
[0069] This method employs the concept of a generative AI agent (GenAIAgent) to configure an encoder for a given industrial application. The GenAIAgent has the ability to think and break down a given task into smaller, executable (sub)tasks. The generative AI agent has access to tools that it can interact with when it needs to complete a given task, and also has a memory that remembers past results.
[0070] Inspired by the general concept of generative AI agents, this approach integrates and extends this concept for use in specific encoder configuration processes. It provides GenAIAgent and a multi-agent system based on GenAIAgent for encoder configuration, along with the specific and non-trivial required building blocks and mechanisms, thus enabling it to handle encoder configuration tasks.
[0071] Industrial drive and motor suppliers possess the tools and necessary knowledge to configure encoders for all their drive products, which is the current state of the technology. For example, "tools" include drive manuals, encoder parameter tables, commissioning setup information, expert knowledge, prior learning and history, and AI / ML models that provide predictions of such encoder parameters. Using the current approach, we are utilizing this existing knowledge for the first time and simplifying the process with a generative AI agent, thanks to the agent's planning, reasoning, and ability to work collaboratively with various external tools.
[0072] Currently, to configure the encoder manually, we need to: ○ Information on industrial drives, electric motors, and application setup information. ○ Number of encoders and their exact names. Based on the above information, manually identify the encoder parameters for a given industrial application. Download these parameters to the drive and check for any warnings or error codes. ○ Check the manual or consult an expert to resolve these warnings or error codes. Once all warnings or errors have been resolved, run a verification check to ensure that the settings with the correct encoder parameters have been configured correctly.
[0073] We aim to simplify encoder configuration using the current approach. Users will have a front-end for interacting with the entire setup.
[0074] The front end features a chat-based interface where users can input encoder numbers and types, industrial drive numbers and types, motor numbers and types, and their configuration information, such as how they are interconnected in the customer's application. This is the information required for our recommended setup.
[0075] The backend is where GenAIAgent receives input from the frontend. Here, it first breaks down the user input, considers it, and formulates a plan accordingly. The plan consists of various executable steps that need to be completed in a given order. Each step in the plan may or may not interact with the various artifacts required for encoder configuration. These artifacts are available to GenAIAgent as tools. These tools have well-defined descriptions, such as what they do, what inputs they accept, and what outputs they will produce (including format). GenAIAgent uses these tool descriptions in its plan, ensuring that the right tool is selected at the right step.
[0076] Here we will introduce the various tools needed to facilitate the entire configuration. These tools are:
[0077] 1. A driver manual as a database: used to understand various driver parameters and their meaning in the driver operating environment.
[0078] 2. Online Search: Used to search for and find the required encoder parameters from the datasheet.
[0079] 3. Configuration Parameter Database: This section lists all possible combinations of drives, encoders, motors, and loads. Based on user input and settings, the relevant configurations are retrieved and provided to DriveAIAgent.
[0080] 4. Method or function for downloading driver parameters to the driver: Once the required encoder configuration parameters are found and populated, this tool provides the functionality to download these parameters to the driver. During download, it can use any type of communication protocol (OPC UA, MQTT, fieldbus communication (ProfiBus, Modbus, or any proprietary fieldbus...)).
[0081] 5. Verification Tool: Once the parameters are downloaded to the drive, this tool verifies the drive's behavior. If the behavior does not match expectations, it provides the discrepancies to DriveAIAgent for further improvement by the user. The user can then make an informed decision to update the drive parameters to pass the verification check.
[0082] Memory: In addition to the tools themselves, it has memory access permissions; all its results and reasoning are saved for future reference and should be used during the planning or reasoning phases. Memory can be implemented in various ways, such as short-term or long-term. This is just a general-purpose component.
[0083] Reflection and Planning Module: GenAIAgent also features a reflection and planning module, which can be used to first plan a given user task, and for each task, this reflection module is used to check whether the output received from the tool meets expectations when GenAIAgent triggers certain tools. One way to check is to look at all the logs created by the agent or tool. Humans can also intervene here (if human input is configured) and browse these logs for reasoning. There are many design patterns that can be used to create such a module (from basic to advanced hint engineering).
[0084] An exemplary process may include the following steps: i. Based on all the required information entered by the user via the front end, GenAIAgent will extract the list of encoders. ii. It will use these encoder names and locate the relevant datasheet from its own storage location. If the required encoder datasheet cannot be found, GenAIAgent will use its online search tool to find the datasheet and then save it locally or to a designated location for further use. iii. Once the datasheet is available, it will first determine the type of encoder from the datasheet. iv. Based on the encoder type, GenAIAgent will extract relevant information from the datasheet. For a given encoder type, GenAIAgent has a list of known parameters. The required encoder parameters will be extracted based on its type for all relevant encoders. v. Once the final encoder parameters are ready, GenAIAgent will download them to the corresponding driver using a communication protocol. The communication protocol can be OPC UA, MQTT, or any fieldbus-based communication protocol. vi. After downloading the encoder parameters to the driver, GenAIAgent will monitor the driver's error / warning logs. If any error / warning codes appear, GenAIAgent will use its knowledge database (based on the driver manual, customer tickets, or internal expert knowledge) to identify a suitable solution and provide it to the front-end user. Users can also participate in this process to determine the final output. If the solution is unsuitable, the entire process or a part of it can be rerun. vii. Users can make informed decisions based on the error assistance provided by GenAIAgent. viii. Once the error / warning has been resolved, the final step (i.e., verification check) will be performed to confirm that the driver is functioning exactly as expected for the given industrial application. Verification check metrics are provided to GenAIAgent and stored in its memory. GenAIAgent will then use these metrics for the verification check. ix. Starting with driver verification, the interaction between the front-end and back-end will continue until the correct parameters are downloaded and the correct behavior is achieved.
[0085] This solution can also be extended to a multi-agent setup, where we have multiple GenAIAgents experienced in specific tasks. They can coordinate with each other using various agent patterns.
[0086] The concept, system, and architecture (as described above) are functional to allow: This solution uses a generative AI agent to identify encoder parameters based on provided user input. It can handle multiple encoders for a given industrial application setup. A system and architecture with multiple agents (multi-agent system) where agents can have different roles and responsibilities based on their access to the expert tools available to them, or dedicated tools can be assigned to each agent; Agent / multi-agent, which can be selected from a variety of tools based on the provided tool description (including usage, expected input and output); Multiple agents that communicate with each other using agent patterns (orchestration, coordination, or hierarchical); and Follow the system, methods, and processes described above in the sequential workflow (these can be used flexibly!) to complete the overall task and achieve the encoder configuration goals.
[0087] The method proposed in this paper has the following advantages in particular: DriveAIAgent can potentially act as a commissioning assistant for engineers during the initial installation at a customer's site. This saves time. This helps identify the most suitable and optimal driver parameters. This reduces operating costs. Identifying optimal parameters helps improve energy efficiency, thereby reducing operating and lifecycle costs. This is beneficial from a sustainability perspective. We can provide (more) faster customer support to resolve future driver-related operational errors. A knowledge base can be created for driver parameters and their relationships. This is helpful for developing and training future machine learning models. It can capture and save human expert knowledge about the drive system, thus preserving the technical know-how of human experts. Attached Figure Description
[0088] The invention is illustrated below with the accompanying drawings, but is not intended to limit the scope of the invention. The drawings show:
[0089] Figure 1 An exemplary embodiment of a method 100 for configuring at least one electric drive and / or electric motor;
[0090] Figure 2 : An exemplary collection of tools that proxy software components can access;
[0091] Figure 3 Example of a multi-agent scenario. Detailed Implementation
[0092] Figure 1This is a schematic flowchart of an embodiment of method 100, which is used to configure at least one electric drive 1 that can be connected to at least one electric motor 2 and / or the electric motor 2.
[0093] In step 110, a request 3 for configuring the electric drive 1 and / or the electric motor 2 is provided to at least one agent software component 4.
[0094] In step 120, at least one agent software component 4 decomposes the task of configuring the electric drive 1 and / or electric motor 2 into a sequence 5 of sub-actions 5a-5f.
[0095] In step 130, at least one agent software component 4 causes the execution of each sub-action 5a-5f, such that the completion of all sub-actions 5a-5f results in the electric drive 1 and / or electric motor 2 being at least partially configured. The result is at least partial configuration 1a, 2a of the electric drive 1 and / or electric motor 2.
[0096] In step 140, the industrial plant operator may be prompted with missing configuration information after completing all sub-actions 5a-5f. The result is enhanced configuration 1a. 2a .
[0097] In step 150, regardless of whether artificial reinforcement is applied, the determined configurations 1a, 2a, and 1a of the electric actuator 1 and / or electric motor 2 are... 2a It can be loaded onto electric drive 1 and / or electric motor 2.
[0098] In step 160, an industrial process can be performed on an industrial plant. At least partially configured electric drives 1 and / or electric motors 2 participate in the industrial process.
[0099] According to box 121, during the decomposition 120, based on request 3, query 6 for the generative machine learning model GMLM 7 can be obtained. Then, according to box 122, this query 6 can be provided to GMLM 7 along with context information 8, which at least indicates the properties of the electric actuator 1 and the function of the electric actuator 1 and the electric motor 2 to be connected to it. According to box 123, a set of sub-actions 5a-5f can be calculated at least in part based on the output 7a obtained from GMLM 7.
[0100] According to box 124, at least one sub-action 5a-5f may include determining a set of configuration parameters to be applied to the electric drive 1 and / or the electric motor 2.
[0101] According to box 124a, at least one sub-action 5a-5f may include optimizing at least one configuration parameter for a given objective.
[0102] According to box 124b, the feasibility and / or validity of configuration parameters can be checked based on a given set of rules.
[0103] According to box 124c, the template for specifying the required configuration parameters can be determined. According to box 124d, the values of at least some of the required configuration parameters can then be determined. According to box 124e, these determined values can be merged with the determined template.
[0104] According to box 124f, information indicating the type of electric drive and / or electric motor, its location in the industrial plant, and / or its intended use can be provided to a trained machine learning model. According to box 124g, configuration parameters can then be obtained as output from the trained machine learning model.
[0105] According to box 131, during the execution of at least one sub-action 5a-5f in step 130, a query 6 for the generative machine learning model GMLM 7 can be obtained based on the sub-actions 5a-5f to be executed. According to box 132, the query 6 is then provided to the GMLM 7 along with context information 8, which at least indicates the nature of the electric drive 1 and the function of this electric drive 1 and the electric motor 2 to be connected to it. According to box 133, a result 9 regarding the sub-actions 5a-5f to be executed can then be calculated, at least in part, based on the output 7a obtained from the GMLM 7.
[0106] According to box 134, based on the sub-actions 5a-5f to be executed, a retrieval query 10 for the database or other information retrieval system 11 can be obtained. In particular, according to box 134a, this retrieval query may include at least the identifiers of the electric drive 1 and / or the electric motor 2.
[0107] According to box 135, the retrieval query 10 can be provided to a database or other information retrieval system 11. In this way, a response 12 can be obtained.
[0108] Specifically, according to box 135a, the database or other information retrieval system 11 may be selected to include: configuration parameters already configured in the industrial plant for the electric drive 1 and / or electric motor 2, and / or configuration parameters for electric drives 1 and / or electric motor 2 from the same manufacturer as the electric drive 1 and / or electric motor 2 to be configured.
[0109] According to box 136, the results 9 of the sub-actions 5a-5f to be performed can be calculated, at least in part, based on the responses 12 obtained from the database or other information retrieval system 11.
[0110] According to box 137, after executing a sub-action 5a-5f, it can be determined whether the sub-action 5a-5f was successfully executed. In particular, according to box 137a, this determination can be based at least in part on feedback obtained from the electric drive 1 and / or the electric motor 2 and / or from the controller attached to the electric drive 1 and / or the electric motor 2.
[0111] If the sub-action is successfully executed (truth value 1 in box 137), according to box 138, the execution of sequence 5 can continue to the next sub-actions 5a-5f in sequence 5. Conversely, if the sub-action is not successfully executed (truth value 0 in box 137), according to box 139, the sub-action can be redone.
[0112] According to box 139a, during the redo process, at least one agent software component 4 can select at least one resource that was not used when sub-actions 5a-5f were previously attempted. According to box 139b, when sub-actions 5a-5f are executed again, it can seek assistance from this newly selected resource.
[0113] According to box 139c, redoing sub-actions 5a-5f of 139 may include changing the order in which sub-actions 5a-5f were performed using at least two resources in previous attempts.
[0114] Figure 2 The diagram illustrates the interaction between agent software component 4 and several different tools 13a-13g. Agent software component 4 receives requests from the user via front-end 4a to configure electric drive 1 and / or electric motor 2. It includes memory 4b, planning component 4c, prompt (query) template library 4d, and reflection module 4e.
[0115] The agent software component can communicate with the following components: Database connector 13a for connecting to one or more databases, such as Salesforce databases; A vector database 13b with a stored vector representation of the driver manual 14a; Online search module 13c (e.g., Python component) for finding existing sets of driver parameters (e.g., encoder parameters) 14b. Encoder parameter database 13d with encoder parameter combination 14c; The first OPC UA client 13e is used to write to the OPC UA server of the electric drive 1; A second OPC UA client 13f is used to read error logs from OPC UA server 14d; and The third OPC UA client 13g is used to perform verification of the configuration of electric drive 1.
[0116] Please note that OPC UA is just one example communication protocol that can be used. Any other communication protocol is equally applicable.
[0117] Figure 3 The illustration depicts a multi-agent scenario for configuring an exemplary encoder (i.e., the widely used incremental encoder XS850) in an electrical drive 1. A configuration request 3 for the encoder is first passed to a first agent software component 4. The first agent software component 4 obtains a configuration template for the encoder, which initially contains only information about which communication card the encoder is connected to and which slot on that card.
[0118] Then, the second agent software component 4' takes over and searches for the datasheet for this specific encoder in its available data sources (i.e., folder 14e containing such datasheets and the Internet 14f). Datasheet 1# details that the encoder type is "incremental encoder," that it has a certain subtype (here, HTL), and that it has a certain resolution (here, 1024). The found datasheet 1# and template 1a are then passed to the third agent software component 4''.
[0119] The third agent software component 4'' expands the original template 1a into a new template 1a. This integrates new fields for encoder type, subtype, and resolution, etc. (In the final configuration 1a) In this process, these new fields will be populated with information obtained from template 1#.
[0121] List of reference numerals in the attached diagram:
[0122] 1 Electric drive
[0123] Configuration of Electric Driver 1 (Template)
[0124] 1a Artificially enhanced configuration 1a
[0125] 1a+ Extended Template 1a
[0126] 1a++ The already filled extended template 1a
[0127] 2 Electric motors
[0128] Configuration of electric motor 2a
[0129] 2a Artificially enhanced configuration 2a
[0130] 3. Request for configuration of electric drive 1 and electric motor 2
[0131] 4, 4', 4'' Proxy software components
[0132] 5. Sequence of sub-actions 5a-5f
[0133] Sub-actions configured in 5a-5f
[0134] 6. Queries for GMLM 7
[0135] 7 Generative Machine Learning Model GMLM
[0136] 7a GMLM 7 output
[0137] 8. Contextual Information
[0138] 9. Execute the output of sub-actions 5a-5f
[0139] 10. Search queries on database / retrieval system 11
[0140] 11 Database / Retrieval System
[0141] 12 Output from database / retrieval system 11
[0142] 13a-13g Agent Software Components 4, 4', 4'' Accessible Tools
[0143] 14a-14f Data sources used by agent software components 4, 4', and 4''
[0144] 100 Method for configuring electric drive 1 and electric motor 2
[0145] 110 provides request 3 to agent software component 4.
[0146] 120. Decompose the configuration task into a sequence of subtasks 5a-5f.
[0147] 121 Obtained a query for GMLM 7 6
[0148] 122 Provide query 6 along with context information 8 to GMLM 7
[0149] 123 Calculate sub-actions 5a-5f
[0150] 124 Determine a set of configuration parameters
[0151] 124a Optimized Configuration Parameters
[0152] 124b Verify the validity / feasibility of configuration parameters
[0153] 124c Determines the template for specifying the required configuration parameters.
[0154] 124d Determine the values of the required configuration parameters
[0155] 124e merges the determined values with the template.
[0156] 124f provides information to machine learning models
[0157] 124g configuration parameters obtained from machine learning model
[0158] 130 Causes the execution of sub-actions 5a-5f
[0159] 131 Obtained 6 queries for GMLM 7
[0160] 132 will provide query 6 to GMLM 7
[0161] 133 Calculate the results for sub-actions 5a-5f.
[0162] 134 retrieved 10 search queries.
[0163] 134a includes identifiers in retrieval query 10.
[0164] 135. Supply the retrieval query 10 to the database / retrieval system 11
[0165] 135a Select a database including configuration parameters
[0166] 136 Calculation results based on response 12 from database / system 11 9
[0167] 137. Check whether sub-actions 5a-5f were successfully executed.
[0168] 137a Inspection based on feedback
[0169] 138 Continue to the next sub-action 5a-5f
[0170] 139 Redo sub-movements 5a-5f
[0171] 139a Select new, previously unused resources
[0172] 139b Seeking assistance from new, previously unused resources.
[0173] 139c Change the order in which resources are used
[0174] 140 indicates missing operator information in the industrial plant.
[0175] 150 The configuration is loaded onto the electric drive 1a and the electric motor 2a.
[0176] 160 Executing industrial processes
Claims
1. A method (100) for configuring at least one electric drive (1) capable of being connected to at least one electric motor (2) and / or the electric motor (2), the method (100) comprising the following steps: (3) Provide (110) a request (3) to at least one agent software component (4) for configuring the electric drive (1) and / or the electric motor (2). The task of configuring the electric drive (1) and / or the electric motor (2) is decomposed (120) into a sequence (5) of sub-actions (5a-5f) by the at least one agent software component (4); and The at least one agent software component (4) causes (130) to execute each sub-action (5a-5f), such that the completion of all sub-actions (5a-5f) causes the electric drive (1) and / or the electric motor (2) to be at least partially configured. The aforementioned causing (130) to perform at least one sub-action (5a-5f) includes: Based on the sub-actions to be executed (5a-5f), obtain (131) a query (6) on the generative machine learning model GMLM (7); Provide the GMLM (7) with both the query (6) and context information (8), the context information (8) indicating at least the nature of the electric drive (1) and the function of the electric drive (1) and the electric motor (2) to be connected to the electric drive (1); and Based at least in part on the output (7a) obtained from the GMLM (7), calculate (133) the result (9) with respect to the sub-actions (5a-5f) to be executed; And / or the decomposition (120) into sub-actions (5a-5f) described therein includes: Based on the request (3), obtain (121) a query (6) for the generative machine learning model GMLM (7); The query (6) is provided (122) to the GMLM (7) along with the context information (8), the context information indicating at least the nature of the electric drive (1) and the function of the electric drive (1) and the electric motor (2) to be connected to the electric drive (1); and Based at least in part on the output (7a) obtained from the GMLM (7), a set of sub-actions (5a-5f) is calculated (123).
2. The method (100) according to claim 1, wherein causing (130) to perform at least the sub-actions (5a-5f) comprises: Based on the sub-actions to be executed (5a-5f), obtain (134) a retrieval query (10) of the database or other information retrieval system (11); The retrieval query (10) is provided (135) to the database or other information retrieval system (11) to obtain a response (12); and Based at least in part on the response (12) obtained from the database or other information retrieval system (11), calculate (136) the result (9) with respect to the sub-action (5a-5f) to be performed.
3. The method (100) according to claim 2, wherein the retrieval query includes at least (134a) the identifiers of the electric drive (1) and / or the electric motor (2).
4. The method (100) according to any one of claims 2 to 3, wherein the database or other information retrieval system (11) is selected (135a) to include: Configuration parameters for electric drives (1) and / or electric motors (2) that have been configured in an industrial plant, and / or configuration parameters for electric drives (1) and / or electric motors (2) from the same manufacturer as the electric drives (1) and / or electric motors (2) to be configured.
5. The method (100) according to any one of claims 1 to 4, wherein causing (130) to perform each sub-action (5a-5f) comprises: After executing a sub-action (5a-5f), determine whether the sub-action (5a-5f) (137) was successfully executed; as well as In response to determining that the sub-actions (5a-5f) have been successfully executed, proceed (138) to the next sub-action (5a-5f) in the sequence (5); while, In response to determining that the sub-actions (5a-5f) were not successfully executed, the sub-actions (5a-5f) are redone (139).
6. The method (100) of claim 5, wherein the redo (139) of the sub-actions (5a-5f) comprises: The at least one agent software component (4) selects (139a) at least one resource that was not used in previous attempts to perform the sub-actions (5a-5f); as well as When the sub-actions (5a-5f) are performed again, seek help from the resources of this newly selected option (139b).
7. The method (100) according to any one of claims 5 to 6, wherein the redo (139) of the sub-actions (5a-5f) includes changing (139c) the order in which at least two resources were used to perform the sub-actions (5a-5f) in the previous attempt.
8. The method (100) according to any one of claims 5 to 7, wherein the determination (137) of whether the sub-action (5a-5f) is successfully performed is based at least in part on feedback (137a) obtained from the electric drive (1) and / or the electric motor (2), and / or from a controller attached to the electric drive (1) and / or the electric motor (2).
9. The method (100) according to any one of claims 1 to 8, wherein the context information (8) includes one or more of the following: User manuals or parameter tables for the electric drive (1) and / or the electric motor (2); Commissioning settings information for the electric drive (1) and / or the electric motor (2); User manuals or parameter tables for the device including the electric drive (1) and / or the electric motor (2); Documentation of past configurations of the electric drive (1) and / or electric motor (2); and User applications and / or use cases that utilize the electric drive (1) and / or the electric motor (2).
10. The method (100) according to any one of claims 1 to 9, wherein the electric drive (1) and / or the electric motor (2) includes at least one encoder that provides accurate position measurement via an electrical feedback signal, the encoder being configured to measure the position affected by the electric motor (2), and configuring the electric drive (1) and / or the electric motor (2) includes configuring the encoder.
11. The method (100) according to any one of claims 1 to 10, wherein at least one sub-action (5a-5f) includes (124) determining a set of configuration parameters to be applied to the electric drive (1) and / or the electric motor (2).
12. The method (100) of claim 11, wherein at least one sub-action (5a-5f) includes optimizing (124a) at least one configuration parameter for a given objective.
13. The method (100) according to any one of claims 11 to 12, wherein at least one sub-action (5a-5f) includes checking (124b) the feasibility and / or validity of the configuration parameters based on a given set of rules.
14. The method (100) according to any one of claims 11 to 13, wherein the sequence (5) of subtasks (5a-5f) comprises the following steps: Determine (124c) the template that specifies the required configuration parameters; Determine the values of at least some of the required configuration parameters (124d); and Merge the value determined by (124e) with the determined template.
15. The method (100) according to any one of claims 11 to 14, wherein at least one sub-action (5a-5f) comprises: Provide (124f) information to the trained machine learning model, the information indicating the type of the electric drive and / or the electric motor, the location of the electric drive and / or the electric motor in the industrial plant, and / or the intended use of the electric drive and / or the electric motor; as well as The configuration parameters (124g) are obtained as output from the trained machine learning model.
16. The method (100) according to any one of claims 1 to 15, wherein at least two subtasks (5a-5f) are executed simultaneously by two different software agent components (4, 4', 4'').
17. The method (100) of claim 16, wherein the two different software agent components (4, 4', 4'') are configured to provide multiple different sets of context information (8) to the GMLM (7).
18. The method (100) according to any one of claims 1 to 17, further comprising: Tip (140) Configuration information that is still missing for the industrial plant operator after all sub-actions (5a-5f) have been completed.
19. The method (100) according to any one of claims 1 to 18, further comprising: The determined configuration (1a, 2a) of the electric drive (1) and / or the electric motor (2) is loaded (150) onto the electric drive (1) and / or the electric motor (2).
20. The method (100) according to any one of claims 1 to 19, further comprising: An industrial process (160) is performed on an industrial plant, wherein at least a portion of the configured electric drive (1) and / or electric motor (2) participates in the industrial process.
21. A computer program comprising machine-readable instructions, which, when executed by one or more computers and / or computing instances, cause the one or more computers and / or computing instances to perform the method (100) according to any one of claims 1 to 18.
22. A machine-readable data carrier and / or downloadable product having a computer program according to claim 21.
23. One or more computers and / or computing instances having a computer program as claimed in claim 21, and / or having a machine-readable data carrier and / or downloadable product as claimed in claim 22.