Message transmission processing method and semiconductor process equipment
Patent Information
- Application Number
- CN202510572945.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2026-10-30
AI Technical Summary
[0004]有鉴于此,本发明的目的在于提供报文传输处理方法及半导体工艺设备,以缓解上述现有报文传输效率低和无时序性的技术问题
[0016]本发明实施例提供的上位机的报文传输方式实现了在循环队列中下位机推送报文、上位机中多个上位机模块接收的报文传输应答方式,提高了报文传输效率,避免了下位机中地址被占用,进而导致地址利用率低的问题;此外,通过循环队列对报文ID进行存储,还增强了报文的时序性,提高了半导体工艺设备状态的时序性。
Smart Images

Figure CN123020686A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data communication technology, and in particular to message transmission processing methods and semiconductor process equipment. Background Technology
[0002] Currently, photovoltaic equipment is increasingly moving towards automated production. To ensure the safety and stability of the equipment during automated production, operators are required to have timely and accurate knowledge of the equipment's current status in order to handle any abnormal situations that may arise. In practical applications, photovoltaic equipment involves the control of modules such as liquids, temperature, pressure, motion, and multiple gas streams. Various states may occur during the control process of each module, and these states need to be synchronized to the host computer interface in real time. Therefore, a message transmission mechanism is unavoidable in both the lower-level devices (such as PLCs, programmable logic controllers) and the host computer in photovoltaic equipment. The transmission and display of messages are used to remind operators to check the equipment status promptly.
[0003] In related technical solutions, the main system architecture adopted is one lower-level machine corresponding to one host upper-level machine. The message management method mostly involves setting all addresses, message IDs (IdentityDocument, ID card identification number), and message information in the code of both the lower-level machine and the host machine, and scanning all messages sequentially during program execution. However, this message transmission method not only cannot determine the timing of messages, but also, due to the limited number of addresses in the lower-level machine, most of the addresses are occupied, reducing address utilization and message transmission efficiency. Summary of the Invention
[0004] In view of this, the purpose of the present invention is to provide a message transmission processing method and semiconductor process equipment to alleviate the above-mentioned technical problems of low efficiency and lack of timing in existing message transmission.
[0005] In a first aspect, embodiments of the present invention provide a message transmission processing method applied to a host computer of a semiconductor process equipment; the host computer stores multiple host computer modules and creates a circular queue; wherein the circular queue includes a queue pointer and multiple storage locations, the storage locations are used to store message IDs, and the queue pointer is used to point to the first storage location to be stored in the circular queue; the method includes: obtaining a message set sent by a slave computer of the semiconductor process equipment; wherein the message set includes at least one message, each message including a message ID; storing the message IDs in the message set into the circular queue, and updating the slave parameter information after storage to obtain updated slave parameter information; wherein the slave parameter information includes a first position parameter and a first time parameter. The parameters are as follows: the first position parameter represents the position pointed to by the queue pointer after the message ID in the message set is stored in the circular queue; the first time parameter represents the time when the message ID in the message set is stored in the circular queue. For any host computer module, the target message ID that the host computer module has not read in the circular queue is determined according to the host computer module's corresponding host parameter information and slave parameter information. The host parameter information includes the second position parameter and the second time parameter. The second position parameter represents the storage position of the latest message ID read by the host computer module in the circular queue, and the second time parameter represents the time when the host computer module last read the message ID. The host computer module is controlled to read the message corresponding to the target message ID.
[0006] Preferably, the step of determining the target message ID that the host computer module has not read in the circular queue based on the host computer module's corresponding host parameter information and slave parameter information includes: determining whether the second position parameter and the first position parameter are consistent; if not, determining the message ID stored in the circular queue from the second position parameter to the first position parameter as the target message ID that the host computer module has not read.
[0007] Preferably, the step of determining the target message ID that the host computer module has not read in the circular queue based on the host computer module's corresponding host parameter information and slave parameter information includes: when the second position parameter and the first position parameter are consistent, determining whether the second time parameter and the first time parameter are consistent; if not, determining all message IDs in the circular queue as the target message IDs that the host computer module has not read.
[0008] Preferably, the method further includes: if the second time parameter is consistent with the first time parameter, then it is determined that no new message ID has been added to the circular queue.
[0009] Preferably, in the circular queue, each storage location corresponds to a set of characters; wherein, the set of characters includes the location identification information of multiple host computer modules, and the step of controlling the host computer module to read the message corresponding to the target message ID includes: for any target message ID, in the corresponding set of characters, updating the location identification information of the host computer module reading the message corresponding to the target message ID, and controlling the location identification information of the other host computer modules to remain unchanged.
[0010] Preferably, the location identification information includes first identification information and second identification information; wherein, the first identification information is used to indicate that the host computer module has not read the message corresponding to the target message ID, and the second identification information is used to indicate that the host computer module has read the message corresponding to the target message ID; the step of updating the location identification information of the host computer module that reads the message corresponding to the target message ID and controlling the location identification information of the other host computer modules to remain unchanged includes: updating the location identification information of the host computer module that reads the message corresponding to the target message ID from the first identification information to the second identification information, and controlling the location identification information of the other host computer modules to remain unchanged.
[0011] Preferably, the first identification information is 0 and the second identification information is 1; or, the first identification information is no and the second identification information is yes.
[0012] Preferably, the method further includes: for any storage location, when there is a message ID to be stored in the storage location, resetting the identification information of each host computer module in the set of characters corresponding to the storage location to the first identification information, and storing the message ID to be stored in the storage location after the resetting is completed.
[0013] Secondly, embodiments of the present invention also provide a message transmission processing method applied to a lower-level machine of a semiconductor process equipment. The method includes: real-time monitoring of the status parameters of the semiconductor process equipment and encapsulating the status parameters into messages to obtain a message set; wherein the message set includes at least one message, and each message includes a message ID; and sending the message set to a higher-level machine of the semiconductor process equipment so that the higher-level machine can store and read the message set.
[0014] Thirdly, embodiments of the present invention also provide a semiconductor process apparatus, including a host computer and a slave computer connected in communication; wherein the host computer includes a first processing device and a first storage device, and the slave computer includes a second processing device and a second storage device; the first storage device stores a first computer program, which executes the message transmission processing method of the first aspect when run by the first processing device; the second storage device stores a second computer program, which executes the message transmission processing method of the second aspect when run by the second processing device.
[0015] The embodiments of the present invention bring the following beneficial effects:
[0016] The message transmission method of the host computer provided in this embodiment of the invention realizes a message transmission response method in which the lower-level machine pushes messages in a circular queue and multiple host computer modules in the host computer receive them, which improves the message transmission efficiency and avoids the problem of low address utilization caused by the lower-level machine address being occupied. In addition, storing message IDs through a circular queue also enhances the timing of messages and improves the timing of semiconductor process equipment status.
[0017] Other features and advantages of the invention will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention are realized and obtained through the structures particularly pointed out in the description and the drawings.
[0018] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0019] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0020] Figure 1 This is a diagram illustrating the existing correspondence between messages and lower-level machine addresses.
[0021] Figure 2 This is a schematic diagram of the structure of a semiconductor process equipment provided in an embodiment of the present invention;
[0022] Figure 3 A schematic diagram of a circular queue provided for an embodiment of the present invention;
[0023] Figure 4 A flowchart of a message transmission processing method provided in an embodiment of the present invention;
[0024] Figure 5 This is a schematic diagram illustrating message storage and retrieval in a circular queue, provided as an embodiment of the present invention.
[0025] Figure 6 A flowchart of another message transmission processing method provided in an embodiment of the present invention;
[0026] Figure 7 A flowchart for message pushing provided in an embodiment of the present invention;
[0027] Figure 8 This is a flowchart of a host computer module reading a message, provided as an embodiment of the present invention. Detailed Implementation
[0028] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0029] Currently, photovoltaic equipment is mainly controlled by a lower-level machine (such as a PLC) and a higher-level machine (such as host software). Among these, the transmission and processing of messages are particularly important. The main system architecture used in related technical solutions is a one-to-one configuration between the lower-level and higher-level machines. Message management is mostly achieved by setting all addresses, message IDs, and message information in the code of both the lower-level and higher-level machines, and then scanning all messages sequentially during program execution.
[0030] Specifically, communication between the lower-level machine and the upper-level machine is achieved through specific communication protocols and data structures; among these, address mapping is a primary method. Address mapping refers to associating data that needs to be read or written in the upper-level machine with specific addresses within the lower-level machine. For example... Figure 1 As shown, when the slave device needs to send a message to the master device, it sets the value of the address identifier to 1. The master device checks the address in a loop. When it finds an address with an identifier value of 1, it finds the message content corresponding to that address, reads it, and sets the address identifier to 0. For example, when the identifier value of address MX1000.1 is 1, the master device reads message 1 and sets the identifier of address MX1000.1 to 0.
[0031] However, this approach has the following drawbacks: ① Messages cannot be collected in a specific order, resulting in a lack of timing; ② Since there is a one-to-one correspondence between messages and addresses, multiple address mappings need to be defined in the host computer; simultaneously, multiple addresses are defined in the slave computer for message transmission, but the scenario where all addresses are simultaneously 1 does not exist, so most addresses are occupied, and their usage frequency and duration are very short. Considering the limited number of addresses in the slave computer, this message transmission method occupies too many addresses, leading to a shortage of available addresses in the slave computer, low address utilization, and reduced message transmission efficiency.
[0032] Based on this, embodiments of the present invention provide a message transmission processing method and semiconductor process equipment, realizing a message transmission response mode in which the lower-level machine pushes messages in a circular queue and multiple upper-level machine modules receive them, thereby improving message transmission efficiency and avoiding the problem of address utilization being reduced due to address occupation in the lower-level machine. In addition, storing message IDs through a circular queue also enhances the timing of messages and improves the timing of the semiconductor process equipment status.
[0033] To facilitate understanding of this embodiment, a message transmission processing method provided by this invention will be described in detail below. This method is applied to semiconductor process equipment, such as... Figure 2 As shown, the semiconductor process equipment includes a lower-level computer 21, a higher-level computer 22, and a switch 23. In practical applications, the lower-level computer 21 and the higher-level computer 22 communicate through the switch 23. The lower-level computer 21 can be a PLC used for real-time monitoring of the semiconductor process equipment status, including but not limited to PM-PLCs for monitoring the status of PM (Process Module) and TM-PLCs for monitoring the status of TM (Transport Module). When a message needs to be sent, the message information is encapsulated according to a preset format and pushed to the higher-level computer 22 via the switch 23.
[0034] In this embodiment, the switch 23 and the host computer 22 communicate via the Modbus protocol. Furthermore, the host computer 22 stores multiple host computer modules, which can also be referred to as host software. In practical applications, the host computer module includes host software xUpper and slave software xLower. Here, the host software xUpper is used for displaying message information, while the slave software xLower is used for reading messages. Therefore, in semiconductor process equipment, multiple host computer modules interact with one slave computer, enabling a mode where one party pushes messages and multiple parties retrieve them. It should be noted that the specific structure of the semiconductor process equipment can refer to existing technologies, and the embodiments of this invention will not be described in detail here.
[0035] In addition to storing multiple host computer modules, the host computer 22 also creates a circular queue ( Figure 2 (Not shown in the image); The circular queue includes a queue pointer and multiple storage locations. The storage locations are used to store message IDs, and the queue pointer is used to point to the first storage location to be stored in the current circular queue. When there are multiple storage locations to be stored, the queue pointer points to the first location among the multiple storage locations to be stored according to the order of the multiple storage locations to be stored in the circular queue. That is, the queue pointer always points to the next location to be stored in the current circular queue. When a new message is received, the message ID of the message is inserted into the circular queue, and the position of the queue pointer is incremented by 1.
[0036] In practical applications, a circular queue has a fixed storage space, such as 100. When the circular queue is full, the newest message ID will overwrite the oldest message ID, which serves as a temporary storage area for message IDs. The circular queue manages data according to the FIFO (First In First Out) principle to ensure the timeliness and real-time performance of messages. When the circular queue is full, the queue pointer jumps to the initial position of the circular queue to ensure that all message IDs in the circular queue are the IDs of the latest 100 messages. Therefore, in practical applications, the host computer can backtrack to the last 100 messages.
[0037] like Figure 3 As shown, the length of the circular queue is set to 100. During initialization, the circular queue does not store message IDs. At this time, the first storage location to be stored in the circular queue is the first storage location in the circular queue, i.e., the queue pointer points to position Pos1. When a message is generated, its message ID is inserted into the circular queue at position Pos1. Simultaneously, the queue pointer moves down to Pos2 according to the order of the storage locations in the circular queue. After storing the message IDs of two messages, the circular queue from the third storage location to the last storage location is now filled with storage locations to be stored, and the queue pointer points to position Pos2. Pos2 points to the first storage location to be stored in the circular queue, i.e., the third storage location. Therefore, in the host computer 22, the storage and maintenance of message IDs through the circular queue ensures the timing and real-time performance of the messages.
[0038] Example 1
[0039] Based on the aforementioned semiconductor process equipment, this embodiment of the invention provides a message transmission processing method, wherein the executing entity is a host computer; as shown... Figure 4 As shown, the method includes the following steps:
[0040] Step S402: Obtain the message set sent by the lower-level machine of the semiconductor process equipment.
[0041] In practical applications, the host computer can periodically or in real-time receive message sets from the slave computer through polling or event-driven methods. Polling typically involves receiving messages at regular intervals, such as once per second, ensuring timely message reception and real-time transmission. Event-driven methods allow the host computer to receive message sets when a specific scenario occurs, such as when a user clicks on a certain interface. If the user does not click on an interface, the host computer will not actively retrieve message sets, avoiding the waste of resources by constantly querying. However, this method may cause the host computer to miss some messages, so it is generally used for message set retrieval in specific scenarios.
[0042] The message set includes at least one message, and each message includes a message ID. Therefore, by actively pushing the message set by the lower-level machine, multiple upper-level machine modules in the upper-level machine can obtain the messages in the message set, which improves the message transmission efficiency and avoids the problem of address occupancy in the lower-level machine, which leads to reduced address utilization.
[0043] Step S404: Store the message ID in the message set into a circular queue, and update the lower-level parameter information after storage to obtain the updated lower-level parameter information.
[0044] Specifically, after the host computer obtains the message set sent by the slave computer, it parses the message set to obtain the message ID of each message in the message set, and stores the message IDs in a circular queue. In addition, the host computer also maintains slave parameter information for the circular queue; after the message IDs in the message set are stored in the circular queue, the host computer updates the slave parameter information to obtain the updated slave parameter information.
[0045] The lower-level parameter information includes a first position parameter `plc_pos` and a first time parameter `plc_time`. In practical applications, the first position parameter `plc_pos` represents the position pointed to by the queue pointer after the message ID in the message set has been stored in the circular queue, and the first time parameter `plc_time` represents the time when the message ID in the message set has been stored in the circular queue, that is, the time when the last message ID in the message set has been stored in the circular queue. Therefore, after the message ID in the message set has been stored, the host computer updates the lower-level parameter information so that each host computer module can read the message according to the updated lower-level parameter information.
[0046] For example, when there is only one message in the message set, the message ID storage procedure is as follows: Figure 5 As shown, firstly, the queue pointer is used to find the first storage location to be stored in the circular queue, such as 1002. At this point, the queue pointer points to position 1002. Then, the message ID of a single message in the message set is stored at position 1002, and the queue pointer is moved down to the new storage location, 1003, the next position after 1002. After the message ID of a single message in the message set is stored, the lower-level parameter information is updated. In the updated lower-level parameter information, the first position parameter plc_pos is the new storage location (1003) pointed to by the queue pointer, and the first time parameter plc_time is the storage completion time, i.e., the current time. For the case where the message set contains message IDs of multiple messages, the same principle applies as for the case with only one message in the message set. This embodiment of the invention will not elaborate further here.
[0047] It should be noted that during message transmission, if the lower-level device continuously sends multiple message sets, the lower-level parameter information is updated after the message IDs of each message set are stored in the circular queue; or, the lower-level parameter information is updated only after the message IDs of multiple message sets have been stored in the circular queue. In this case, in the updated lower-level parameter information, the first position parameter plc_pos is the position pointed to by the queue pointer after the message IDs of all consecutively sent message sets have been stored in the circular queue, and the first time parameter plc_time is the time after the message IDs of all consecutively sent message sets have been stored in the circular queue.
[0048] Step S406: For any host computer module, determine the target message ID that the host computer module has not read in the circular queue based on the host computer module's corresponding host parameter information and slave parameter information.
[0049] In practical applications, in addition to maintaining lower-level parameter information for the circular queue, each host computer module also maintains corresponding upper-level parameter information. Among them, the upper-level parameter information of each host computer module includes a second position parameter soft_pos and a second time parameter soft_time. The second position parameter soft_pos is used to represent the storage position of the latest message ID read by the host computer module in the circular queue, and the second time parameter soft_time is used to represent the time when the host computer module last read the message ID.
[0050] Therefore, for each host computer module, the target message ID that the host computer module has not read in the circular queue can be determined based on its corresponding host parameter information and slave parameter information, and the host computer module can be controlled to read the message corresponding to the target message ID, thus avoiding the situation of message omission.
[0051] It should be noted that for multiple host computer modules, the unread target message IDs in the circular queue can be determined simultaneously based on their corresponding host and slave parameter information, or the unread target message IDs in the circular queue can be determined according to their respective reading cycles and based on their corresponding host and slave parameter information. The specific method can be adjusted adaptively according to the actual situation.
[0052] Step S408: Control the host computer module to read the message corresponding to the target message ID.
[0053] Specifically, for each host computer module, after determining the corresponding target message ID, the host computer module is controlled to read all messages corresponding to the target message ID. Since a mapping relationship between message IDs and message information is also set in the host computer, when the host computer module obtains the target message ID, it can determine the message information corresponding to the target message ID according to the mapping relationship. For example, if the target message ID is ID1, the corresponding message information can be determined according to the mapping relationship as an alarm status information for excessively high process chamber temperature; if the target message ID is ID2, the corresponding message information can be determined according to the mapping relationship as information on the open status of the transmission chamber.
[0054] The message transmission processing method provided in this embodiment of the invention realizes a message transmission response mode in which the lower-level machine pushes messages in a circular queue and multiple upper-level machine modules receive them, thereby improving message transmission efficiency and avoiding the problem of address occupancy in the lower-level machine, which leads to reduced address utilization. In addition, storing message IDs through a circular queue also enhances the timing of messages and improves the timing of semiconductor process equipment status.
[0055] In one implementation, for ease of explanation, an example is taken from any host computer module. The step of determining the target message ID that the host computer module has not read in the circular queue based on the host computer module's corresponding host parameter information and slave parameter information includes: determining whether the second position parameter and the first position parameter are consistent; if not, determining the message ID stored in the circular queue from the second position parameter to the first position parameter as the target message ID that the host computer module has not read.
[0056] Specifically, the host computer module first checks whether the second position parameter `soft_pos` in the corresponding host parameter information and the first position parameter `plc_pos` in the slave parameter information are consistent. If not, it means that the slave computer has pushed new message information, but the host computer module has not yet read it. For example, ... Figure 5 As shown, if the second position parameter soft_pos of the host computer module is 1002 and the first position parameter plc_pos in the lower parameter information is 1003, then the message ID stored in the circular queue from the second position parameter soft_pos to the first position parameter plc_pos is determined as the target message ID that the host computer module has not read. That is, the message ID at position 1002 is determined as the target message ID so that the host computer module can read the message corresponding to the target message ID, thereby avoiding message omission.
[0057] It should be noted that during the determination of the target message ID, multiple message IDs along the path of the queue pointer moving from the second position parameter to the first position parameter are all determined as the target message ID, following the order in which the queue pointer moves within the circular queue. For example, if the second position parameter is 1005 and the first position parameter is 1003, the queue pointer is first moved from the second position parameter 1005 to the last storage position of the circular queue, such as 1100. Then, it returns from the last storage position 1100 to the first storage position, such as 1001. Finally, it moves from the first storage position 1001 to the first position parameter 1003, and multiple message IDs along the way are determined as the target message ID.
[0058] In one implementation, the step of determining the target message ID that the host computer module has not read in the circular queue based on the host computer module's corresponding host parameter information and slave parameter information further includes: when the second position parameter and the first position parameter are consistent, determining whether the second time parameter and the first time parameter are consistent; if not, determining all message IDs in the circular queue as the target message IDs that the host computer module has not read.
[0059] Specifically, when the second position parameter `soft_pos` in the upper-level parameter information and the first position parameter `plc_pos` in the lower-level parameter information are consistent, the upper-level module further checks whether the second time parameter `soft_time` in the upper-level parameter information and the first time parameter `plc_time` in the lower-level parameter information are consistent. If they are inconsistent, it indicates that the lower-level device has sent a new set of messages. Since the second position parameter `soft_pos` and the first position parameter `plc_pos` are consistent, it is determined that all messages corresponding to message IDs stored in the current circular queue are messages that the upper-level module has not read. At this time, the upper-level module determines all message IDs in the circular queue as target message IDs and reads the messages corresponding to the target message IDs to complete the reading of all messages in the circular queue. Furthermore, if the second time parameter `soft_time` and the first time parameter `plc_time` are consistent, it is determined that no new message IDs that the upper-level module has not read have been added to the circular queue, and the upper-level module does not perform a reading operation.
[0060] Therefore, for each host computer module, the unread message IDs in the circular queue are determined based on the corresponding host and slave parameter information. This not only avoids the method of looping through all message update messages in existing solutions, reducing resource consumption in the host computer, but also prevents missed reading of messages corresponding to message IDs in the circular queue, thus ensuring the accuracy of message transmission and processing, and consequently ensuring the safe operation of semiconductor process equipment. It should be noted that by setting the mapping relationship between message IDs and message information in their respective configuration files, the host computer module can know the message information corresponding to a message ID after obtaining it.
[0061] Specifically, for each host computer module, after reading the message corresponding to the target message ID, it updates its corresponding upper-level parameter information to the lower-level parameter information used when determining the target message ID. Since the positions of soft_pos and plc_pos are consistent after the message corresponding to the target message ID is read, soft_pos is updated to plc_pos, and soft_time is also updated to plc_time. This allows the host computer module to determine the next target message ID based on the updated soft_pos and soft_time. Therefore, the second position parameter soft_time and the second time parameter soft_time of each host computer module can be understood as the lower-level parameter information after the latest target message ID read by the host computer module is stored in the circular queue. Thus, when a new message ID is stored, the host computer module can determine the target message ID that it has not read in the circular queue based on its upper-level parameter information and the updated lower-level parameter information, avoiding missing messages corresponding to message IDs in the circular queue.
[0062] It should be noted that, as Figure 5 As shown, the current time corresponding to the first time parameter plc_time is the time when the message ID in the current message set is stored at position 1002. Since the second time parameter soft_time of the host computer module is the time when the host computer module last read the message ID, and considering that the time when the last message ID is read is equal to (or updated to) the time when the message ID in the previous message set is stored in the circular queue, the current time corresponding to the second time parameter soft_time is the time when the message ID in the previous message set read by the host computer module is stored in the circular queue.
[0063] In one implementation, each storage location in the circular queue corresponds to a set of characters; wherein, the set of characters includes location identification information of multiple host computer modules. The step of controlling the host computer module to read the message corresponding to the target message ID includes: for any target message ID, updating the location identification information of the host computer module reading the message corresponding to the target message ID in the corresponding set of characters, and controlling the location identification information of the remaining host computer modules to remain unchanged.
[0064] The location identification information includes first identification information and second identification information. The first identification information indicates that the host computer module has not read the message corresponding to the target message ID, and the second identification information indicates that the host computer module has read the message corresponding to the target message ID. In practical applications, the first identification information is 0 and the second identification information is 1; or, the first identification information is no and the second identification information is yes; or, the first identification information is NO and the second identification information is YES; or, the first identification information and the second identification information are represented by different graphics, such as the first identification information being a five-pointed star pattern and the second identification information being a circular pattern. The specific representation of the first identification information and the second identification information can be set according to the actual situation, and this embodiment of the invention does not impose any limitations on this.
[0065] Specifically, for a target message ID stored in any storage location, within the corresponding set of characters at that storage location, the location identifier information of the host computer module reading the message corresponding to that target message ID is updated from the first identifier information to the second identifier information, while the location identifier information of the remaining host computer modules remains unchanged from the first identifier information. For ease of explanation, this is illustrated using an example where the first identifier information is 0 and the second identifier information is 1. Figure 5 As shown, in the circular queue, each storage location corresponds to a set of characters. The location identifiers of multiple host computer modules are grouped into a single set of characters, and multiple sets of characters corresponding to multiple storage locations form a linear queue. In each set of characters, the number of characters corresponds to the number of host computer modules. Before the message ID at each storage location is stored, each character in the set of characters corresponding to that storage location is the first identifier 0. When the message corresponding to the message ID at that storage location is read by a host computer module, the location identifier of the host computer module reading the message in the set of characters corresponding to that storage location is updated from 0 to 1, while the location identifiers of the remaining host computer modules in that set remain 0. For example, for a newly stored message ID 1002, the set of characters corresponding to 1002 is initially all 0. When the message corresponding to this message ID is read, the location identifier of the second host computer module in the corresponding set of characters is updated to 1, while the location identifiers of the remaining host computer modules in that set remain 0.
[0066] It should be noted that for any storage location, when a message ID to be stored exists in that storage location, the identification information of each host computer module in the set of characters corresponding to that storage location is reset to the first identification information, and after the reset is completed, the message ID to be stored is stored in that storage location.
[0067] For example, such as Figure 5 As shown, after the message corresponding to the current message ID stored in 1002 is read, the position identifier information of the second host computer module in the set of characters corresponding to 1002 is 1, and the position identifier information of the other host computer modules is 0. When the host computer subsequently obtains a new message set, if the message ID of a certain message in the new message set needs to be stored in 1002, before storing the message ID to be stored in 1002, the set of characters corresponding to 1002 is first reset, that is, the position identifier information of multiple host computer modules in the set of characters corresponding to 1002 is reset to 0. After the reset is completed, the message ID to be stored is stored in 1002, thereby avoiding the situation where the message corresponding to the message ID to be stored is missed by the host computer module due to the failure to reset the set of characters at the storage location.
[0068] Furthermore, since the circular queue stores message IDs, not the entire message data packet, new message IDs will overwrite older ones when there are enough message IDs. Therefore, all message IDs in the circular queue are the latest 100. Thus, the host computer can repeatedly loop back through all historical message IDs in the current circular queue based on the current position of the queue pointer and the message ID length, thereby achieving multiple repeated backtracking of historical message information. Additionally, for messages read by the host computer module, the host computer can also display the message information on the host computer interface, allowing users to view and analyze the message information, further ensuring the safe operation of semiconductor process equipment.
[0069] In summary, the message transmission processing method provided by this invention uses one lower-level machine to correspond to multiple upper-level machine modules. Simultaneously, a circular queue is used in the upper-level machine to maintain the messages. After the upper-level machine module reads a message, it responds to the circular queue. For example, in the set of characters corresponding to the message ID of the read message, the position identifier information of the upper-level machine module reading the message is updated to 1. This realizes a message transmission response method where the lower-level machine pushes messages in the circular queue and multiple upper-level machine modules receive them, improving message transmission efficiency and avoiding the problem of address occupancy in the lower-level machine, which leads to reduced address utilization. Furthermore, storing message IDs through a circular queue enhances the timing of messages and improves the timing of semiconductor process equipment status.
[0070] Example 2
[0071] This invention also provides a message transmission processing method, in which the execution entity is a lower-level machine, such as... Figure 6 As shown, the method includes the following steps:
[0072] Step S602: Monitor the status parameters of the semiconductor process equipment in real time, and encapsulate the status parameters into messages to obtain a message set.
[0073] The lower-level machine is primarily responsible for monitoring the status of semiconductor process equipment and acquiring its status parameters in real time. When a message needs to be sent, the lower-level machine uses status parameters such as alarm status as message information, encapsulates them according to a preset format, and generates a message carrying a corresponding message ID. Furthermore, the lower-level machine pushes the messages in a message set, where the number of messages in the set can be one or more, with a maximum of 100 messages in a circular column. Each message includes a message ID.
[0074] Step S604: Send the message set to the host computer of the semiconductor process equipment so that the host computer can store and read the message set.
[0075] The host computer creates a circular queue. After parsing the messages in the message set, the message ID is stored in the circular queue. After storage, the lower-level parameter information is updated to obtain the updated lower-level parameter information. For any host computer module, the target message ID that the host computer module has not read is determined in the circular queue based on the host computer module's corresponding host computer parameter information and lower-level parameter information. The host computer module is then controlled to read the message corresponding to the target message ID. The specific message reading process can be referred to the foregoing embodiments, and will not be described in detail here.
[0076] Therefore, the message transmission processing method provided in this embodiment of the invention allows the lower-level machine to send a message set to the upper-level machine, so that multiple upper-level machine modules in the upper-level machine can read the messages in the message set. This realizes a message transmission response mode in which the lower-level machine pushes messages and multiple upper-level machine modules in the upper-level machine receive them, which improves the message transmission efficiency. It not only avoids the problem of address occupancy in the lower-level machine, which leads to a decrease in address utilization, but also avoids the problem of message omission and error.
[0077] Example 3
[0078] In contrast to the one-to-one message transmission method in related technical solutions, this invention adopts a message transmission method of one-party push and multiple-party reception. Specifically, the semiconductor process equipment includes a lower-level machine and a higher-level machine. The higher-level machine stores multiple higher-level machine modules and creates a circular queue. The circular queue includes a queue pointer and multiple storage locations. The storage locations are used to store message IDs, and the queue pointer points to the first storage location to be stored in the circular queue. Therefore, this semiconductor process equipment implements a system where one lower-level machine corresponds to multiple higher-level machine modules. The lower-level machine pushes messages to the higher-level machine, and the higher-level machine stores and retrieves the messages.
[0079] To facilitate understanding, message pushing and message reading will be explained in detail here. The specific explanations are as follows:
[0080] (A1) Message push; such as Figure 7 As shown, the process includes the following steps: ① The host computer confirms the existence of the circular queue and initializes plc_pos and plc_time. Specifically, the host computer initializes the lower-level parameters, setting the first position parameter of plc_pos to the starting position of the circular queue (i.e., the first storage position in the circular queue) and the first time parameter plc_time to the current time. ② The lower-level computer pushes a message set. When a message needs to be pushed, the lower-level computer pushes the message set to the host computer, allowing the host computer to parse the message set, obtain the message ID of each message, and store each message ID in the circular queue. ③ The host computer sets the current pointer of the queue to the specified position. The host computer sets all characters in the storage location to 0, that is, the host computer sets the identification information of multiple host computer modules in the group of characters in the storage location currently pointed to by the queue pointer to the first identification information, such as 0; ④ Store the message ID, and before storing the last message ID, determine whether the queue pointer points to the end position of the circular queue. If yes, the queue pointer jumps from the end position to the start position, and the last message ID is stored in the end position of the circular queue (i.e., the last storage position). If no, the last message ID is stored in the position currently pointed to by the queue pointer, and after storage, plc_pos and plc_time are updated.
[0081] (A2) Message reading; such as Figure 8 As shown, taking any host computer module as an example, the message reading process is illustrated. Specifically, it includes the following steps:
[0082] ① The host computer creates a circular queue, and the host computer module initializes soft_pos and soft_time; whereby the initial position of the circular queue is used as the initial value of the second position parameter soft_pos of the host computer module, and the plc_time in the lower-level parameter information is used as the initial value of the second time parameter soft_time.
[0083] ② The host computer obtains the message set through polling or event-driven method, parses the message set to obtain the message ID of each message, stores the message IDs in the message set into a circular queue, and updates the lower-level parameter information after storage to obtain the updated plc_pos and plc_time;
[0084] ③ The host computer module determines whether the following condition is met: soft_pos = plc_pos, that is, whether soft_pos and the updated plc_pos are consistent. If not, the host computer module reads all the messages corresponding to the message IDs stored between soft_pos and plc_pos.
[0085] ④ If soft_pos = plc_pos, the host computer module continues to determine whether soft_time = plc_time, that is, whether soft_time and the updated plc_time are consistent. If yes, it is determined that there are no new messages and the host computer module does not perform a read operation; if no, all messages corresponding to all message IDs in the circular queue are new messages and the host computer module reads all messages.
[0086] ⑤ When reading each message, set the value of the character corresponding to the host computer module reading the message in the set of characters corresponding to the message ID storage location to 1. That is, in a set of characters, change the position identifier information of the host computer module reading the message from 0 to 1, while the position identifier information of the other host computer modules remains 0.
[0087] ⑥ Update soft_pos to plc_pos and soft_time to plc_time to synchronize the positions corresponding to soft_pos and plc_pos. At the same time, update soft_time to plc_time, that is, update the upper-level parameter information of the host computer module to the current lower-level parameter information. When a new message ID is stored in the circular queue, it is convenient for the host computer module to determine the next target message ID according to the updated upper-level parameter information.
[0088] In summary, this invention achieves efficient and reliable message transmission and response processing between the lower-level and upper-level computers based on a circular queue mechanism. When the upper-level computer module acquires a message, it simultaneously sends a position identifier to the circular queue, indicating that the upper-level computer module has acquired the message. Furthermore, addressing the issue in traditional message transmission modes where messages can only be acquired once and are subsequently lost, by storing message IDs instead of message data packets in the circular queue, message backtracking can be performed based on the queue pointer's position and the length of the message IDs (e.g., 100 messages), thus enabling repeated acquisition of historical messages in the current circular queue. Furthermore, addressing the issues of traditional methods requiring significant lower-level machine addresses for message transmission and the lack of timeliness in message transmission, a circular queue data structure is used as a buffer for message IDs. This optimizes the storage and retrieval of message information. Simultaneously, message storage and retrieval strictly adhere to the order in which they are sent from the lower-level machine, ensuring high timeliness in message information maintenance. This achieves real-time message storage and transmission, avoiding the need for the upper-level machine to traverse all addresses and message information, reducing upper-level machine resource consumption, and improving the efficiency and stability of semiconductor process equipment.
[0089] Example 4
[0090] This invention also provides a semiconductor process apparatus, including a host computer and a slave computer connected in communication; wherein the host computer includes a first processing device and a first storage device, and the slave computer includes a second processing device and a second storage device; the first storage device stores a first computer program, which executes the aforementioned message transmission processing method when run by the first processing device; the second storage device stores a second computer program, which executes the aforementioned message transmission processing method when run by the second processing device. For details, please refer to the foregoing embodiments; further details of this invention will not be elaborated upon here.
[0091] The semiconductor process equipment provided in this embodiment of the invention has the same technical features as the message transmission processing method provided in the above embodiment, so it can also solve the same technical problems and achieve the same technical effects.
[0092] This embodiment also provides a machine-readable storage medium storing machine-executable instructions. When the machine-executable instructions are called and executed by a processor, the machine-executable instructions cause the processor to implement the above-described message transmission processing method.
[0093] The computer program product of the message transmission processing method and semiconductor process equipment provided in the embodiments of the present invention includes a computer-readable storage medium storing program code. The instructions included in the program code can be used to execute the methods described in the preceding method embodiments. For specific implementation, please refer to the method embodiments, which will not be repeated here.
[0094] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the system and apparatus described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0095] Furthermore, in the description of the embodiments of the present invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in the present invention based on the specific circumstances.
[0096] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0097] In the description of this invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0098] Finally, it should be noted that the above-described embodiments are merely specific implementations of the present invention, used to illustrate the technical solutions of the present invention, and not to limit it. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed in the present invention, or make equivalent substitutions for some of the technical features; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A message transmission processing method, characterized in that, A host computer applied to semiconductor process equipment; the host computer stores multiple host computer modules and creates a circular queue; wherein, the circular queue includes a queue pointer and multiple storage locations, the storage locations are used to store message IDs, and the queue pointer is used to point to the first storage location to be stored in the circular queue; the method includes: The process involves acquiring a set of messages sent by the lower-level machine of the semiconductor process equipment; wherein the set of messages includes at least one message, and each message includes a message ID; storing the message IDs in the set of messages into the circular queue, and updating the lower-level parameter information after storage to obtain the updated lower-level parameter information; wherein the lower-level parameter information includes a first position parameter and a first time parameter, the first position parameter being used to characterize the position pointed to by the queue pointer after the message IDs in the set of messages are stored in the circular queue, and the first time parameter being used to characterize the time when the message IDs in the set of messages are stored in the circular queue; For any of the host computer modules, the target message ID that the host computer module has not read in the circular queue is determined according to the host computer module's corresponding host parameter information and the lower parameter information; wherein, the host parameter information includes a second position parameter and a second time parameter, the second position parameter is used to characterize the storage position of the latest message ID read by the host computer module in the circular queue, and the second time parameter is used to characterize the time when the host computer module last read the message ID; The host computer module is controlled to read the message corresponding to the target message ID.
2. The method according to claim 1, characterized in that, The steps for determining the target message ID that the host computer module has not read in the circular queue based on the host computer module's corresponding host parameter information and the slave parameter information include: Determine whether the second position parameter and the first position parameter are consistent; If not, the message ID stored in the circular queue between the second position parameter and the first position parameter is determined as the target message ID that the host computer module has not read.
3. The method according to claim 2, characterized in that, The steps for determining the target message ID that the host computer module has not read in the circular queue based on the host computer module's corresponding host parameter information and the slave parameter information include: When the second position parameter is consistent with the first position parameter, determine whether the second time parameter is consistent with the first time parameter; If not, then all message IDs in the circular queue will be identified as the target message IDs that the host computer module has not read.
4. The method according to claim 3, characterized in that, The method further includes: If the second time parameter is consistent with the first time parameter, it is determined that no new message ID has been added to the circular queue.
5. The method according to claim 1, characterized in that, In the circular queue, each storage location corresponds to a set of characters; wherein, the set of characters includes location identification information of multiple host computer modules, and the step of controlling the host computer module to read the message corresponding to the target message ID includes: For any of the target message IDs, the location identification information of the host computer module that reads the message corresponding to the target message ID is updated in the corresponding set of characters, and the location identification information of the other host computer modules is kept unchanged.
6. The method according to claim 5, characterized in that, The location identification information includes first identification information and second identification information; wherein, the first identification information is used to indicate that the host computer module has not read the message corresponding to the target message ID, and the second identification information is used to indicate that the host computer module has read the message corresponding to the target message ID; The steps of updating the location identifier information of the host computer module that reads the message corresponding to the target message ID, and keeping the location identifier information of the remaining host computer modules unchanged, include: The location identification information of the host computer module that reads the message corresponding to the target message ID is updated from the first identification information to the second identification information, and the location identification information of the other host computer modules is kept unchanged.
7. The method according to claim 6, characterized in that, The first identification information is 0, and the second identification information is 1; or, the first identification information is no, and the second identification information is yes.
8. The method according to claim 6, characterized in that, The method further includes: For any of the storage locations, when a message ID to be stored exists in the storage location, the identification information of each of the host computer modules in the set of characters corresponding to the storage location is reset to the first identification information, and after the reset is completed, the message ID to be stored is stored in the storage location.
9. A message transmission processing method, applied to a lower-level machine of semiconductor process equipment, characterized in that, The method includes: The status parameters of the semiconductor process equipment are monitored in real time, and the status parameters are encapsulated into messages to obtain a message set; wherein the message set includes at least one message, and each message includes a message ID; The message set is sent to the host computer of the semiconductor process equipment so that the host computer can store and read the message set.
10. A semiconductor process apparatus, characterized in that, It includes a host computer and a slave computer connected by communication; wherein the host computer includes a first processing device and a first storage device, and the slave computer includes a second processing device and a second storage device; The first storage device stores a first computer program, which executes the message transmission processing method according to any one of claims 1 to 8 when the first processing device is running. The second storage device stores a second computer program, which executes the message transmission processing method of claim 9 when run by the second processing device.
