Semiconductor device control method, engine and device control system
By analyzing the scene configuration files using the semiconductor device control engine, the problems of low control efficiency, high resource occupation and low reliability in the prior art are solved, and efficient and reliable equipment control is achieved.
Patent Information
- Application Number
- CN202411838894.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-13
- Publication Date
- 2025-03-21
AI Technical Summary
The existing semiconductor equipment control implementation methods have problems such as low implementation efficiency, high resource utilization and low control reliability.
By providing a scenario configuration file containing information related to the standard execution process, semiconductor device control engine analysis is used to control semiconductor devices, enabling efficient and less error-based control logic without additional code development.
It effectively improves the efficiency of the implementation of semiconductor equipment business processes, reduces resource occupation, and improves the control reliability of semiconductor equipment.
Smart Images

Figure CN119668167A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of control technology, and in particular to a semiconductor device control method, an engine, and a device control system. Background Art
[0002] In the field of semiconductor equipment control, in order to improve the production efficiency of equipment, the automated production of equipment is of great significance, and the automated production of equipment is inseparable from a complete set of automated control logic. At present, the automated control method of semiconductor equipment is usually that business personnel first sort out the control logic diagram according to the automation scenario, and then the developers use code to implement the automated control logic to carry out automated control of semiconductor equipment. The launch of new functions requires the following stages: demand analysis, function design, code development, function testing, bug fixing, and launch. Among them, the code development, function design, and bug fixing stages are particularly time-consuming. The entire process has a long cycle, low efficiency, and high resource usage. In addition, the automated control logic is prone to errors due to the developer's understanding of the automated control logic.
[0003] Therefore, existing semiconductor device control implementation methods have the problems of low implementation efficiency, high resource occupation and low control reliability. Summary of the invention
[0004] The embodiment of the present application provides a solution that only requires providing a scenario configuration file containing information related to the standard execution process to control the semiconductor device to achieve business functions through the semiconductor device control engine analysis. Efficient and less error-prone control logic can be achieved without the need for additional code development. Resources can be controllable through the semiconductor device control engine load logic control, and system overhead can be better protected, thereby effectively improving the overall implementation efficiency of semiconductor equipment business processes, reducing resource usage, and improving the control reliability of semiconductor equipment.
[0005] The embodiments of the present application provide the following technical solutions:
[0006] According to one embodiment of the present application, a semiconductor device control method includes: reading a scene configuration file through a scene loader to parse and obtain scene model data, and storing the scene model data in a local cache, wherein the local cache is also used to cache process context data when the system sends out messages; receiving an external system message sent by a preset communication service in the semiconductor device through a message receiver, and parsing the external system message to obtain a message header parameter and a message body parameter; searching for a process flow that matches the message header parameter from the scene model data or the process context data through a message processor, and transmitting the process flow and the message body parameters to a process processor; executing the logic of each component in the process flow according to the message body parameters through the process processor, and sending a process message to the preset communication service when the logic of the message sending component in the process flow is executed, so that the preset communication service instructs the semiconductor device to execute a business process.
[0007] In some embodiments of the present application, the process flow includes a driving event component, and the logic of each component in the process flow is executed by the process processor, including: if the driving event component is executed, the state machine instance data is obtained through the driving event component, and the state machine instance data is transmitted to the state machine processor; the state machine processor performs state change processing on the state machine instance data to obtain updated state machine instance data, and feeds back to the process processor; and the process processor executes the post-state change process logic according to the updated state machine instance data.
[0008] In some embodiments of the present application, obtaining state machine instance data through the drive event component includes: querying through the drive event component whether the state machine instance corresponding to the semiconductor device has been running; if so, modifying the data of the state machine instance according to the context data of the drive event component to obtain the state machine instance data; if not, obtaining the state machine template data corresponding to the semiconductor device, and initializing the state machine template data according to the context data of the drive event component to obtain the state machine instance data.
[0009] In some embodiments of the present application, the scene model data includes a trigger state and an update parameter field; the state machine processor performs state change processing on the state machine instance data to obtain updated state machine instance data, including: modifying the state in the state machine instance data to the trigger state through the state machine processor; and modifying the parameter field in the state machine instance data to the update parameter field to obtain updated state machine instance data.
[0010] In some embodiments of the present application, the process flow of searching for the message header parameter match from the scenario model data or the process context data through the message processor includes: if the external system message is an active message, then querying the process flow of the message header parameter match from the scenario model data; if the external system message is a reply message to an outgoing message of the system, then searching the process flow of the message header parameter match from the process context data.
[0011] In some embodiments of the present application, the message header parameters include a device identifier of the semiconductor device and a message name of the system outgoing message; the process flow of querying the message header parameter matching from the scenario model data includes: querying the process model data corresponding to the device identifier from the scenario model data; and querying the process flow corresponding to the message name from the process model data.
[0012] In some embodiments of the present application, the message header parameters include a message tag for sending a system outbound message; the process flow for searching for a match between the message header parameters and the process context data includes: searching for a context cache corresponding to the message tag from the process context data; and obtaining the process flow from the context cache.
[0013] According to one embodiment of the present application, a semiconductor device control engine, the system includes: a scene loader, used to: read a scene configuration file for parsing to obtain scene model data, and store the scene model data in a local cache, wherein the local cache is also used to cache process context data when the system sends out messages; a message receiver, used to: receive an external system message sent by a preset communication service in the semiconductor device, and parse the external system message to obtain a message header parameter and a message body parameter; a message processor, used to: search for a process flow that matches the message header parameter from the scene model data or the process context data, and transmit the process flow and the message body parameters to the process processor; the process processor, used to: execute the logic of each component in the process flow according to the message body parameters, and send a process message to the preset communication service when the logic of the message sending component in the process flow is executed, so that the preset communication service instructs the semiconductor device to execute the business process.
[0014] In some embodiments of the present application, the engine also includes a state machine processor, and the process flow includes a driving event component; the process processor is used to: if the driving event component is executed, obtain the state machine instance data through the driving event component, and transmit the state machine instance data to the state machine processor; the state machine processor is used to: perform state change processing on the state machine instance data, obtain updated state machine instance data, and feed it back to the process processor; the process processor is used to: execute the post-state change process logic according to the updated state machine instance data.
[0015] In some embodiments of the present application, the process processor is used to: query through the drive event component whether the state machine instance corresponding to the semiconductor device has been run; if so, modify the data of the state machine instance according to the context data of the drive event component to obtain the state machine instance data; if not, obtain the state machine template data corresponding to the semiconductor device, and initialize the state machine template data according to the context data of the drive event component to obtain the state machine instance data.
[0016] In some embodiments of the present application, the scene model data includes a trigger state and an update parameter field; the state machine processor is used to: modify the state in the state machine instance data to the trigger state through the state machine processor; and modify the parameter field in the state machine instance data to the update parameter field to obtain updated state machine instance data.
[0017] In some embodiments of the present application, the message processor is used to: if the external system message is an active message, query the process flow of the message header parameter matching from the scenario model data; if the external system message is a reply message to an outgoing message of the system, search the process flow of the message header parameter matching from the process context data.
[0018] In some embodiments of the present application, the message header parameters include a device identifier of the semiconductor device and a message name of the system outgoing message; the message processor is used to: query the process model data corresponding to the device identifier from the scene model data; and query the process flow corresponding to the message name from the process model data.
[0019] In some embodiments of the present application, the message header parameters include a message tag for sending a system outgoing message; the message processor is used to: search for a context cache corresponding to the message tag from the process context data; and obtain the process flow from the context cache.
[0020] According to another embodiment of the present application, a device control system includes: a semiconductor device control engine and a semiconductor device as described in the embodiment of the present application, wherein the semiconductor device includes a preset communication service that interacts with the semiconductor device control engine.
[0021] In an embodiment of the present application, a scene configuration file is read by a scene loader to parse and obtain scene model data, and the scene model data is stored in a local cache, wherein the local cache is also used to cache process context data when the system sends out messages; an external system message sent by a preset communication service in a semiconductor device is received by a message receiver, and the external system message is parsed to obtain a message header parameter and a message body parameter; a message processor searches for a process flow that matches the message header parameter from the scene model data or the process context data, and transmits the process flow and the message body parameters to a process processor; the process processor executes the logic of each component in the process flow according to the message body parameters, and sends a process message to the preset communication service when the logic of the message sending component in the process flow is executed, so that the preset communication service instructs the semiconductor device to execute a business process.
[0022] In this manner of the embodiments of the present application, semiconductor device control is performed through the joint implementation of the scene loader, message receiver, message processor and process processor in the semiconductor device control engine. The relevant users only need to configure the scene configuration file of the semiconductor device according to the business requirements, and can control the semiconductor device to realize business functions through the analysis of the semiconductor device control engine. Efficient and less error-prone control logic can be achieved without the need for additional code development. In addition, resources can be controllable through the load logic control of the semiconductor device control engine, and system overhead can be better protected, thereby effectively improving the overall implementation efficiency of the semiconductor device business process, reducing resource usage and improving the control reliability of semiconductor equipment. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0024] Figure 1 A block diagram of a semiconductor device control engine according to an embodiment of the present application is shown.
[0025] Figure 2 A flowchart of a semiconductor device control method according to an embodiment of the present application is shown.
[0026] Figure 3 A process flow search flowchart according to an embodiment of the present application is shown.
[0027] Figure 4 A logic execution flow chart of a driving event component according to an embodiment of the present application is shown.
[0028] Figure 5 A state change processing flow chart according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0029] The present disclosure is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the embodiments provided herein are only used to explain the present disclosure and are not intended to limit the present disclosure. In addition, the embodiments provided below are partial embodiments for implementing the present disclosure, rather than providing all embodiments for implementing the present disclosure. In the absence of conflict, the technical solutions recorded in the embodiments of the present disclosure can be implemented in any combination.
[0030] It should be noted that, in the embodiments of the present disclosure, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a method or system including a series of elements includes not only the elements explicitly recorded, but also includes other elements not explicitly listed, or also includes elements inherent to the implementation of the method or system. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the presence of other related elements (such as steps in a method or units in a system, for example, a unit may be a portion of a circuit, a portion of a processor, a portion of a program or software, etc.) in the method or system including the element.
[0031] For example, the semiconductor device control method provided in the embodiment of the present disclosure includes a series of steps, but the semiconductor device control method provided in the embodiment of the present disclosure is not limited to the recorded steps. Similarly, the semiconductor device control engine provided in the embodiment of the present disclosure includes a series of units, but the system provided in the embodiment of the present disclosure is not limited to including the units explicitly recorded, and may also include units that need to be set up to obtain relevant information or perform processing based on information.
[0032] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which the present disclosure belongs. The terms used herein are only for the purpose of describing specific embodiments and are not intended to limit the present disclosure.
[0033] It is understandable that in the specific implementation of this application, relevant data is involved. When the embodiments in this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0034] Figure 1 The schematic diagram shows the architecture of a semiconductor device control engine according to an embodiment of the present application. Figure 1 As shown, the semiconductor device control engine may include at least a scenario loader (ScenarioLoader) 110, a message receiver (RecvHandle) 120, a message processor (MessageHandle) 130, a procedure processor (ProcedureHandle) 140, a message sender (MessageSender) 150, and a state machine processor (StateMachineHandle) 160.
[0035] Figure 2 The flowchart of a semiconductor device control method according to an embodiment of the present application is schematically shown. The execution subject of the semiconductor device control method can be any device control terminal with processing capability, and the device control terminal can be a terminal or a server, such as a computer, a computer, etc., and a server such as a cloud server, a physical server, a server cluster, etc.
[0036] In a specific embodiment of the present application, the execution subject of the semiconductor device control method is specifically selected from a server, and a system for implementing the following is deployed in the server: Figure 2 The semiconductor device control method shown in FIG. Figure 1 The semiconductor device control engine is shown.
[0037] like Figure 2 As shown, the semiconductor equipment control method may include steps S210 to S240. The semiconductor equipment may refer to various equipment used in the manufacturing process of semiconductor devices, such as wafer processing equipment or panel processing equipment.
[0038] Step S210, reading the scene configuration file through the scene loader to parse and obtain scene model data, and storing the scene model data in a local cache, wherein the local cache is also used to cache process context data when the system sends out messages;
[0039] Step S220, receiving an external system message sent by a preset communication service in the semiconductor device through a message receiver, and parsing the external system message to obtain a message header parameter and a message body parameter;
[0040] Step S230, searching the process flow matching the message header parameters from the scenario model data or the process context data through a message processor, and transmitting the process flow and the message body parameters to the process processor;
[0041] Step S240, the process processor executes the logic of each component in the process flow according to the message body parameters, and sends a process message to the preset communication service when the logic of the message sending component in the process flow is executed, so that the preset communication service instructs the semiconductor device to execute the business process.
[0042] The scenario configuration file may be a requirement implementation file configured by relevant users according to the business requirements of semiconductor equipment. Specifically, relevant users may generate a scenario configuration file by drawing a flowchart according to business requirements and configuring relevant parameters through an editor.
[0043] The scene loader 110 can read the scene configuration file and parse it to obtain the scene model data therein, and store the scene model data in a local cache, wherein the scene model data may include at least one process model data corresponding to a device identifier, and the process model data may include process flows and model data (such as trigger status and update parameter fields, etc.) corresponding to different message names, and the process flow may include process data (which may include various components, etc.), messages, scenes (a set of business processes for semiconductor equipment corresponds to a scene), and state machine data.
[0044] When the semiconductor device control engine executes the process flow, a message is sent to the preset communication service in the semiconductor device. When the system sends the message, the process context data generated during the current execution process is stored in the local cache.
[0045] The message receiver 120 can receive messages sent by a preset communication service in the semiconductor device (i.e., external system messages). The message receiver can parse the message header of the received external system message to obtain message header parameters and parse the message body of the external system message to obtain message body parameters. The message receiver can then assemble the message header parameters and the message body parameters in a predetermined format and pass them to the message processor 130.
[0046] After receiving the parameters, the message processor 130 may search for a process flow matching the message header parameters from the scenario model data or the process context data, and transmit the process flow and the message body parameters to the process processor 140 .
[0047] The process processor 140 can execute the logic of each component in the process flow in sequence according to the message body parameters. The components in the process flow include a message sending component. When the logic of the message sending component is executed during the execution process, the message sender 150 can be called to send a corresponding process message to the preset communication service, so that the preset communication service instructs the semiconductor device to execute the business process.
[0048] In this manner of the embodiments of the present application, semiconductor device control is performed through the joint implementation of the scene loader, message receiver, message processor and process processor in the semiconductor device control engine. The relevant users only need to configure the scene configuration file of the semiconductor device according to the business requirements, and can control the semiconductor device to realize business functions through the analysis of the semiconductor device control engine. Efficient and less error-prone control logic can be achieved without the need for additional code development. In addition, resources can be controllable through the load logic control of the semiconductor device control engine, and system overhead can be better protected, thereby effectively improving the overall implementation efficiency of the semiconductor device business process, reducing resource usage and improving the control reliability of semiconductor equipment.
[0049] In addition, the solution based on the present application can support the expansion of various components, such as expanding components that support scripting functions, which can more flexibly enhance the system's expansion capabilities; and, by adding running process records of state machine instances, the state machine instance life cycle can be clearly displayed in combination with a visualization page.
[0050] Described below Figure 1 When controlling semiconductor equipment under the embodiment, further optional specific embodiments are provided for each step performed.
[0051] In one embodiment, see Figure 3 The process flow of searching for the message header parameter match from the scenario model data or the process context data through the message processor may include: step S310, if the external system message is an active message, querying the process flow of the message header parameter match from the scenario model data; step S320, if the external system message is a reply message to an outgoing message of the system, searching the process flow of the message header parameter match from the process context data.
[0052] The received external system message can be an active message or a reply message. An active message is a message actively sent by the semiconductor device through a preset communication service, and a reply message is a reply message received after sending a message to the preset communication service of the semiconductor device. The message processor can further include an active message processor and a passive message processor.
[0053] If the received external system message is an active message, the active message processor can query the process flow of message header parameter matching from the scene model data; if the received external system message is a reply message, the passive message processor can query the process flow of message header parameter matching from the process context data.
[0054] By performing corresponding message processing according to active messages and reply messages respectively, the process flow that needs to be executed can be accurately obtained, further improving the control reliability of semiconductor equipment.
[0055] Further, in one embodiment, see Figure 3 , the message header parameters include the device identification of the semiconductor device and the message name of the system outgoing message; the process flow of querying the message header parameter matching from the scenario model data may include: step S311, querying the process model data corresponding to the device identification from the scenario model data; step S312, querying the process flow corresponding to the message name from the process model data.
[0056] When the external system message is an active message, its message header may carry the device identification of the semiconductor device and the message name of the system outgoing message, so that the message header parameters may include the device identification of the semiconductor device and the message name of the system outgoing message.
[0057] The active message processor can first query the process model data corresponding to the device identifier from the scene model data, thereby obtaining the process model data matching the semiconductor device. Further, the active message processor can query the process flow corresponding to the message name from the process model data, thereby further accurately obtaining the process flow that needs to be executed in the semiconductor device.
[0058] Further, in one embodiment, see Figure 3 , the message header parameters include a message tag for sending a system outbound message; the process flow of searching for a match to the message header parameters from the process context data may include: step S321, searching for a context cache corresponding to the message tag from the process context data; step S322, obtaining the process flow from the context cache.
[0059] When the semiconductor device control engine executes the process flow, a message is sent to the preset communication service in the semiconductor device. When the system sends the message, the process context data generated during the current execution process is stored in the local cache.
[0060] When a system sends an external message, a message tag of the system's external message can be sent together. When the semiconductor device replies, the message tag can be carried in the message header of the reply message. Therefore, when the external system message is a reply message to the system's external message, the message header parameters include the message tag of the system's external message.
[0061] The passive message processor can search the context cache corresponding to the message tag from the process context data, so as to obtain the process flow that needs to be continued after the node of the system outgoing message is obtained from the context cache.
[0062] Further, in one embodiment, see Figure 4 The process flow includes a driving event component, and the process processor executes the logic of each component in the process flow according to the message body parameters, which may include: step S410, if the driving event component is executed, the state machine instance data is obtained through the driving event component, and the state machine instance data is transmitted to the state machine processor; step S420, the state machine processor performs state change processing on the state machine instance data to obtain updated state machine instance data, and feeds back to the process processor; step S430, the process processor executes the post-state change process logic according to the updated state machine instance data.
[0063] The process flow includes multiple components, including a driving event component, which can trigger a state change processing flow, and perform state change processing through a state machine processor. When the process processor executes the logic of each component in the process flow, if it executes to the driving event component, the state machine instance data can be obtained through the driving event component and transmitted to the state machine processor. The state machine instance data may include various states corresponding to the semiconductor device scenario (scenario in the process flow) and parameter fields and other data.
[0064] The state machine processor can process the state change of the state machine instance data, obtain the updated state machine instance data, and feed it back to the process processor. The process processor can execute the process logic after the state change according to the updated state machine instance data, so as to reliably execute the business logic of the state change. Among them, the state component in the state machine processor can start an asynchronous thread, so as to asynchronously feed back the updated state machine instance data to the process processor, which can ensure the efficiency of process execution.
[0065] Furthermore, the obtaining of state machine instance data through the drive event component may specifically include: querying through the drive event component whether the state machine instance corresponding to the semiconductor device has been running; if so, modifying the data of the state machine instance according to the context data of the drive event component to obtain the state machine instance data; if not, obtaining the state machine template data corresponding to the semiconductor device, and initializing the state machine template data according to the context data of the drive event component to obtain the state machine instance data.
[0066] When the state machine instance data is obtained through the driving event component, it is first queried whether the state machine instance corresponding to the device identification of the semiconductor device has been run. If so, the data of the running state machine instance can be modified according to the context data of the driving event component to obtain the state machine instance data (for example, the batch number of LOT in the data of the running state machine instance is modified to the batch number in the context data, etc.). Thus, the state machine processor can directly perform state change processing on the running state machine instance according to the context data of the driving event component.
[0067] On the contrary, if there is no state machine instance corresponding to the device identifier of the running semiconductor device, that is, there is no state machine instance that conforms to the scenario of the semiconductor device, then the state machine template data corresponding to the scenario of the semiconductor device can be obtained, and the state machine template data can be initialized according to the context data of the driving event component (for example, adding the batch number in the context data to the state machine template data, etc.), so that the state machine processor can directly create the state machine instance data based on the state machine template data.
[0068] Furthermore, the process of transmitting the state machine instance data to the state machine processor through the driving event component may specifically be: storing the state machine instance data in the cache queue, then setting the distributed lock, and if the setting is successful, further obtaining the state machine instance data from the cache queue by the state machine processor for state change processing. In this way, the state machine instance data corresponding to all driving event components during the process flow execution can be stored in the cache queue in sequence and obtained in sequence by the state machine processor under the control of the distributed lock, further ensuring the control reliability of the semiconductor device.
[0069] Among them, if there is a state machine instance corresponding to the device identification of the semiconductor device that has been running, it means that a queue has been created. At this time, the created queue is used as the cache queue; if there is no state machine instance corresponding to the device identification of the semiconductor device that has been running, a new cache queue can be created while using the state machine corresponding to the semiconductor device (i.e., the state machine in the process flow) to create the corresponding state machine instance.
[0070] Further, in one embodiment, see Figure 5, the scene model data includes a trigger state and an update parameter field; the state machine processor performs state change processing on the state machine instance data to obtain updated state machine instance data, which may include: step S510, modifying the state in the state machine instance data to the trigger state through the state machine processor; and step S520, modifying the parameter field in the state machine instance data to the update parameter field to obtain the updated state machine instance data.
[0071] After obtaining the state machine instance data, the state machine processor can modify the state in the state machine instance data to the trigger state through the state flow line component in the state machine processor, and modify the parameter field in the state machine instance data to the update parameter field, thereby completing the logic of state change processing to obtain the updated state machine instance data. Among them, the state machine processor can cache the instance data of the state machine instance until the changed trigger state is the end state of the state machine, and can clear the cached instance data of the state machine instance.
[0072] Furthermore, the process flow includes multiple components, which may also include a variable definition component, a branch component, a timer component, a message sending component, and a message response component.
[0073] When executing the logic of the variable definition component, you can traverse each variable expression and assign values to the variables according to the results of the variable expressions. The variables can be used during the life cycle of the process flow. When executing the logic of the branch component, you can calculate the results of the branch expression and match the next component to be executed based on the results. When executing the logic of the timer component, you can execute the next component after the configured time is reached.
[0074] When executing the logic of the message sending component, first obtain the template of the system outgoing message, then replace the corresponding fields in the message template according to the defined field assignment rules, and send the system outgoing message to the preset communication service through the message sender. It should be noted that if the current system outgoing message requires a reply from the other party, the process context data of the current system outgoing message can be put into the cache, and the process flow can be matched from it when the reply message is received.
[0075] When executing the logic of the response message component, you can first obtain the template of the response message, then replace the corresponding fields in the template according to the defined field assignment rules, and send the response message (i.e., the message in response to the external system message) to the preset communication service through the message sender.
[0076] The present application also provides a semiconductor device control engine for implementing the semiconductor device control method. The meanings of the terms are the same as those in the semiconductor device control method, and the specific implementation details can refer to the description in the method embodiment.
[0077] The semiconductor device control engine may include: a scene loader, which can be used to read a scene configuration file for parsing to obtain scene model data, and store the scene model data in a local cache, wherein the local cache is also used to cache process context data when the system sends out messages; a message receiver, which can be used to receive an external system message sent by a preset communication service in the semiconductor device, and parse the external system message to obtain a message header parameter and a message body parameter; a message processor, which can be used to search for a process flow that matches the message header parameter from the scene model data or the process context data, and transmit the process flow and the message body parameter to the process processor; the process processor, which can be used to execute the logic of each component in the process flow according to the message body parameter, and send a process message to the preset communication service when the logic of the message sending component in the process flow is executed, so that the preset communication service instructs the semiconductor device to execute a business process.
[0078] In one embodiment, the engine also includes a state machine processor, and the process flow includes a driving event component; the process processor can be used to: if the driving event component is executed, obtain state machine instance data through the driving event component, and transmit the state machine instance data to the state machine processor; the state machine processor can be used to: perform state change processing on the state machine instance data, obtain updated state machine instance data, and feed back to the process processor; the process processor can be used to: execute post-state change process logic according to the updated state machine instance data.
[0079] In some embodiments of the present application, the process processor is used to: query through the drive event component whether the state machine instance corresponding to the semiconductor device has been run; if so, modify the data of the state machine instance according to the context data of the drive event component to obtain the state machine instance data; if not, obtain the state machine template data corresponding to the semiconductor device, and initialize the state machine template data according to the context data of the drive event component to obtain the state machine instance data.
[0080] In some embodiments of the present application, the scene model data includes a trigger state and an update parameter field; the state machine processor is used to: modify the state in the state machine instance data to the trigger state through the state machine processor; and modify the parameter field in the state machine instance data to the update parameter field to obtain updated state machine instance data.
[0081] In some embodiments of the present application, the message processor is used to: if the external system message is an active message, query the process flow of the message header parameter matching from the scenario model data; if the external system message is a reply message to an outgoing message of the system, search the process flow of the message header parameter matching from the process context data.
[0082] In some embodiments of the present application, the message header parameters include a device identifier of the semiconductor device and a message name of the system outgoing message; the message processor is used to: query the process model data corresponding to the device identifier from the scene model data; and query the process flow corresponding to the message name from the process model data.
[0083] In some embodiments of the present application, the message header parameters include a message tag for sending a system outgoing message; the message processor is used to: search for a context cache corresponding to the message tag from the process context data; and obtain the process flow from the context cache.
[0084] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.
[0085] In addition, an embodiment of the present application also provides a device control terminal, such as the semiconductor device control engine and semiconductor device described in the aforementioned embodiments of the present application, wherein the semiconductor device includes a preset communication service that interacts with the semiconductor device control engine.
[0086] A person of ordinary skill in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be accomplished by a computer program, or by controlling related hardware through a computer program. The computer program may be stored in a computer-readable storage medium and loaded and executed by a processor.
[0087] To this end, an embodiment of the present application further provides a storage medium, in which a computer program is stored. The computer program can be loaded by a processor to execute the steps in any method provided in the embodiment of the present application.
[0088] The storage medium may be a computer-readable storage medium, and the storage medium may include: a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc.
[0089] Since the computer program stored in the storage medium can execute the steps in any method provided in the embodiments of the present application, the beneficial effects that can be achieved by the method provided in the embodiments of the present application can be achieved. Please refer to the previous embodiments for details and will not be repeated here.
[0090] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the embodiments disclosed herein. The present application is intended to cover any variations, uses or adaptations of the present application, which follow the general principles of the present application and include common knowledge or customary technical means in the art that are not disclosed in the present application.
[0091] It should be understood that the present application is not limited to the embodiments that have been described above and shown in the accompanying drawings, but various modifications and changes may be made without departing from the scope thereof.
Claims
1. A semiconductor device control method, characterized in that: include: The scene model data is obtained by reading the scene configuration file through the scene loader and parsing it, and the scene model data is stored in the local cache, wherein the local cache is also used to cache the process context data when the system sends out messages; Receiving, through a message receiver, an external system message sent by a preset communication service in a semiconductor device, and parsing the external system message to obtain a message header parameter and a message body parameter; Searching, by a message processor, for a process flow matching the message header parameters from the scenario model data or the process context data, and transmitting the process flow and the message body parameters to the process processor; The process processor executes the logic of each component in the process flow according to the message body parameters, and sends a process message to the preset communication service when the logic of the message sending component in the process flow is executed, so that the preset communication service instructs the semiconductor device to execute the business process.
2. The method according to claim 1, characterized in that The process flow includes a driving event component, and the process processor executes the logic of each component in the process flow according to the message body parameter, including: If the execution reaches the driving event component, the state machine instance data is obtained through the driving event component, and the state machine instance data is transmitted to the state machine processor; Performing state change processing on the state machine instance data through the state machine processor to obtain updated state machine instance data, and feeding back the updated state machine instance data to the process processor; The post-state change process logic is executed by the process processor according to the updated state machine instance data.
3. The method according to claim 2, characterized in that The acquiring state machine instance data through the driving event component includes: Querying, through the drive event component, whether a state machine instance corresponding to the semiconductor device has been run; If yes, modify the data of the state machine instance according to the context data of the driving event component to obtain the state machine instance data; If not, the state machine template data corresponding to the semiconductor device is obtained, and the state machine template data is initialized according to the context data of the driving event component to obtain the state machine instance data.
4. The method according to claim 2, characterized in that: The scene model data includes trigger status and update parameter fields; The state machine processor performs state change processing on the state machine instance data to obtain updated state machine instance data, including: Modifying the state in the state machine instance data to the trigger state through the state machine processor; And, modifying the parameter field in the state machine instance data to the updated parameter field to obtain updated state machine instance data.
5. The method according to claim 1, characterized in that The process flow of searching the message header parameter matching from the scene model data or the process context data by the message processor includes: If the external system message is an active message, query the process flow of the message header parameter matching from the scenario model data; If the external system message is a reply message to an outgoing message of the system, then the process flow matching the message header parameter is searched from the process context data.
6. The method according to claim 5, characterized in that The message header parameters include the device identification of the semiconductor device and the message name of the message sent out of the system; The process flow of querying the message header parameter matching from the scenario model data includes: Querying the process model data corresponding to the device identification from the scene model data; The process flow corresponding to the message name is queried from the process model data.
7. The method according to claim 5, characterized in that The message header parameters include a message tag for sending a message out of the system; The process flow of searching the message header parameter match from the process context data includes: Searching the context cache corresponding to the message tag from the process context data; The process flow is obtained from the context cache.
8. A semiconductor device control engine, characterized in that: include: A scene loader is used to: read a scene configuration file, parse it, obtain scene model data, and store the scene model data in a local cache, wherein the local cache is also used to cache process context data when the system sends out messages; A message receiver, used to: receive an external system message sent by a preset communication service in a semiconductor device, and parse the external system message to obtain a message header parameter and a message body parameter; A message processor, configured to: search the process flow matching the message header parameters from the scenario model data or the process context data, and transmit the process flow and the message body parameters to the process processor; The process processor is used to: execute the logic of each component in the process flow according to the message body parameters, and send a process message to the preset communication service when the logic of the message sending component in the process flow is executed, so that the preset communication service instructs the semiconductor device to execute the business process.
9. The engine according to claim 8, characterized in that The engine also includes a state machine processor, and the process flow includes a drive event component; The process processor is used to: if the process reaches the driving event component, obtain the state machine instance data through the driving event component, and transmit the state machine instance data to the state machine processor; The state machine processor is used to: perform state change processing on the state machine instance data to obtain updated state machine instance data and feed it back to the process processor; The process processor is used to execute the post-state change process logic according to the updated state machine instance data.
10. A device control system, characterized in that: include: The semiconductor device control engine and semiconductor device as claimed in claim 8, wherein the semiconductor device includes a pre-set communication service for interacting with the semiconductor device control engine.