Prosecution Insights
Last updated: October 02, 2026
Application No. 18/447,292

VIRTUAL SIMULATION METHOD AND APPARATUS FOR CONVEYING MECHANISM, ELECTRONIC DEVICE, PLC, AND MEDIUM

Non-Final OA §101§103
Filed
Aug 09, 2023
Priority
Apr 18, 2022 — CN 202210406606.X +1 more
Examiner
MONTES, NARCISO EDUARDO
Art Unit
Tech Center
Assignee
Contemporary Amperex Technology Co., Limited
OA Round
1 (Non-Final)
50%
Grant Probability
Moderate
1-2
OA Rounds
11m
Est. Remaining
50%
With Interview

Examiner Intelligence

Grants 50% of resolved cases
50%
Career Allowance Rate
4 granted / 8 resolved
-10.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
4y 0m
Avg Prosecution
22 currently pending
Career history
26
Total Applications
across all art units

Statute-Specific Performance

§101
28.3%
-11.7% vs TC avg
§103
47.4%
+7.4% vs TC avg
§102
10.5%
-29.5% vs TC avg
§112
13.8%
-26.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 8 resolved cases

Office Action

§101 §103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1-16 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception without significantly more. Claim 1. STEP 1: Yes. The claim is directed to a “method” which is a process. STEP 2A PRONE ONE: The claim recites multiple mental processes. creating a target logic block, wherein the target logic block is used to determine an actual distance for which the data model moves each time during the simulation process; and This describes an observation, evaluation, judgment or opinion that can be done in the mind or with aid of pen and paper. In this case evaluating how far the conveyor moved during the simulation cycle. … in response to determining that the actual distance is the same as a target distance for which the conveying mechanism should move each time,. This describes an observation, evaluation, judgment or opinion that can be done in the mind or with aid of pen and paper. In this case an evaluation and judgment on the target and actual distance. STEP 2A PRONG TWO: The claim does not integrate the exception into a practical application. STEP 2B: The claim does not recite an inventive concept or significantly more than the exception. obtaining a data model of the conveying mechanism; MPEP 2106.05(g) – This is pre-solution data gathering activity. creating a virtual conveying line according to the data model, so that the data model is movable along the virtual conveying line during a simulation process; MPEP 2106.05(g) – This is pre-solution data gathering activity. sending the actual distance to a PLC MPEP 2106.05(g) – This post-solution data transmission. … so that the PLC controls the data model to stop moving … MPEP 2106.05(f) – This clause merely instructs that the result of the abstract comparison be applied by a generic controller without particular means and therefore amounts to mere instructions to apply the exception. Conclusion: Claim 1 is directed to multiple mental processes, not integrated into a practical application and lacks an inventive concept. Therefore, it is ineligible under 35 U.S.C 101. Regarding Claims 2-3: These claims merely narrow the abstract idea by specifying the inputs to the distance determination, namely the target distance and a cumulative movement distance (claim 2), and the formula used to calculate it (claim 3). Thus, the claims remain as a mental process and, in claim 3, an expressly recited mathematical calculation. This does not integrate the judicial exception into a practical application. The claims do not resolve the issues from the claims they depend upon. Regarding Claims 4-5 and 11: These claims merely add pre solution data gathering MPEP 2106.05(g) by specifying the source of an input value, namely a distance sensor (claim 4), process information of the conveying mechanism (claim 5), and a servo motor speed determined from process information (claim 11), or they set a movement speed of the data model (claim 11) and link the field of use. MPEP 2106.05(h). This does not integrate the judicial exception into a practical application. The claims do not resolve the issues from the claims they depend upon. Regarding Claims 6-7: These claims merely specify how the software implementing the abstract idea is installed, by obtaining a pre-packaged standard logic block and copying its operational logic to the data model (claim 6) using a Copy LB Logic instruction of the simulation software (claim 7). This amounts to mere instructions to apply the exception using a software tool MPEP 2106.05(f) and generally links the exception to a particular simulation software environment. MPEP 2106.05(h). This does not integrate the judicial exception into a practical application. The claims do not resolve the issues from the claims they depend upon. Regarding Claims 8-10: These claims merely add configuration of the simulation environment in which the abstract idea is performed, namely setting an offset between the virtual conveying line and a pallet (claim 8), determining the position of the data model and defining a conveyor type attribute of the virtual conveying line (claim 9), and determining whether the logic block is created successfully and redefining the attribute (claim 10). These are insignificant extra solution activity MPEP 2106.05(g) that generally link the exception to a particular technological environment. MPEP 2106.05(h). This does not integrate the judicial exception into a practical application. The claims do not resolve the issues from the claims they depend upon. Regarding Claims 12-13: These claims merely recite generic computer components, namely at least one processor, and a memory storing instructions (claim 12) and a computer-readable storage medium storing a computer program executed by a processor (claim 13), to perform the method of claim 1. This does not integrate the judicial exception into a practical application. The claims do not resolve the issues from the claims they depend upon. Claim 14. STEP 1: Yes. The claim is directed to a “method” which is a process. STEP 2A PRONE ONE: The claim recites multiple mental processes. wherein the actual distance is determined by a target logic block created by the electronic device, and This describes an observation, evaluation, judgment or opinion that can be done in the mind or with aid of pen and paper. In this case evaluation of the “actual distance”. in response to determining that the actual distance is the same as the target distance… This describes an observation, evaluation, judgment or opinion that can be done in the mind or with aid of pen and paper. In this case an evaluation and judgment on the target and actual distance. STEP 2A PRONG TWO: The claim does not integrate the exception into a practical application. STEP 2B: The claim does not recite an inventive concept or significantly more than the exception. sending to an electronic device a target distance for which the conveying mechanism should move each time; MPEP 2106.05(g) – This is pre-solution data gathering activity. receiving an actual distance for which the conveying mechanism moves each time during a simulation process and that is sent by the electronic device … MPEP 2106.05(g) – This is pre-solution data gathering activity. the electronic device creates a virtual conveying line according to an obtained data model of the conveying mechanism, so that the data model is movable along the virtual conveying line during the simulation process; and MPEP 2106.05(g) – This is insignificant extra solution activity of setting up the model on which the exception operates, before the exception is performed. MPEP 2106.05(h) – This is generally linking the exception to a particular technological environment by the virtual simulation of a conveying mechanism. … controlling the data model to stop moving. MPEP 2106.05(f) – This clause merely instructs that the result of the abstract comparison be applied by a generic controller without particular means and therefore amounts to mere instructions to apply the exception. Conclusion: Claim 14 is directed to multiple mental processes, not integrated into a practical application and lacks an inventive concept. Therefore, it is ineligible under 35 U.S.C 101. Regarding Claims 15-16: These claims merely recite generic computer components, namely a PLC comprising at least one processor and a memory storing instructions (claim 15) and a computer-readable storage medium storing a computer program executed by a processor (claim 16), to perform the method of claim 14. This amounts to mere instructions to apply the exception on a generic computer. MPEP 2106.05(f). The PLC of claim 15 is defined only as a processor and a memory and is the tool on which the comparison is performed, not a particular machine. MPEP 2106.05(b). This does not integrate the judicial exception into a practical application. The claims do not resolve the issues from the claims they depend upon. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or non-obviousness. This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention. Claims 1, 5-7, and 10-13 are rejected under 35 U.S.C 103 as being unpatentable over CN 111797521 A by PING et al [herein “PING”] (2020), CN 111459101 A by HUANG et al [herein “HUANG”] (2020), US10363645B2 by NAGATANI et al [herein “NAGATANI”] (2018), and CN 106564741 A by SHANG et al [herein “SHANG”] (2017). Regarding Claim 1, PING teaches A virtual simulation method for a conveying mechanism, comprising: obtaining a data model of the conveying mechanism; “… carrying out simulation modeling on the automatic production line based on OpenGL simulation software to obtain a three-dimensional model of the automatic production line …”. (Abstract). This 3D model is a data model of a conveying mechanism because it is a software representation of the conveying line, built with parameters that the simulation uses later to move it. creating a virtual conveying line according to the data model, so that the data model is movable along the virtual conveying line during a simulation process; “… step 1.2), the parameters required for the movement include: the module motion relative point setting, the module motion speed, the module motion mode and the module motion relative distance.”. (Pg. 2). “… motion and parameters required by the motion of the dynamic module in the visual body are appointed.”. (Pg. 3). “… realize the real-time motion of the three-dimensional model following the PLC program logic.”. (Pg. 6). This defined motion path is a virtual conveying line because it is a path established for the conveying line’s model, from its relative points and its pattern along an axis or a spatial curve, and then travels along that path when the simulation runs. sending the actual distance to a PLC, so that the PLC controls the data model to stop moving “… after the real-time motion of the three-dimensional model following the PLC program logic is realized, the virtual reality technology is used to replace various sensors, detection mechanisms, and the like on the actual production line site to obtain the motion states of the three-dimensional model, and then the motion states are fed back to the PLC to realize the closed-loop control, where the motion states of the three-dimensional model include: whether the motor is rotated, whether the cylinder is pushed out in place, whether the tray moves in place and the like.”. (Pg. 6). “… feedback variable data of the OpenGL simulation software to the PLC are mapped; mapping control variables in the PLC to dynamic motion parameters of a three-dimensional model in OpenGL simulation software to realize real-time motion of the three-dimensional model along with PLC program logic …”. (Pg. 2). This feedback of the model’s motion state to the PLC is sending the actual distance to a PLC because the value feedback is the model’s motion as measure in the simulation, and the PLC then controls whether the model keeps moving through the motion parameters it writes back. PING does not explicitly teach but HUANG teaches creating a target logic block, wherein the target logic block is used to determine … “… includes one or more items of a logic block name, a pin name, a data type, a parameter, action logic, an expression and a signal name to be connected.”. (Pg. 3). “… is used for adding a logic block to corresponding equipment with a motion joint, can realize complex motion effect and play a role in controlling the motion of the relevant equipment, and can also be independently used for logic operations such as mathematics, time states and the like.”. (Pg. 3). This created logic block is a target logic block used to determine a value because it is a software module generated for a specific piece of moving equipment and performs operations on its inputs. It would have been obvious before the effective filing date of the claimed invention to incorporate HUANG’s teaching of a logic block created for the equipment of a simulation model with PING’s method of simulating an automatic conveying line under PLC control. The reason for doing so would have been to give each moving module of PING’s 3D model a logic module that computes its behavior from defined inputs, rather than relying on individually set motion parameters and Boolean in places states, and to create such modules without repetitive manual editing. As expressed by HAUNG, creating the logic block from carried information means “… the steps of naming each pin, setting the data type, connecting the corresponding signal, defining the action and the parameter do not need to be manually performed, the workload of an engineer is reduced, and the working efficiency is improved.”. (Pg. 3) and “… logic block … can also be independently used for logic operations such as mathematics, time states and the like.”. (Pg. 3). PING and HUANG do not explicitly teach but NAGATANI teaches an actual distance for which the data model moves each time during the simulation process; and “… a value obtained by subtracting the previous position of the actuator 610 from the current position of the actuator 610 is assigned to a variable for the amount of displacement of the actuator 610.”. (0079). “… the movement of the workpiece can be simulated by adding the amount of displacement of the conveyer to the position of the workpiece. When the conveyor is being driven, the amount of displacement of the conveyer is calculated as a value obtained by multiplying the motion direction in the setting information by speed …”. (0105). This displacement value is the actual distance the model moves each time because it is recomputed on every call of the simulation as the change in the conveyor’s position since the previous call. It would have been obvious before the effective filing date of the claimed invention to incorporate NAGATANI’s teaching of calculating the amount of displacement on each call of the simulation with PING-HUANG’s simulated conveying line and logic block. The reason for doing so would have been to have the logic block compute a numeric amount the conveyor has moved in place of Boolean in place state. As expressed by NAGATANI, “Such a simple calculation can be processed with extremely less calculation loads than in other control processing performed within the controller 500A.”. (0099). PING, HUANG, and NAGATANI do not explicitly teach but SHANG teaches … in response to determining that the actual distance is the same as a target distance for which the conveying mechanism should move each time. “… belt conveyor described under displacement model with speed V1 at the uniform velocity conveying workpieces, until the total kilometres of workpiece reach To L, described belt conveyor stopping transport workpiece.”. (Pg. 2). “(0) PLC control system described in calculates the total kilometres of workpiece under displacement model.”. (Pg. 1). “One cycle of operation flow process is : System start-up velocity mode runs, interrupt processing operation is performed, start displacement refers to Make, interrupt speed command, synchronous mastery routine displacement commands execution, stop. Into next cycle of operation flow process.”. (Pg. 4). This stop condition stops when the actual distance equals a target distance for each time the conveyor moves because the PLC halts the belt at the moment the workpiece’s travel reaches the precomputed distance, and it repeats that for every workpiece cycle. It would have been obvious before the effective filing date of the claimed invention to incorporate SHANG’s teaching of stopping the conveyor when its travel reaches a target distance with PING-HUANG-NAGATANI’s simulated conveying line, logic block, and computed displacement. The reason for doing so would have been to have the combined system’s PLC stop the model on a numeric comparison of the computed distance against the target. As expressed by SHANG, “Accurate Position”. (Pg. 4) of the belt conveyor so that “Workpiece is a kind of on Belt Conveying band not to stop at a high speed roller …” positioning is achieved precisely (Pg. 2). Regarding Claim 5, PING, HUANG, and NAGATANI do not explicitly teach but SHANG teaches The virtual simulation method according to claim 1, wherein the target distance is determined based on process information of the conveying mechanism. “Wherein, L is the total kilometres of workpiece operation under displacement model, and L1 is the central point of described Fibre Optical Sensor to workpiece The distance between accurate position for stopping is needed, D1 is the light inlet diameter of described Fibre Optical Sensor, and V1 is belt conveyor The speed of service in velocity mode, t1 are described fiber amplifier from receiving the light that changes to producing rising edge Response time needed for signal, and L1, D1, V1 and t1 are the known quantity of described PLC control system. Under velocity mode in wherein described the step of (1), described belt conveyor is traveled at the uniform speed with the speed of V1. Parameter wherein in interrupt processing operation is existed by the total kilometres L and described belt conveyor of workpiece under displacement model Speed of service V1 under velocity mode is constituted. The parameter of wherein relative displacement control logic and instruction is given by described PLC control system …”. (Pg. 3). “… it is possible to accurately measure P1 center sensors point to P2 point length For L1 ; Sensor light inlet diameter D1, due to Fibre Optical Sensor need workpiece pass by Fibre Optical Sensor light inlet centre bit Put (i.e. the center of circle) and can just send signal, then servomotor 4 needs the stroke L=L1-D1/2-V1 × t1 of accurate operation …”. (Pg. 4). This target travel L is a target distance determined from process information of the conveying mechanism because it is computed from the conveyor’s stop position spacing, running speed, and sensor parameters, which are line’s process parameters stored in the PLC. Regarding Claim 6, PING, NAGATANI, and SHANG do not explicitly teach but HUANG teaches The virtual simulation method according to claim 1, wherein creating the target logic block comprises: obtaining a pre-packaged standard logic block for determining the actual distance for which the data model of the conveying mechanism moves each time during the simulation process; and “… adopting a pre-established standard template, arranging editing items such as input and output and data types, logic expressions, comments and the like of the template according to a fixed structure, and filling a small amount of related information on the pre-established standard template by an engineer according to actual conditions; the template edited in this step can be called for many times, thereby reducing the workload of engineers.”. (Pg. 4). “… the Excel table is commonly used for creating a universal logic block …”. (Pg. 4). “… the carried information includes one or more items of a logic block name, a pin name, a data type, a parameter, action logic, an expression, and a signal name to be connected.”. (Pg. 4). This pre-established standard template is pre-packaged standard logic block because it holds a logic block’s complete operational content, its pins, parameters, action logic and expressions, in a fixed structure prepared in advance and reused each time a logic block of that kind is needed. copying operational logic in the standard logic block to the data model to create the target logic block. “… reading the carried information of the project document; and creating a logic block according to the read carried information.”. (Abstract). “… the creation process of a plurality of logic blocks can be completed at one time by obtaining one project document and reading information of all sub-documents under the project document …”. (Pg. 4). “… the logic control module is used for adding a logic block to corresponding equipment with a motion joint …”. (Pg. 3). This generation of a logic block from the template’s carried information is copying the standard logic block’s operational logic to the data model because the action logic and expressions stored in the template are read out and reproduced in a new logic block attached to the equipment model, without being reentered. Regarding Claim 7, PING, NAGATANI, and SHANG do not explicitly teach but HUANG teaches The virtual simulation method according to claim 6, wherein copying the operational logic in the standard logic block to the data model to create the target logic block comprises: copying, by using a Copy LB Logic instruction, the operational logic in the standard logic block to the data model to create the target logic block. “… reading the carried information of the project document; and creating a logic block according to the read carried information.”. (Abstract). “… the creation process of a plurality of logic blocks can be completed at one time by obtaining one project document and reading information of all sub-documents under the project document …”. (Pg. 4). “… the logic control module is used for adding a logic block to corresponding equipment with a motion joint …”. (Pg. 3). This read and create operation is copying by using a Copy Logic instruction because it is a function of the simulation software that reproduces the logic stored in the standard template onto a new logic block, which is the definition laid out in the specification [0097], a “… logic block in the simulation software, and is used for copying operational logic in a specified logic block to a specified area.”. Regarding Claim 10, PING, NAGATANI, SHANG do not explicitly teach but HUANG teaches The virtual simulation method according to claim 1, further comprising, after creating the target logic block: determining whether the target logic block is created successfully; and “… after the logic block is determined to be completely created, a log is generated, wherein the log information comprises each input information, each output information and error information in the project document.”. (Pg. 3). “The log content can be displayed on a display terminal, and specifically, each created input and output and what signal connection each of the created input and output is connected with are displayed; if it fails, a pin naming error or other error is indicated for columns located in rows of the project document, so that the engineer can quickly determine where the problem is and resolve in time.”. (Pg. 4). This log determines whether the target logic block is created successfully because it is generated after the creation attempt and reports either the completed inputs, outputs and connections or the error that prevented completion. HUANG, NAGATANI, and SHANG do not explicitly teach but PING teaches in response to determining that the target logic block is not created successfully, redefining an attribute of the virtual conveying line. “… comparing, data matching and updating the motion parameter feedback signals of the OpenGL simulation software with actual equipment-level sensor signals collected by a PLC (programmable logic controller).”. (Pg. 4). “… PLC and subjected to feedback mapping by the simulation software is completely replaced by real feedback information of various sensors such as a slave station device, a proximity switch, a photoelectric switch, a magnetic switch and the like of a bus of the actual project site. And feeding back the acquired equipment-level real-time signals to the simulation software to perform motion correction of the three-dimensional simulation motion module, so as to realize accurate synchronous operation of the three-dimensional simulation production line and the actual production line.”. (Pg. 6). “… the motion parameters of the modules are all realized in a variable mode when being set. The motion simulation of the three-dimensional models can be realized by changing the values of the variables …”. (Pg. 5). This motion correction is redefining an attribute of the virtual conveying line in response to the block not being created successfully because the art compares the motion the simulation module computes against reference signals and, where they do not match, updates the module’s motion parameters, which are the variables that define the conveying line’s path and a block whose computed motion fails that comparison is one that is not “created successfully”. Regarding Claim 11, PING, HUANG, and NAGATANI do not explicitly teach but SHANG teaches The virtual simulation method according to claim 1, further comprising: determining a speed of a servo motor based on process information of the conveying mechanism; and “… described servomotor drives described belt conveyor to operate in velocity mode Under …”. (Pg. 1). “… under the velocity mode in described step (1), described belt conveyor is with the speed of V1 Travel at the uniform speed.”. (Pg. 1). “… V1 is belt conveyor The speed of service in velocity mode, t1 are described fiber amplifier from receiving the light that changes to producing rising edge Response time needed for signal, and L1, D1, V1 and t1 are the known quantity of described PLC control system.”. (Pg. 3). This speed V1 is a servo motor speed determined from process information of the conveying mechanism because it is the running speed at which the servo drives the belt, held in the PLC as one of the line’s known operating parameters alongside the stop pacing and sensor response time. HUANG, NAGATANI, and SHANG do not explicitly teach but PING teaches during the simulation process, setting a movement speed of the data model of the conveying mechanism to be the speed of the servo motor. “… the control variables in the PLC are mapped to the dynamic motion parameters of each three-dimensional model in the simulation software by a data mapping method, so as to realize the real-time motion of the three-dimensional model following the PLC program logic. These motion parameters include: module motion relative point settings, module motion speed, module motion pattern (along X-axis, along Y-axis, along Z-axis, along a spatial curve), module motion relative distance, etc.”. (Pg .6). “… the states of all the slave stations (servo, IO and other devices with slave stations) are set to be virtual states, all data required by the operation of the PLC are not required to be acquired from actual physical slave stations but acquired from virtual three-dimensional models …”. (Pg. 5). The PLC’s speed variable to the model’s “module motion speed” is setting the model’s movement speed to the servo speed during simulation because the PLC’s speed command is the value that would drive the servo, the servo is one of the stations replaced by the model, and the model moves at whatever speed the PLC writes into that parameter while the simulation runs. Regarding Claim 12 recites substantially the same limitations as claim 1 except the claim is directed to a “An electronic device, comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions, when executed by the at least one processor, cause the at least one processor to perform the virtual simulation method according to claim 1.”, that is taught by PING “… in seamless combination with Visual C + + object-oriented programming software, various simulation algorithms can be embedded, so that real-time control over a three-dimensional model is realized.”. (Pg. 5). “… the communication between a server and a client (simulation software) is mainly realized. The TCP/IP Protocol (Transmission Control Protocol/Internet Protocol) is the most basic Protocol of the Internet, and from the viewpoint of a Protocol layer model, the TCP/IP Protocol can be divided into four layers, which include: a network interface layer, a network layer, a transport layer, and an application layer. Where the application layer protocol is where the TCP/IP protocol suite interfaces with an application or process on the host, it is also referred to as the processing layer. Protocols at this layer include HTTP protocol for accessing Web pages, Telnet protocol for remote login, FTP protocol for transferring files, and SMTP protocol for sending mails. The embodiment of the invention adopts a client/server mode (C/S)”. (Pg. 6). This simulation software client is an electronic device with a processor and memory storing executable instructions. Therefore, the claim is rejected for the same rationale as addressed above. Regarding Claim 13 recites substantially the same limitations as claim 1 except the claim is directed to a “A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the virtual simulation method according to claim 1 is implemented.”, that is taught by PING. “… in seamless combination with Visual C + + object-oriented programming software, various simulation algorithms can be embedded, so that real-time control over a three-dimensional model is realized.”. (Pg. 5). “… the communication between a server and a client (simulation software) is mainly realized. The TCP/IP Protocol (Transmission Control Protocol/Internet Protocol) is the most basic Protocol of the Internet, and from the viewpoint of a Protocol layer model, the TCP/IP Protocol can be divided into four layers, which include: a network interface layer, a network layer, a transport layer, and an application layer. Where the application layer protocol is where the TCP/IP protocol suite interfaces with an application or process on the host, it is also referred to as the processing layer. Protocols at this layer include HTTP protocol for accessing Web pages, Telnet protocol for remote login, FTP protocol for transferring files, and SMTP protocol for sending mails. The embodiment of the invention adopts a client/server mode (C/S)”. (Pg. 6). This simulation software client is computer program stored on memory storing executable instructions that are executed by a computer processor. Therefore, the claim is rejected for the same rationale as addressed above. Claim 2 is rejected under 35 U.S.C 103 as being unpatentable over CN 111797521 A by PING et al [herein “PING”] (2020), CN 111459101 A by HUANG et al [herein “HUANG”] (2020), US10363645B2 by NAGATANI et al [herein “NAGATANI”] (2018), CN 106564741 A by SHANG et al [herein “SHANG”] (2017), and WO 2020203016 A1 by YASUI et al [herein “YASUI”] (2020). Regarding Claim 2, PING, NAGATANI, and SHANG do not explicitly teach but HUANG teaches The virtual simulation method according to claim 1, wherein the target logic block is used to determine the actual distance for which the data model moves each time during the simulation process … “… reading the carried information of the project document; and creating a logic block according to the read carried information.”. (Abstract). “… is used for adding a logic block to corresponding equipment with a motion joint, can realize complex motion effect and play a role in controlling the motion of the relevant equipment, and can also be independently used for logic operations such as mathematics, time states and the like.”. (Pg. 3). This logic block is used to determine a value because it performs mathematical operations on its inputs for the equipment it is attached to. PING, HUANG, NAGATANI, and SHANG do not explicitly teach but YASUI teaches … based on the target distance for which the conveying mechanism should move each time and a cumulative movement distance of the data model during the simulation process. “Spindle reference position = Floor ((spindle current position-spindle position at cam synchronization) ÷ end point phase) x end point phase + spindle position at cam synchronization ... (1)”. (Pg. 3). “The current position of the spindle in the equations (1) and (2) is the position of the spindle acquired from the servo system 20. The floor is a floor function.”. (Pg. 3). “… the return control unit 14 that has started this return control process first receives the spindle reference position and the slave axis reference position from the reference position storage unit 12. Is read (step S101). Next, the return control unit 14 acquires the current position of the spindle from the servo system 20 and calculates the current phase of the spindle by subtracting the spindle reference position from the acquired current position of the spindle (step S102)”. (Pg. 3). This current phase is a distance determined based on a per cycle target distance and a cumulative movement distance because it is computed from the spindle’s accumulated position and the end point phase, which is the fixed amount the spindle travels in each cam cycle. It would have been obvious before the effective filing date of the claimed invention to incorporate YASUI’s teaching of computing a per cycle position from an accumulated axis position from an accumulated axis position and a per cycle length with PING-HUANG-NAGATANI-SHANG’s simulated conveying line, logic block, computed displacement, and target distance stop. The reason for doing so would have been to have the logic block report the distance moved within the current cycle rather than the total, which is the value stop test compares against the target. As expressed by YASUI, “300 and 150 are calculated as the spindle reference position and the slave axis reference position, respectively, by the calculation shown in the figure.” (Pg. 3). Claim 4 is rejected under 35 U.S.C 103 as being unpatentable over CN 111797521 A by PING et al [herein “PING”] (2020), CN 111459101 A by HUANG et al [herein “HUANG”] (2020), US10363645B2 by NAGATANI et al [herein “NAGATANI”] (2018), CN 106564741 A by SHANG et al [herein “SHANG”] (2017), WO 2020203016 A1 by YASUI et al [herein “YASUI”] (2020), and US10353383B2 by MARUNO et al [herein “MARUNO”] (2017). Regarding Claim 4, PING, HUANG, NAGATANI, SHANG, and YASUI do not explicitly teach but MARUNO teaches The virtual simulation method according to claim 2, wherein the cumulative movement distance is measured based on a distance sensor provided on the data model side of the conveying mechanism. “The system model emulator 190 also outputs information indicating the position or displacement of the conveyor to the controller simulator 160 in a manner associated with the movement of the conveyor. In one example, the system model emulator 190 may output the encoder value indicating a displacement from a reference position, or may generate pulses proportional to a movement of the conveyor per unit time. In this case, the encoder value indicates the position of the conveyor …”. (0090). “The simulator 100 (system model emulator 190) then updates the encoder value of the conveyor to the predetermined value corresponding to the end of the first cycle of simulation and also updates the position of each workpiece placed on the transporting surface of the conveyor …”. (0103). This emulated encoder is a distance sensor on the data model side of the conveying mechanism because it belongs to the simulated conveyor rather than to the controller, and its value is the conveyor’s displacement from a reference position, which is the cumulative movement distance. It would have been obvious before the effective filing date of the claimed invention to incorporate MARUNO’s teaching of an emulated encoder on the simulated conveyor with PING-HUANG-NAGATANI-SHANG-YASUI’s simulated conveying line, logic block, computed displacement, and per cycle distance computation. The reason for doing so would have been to supply the accumulated position that YASUI’s computation takes as its input from the simulation. As expressed by MARUNO, “… the encoder value indicating a displacement from a reference position or may generate pulses proportional to a movement of the conveyor …” (0090). Claim 8 is rejected under 35 U.S.C 103 as being unpatentable over CN 111797521 A by PING et al [herein “PING”] (2020), CN 111459101 A by HUANG et al [herein “HUANG”] (2020), US10363645B2 by NAGATANI et al [herein “NAGATANI”] (2018), CN 106564741 A by SHANG et al [herein “SHANG”] (2017), and US10353383B2 by MARUNO et al [herein “MARUNO”] (2017). Regarding Claim 8, PING, HUANG, NAGATANI, and SHANG do not explicitly teach but MARUNO teaches The virtual simulation method according to claim 1, further comprising, after creating the virtual conveying line according to the data model: setting an offset between the virtual conveying line and a pallet according to an allowable error range, “… a predetermined range from the transporting surface of the conveyor 240 is defined as a landing detection height …”. (0063). “The landing detection height may be set freely in accordance with the system (application) to be simulated. In this case, the simulator 100 may include an input unit for receiving the setting of the landing detection height (the size of the predetermined range within which workpiece landing is to be detected).”. (0123). “The height of this area is determined in accordance with the accuracy in position management for the system model. [0128] The margin is set for the landing detection height to prevent an erroneous determination in determining whether the workpiece has contacted the conveyor (contact detection), or specifically to prevent a workpiece released from the robot at a position nearly contacting the conveyor from being determined not to contact the conveyor. ”. (0127-0128). This landing detection height is an offset set according to an allowable error range because it is a user defined distance from the conveyors transport path whose size is chosen from the position accuracy of the model, so that an object placed slightly off the path is still treated as on it. It would have been obvious before the effective filing date of the claimed invention to incorporate MARUNO’s teaching of an emulated encoder on the simulated conveyor with PING-HUANG-NAGATANI-SHANG’s simulated conveying line, logic block, computed displacement, and per cycle distance computation. The reason for doing so would have been to have a pallet that is placed near with an offset error range. As expressed by MARUNO, “The height of this area is determined in accordance with the accuracy in position management for the system model.” (0127). so that when a distance between the virtual conveying line and the pallet is within the offset, the pallet moves along with the data model of the conveying mechanism. “When the robot tool 216 arranged at the end of the robotic arm 214 releases the workpiece 232 with its part being within the range of the landing detection height, the workpiece 232 is determined to have landed on the conveyor 240. The workpiece 232 is then moved in synchronization with the conveyor 240.”. (0063). “The simulator 100 determines whether the calculated distance from the conveyor to the bottom of the workpiece is equal to or less than a predetermined landing detection height (step S2805)”. (0117). “… the workpiece 232 moves in synchronization with the advancing conveyor 240, although the workpiece 232 is not in contact with the conveyor 240.”. (0065). This synchronized movement is the pallet moving along with the conveying mechanisms model when within the offset because the simulator tests the object’s distance from the conveyor against the set height and, when the distance is within it, moves the object with the conveyor even though the two are not in contact. Claim 9 is rejected under 35 U.S.C 103 as being unpatentable over CN 111797521 A by PING et al [herein “PING”] (2020), CN 111459101 A by HUANG et al [herein “HUANG”] (2020), US10363645B2 by NAGATANI et al [herein “NAGATANI”] (2018), CN 106564741 A by SHANG et al [herein “SHANG”] (2017), and US20210141870A1 by McGREGOR et al [herein “McGREGOR”] (2021). Regarding Claim 9, PING, HUANG, NAGATANI, and SHANG do not explicitly teach but McGREGOR teaches The virtual simulation method according to claim 1, wherein creating the virtual conveying line according to the data model comprises: determining an actual position of the data model of the conveying mechanism; and “… a user can interact with the interface display 602 to select a “straight conveyor” option from the Conveyor's drop-down selection 632 in the aspect toolbar 604, then select the representation of the conveyor 612 in the CAD representation 608 (the visualization of the mechanical model 402.”. (0056). “… conveyor can include definitions for a leading edge 614 and a trailing edge 616 of the conveyor 612, which may be automatically identified by aspect metadata component 208 based on the shape of the mechanical conveyor representation to which the conveyor aspect is assigned, or may be explicitly identified by the user …”. (0057). This selection of the conveyors representation in the CAD model, from which the system locates its leading and trailing edges, determines an actual position of the conveying mechanisms data model because it fixes where in the three-dimensional model the conveyor sits before its conveying behavior is defined. It would have been obvious before the effective filing date of the claimed invention to incorporate McGREGOR’s teaching of labeling a located portion of the conveyor model with a conveyor aspect with PING-HUANG-NAGATANI-SHANG’s simulated conveying line, logic block, and computed displacement. The reason for doing so would have been to define the conveying path directly from where the conveyor’s actual position resides. As expressed by McGREGOR, “… the mechanical CAD model into a dynamic digital twin that can be exported to a simulation and testing platform.” (Abstract). creating the virtual conveying line on the data model of the conveying mechanism based on the actual position, and defining an attribute of the virtual conveying line to be a conveyor type. “… a portion of the CAD representation 608 representing a conveyor 612 is to be labeled as with a “straight conveyor” aspect, identifying this component of the mechanical model 402 as a conveyor and associating simulation metadata with the representation of the conveyor …”. (0056). “This mechatronic metadata defines the behavior (e.g., movements, speeds, forces, etc.) of the selected element within the context of a virtual simulation, transforming the mechanical CAD model into a dynamic digital twin that can be exported to a simulation and testing platform.”. (Abstract). “… receive aspect specification input data that labels selected elements of the 3D mechanical model as being specified aspects of the industrial automation system … assign aspect metadata to the selected elements … the aspect metadata defining simulation behaviors of the selected elements to yield a digital twin …”. (0003). This leading edge to trailing edge definition applied to the conveyor element is a virtual conveying line on the data model with a conveyor type attribute because it is a conveying path laid onto the conveyor’s own geometry at its location and the “straight conveyor” assigned to is the attribute that makes the simulation treat that path as a conveyor. Claims 14-16 are rejected under 35 U.S.C 103 as being unpatentable over CN 111797521 A by PING et al [herein “PING”] (2020), CN 111459101 A by HUANG et al [herein “HUANG”] (2020), and CN 106564741 A by SHANG et al [herein “SHANG”] (2017). Regarding Claim 14, PING teaches A virtual simulation method for a conveying mechanism, comprising: sending to an electronic device a target distance for which the conveying mechanism should move each time; “… the control variables in the PLC are mapped to the dynamic motion parameters of each three-dimensional model in the simulation software by a data mapping method, so as to realize the real-time motion of the three-dimensional model following the PLC program logic. These motion parameters include: module motion relative point settings, module motion speed, module motion pattern (along X-axis, along Y-axis, along Z-axis, along a spatial curve), module motion relative distance, etc.”. (Pg. 6). “… the motion parameters of the modules are all realized in a variable mode when being set. The motion simulation of the three-dimensional models can be realized by changing the values of the variables through the PLC.”. (Pg. 5). “… the PLC communication protocol is communicated with a network. The PLC communication protocol mainly solves the data interaction between the PLC and the network communication server, and the network communication mainly solves the data interaction between the network communication server and the network communication client (simulation software), so that the communication between the PLC and the simulation software is realized through the PLC communication protocol and the network communication.”. (Pg. 5). This shows the PLC’s module motion relative distance variable into the simulation software’s model is sending a target distance to an electronic device because the PLC writes the distance the conveying line module is to move into the computer running the simulation, and the module then moves by that amount each time the PLC commands a motion. receiving an actual distance for which the conveying mechanism moves each time during a simulation process and that is sent by the electronic device, “… feedback variable data of the OpenGL simulation software to the PLC are mapped …”. (Pg. 4). “… the virtual reality technology is used to replace various sensors, detection mechanisms, and the like on the actual production line site to obtain the motion states of the three-dimensional model, and then the motion states are fed back to the PLC to realize the closed-loop control, where the motion states of the three-dimensional model include: whether the motor is rotated, whether the cylinder is pushed out in place, whether the tray moves in place and the like.”. (Pg. 6). This feedback of the model’s motion states from the simulation software to the PLC is receiving a value sent by the electronic device because the PLC obtains from the simulation computer a measure of how the model has moved, in place of the sensor signal it would receive from the real line. the electronic device creates a virtual conveying line according to an obtained data model of the conveying mechanism, so that the data model is movable along the virtual conveying line during the simulation process; and “… carrying out simulation modeling on the automatic production line based on OpenGL simulation software to obtain a three-dimensional model of the automatic production line …”. (Pg. 1). “… module motion relative point settings, module motion speed, module motion pattern (along X-axis, along Y-axis, along Z-axis, along a spatial curve), module motion relative distance, etc.”. (Pg. 5). “… so as to realize the real-time motion of the three-dimensional model following the PLC program logic.”. (Pg. 6). This 3D model and its defined motion path are a data model of the conveying mechanism and a virtual conveying line body’s model and establishes the path along which it travels when the simulation runs. controlling the data model to stop moving. “… mapping control variables in the PLC to dynamic motion parameters of a three-dimensional model in OpenGL simulation software to realize real-time motion of the three-dimensional model along with PLC program logic; after the three-dimensional model moves along with the PLC program logic in real time, the motion state of the three-dimensional model is obtained and then fed back to the PLC to realize closed-loop control.”. (Pg. 4). “Although data required by the PLC operation is virtual, programs and logic are real …”. (Pg. 5). This shows control of the model’s motion by the PLC controlling the data model to stop moving via motion parameters. PING does not explicitly teach but HUANG teaches wherein the actual distance is determined by a target logic block created by the electronic device, and “… creating a logic block according to the read carried information.”. (Abstract). “… the logic control module is used for adding a logic block to corresponding equipment with a motion joint, can realize complex motion effect and play a role in controlling the motion of the relevant equipment, and can also be independently used for logic operations such as mathematics, time states and the like.”. (Pg. 3). This logic block created in the simulation software is a target logic block created by the electronic device that determines the actual distance because it is a software module generated on the simulation computer that performs mathematical operations on the inputs. It would have been obvious before the effective filing date of the claimed invention to incorporate HUANG’s teaching of a logic block created for the equipment of a simulation model with PING’s method of simulating an automatic conveying line under PLC control. The reason for doing so would have been to give each moving module of PING’s 3D model a logic module that computes its behavior from defined inputs, rather than relying on individually set motion parameters and Boolean in places states, and to create such modules without reparative manual editing. As expressed by HAUNG, creating the logic block from carried information means “… the steps of naming each pin, setting the data type, connecting the corresponding signal, defining the action and the parameter do not need to be manually performed, the workload of an engineer is reduced, and the working efficiency is improved.”. (Pg. 3) and “… logic block … can also be independently used for logic operations such as mathematics, time states and the like.”. (Pg. 3). PING and HUANG do not explicitly teach but SHANG teaches in response to determining that the actual distance is the same as the target distance, “(3.2) belt conveyor described under displacement model with speed V1 at the uniform velocity conveying workpieces, until the total kilometres of workpiece reach To L, described belt conveyor stopping transport workpiece.”. (Pg. 2). “One cycle of operation flow process is : System start-up velocity mode runs, interrupt processing operation is performed, start displacement refers to Make, interrupt speed command, synchronous mastery routine displacement commands execution, stop. Into next cycle of operation flow process.”. (Pg. 4). This stop condition is a determination that the actual distance is the same as the target distance because the PLC halts the belt at the moment the workpiece travel reaches the target distance for the cycle and repeats that for every cycle. It would have been obvious before the effective filing date of the claimed invention to incorporate SHANG’s teaching of stopping the conveyor when its travel reaches a target distance with PING-HUANG’s simulated conveying line, logic block, and computed displacement. The reason for doing so would have been to have the combined system’s PLC stop the model on a numeric comparison of the computed distance against the target. As expressed by SHANG, “Accurate Position”. (Pg. 4) of the belt conveyor so that “Workpiece is a kind of on Belt Conveying band not to stop at a high speed roller …” positioning is achieved precisely (Pg. 2). Regarding Claim 15, recites substantially the same limitations as claim 14 except the claim is directed to a A PLC, comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions, when executed by the at least one processor, cause the at least one processor to perform the virtual simulation method according to claim 14. , that is taught by PING “Although data required by the PLC operation is virtual, programs and logic are real, and an electrical developer can verify the correctness of a written PLC program through the PLC virtual simulation operation.”. (Pg. 5). “… is matched with OpenGL simulation software to carry out simulation debugging, and directly downloads the modified PLC program to the PLC in the actual operation environment after the simulation debugging is finished.”. (Pg. 3). This PLC uses a processor and memory storing executable instructions, that executes a downloaded control program coupled with a processor carrying out that program’s instructions from memory and the program it executes is the PLC side simulation. Regarding Claim 16, recites substantially the same limitations as claim 14 except the claim is directed to a A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the virtual simulation method according to claim 14 is implemented. , that is taught by PING “… programs and logic are real, and an electrical developer can verify the correctness of a written PLC program through the PLC virtual simulation operation.”. (Pg. 5). “… directly download the modified PLC programs into the PLC of an actual operation environment after an expected process decision or an optimized upgrading effect is achieved …”. (Pg. 7). “… software to carry out simulation debugging, and directly downloads the modified PLC program to the PLC in the actual operation environment after the simulation debugging is finished …”. (Pg. 4). This PLC program is a computer program stored on a storage medium that is then executed on a processor on a PLC. Allowable Subject Matter Claim 3 would be allowable if rewritten in independent form including all the limitations of the base claim and any intervening claims, and if rejections under 35 U.S.C 101 set forth in this office action are overcome. The following is a statement of reasons for the indication of allowable subject matter: PING CN 111797521 A teaches building a 3D model of an automatic production line, with motion parameters that are variables written by a real PLC, with the model’s motion fed back. HUANG CN 111459101 A teaches automatically creating a logic block for a piece of moving equipment in the simulation software from a standard template. NAGATANI US 10363645 teaches a simulation that computes the conveyor’s displacement as the difference between its current and previous position. SHANG CN 106564741 A teaches a PLC that runs a conveyor and stops the conveyor when it reaches a target distance repeated per cycle. For claim 3, none of the prior art on record, either or alone in combination, teaches the limitation “wherein the target logic block is used to calculate the actual distance for which the data model moves each time during the simulation process, according to following formula: D=Con_Pos−(RoundDown(Con_Pos÷(Target_Pos+1))*Target_Pos) wherein D is the actual distance, Con_Pos is the cumulative movement distance of the data model, and Target_Pos is the target distance. ”, in combination with the remaining limitations of the claim. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US9679405B2 teaches an apparatus having a control unit configured to perform a simulation of a control program executed in a controller that controls motion of a machine that manipulates an object. US5631531A teaches an apparatus for synchronously controlling the actual operation of a machine using one or more motors, such as servo motors, by simulating in program form a combination of selectable machine mechanisms, including drivers, connecting shafts, clutches, gears and cams. Each such machine mechanism is represented by a virtual mechanism. Any inquiry concerning this communication or earlier communications from the examiner should be directed to NARCISO EDUARDO MONTES whose telephone number is (571)272-5773. The examiner can normally be reached Mon-Fri 8-5. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, REHANA PERVEEN, can be reached at (571) 272-3676. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /N.E.M./Examiner, Art Unit 2189 /REHANA PERVEEN/Supervisory Patent Examiner, Art Unit 2189
Read full office action

Prosecution Timeline

Aug 09, 2023
Application Filed
Sep 21, 2026
Non-Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12743564
FRAMEWORK FOR BLOCKCHAIN DEVELOPMENT
4y 9m to grant Granted Sep 22, 2026
Patent 12716948
BATTERY SIMULATOR
3y 11m to grant Granted Aug 25, 2026
Patent 12627935
DEEP LEARNING-BASED METHOD FOR ACOUSTIC FEEDBACK SUPPRESSION IN CLOSED-LOOP SYSTEM
3y 8m to grant Granted May 12, 2026
Study what changed to get past this examiner. Based on 3 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
50%
Grant Probability
50%
With Interview (+0.0%)
4y 0m (~11m remaining)
Median Time to Grant
Low
PTA Risk
Based on 8 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month