DETAILED ACTION
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 . This action is made final.
Claims 1-10 filed on 06/19/2026 have been reviewed and considered by this office action.
Claims 1-4 have been amended.
Claims 5-10 have been newly added.
Response to Arguments
In light of the amendments made emphasizing the intended scope of the parallel subperiods, the consecutive subperiods, and the generating function of independent claims 1, 3 and 4, in addition to the remarks presented on pages 10 and 11 of the Amendment addressing the substantive amendments made, the intended scope of independent claims 1, 3, and 4 has been clarified and, therefore, the instant action is a Final Office Action as substantive amendments have been presented.
Applicant’s arguments filed 06/19/2026 regarding the double patenting and 35 U.S.C. § 103 rejections have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Regarding the rejections under 35 U.S.C. § 101, Applicant asserts that the claimed invention represents an improvement in technology and constitutes a practical application. Examiner respectfully disagrees. The claims recite reading an action chart, converting element actions on the action chart into program elements, and combining the program elements in an order of subperiods. This constitutes organization and manipulation of information that can be practically performed in the human mind or by a human using pen and paper as a physical aid. Applicant contends that the claims integrate the abstract idea into a practical application because the claims are recited in the context of an automated manufacturing machine having actuators.
However, the claims generate control program information, but do not recite executing the generated control program, driving any actuator based on the generated control program, or changing operation of the automated manufacturing machine based on the generated control program. In particular, the claims do not control the actuators, modify operation of the system, or otherwise use the generated control program in a manner that improves the functioning of the system. Accordingly, Applicant’s arguments are not persuasive since the claimed invention does not reflect an improvement to a technology, but rather generates information for a control program for a system. Claiming how the generated information is used may be helpful in demonstrating integration into a practical application.
Specification
The amendment to the title filed on 06/19/2026 has been reviewed and is considered acceptable.
Claim Objections
Claim 7 is objected to because of the following informalities:
Claim 7 recites “the control program generation method according to claim 4” while claim 4 recites “a non-transitory computer-readable storage medium”
Appropriate correction is required.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1, 3, and 4 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 5, and 6 of U.S. Patent No. 12,174,614 B2 (reference patent), in view of Yogo (JP 6829505 B1) (Note: a machine translation is used for mapping, attached to this action), in view of Hanssen (Programmable logic controllers: a practical approach to IEC 61131-3 using CODESYS. John Wiley & Sons, 2015).
The claims of the instant application and the claims of the reference patent are compared in the table below.
18/539,412
US 12,174,614 B2
1. An automated manufacturing machine comprising: a plurality of actuators;one or more processors;
1. A control program generation apparatus for generating a control program for an automated manufacturing machine including a plurality of actuators, the apparatus comprising:
an element action storage storing a plurality of element actions in a manner associated with a plurality of program elements to perform the plurality of element actions, each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of a degree of freedom of the corresponding actuator by a specified displacement;
an element action storage storing a plurality of element actions each indicating an action with an inherent degree of freedom of a corresponding actuator of the plurality of actuators, the plurality of element actions being associated with a plurality of program elements to perform the plurality of element actions;
wherein the one or more processors are configured to read an action chart describing an operation of the automated manufacturing machine, the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including the plurality of element actions included in the operation of the automated manufacturing machine, each of the plurality of element actions being assigned to a corresponding subperiod of the plurality of subperiods; and
an action chart reader configured to read an action chart describing an operation of the automated manufacturing machine, the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including the plurality of element actions included in the operation of the automated manufacturing machine, the plurality of element actions being assigned to the plurality of subperiods; and
the one or more processors are configured to generate the control program to cause the automated manufacturing machine to operate by combining together, in an order of the plurality of subperiods on the action chart, the plurality of program elements for the plurality of element actions assigned to the plurality of subperiods on the action chart
a control program generator configured to generate the control program to cause the automated manufacturing machine to operate by combining together, in an order of the plurality of subperiods on the action chart, the plurality of program elements for the plurality of element actions assigned to the plurality of subperiods on the action chart
Regarding claim 1, claim 1 of the reference application recites all of the limitations of claim 1 of the instant application except “the action chart to be read by the one or more processors includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided ,
each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators ,
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator , and
the one or more processors generates the control program by combining together, in an order of the second number of parallel subperiods , program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the second number of parallel subperiods in the parallelized processing portion , and combining together, in an order of the first number of consecutive subperiods , program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the first number of consecutive subperiods in the parallelized processing portion.”
Regarding claim 1, Yogo teaches each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators ([0057]: “if the actuator 10 is to perform basic operations during partial periods 4 and 8, the basic operations to be performed by the actuator 10 will be described at the coordinate positions corresponding to actuator number 1 and partial period number 4, and at the coordinate positions corresponding to partial period number 8”),
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator ([0057]: “the basic operation of actuator 10 is described in the horizontal area corresponding to actuator number 1 on the YOGO chart, the basic operation of actuator 11 is described in the horizontal area corresponding to actuator number 2, and so on”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to adapt the reference patent to incorporate the teachings of Yogo so as to include each of the second number of parallel subperiods in the parallelized processing portion being assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators and each of the first number of consecutive subperiods in the parallelized processing portion being assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator. Doing so would allow actions to be assigned to corresponding actuators with the aim of reducing the difficulty of developing automated control programs for manufacturing machines (Yogo, [0009]: “This invention was made to solve the aforementioned problems of the conventional technology, and aims to provide a technology that can significantly reduce the time required to develop new automated manufacturing machines by automatically generating control programs for automated manufacturing machines”).
Yogo does not explicitly teach the parallelized processing portion.
Hanssen further teaches the action chart to be read by the one or more processors includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided (Page 311, Section 12.2.3: “It is also possible to activate parallel branches in SFC, that is, branches that will be executed in parallel with each other. This branching does not need to contain an equal number of steps, but the branches are activated simultaneously and are terminated simultaneously”; Figure 12.4 and Example 12.3: “we want the stirring to take place in parallel with filling, heating, and emptying”),
the one or more processors generates the control program by combining together, in an order of the second number of parallel subperiods (Page 308, Section 12.2: “Small horizontal lines are entered between steps. These mark the transitions. These determine when and where the PLC will continue carrying out the code. When the transition is complete, the step before the transition is deactivated and the step after the transition is activated”; Page 312, Section 12.2.3: “Also note that parallel branches are executed independently of each other before they reach the convergence point”), program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the second number of parallel subperiods in the parallelized processing portion (Page 311, Section 12.2.3: “It is also possible to activate parallel branches in SFC, that is, branches that will be executed in parallel with each other”; Page 312, Section 12.3: “One or more actions can be associated with each individual step”), and combining together, in an order of the first number of consecutive subperiods (Page 307, Section 12.2: “Transitions contain conditions that must be satisfied in order for the control to proceed from one state to the next”), program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the first number of consecutive subperiods in the parallelized processing portion (Page 307, Section 12.2: “Actions are associated with the individual steps and define events and instructions that are to be performed in the individual process phases”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to adapt the reference patent in view of Yogo to incorporate the teachings of Hanssen so as to include the parallelized processing portion. Doing so would allow an action chart to use a parallelized branch structure with the aim of making the sequence easier to structure (Hanssen, Page 309, Section 12.2: “It is this neat and elegant way of programming sequences that should make SFC a clear first choice in many PLC applications”).
Aside from minor stylistic and grammatical differences, claims 3 and 4 of the instant application have substantially similar limitations as claims 5 and 6 of the reference patent, respectively, and are therefore rejected on the same premises.
Claims 2 and 8-10 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 5, and 6 of U.S. Patent No. 12,174,614 B2 (reference patent), ), in view of Yogo (JP 6829505 B1), in view of Hanssen, and in view of Sadre et al. (US 5,485,620 A).
Regarding claim 2, claim 2 of the instant application depends on claim 1 and therefore includes the limitations of claim 1. Claim 2 therefore also recites similar limitations as claim 1 of the reference patent in view of Yogo and Hanssen. Claim 2 recites the additional limitations, “wherein the one or more processors reads a local chart, the local chart includes the second number of parallel subperiods in the parallelized processing portion on the action chart and is separate from the action chart, and the local chart includes the element action of the selected actuator being at least one selected actuator assigned to each of the second number of parallel subperiods in the parallelized processing portion, and the action chart to be read by the one or more processors includes a local chart identifier specific to the local chart, and the local chart identifier is assigned to the parallelized processing portion on the action chart,” which Yogo does not explicitly teach.
Hanssen further teaches wherein the one or more processors reads a local chart, the local chart includes the second number of parallel subperiods in the parallelized processing portion on the action chart and is separate from the action chart (Page 106, Section 4.5.3.1: “Every macro‐step, at any rate, can consist of several ordinary steps so that they constitute their own small sequences within the main sequence. Figure 4.12 shows a sketch of the principle of using macro‐steps”; Page 325, Section 12.7: “you will have an overall sequence with several subsequences, one for each macro-step… You need a parallel branch if there are two or more branches to be traversed simultaneously”), and
the local chart includes the element action of the selected actuator being at least one selected actuator assigned to each of the second number of parallel subperiods in the parallelized processing portion (Page 312, Section 12.3: “One or more actions can be associated with each individual step”).
The reasons to combine Hanssen with the reference patent in view of Yogo are the same as articulated in the rejection of claim 1 above.
Yogo and Hanssen do not explicitly teach “the action chart to be read by the one or more processors includes a local chart identifier specific to the local chart, and the local chart identifier is assigned to the parallelized processing portion on the action chart.”
Sadre further teaches the action chart to be read by the one or more processors includes a local chart identifier specific to the local chart (Col. 16, Line 41: “each SFC+ step box may be given a name”), and
the local chart identifier is assigned to the parallelized processing portion on the action chart (Col. 26, Lines 46-49: “macro step 272a (Advance Slide) in FIG. 33 contains a subordinate SFC+ which specifies the details of the advance slide function. The subordinate SFC+ begins executing when the macro step is activated”; Col. 16, Lines 64-66: “the Program Execution subsystem will also continue executing any SFC+ steps in the parent SFC+ which are activated in parallel with the macro step”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to adapt the reference patent in view of Yogo and Hanssen to incorporate the teachings of Sadre so as to include the action chart to be read by the one or more processors including a local chart identifier specific to the local chart, and the local chart identifier being assigned to the parallelized processing portion on the action chart. Doing so would allow separation of local chart data from main chart data with the aim of keeping control logic readable (Col. 13, Lines 37-44: “inside the step boxes 122 (see FIGS. 9a, 9b and 9c). The sequential program statements appear prominently in the step boxes, and are not 'buried' with the continuous programs. With such an enhanced SFC (also referred to as 'SFC+') the sequential flow of execution inside of each step is easily visualized together with the sequencing between steps”; Col. 13, Lines 53-65: “Because of the above features the SFC+ is more compact and readable, than the standard Sequential Function Chart”).
Regarding claim 8, Yogo in view of Hanssen teaches the automated manufacturing machine according to claim 1.
Regarding claim 8, claim 8 of the instant application depends on claim 1 and therefore includes the limitations of claim 1. Claim 8 therefore also recites similar limitations as claim 1 of the reference patent in view of Yogo and Hanssen. Claim 8 recites the additional limitations, “wherein the one or more processors are further configured to: separate the action chart into a main chart including the first number of consecutive subperiods and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion; generate main intermediate data from the main chart and local intermediate data from the local chart; and convert the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program,” which Yogo does not explicitly teach.
Hanssen further teaches wherein the one or more processors are further configured to: separate the action chart into a main chart including the first number of consecutive subperiods (Page 307, Section 12.1.1: “SFC can be used to partition (divide up) control-tasks in the same way as topdown design of programs”) and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion (Page 106, Section 4.5.3.1: “Every macro‐step, at any rate, can consist of several ordinary steps so that they constitute their own small sequences within the main sequence. Figure 4.12 shows a sketch of the principle of using macro‐steps”; Page 325, Section 12.6: “you will have an overall sequence with several subsequences, one for each macro-step… You need a parallel branch if there are two or more branches to be traversed simultaneously”).
The reasons to combine Hanssen with the reference patent in view of Yogo are the same as articulated in the rejection of claim 1 above.
Yogo and Hanssen do not explicitly teach “generate main intermediate data from the main chart and local intermediate data from the local chart; and convert the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program.”
Sadre further teaches generate main intermediate data from the main chart and local intermediate data from the local chart (Col. 16, Lines 43-48: “The SFC+ shown in FIG. 7 is described as being in a 'top-level' format. Step name boxes 103a, 103b, 103c refer to regular steps in a SFC+ diagram. Macro step name box 105 refers to a macro step in a SFC+ diagram. A macro step is represented by nested boxes in a top-level format SFC+”; Col. 16, Lines 57-59: “the entire graphical program representation is maintained in an internal format”); and
convert the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program (Col. 16-17, Lines 54-67 & 1-3: “While the Program Execution subsystem is executing the child SFC+, the Program Execution subsystem will also scan any actions in the parent SFC+ which are attached to the macro step name box 105 and the Program Execution subsystem will also continue executing any SFC+ steps in the parent SFC+ which are activated in parallel with the macro step. When the child SFC+ completes execution, the Program Execution subsystem destroys the instance of the SFC+ execution mechanism associated with Macro Step Box 105 and activates the next step in the parent SFC+ (step name box 103c)”).
The reasons to combine Sadre with the reference patent in view of Yogo and Hanssen are the same as articulated in the rejection of claim 1 above.
Aside from minor stylistic and grammatical differences, claims 9 and 10 of the instant application have substantially similar limitations as claim 8 of the instant application, and are therefore rejected on the same premises.
Claims 1, 3, and 4 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 5, and 6 of U.S. Patent No. 12,346,096 B2 reference patent), in view of Yogo (JP 6829505 B1), in view of Hanssen.
The claims of the instant application and the claims of the reference patent are compared in the table below.
18/539,412
US 12,346,096 B2
1. An automated manufacturing machine comprising: a plurality of actuators;one or more processors;
1. A control program generation apparatus for generating a control program for an automated manufacturing machine including a plurality of actuators, the apparatus comprising:
an element action storage storing a plurality of element actions in a manner associated with a plurality of program elements to perform the plurality of element actions, each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of a degree of freedom of the corresponding actuator by a specified displacement;
an element action storage storing a plurality of element actions in a manner associated with a plurality of program elements to perform the plurality of element actions, each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of an inherent degree of freedom of the corresponding actuator by a specified displacement;
wherein the one or more processors are configured to read an action chart describing an operation of the automated manufacturing machine, the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including the plurality of element actions included in the operation of the automated manufacturing machine, each of the plurality of element actions being assigned to a corresponding subperiod of the plurality of subperiods; and
an action chart reader configured to read an action chart describing an operation of the automated manufacturing machine, the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including the plurality of element actions included in the operation of the automated manufacturing machine, each of the plurality of element actions being assigned to a subperiod of the plurality of subperiods; and
the one or more processors are configured to generate the control program to cause the automated manufacturing machine to operate by combining together, in an order of the plurality of subperiods on the action chart, the plurality of program elements for the plurality of element actions assigned to the plurality of subperiods on the action chart
a control program generator configured to generate the control program to cause the automated manufacturing machine to operate by combining together, in an order of the plurality of subperiods on the action chart, the plurality of program elements for the plurality of element actions assigned to the plurality of subperiods on the action chart,
Regarding claim 1, claim 1 of the reference application recites all of the limitations of claim 1 of the instant application except “the action chart to be read by the one or more processors includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided ,
each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators ,
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator , and
the one or more processors generates the control program by combining together, in an order of the second number of parallel subperiods , program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the second number of parallel subperiods in the parallelized processing portion , and combining together, in an order of the first number of consecutive subperiods , program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the first number of consecutive subperiods in the parallelized processing portion.
Regarding claim 1, Yogo teaches each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators ([0057]: “if the actuator 10 is to perform basic operations during partial periods 4 and 8, the basic operations to be performed by the actuator 10 will be described at the coordinate positions corresponding to actuator number 1 and partial period number 4, and at the coordinate positions corresponding to partial period number 8”),
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator ([0057]: “the basic operation of actuator 10 is described in the horizontal area corresponding to actuator number 1 on the YOGO chart, the basic operation of actuator 11 is described in the horizontal area corresponding to actuator number 2, and so on”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to adapt the reference patent to incorporate the teachings of Yogo so as to include each of the second number of parallel subperiods in the parallelized processing portion being assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators and each of the first number of consecutive subperiods in the parallelized processing portion being assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator. Doing so would allow actions to be assigned to corresponding actuators with the aim of reducing the difficulty of developing automated control programs for manufacturing machines (Yogo, [0009]: “This invention was made to solve the aforementioned problems of the conventional technology, and aims to provide a technology that can significantly reduce the time required to develop new automated manufacturing machines by automatically generating control programs for automated manufacturing machines”).
Yogo does not explicitly teach the parallelized processing portion.
Hanssen further teaches the action chart to be read by the one or more processors includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided (Page 311, Section 12.2.3: “It is also possible to activate parallel branches in SFC, that is, branches that will be executed in parallel with each other. This branching does not need to contain an equal number of steps, but the branches are activated simultaneously and are terminated simultaneously”; Figure 12.4 and Example 12.3: “we want the stirring to take place in parallel with filling, heating, and emptying”),
the one or more processors generates the control program by combining together, in an order of the second number of parallel subperiods (Page 308, Section 12.2: “Small horizontal lines are entered between steps. These mark the transitions. These determine when and where the PLC will continue carrying out the code. When the transition is complete, the step before the transition is deactivated and the step after the transition is activated”; Page 312, Section 12.2.3: “Also note that parallel branches are executed independently of each other before they reach the convergence point”), program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the second number of parallel subperiods in the parallelized processing portion (Page 311, Section 12.2.3: “It is also possible to activate parallel branches in SFC, that is, branches that will be executed in parallel with each other”; Page 312, Section 12.3: “One or more actions can be associated with each individual step”), and combining together, in an order of the first number of consecutive subperiods (Page 307, Section 12.2: “Transitions contain conditions that must be satisfied in order for the control to proceed from one state to the next”), program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the first number of consecutive subperiods in the parallelized processing portion (Page 307, Section 12.2: “Actions are associated with the individual steps and define events and instructions that are to be performed in the individual process phases”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to adapt the reference patent in view of Yogo to incorporate the teachings of Hanssen so as to include the parallelized processing portion. Doing so would allow an action chart to use a parallelized branch structure with the aim of making the sequence easier to structure (Hanssen, Page 309, Section 12.2: “It is this neat and elegant way of programming sequences that should make SFC a clear first choice in many PLC applications”).
Aside from minor stylistic and grammatical differences, claims 3 and 4 of the instant application have substantially similar limitations as claims 5 and 6 of the reference patent, respectively, and are therefore rejected on the same premises.
Claims 2 and 8-10 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 5, and 6 of U.S. Patent No. 12,174,614 B2 (reference patent), ), in view of Yogo (JP 6829505 B1), in view of Hanssen, and in view of Sadre et al. (US 5,485,620 A).
Regarding claim 2, claim 2 of the instant application depends on claim 1 and therefore includes the limitations of claim 1. Claim 2 therefore also recites similar limitations as claim 1 of the reference patent in view of Yogo and Hanssen. Claim 2 recites the additional limitations, “wherein the one or more processors reads a local chart, the local chart includes the second number of parallel subperiods in the parallelized processing portion on the action chart and is separate from the action chart, and the local chart includes the element action of the selected actuator being at least one selected actuator assigned to each of the second number of parallel subperiods in the parallelized processing portion, and the action chart to be read by the one or more processors includes a local chart identifier specific to the local chart, and the local chart identifier is assigned to the parallelized processing portion on the action chart,” which Yogo does not explicitly teach.
Hanssen further teaches wherein the one or more processors reads a local chart, the local chart includes the second number of parallel subperiods in the parallelized processing portion on the action chart and is separate from the action chart (Page 106, Section 4.5.3.1: “Every macro‐step, at any rate, can consist of several ordinary steps so that they constitute their own small sequences within the main sequence. Figure 4.12 shows a sketch of the principle of using macro‐steps”; Page 325, Section 12.7: “you will have an overall sequence with several subsequences, one for each macro-step… You need a parallel branch if there are two or more branches to be traversed simultaneously”), and
the local chart includes the element action of the selected actuator being at least one selected actuator assigned to each of the second number of parallel subperiods in the parallelized processing portion (Page 312, Section 12.3: “One or more actions can be associated with each individual step”).
The reasons to combine Hanssen with the reference patent in view of Yogo are the same as articulated in the rejection of claim 1 above.
Yogo and Hanssen do not explicitly teach “the action chart to be read by the one or more processors includes a local chart identifier specific to the local chart, and the local chart identifier is assigned to the parallelized processing portion on the action chart.”
Sadre further teaches the action chart to be read by the one or more processors includes a local chart identifier specific to the local chart (Col. 16, Line 41: “each SFC+ step box may be given a name”), and
the local chart identifier is assigned to the parallelized processing portion on the action chart (Col. 26, Lines 46-49: “macro step 272a (Advance Slide) in FIG. 33 contains a subordinate SFC+ which specifies the details of the advance slide function. The subordinate SFC+ begins executing when the macro step is activated”; Col. 16, Lines 64-66: “the Program Execution subsystem will also continue executing any SFC+ steps in the parent SFC+ which are activated in parallel with the macro step”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to adapt the reference patent in view of Yogo and Hanssen to incorporate the teachings of Sadre so as to include the action chart to be read by the one or more processors including a local chart identifier specific to the local chart, and the local chart identifier being assigned to the parallelized processing portion on the action chart. Doing so would allow separation of local chart data from main chart data with the aim of keeping control logic readable (Col. 13, Lines 37-44: “inside the step boxes 122 (see FIGS. 9a, 9b and 9c). The sequential program statements appear prominently in the step boxes, and are not 'buried' with the continuous programs. With such an enhanced SFC (also referred to as 'SFC+') the sequential flow of execution inside of each step is easily visualized together with the sequencing between steps”; Col. 13, Lines 53-65: “Because of the above features the SFC+ is more compact and readable, than the standard Sequential Function Chart”).
Regarding claim 8, Yogo in view of Hanssen teaches the automated manufacturing machine according to claim 1.
Regarding claim 8, claim 8 of the instant application depends on claim 1 and therefore includes the limitations of claim 1. Claim 8 therefore also recites similar limitations as claim 1 of the reference patent in view of Yogo and Hanssen. Claim 8 recites the additional limitations, “wherein the one or more processors are further configured to: separate the action chart into a main chart including the first number of consecutive subperiods and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion; generate main intermediate data from the main chart and local intermediate data from the local chart; and convert the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program,” which Yogo does not explicitly teach.
Hanssen further teaches wherein the one or more processors are further configured to: separate the action chart into a main chart including the first number of consecutive subperiods (Page 307, Section 12.1.1: “SFC can be used to partition (divide up) control-tasks in the same way as topdown design of programs”) and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion (Page 106, Section 4.5.3.1: “Every macro‐step, at any rate, can consist of several ordinary steps so that they constitute their own small sequences within the main sequence. Figure 4.12 shows a sketch of the principle of using macro‐steps”; Page 325, Section 12.6: “you will have an overall sequence with several subsequences, one for each macro-step… You need a parallel branch if there are two or more branches to be traversed simultaneously”).
The reasons to combine Hanssen with the reference patent in view of Yogo are the same as articulated in the rejection of claim 1 above.
Yogo and Hanssen do not explicitly teach “generate main intermediate data from the main chart and local intermediate data from the local chart; and convert the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program.”
Sadre further teaches generate main intermediate data from the main chart and local intermediate data from the local chart (Col. 16, Lines 43-48: “The SFC+ shown in FIG. 7 is described as being in a 'top-level' format. Step name boxes 103a, 103b, 103c refer to regular steps in a SFC+ diagram. Macro step name box 105 refers to a macro step in a SFC+ diagram. A macro step is represented by nested boxes in a top-level format SFC+”; Col. 16, Lines 57-59: “the entire graphical program representation is maintained in an internal format”); and
convert the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program (Col. 16-17, Lines 54-67 & 1-3: “While the Program Execution subsystem is executing the child SFC+, the Program Execution subsystem will also scan any actions in the parent SFC+ which are attached to the macro step name box 105 and the Program Execution subsystem will also continue executing any SFC+ steps in the parent SFC+ which are activated in parallel with the macro step. When the child SFC+ completes execution, the Program Execution subsystem destroys the instance of the SFC+ execution mechanism associated with Macro Step Box 105 and activates the next step in the parent SFC+ (step name box 103c)”).
The reasons to combine Sadre with the reference patent in view of Yogo and Hanssen are the same as articulated in the rejection of claim 1 above.
Aside from minor stylistic and grammatical differences, claims 9 and 10 of the instant application have substantially similar limitations as claim 8 of the instant application, and are therefore rejected on the same premises.
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-10 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Step 1: Claims 1, 2, 4, 5, 8, and 10 are directed to a machine or an article of manufacture. Claims 3, 6, 7, and 9 are directed to a process.
With respect to claim 1:
2A Prong 1: The claim recites an abstract idea. Specifically:
the one or more processors are configured to generate the control program to cause the automated manufacturing machine to operate by combining together, in an order of the plurality of subperiods on the action chart, the plurality of program elements for the plurality of element actions assigned to the plurality of subperiods on the action chart (Mental process – generating a control program by combining a plurality of program elements assigned to a plurality of subperiods can be practically performed in the human mind, or by a human using a pen and paper as a physical aid – see MPEP § 2106.04(a)(2)(III))
the one or more processors generates the control program by combining together, in an order of the second number of parallel subperiods , program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the second number of parallel subperiods in the parallelized processing portion , and combining together, in an order of the first number of consecutive subperiods , program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the first number of consecutive subperiods in the parallelized processing portion (Mental process – generating a control program can be practically performed in the human mind, or by a human using a pen and paper as a physical aid – see MPEP § 2106.04(a)(2)(III))
2A Prong 2: The additional elements recited in the claim do not integrate the abstract idea into a practical application, individually or in combination.
Additional elements:
a plurality of actuators (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
one or more processors; an element action storage storing a plurality of element actions in a manner associated with a plurality of program elements to perform the plurality of element actions, each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of a degree of freedom of the corresponding actuator by a specified displacement (Mere recitation of a generic computer component – see MPEP § 2106.05(b)(I))
wherein the one or more processors are configured to read an action chart describing an operation of the automated manufacturing machine , the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including the plurality of element actions included in the operation of the automated manufacturing machine, each of the plurality of element actions being assigned to a corresponding subperiod of the plurality of subperiods (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
the action chart to be read by the one or more processors includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
a plurality of actuators (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
one or more processors; an element action storage storing a plurality of element actions in a manner associated with a plurality of program elements to perform the plurality of element actions, each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of a degree of freedom of the corresponding actuator by a specified displacement (Storing and retrieving information in memory have been deemed well‐understood, routine, and conventional functions – see MPEP § 2106.05(d)(ll))
wherein the one or more processors are configured to read an action chart describing an operation of the automated manufacturing machine , the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including the plurality of element actions included in the operation of the automated manufacturing machine, each of the plurality of element actions being assigned to a corresponding subperiod of the plurality of subperiods (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
the action chart to be read by the one or more processors includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
Therefore, claim 1 is ineligible.
With respect to claim 2:
2A Prong 2: The additional elements recited in the claim do not integrate the abstract idea into a practical application, individually or in combination.
Additional elements:
wherein the one or more processors reads a local chart, the local chart includes the second number of parallel subperiods in the parallelized processing portion on the action chart and is separate from the action chart, and the local chart includes the element action of the selected actuator being at least one selected actuator assigned to each of the second number of parallel subperiods in the parallelized processing portion (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
the action chart to be read by the one or more processors includes a local chart identifier specific to the local chart, and the local chart identifier is assigned to the parallelized processing portion on the action chart (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
wherein the one or more processors reads a local chart, the local chart includes the second number of parallel subperiods in the parallelized processing portion on the action chart and is separate from the action chart, and the local chart includes the element action of the selected actuator being at least one selected actuator assigned to each of the second number of parallel subperiods in the parallelized processing portion (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
the action chart to be read by the one or more processors includes a local chart identifier specific to the local chart, and the local chart identifier is assigned to the parallelized processing portion on the action chart (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
Therefore, claim 2 is ineligible.
With respect to claim 3:
2A Prong 1: The claim recites an abstract idea. Specifically:
generating the control program to cause the automated manufacturing machine to operate by referring to a stored correspondence between the plurality of element actions on the action chart and a plurality of program elements to perform the plurality of element actions, by converting the plurality of element actions on the action chart to the plurality of program elements, and by combining together the plurality of program elements in an order of the plurality of subperiods (Mental process – generating a control program by combining a plurality of program elements assigned to a plurality of subperiods can be practically performed in the human mind, or by a human using a pen and paper as a physical aid – see MPEP § 2106.04(a)(2)(III))
the generating the control program includes generating the control program by combining together, in an order of the second number of parallel subperiods , program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the second number of parallel subperiods in the parallelized processing portion, and combining together, in an order of the first number of consecutive subperiods, program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the first number of consecutive subperiods in the parallelized processing portion (Mental process – generating a control program can be practically performed in the human mind, or by a human using a pen and paper as a physical aid – see MPEP § 2106.04(a)(2)(III))
2A Prong 2: The additional elements recited in the claim do not integrate the abstract idea into a practical application, individually or in combination.
Additional elements:
reading an action chart describing an operation of the automated manufacturing machine, the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including a plurality of element actions included in the operation of the automated manufacturing machine, each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of a degree of freedom of the corresponding actuator by a specified displacement, each of the plurality of element actions being assigned to a corresponding subperiod of the plurality of subperiods (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
wherein the action chart to be read includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
reading an action chart describing an operation of the automated manufacturing machine, the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including a plurality of element actions included in the operation of the automated manufacturing machine, each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of a degree of freedom of the corresponding actuator by a specified displacement, each of the plurality of element actions being assigned to a corresponding subperiod of the plurality of subperiods (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
wherein the action chart to be read includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
Therefore, claim 3 is ineligible.
With respect to claim 4:
2A Prong 1: The claim recites an abstract idea. Specifically:
generating the control program to cause the automated manufacturing machine to operate by referring to a stored correspondence between the plurality of element actions on the action chart and a plurality of program elements to perform the plurality of element actions, by converting the plurality of element actions on the action chart to the plurality of program elements, and by combining together the plurality of program elements in an order of the 51 plurality of subperiods (Mental process – generating a control program by combining a plurality of program elements assigned to a plurality of subperiods can be practically performed in the human mind, or by a human using a pen and paper as a physical aid – see MPEP § 2106.04(a)(2)(III))
the generating the control program includes generating the control program by combining together, in an order of the second number of parallel subperiods, program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the second number of parallel subperiods in the parallelized processing portion, and combining together, in an order of the first number of consecutive subperiods , program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the first number of consecutive subperiods in the parallelized processing portion (Mental process – generating a control program can be practically performed in the human mind, or by a human using a pen and paper as a physical aid – see MPEP § 2106.04(a)(2)(III))
2A Prong 2: The additional elements recited in the claim do not integrate the abstract idea into a practical application, individually or in combination.
Additional elements:
reading an action chart describing an operation of the automated manufacturing machine, the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including a plurality of element actions included in the operation of the automated manufacturing machine, each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of a degree of freedom of the corresponding actuator by a specified displacement, each of the plurality of element actions being assigned to a corresponding subperiod of the plurality of subperiods (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
wherein the action chart to be read includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, and the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
reading an action chart describing an operation of the automated manufacturing machine, the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including a plurality of element actions included in the operation of the automated manufacturing machine, each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of a degree of freedom of the corresponding actuator by a specified displacement, each of the plurality of element actions being assigned to a corresponding subperiod of the plurality of subperiods (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
wherein the action chart to be read includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, and the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
Therefore, claim 4 is ineligible.
With respect to claim 5:
2A Prong 2: The additional elements recited in the claim do not integrate the abstract idea into a practical application, individually or in combination.
Additional elements:
wherein the first number is independent of the second number (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
wherein the first number is independent of the second number (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
Therefore, claim 5 is ineligible.
With respect to claim 6:
2A Prong 2: The additional elements recited in the claim do not integrate the abstract idea into a practical application, individually or in combination.
Additional elements:
wherein the first number is independent of the second number (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
wherein the first number is independent of the second number (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
Therefore, claim 6 is ineligible.
With respect to claim 7:
2A Prong 2: The additional elements recited in the claim do not integrate the abstract idea into a practical application, individually or in combination.
Additional elements:
wherein the first number is independent of the second number (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
wherein the first number is independent of the second number (Generally linking the use of a judicial exception to a particular technological environment or field of use – see MPEP § 2106.05(h))
Therefore, claim 7 is ineligible.
With respect to claim 8:
2A Prong 2: The additional elements recited in the claim do not integrate the abstract idea into a practical application, individually or in combination.
Additional elements:
wherein the one or more processors are further configured to: separate the action chart into a main chart including the first number of consecutive subperiods and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
generate main intermediate data from the main chart and local intermediate data from the local chart; and convert the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea – see MPEP § 2106.05(f))
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
wherein the one or more processors are further configured to: separate the action chart into a main chart including the first number of consecutive subperiods and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
generate main intermediate data from the main chart and local intermediate data from the local chart; and convert the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea – see MPEP § 2106.05(f))
Therefore, claim 8 is ineligible.
With respect to claim 9:
2A Prong 2: The additional elements recited in the claim do not integrate the abstract idea into a practical application, individually or in combination.
Additional elements:
separating the action chart into a main chart including the first number of consecutive subperiods and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
generating main intermediate data from the main chart and local intermediate data from the local chart; and converting the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea – see MPEP § 2106.05(f))
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
separating the action chart into a main chart including the first number of consecutive subperiods and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
generating main intermediate data from the main chart and local intermediate data from the local chart; and converting the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea – see MPEP § 2106.05(f))
Therefore, claim 9 is ineligible.
With respect to claim 10:
2A Prong 2: The additional elements recited in the claim do not integrate the abstract idea into a practical application, individually or in combination.
Additional elements:
separating the action chart into a main chart including the first number of consecutive subperiods and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
generating main intermediate data from the main chart and local intermediate data from the local chart; and converting the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea – see MPEP § 2106.05(f))
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
separating the action chart into a main chart including the first number of consecutive subperiods and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion (Insignificant extra-solution activity (selecting a particular data source or type of data to be manipulated) – see MPEP § 2106.05(g))
generating main intermediate data from the main chart and local intermediate data from the local chart; and converting the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea – see MPEP § 2106.05(f))
Therefore, claim 10 is ineligible.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
Claims 1, 3, 4, and 5-7 are rejected under 35 U.S.C. 103 as being unpatentable over Yogo (JP 6829505 B1), in view of Hanssen.
Regarding claim 1, Yogo teaches an automated manufacturing machine comprising: a plurality of actuators ([0030]: “the automated manufacturing machine 1 is equipped with a number of actuators 10 to 20”);
one or more processors ([0077]: “these 'parts' can be implemented in the form of programs executed by a CPU”);
an element action storage storing a plurality of element actions in a manner associated with a plurality of program elements to perform the plurality of element actions, each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of a degree of freedom of the corresponding actuator by a specified displacement ([0080]: “basic operation names 206, such as basic operations (including operations similar to basic operations such as timing operations), are associated with actuators and stored in memory… for each basic operation name 206, the program element number and the starting address value where the program element is stored are also stored”; [0047]: “the basic operation of an actuator refers to the movement of the actuator in the direction of its degrees of freedom (hereinafter referred to as the basic operation)”),
wherein the one or more processors are configured to read an action chart describing an operation of the automated manufacturing machine ([0044]: “a chart that describes the operation of each actuator as considered by a mechanical design engineer during the mechanical design process. This action chart was independently devised by the inventor of this application and does not exist in the world, so we have decided to name it the 'YOGO Chart'“), the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including the plurality of element actions included in the operation of the automated manufacturing machine, each of the plurality of element actions being assigned to a corresponding subperiod of the plurality of subperiods ([0048]: “in the YOGO chart, the operating period of the automated manufacturing machine 1, from the start to the end of its operation, is divided into multiple sub-periods, and the basic operation of each actuator is assigned to one of these sub-periods”),
the one or more processors are configured to generate the control program to cause the automated manufacturing machine to operate by combining together, in an order of the plurality of subperiods on the action chart, the plurality of program elements for the plurality of element actions assigned to the plurality of subperiods on the action chart ([0052]: “by connecting these program elements as described in the primitive YOGO chart shown in Figure 4(a), it becomes possible to automatically generate a control program for operating the automated manufacturing machine 1”; [0096]: “ The basic operation names and parameters entered on the YOGO chart are read sequentially from the smallest subperiod to the largest subperiod, and the intermediate data is stored in memory”),
each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators ([0057]: “if the actuator 10 is to perform basic operations during partial periods 4 and 8, the basic operations to be performed by the actuator 10 will be described at the coordinate positions corresponding to actuator number 1 and partial period number 4, and at the coordinate positions corresponding to partial period number 8”),
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator ([0057]: “the basic operation of actuator 10 is described in the horizontal area corresponding to actuator number 1 on the YOGO chart, the basic operation of actuator 11 is described in the horizontal area corresponding to actuator number 2, and so on”).
Yogo does not explicitly teach the parallelized processing portion.
Hanssen further teaches the action chart to be read by the one or more processors includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided (Page 311, Section 12.2.3: “It is also possible to activate parallel branches in SFC, that is, branches that will be executed in parallel with each other. This branching does not need to contain an equal number of steps, but the branches are activated simultaneously and are terminated simultaneously”; Figure 12.4 and Example 12.3: “we want the stirring to take place in parallel with filling, heating, and emptying”),
the one or more processors generates the control program by combining together, in an order of the second number of parallel subperiods (Page 308, Section 12.2: “Small horizontal lines are entered between steps. These mark the transitions. These determine when and where the PLC will continue carrying out the code. When the transition is complete, the step before the transition is deactivated and the step after the transition is activated”; Page 312, Section 12.2.3: “Also note that parallel branches are executed independently of each other before they reach the convergence point”), program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the second number of parallel subperiods in the parallelized processing portion (Page 311, Section 12.2.3: “It is also possible to activate parallel branches in SFC, that is, branches that will be executed in parallel with each other”; Page 312, Section 12.3: “One or more actions can be associated with each individual step”), and combining together, in an order of the first number of consecutive subperiods (Page 307, Section 12.2: “Transitions contain conditions that must be satisfied in order for the control to proceed from one state to the next”), program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the first number of consecutive subperiods in the parallelized processing portion (Page 307, Section 12.2: “Actions are associated with the individual steps and define events and instructions that are to be performed in the individual process phases”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to adapt the apparatus of Yogo to incorporate the teachings of Hanssen so as to include the parallelized processing portion. Doing so would allow an action chart to use a parallelized branch structure with the aim of making the sequence easier to structure (Hanssen, Page 309, Section 12.2: “It is this neat and elegant way of programming sequences that should make SFC a clear first choice in many PLC applications”).
Regarding claim 3, Yogo teaches a control program generation method for generating, with a computer, a control program for an automated manufacturing machine including a plurality of actuators, the method comprising: reading an action chart describing an operation of the automated manufacturing machine ([0044]: “a chart that describes the operation of each actuator as considered by a mechanical design engineer during the mechanical design process. This action chart was independently devised by the inventor of this application and does not exist in the world, so we have decided to name it the 'YOGO Chart'“), the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including a plurality of element actions included in the operation of the automated manufacturing machine ([0048]: “in the YOGO chart, the operating period of the automated manufacturing machine 1, from the start to the end of its operation, is divided into multiple sub-periods, and the basic operation of each actuator is assigned to one of these sub-periods”),
each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of a degree of freedom of the corresponding actuator by a specified displacement, each of the plurality of element actions being assigned to a corresponding subperiod of the plurality of subperiods ([0080]: “basic operation names 206, such as basic operations (including operations similar to basic operations such as timing operations), are associated with actuators and stored in memory… for each basic operation name 206, the program element number and the starting address value where the program element is stored are also stored”; [0047]: “the basic operation of an actuator refers to the movement of the actuator in the direction of its degrees of freedom (hereinafter referred to as the basic operation)”); and
generating the control program to cause the automated manufacturing machine to operate by referring to a stored correspondence between the plurality of element actions on the action chart and a plurality of program elements to perform the plurality of element actions, by converting the plurality of element actions on the action chart to the plurality of program elements, and by combining together the plurality of program elements in an order of the plurality of subperiods ([0052]: “by connecting these program elements as described in the primitive YOGO chart shown in Figure 4(a), it becomes possible to automatically generate a control program for operating the automated manufacturing machine 1”; [0096]: “ The basic operation names and parameters entered on the YOGO chart are read sequentially from the smallest subperiod to the largest subperiod, and the intermediate data is stored in memory”),
each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators ([0057]: “if the actuator 10 is to perform basic operations during partial periods 4 and 8, the basic operations to be performed by the actuator 10 will be described at the coordinate positions corresponding to actuator number 1 and partial period number 4, and at the coordinate positions corresponding to partial period number 8”),
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator ([0057]: “the basic operation of actuator 10 is described in the horizontal area corresponding to actuator number 1 on the YOGO chart, the basic operation of actuator 11 is described in the horizontal area corresponding to actuator number 2, and so on”).
Yogo does not explicitly teach the parallelized processing portion.
Hanssen further teaches wherein the action chart to be read includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided (Page 311, Section 12.2.3: “It is also possible to activate parallel branches in SFC, that is, branches that will be executed in parallel with each other. This branching does not need to contain an equal number of steps, but the branches are activated simultaneously and are terminated simultaneously”; Figure 12.4 and Example 12.3: “we want the stirring to take place in parallel with filling, heating, and emptying”),
the generating the control program includes generating the control program by combining together, in an order of the second number of parallel subperiods (Page 308, Section 12.2: “Small horizontal lines are entered between steps. These mark the transitions. These determine when and where the PLC will continue carrying out the code. When the transition is complete, the step before the transition is deactivated and the step after the transition is activated”; Page 312, Section 12.2.3: “Also note that parallel branches are executed independently of each other before they reach the convergence point”), program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the second number of parallel subperiods in the parallelized processing portion (Page 311, Section 12.2.3: “It is also possible to activate parallel branches in SFC, that is, branches that will be executed in parallel with each other”; Page 312, Section 12.3: “One or more actions can be associated with each individual step”), and combining together, in an order of the first number of consecutive subperiods (Page 307, Section 12.2: “Transitions contain conditions that must be satisfied in order for the control to proceed from one state to the next”), program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the first number of consecutive subperiods in the parallelized processing portion (Page 307, Section 12.2: “Actions are associated with the individual steps and define events and instructions that are to be performed in the individual process phases”).
The reasons to combine Hanssen with Yogo are the same as articulated in the rejection of claim 1 above.
Regarding claim 4, Yogo teaches a non-transitory computer-readable storage medium storing a program for causing a computer to implement a method for generating a control program for an automated manufacturing machine including a plurality of actuators, the method comprising:
reading an action chart describing an operation of the automated manufacturing machine ([0044]: “a chart that describes the operation of each actuator as considered by a mechanical design engineer during the mechanical design process. This action chart was independently devised by the inventor of this application and does not exist in the world, so we have decided to name it the 'YOGO Chart'“), the action chart including a plurality of subperiods into which an operation period from a start to an end of the operation of the automated manufacturing machine is divided, the action chart including a plurality of element actions included in the operation of the automated manufacturing machine ([0048]: “in the YOGO chart, the operating period of the automated manufacturing machine 1, from the start to the end of its operation, is divided into multiple sub-periods, and the basic operation of each actuator is assigned to one of these sub-periods”),
each of the plurality of element actions indicating an action of a corresponding actuator of the plurality of actuators in a direction of a degree of freedom of the corresponding actuator by a specified displacement, each of the plurality of element actions being assigned to a corresponding subperiod of the plurality of subperiods ([0080]: “basic operation names 206, such as basic operations (including operations similar to basic operations such as timing operations), are associated with actuators and stored in memory… for each basic operation name 206, the program element number and the starting address value where the program element is stored are also stored”; [0047]: “the basic operation of an actuator refers to the movement of the actuator in the direction of its degrees of freedom (hereinafter referred to as the basic operation)”); and
generating the control program to cause the automated manufacturing machine to operate by referring to a stored correspondence between the plurality of element actions on the action chart and a plurality of program elements to perform the plurality of element actions, by converting the plurality of element actions on the action chart to the plurality of program elements, and by combining together the plurality of program elements in an order of the plurality of subperiods ([0052]: “by connecting these program elements as described in the primitive YOGO chart shown in Figure 4(a), it becomes possible to automatically generate a control program for operating the automated manufacturing machine 1”; [0096]: “ The basic operation names and parameters entered on the YOGO chart are read sequentially from the smallest subperiod to the largest subperiod, and the intermediate data is stored in memory”),
each of the second number of parallel subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to a selected actuator of the plurality of actuators ([0057]: “if the actuator 10 is to perform basic operations during partial periods 4 and 8, the basic operations to be performed by the actuator 10 will be described at the coordinate positions corresponding to actuator number 1 and partial period number 4, and at the coordinate positions corresponding to partial period number 8”),
each of the first number of consecutive subperiods in the parallelized processing portion is assigned with an element action of the plurality of element actions corresponding to an actuator of the plurality of actuators other than the selected actuator ([0057]: “the basic operation of actuator 10 is described in the horizontal area corresponding to actuator number 1 on the YOGO chart, the basic operation of actuator 11 is described in the horizontal area corresponding to actuator number 2, and so on”).
Yogo does not explicitly teach the parallelized processing portion.
Hanssen further teaches wherein the action chart to be read includes a parallelized processing portion including a set of a first number of consecutive subperiods of the plurality of subperiods, and the parallelized processing portion includes a second number of parallel subperiods into which the parallelized processing portion is divided (Page 311, Section 12.2.3: “It is also possible to activate parallel branches in SFC, that is, branches that will be executed in parallel with each other. This branching does not need to contain an equal number of steps, but the branches are activated simultaneously and are terminated simultaneously”; Figure 12.4 and Example 12.3: “we want the stirring to take place in parallel with filling, heating, and emptying”),
the generating the control program includes generating the control program by combining together, in an order of the second number of parallel subperiods (Page 308, Section 12.2: “Small horizontal lines are entered between steps. These mark the transitions. These determine when and where the PLC will continue carrying out the code. When the transition is complete, the step before the transition is deactivated and the step after the transition is activated”; Page 312, Section 12.2.3: “Also note that parallel branches are executed independently of each other before they reach the convergence point”), program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the second number of parallel subperiods in the parallelized processing portion (Page 311, Section 12.2.3: “It is also possible to activate parallel branches in SFC, that is, branches that will be executed in parallel with each other”; Page 312, Section 12.3: “One or more actions can be associated with each individual step”), and combining together, in an order of the first number of consecutive subperiods (Page 307, Section 12.2: “Transitions contain conditions that must be satisfied in order for the control to proceed from one state to the next”), program elements of the plurality of program elements for element actions of the plurality of element actions assigned to the first number of consecutive subperiods in the parallelized processing portion (Page 307, Section 12.2: “Actions are associated with the individual steps and define events and instructions that are to be performed in the individual process phases”).
The reasons to combine Hanssen with Yogo are the same as articulated in the rejection of claim 1 above.
Regarding claim 5, Yogo in view of Hanssen teaches the automated manufacturing machine according to claim 1.
Hanssen further teaches wherein the first number is independent of the second number (Page 311, Section 12.2.3: “This branching does not need to contain an equal number of steps… Also note that parallel branches are executed independently of each other before they reach the convergence point”).
Regarding claim 6, Yogo in view of Hanssen teaches the control program generation method according to claim 3.
Hanssen further teaches wherein the first number is independent of the second number (Page 311, Section 12.2.3: “This branching does not need to contain an equal number of steps… Also note that parallel branches are executed independently of each other before they reach the convergence point”).
Regarding claim 7, Yogo in view of Hanssen teaches the control program generation method according to claim 4.
Hanssen further teaches wherein the first number is independent of the second number (Page 311, Section 12.2.3: “This branching does not need to contain an equal number of steps… Also note that parallel branches are executed independently of each other before they reach the convergence point”).
Claims 2 and 8-10 are rejected under 35 U.S.C. 103 as being unpatentable over Yogo (JP 6829505 B1), in view of Hanssen, and in view of Sadre et al. (US 5,485,620 A).
Regarding claim 2, Yogo in view of Hanssen teaches the automated manufacturing machine according to claim 1.
Hanssen further teaches wherein the one or more processors reads a local chart, the local chart includes the second number of parallel subperiods in the parallelized processing portion on the action chart and is separate from the action chart (Page 106, Section 4.5.3.1: “Every macro‐step, at any rate, can consist of several ordinary steps so that they constitute their own small sequences within the main sequence. Figure 4.12 shows a sketch of the principle of using macro‐steps”; Page 325, Section 12.7: “you will have an overall sequence with several subsequences, one for each macro-step… You need a parallel branch if there are two or more branches to be traversed simultaneously”), and
the local chart includes the element action of the selected actuator being at least one selected actuator assigned to each of the second number of parallel subperiods in the parallelized processing portion (Page 312, Section 12.3: “One or more actions can be associated with each individual step”).
Yogo and Hanssen do not explicitly teach “the action chart to be read by the one or more processors includes a local chart identifier specific to the local chart, and the local chart identifier is assigned to the parallelized processing portion on the action chart.”
Sadre further teaches the action chart to be read by the one or more processors includes a local chart identifier specific to the local chart (Col. 16, Line 41: “each SFC+ step box may be given a name”), and
the local chart identifier is assigned to the parallelized processing portion on the action chart (Col. 26, Lines 46-49: “macro step 272a (Advance Slide) in FIG. 33 contains a subordinate SFC+ which specifies the details of the advance slide function. The subordinate SFC+ begins executing when the macro step is activated”; Col. 16, Lines 64-66: “the Program Execution subsystem will also continue executing any SFC+ steps in the parent SFC+ which are activated in parallel with the macro step”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to adapt the apparatus of Yogo in view of Hanssen to incorporate the teachings of Sadre so as to include the action chart to be read by the one or more processors including a local chart identifier specific to the local chart, and the local chart identifier being assigned to the parallelized processing portion on the action chart. Doing so would allow separation of local chart data from main chart data with the aim of keeping control logic readable (Col. 13, Lines 37-44: “inside the step boxes 122 (see FIGS. 9a, 9b and 9c). The sequential program statements appear prominently in the step boxes, and are not 'buried' with the continuous programs. With such an enhanced SFC (also referred to as 'SFC+') the sequential flow of execution inside of each step is easily visualized together with the sequencing between steps”; Col. 13, Lines 53-65: “Because of the above features the SFC+ is more compact and readable, than the standard Sequential Function Chart”).
Regarding claim 8, Yogo in view of Hanssen teaches the automated manufacturing machine according to claim 1.
Hanssen further teaches wherein the one or more processors are further configured to: separate the action chart into a main chart including the first number of consecutive subperiods (Page 307, Section 12.1.1: “SFC can be used to partition (divide up) control-tasks in the same way as topdown design of programs”) and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion (Page 106, Section 4.5.3.1: “Every macro‐step, at any rate, can consist of several ordinary steps so that they constitute their own small sequences within the main sequence. Figure 4.12 shows a sketch of the principle of using macro‐steps”; Page 325, Section 12.6: “you will have an overall sequence with several subsequences, one for each macro-step… You need a parallel branch if there are two or more branches to be traversed simultaneously”).
Yogo and Hanssen do not explicitly teach “generate main intermediate data from the main chart and local intermediate data from the local chart; and convert the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program.”
Sadre further teaches generate main intermediate data from the main chart and local intermediate data from the local chart (Col. 16, Lines 43-48: “The SFC+ shown in FIG. 7 is described as being in a 'top-level' format. Step name boxes 103a, 103b, 103c refer to regular steps in a SFC+ diagram. Macro step name box 105 refers to a macro step in a SFC+ diagram. A macro step is represented by nested boxes in a top-level format SFC+”; Col. 16, Lines 57-59: “the entire graphical program representation is maintained in an internal format”); and
convert the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program (Col. 16-17, Lines 54-67 & 1-3: “While the Program Execution subsystem is executing the child SFC+, the Program Execution subsystem will also scan any actions in the parent SFC+ which are attached to the macro step name box 105 and the Program Execution subsystem will also continue executing any SFC+ steps in the parent SFC+ which are activated in parallel with the macro step. When the child SFC+ completes execution, the Program Execution subsystem destroys the instance of the SFC+ execution mechanism associated with Macro Step Box 105 and activates the next step in the parent SFC+ (step name box 103c)”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to adapt the apparatus of Yogo in view of Hanssen to incorporate the teachings of Sadre so as to include generating main intermediate data from the main chart and local intermediate data from the local chart and converting the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program. Doing so would allow separation of local chart data from main chart data with the aim of keeping control logic readable (Col. 13, Lines 37-44: “inside the step boxes 122 (see FIGS. 9a, 9b and 9c). The sequential program statements appear prominently in the step boxes, and are not 'buried' with the continuous programs. With such an enhanced SFC (also referred to as 'SFC+') the sequential flow of execution inside of each step is easily visualized together with the sequencing between steps”; Col. 13, Lines 53-65: “Because of the above features the SFC+ is more compact and readable, than the standard Sequential Function Chart”).
Regarding claim 9, Yogo in view of Hanssen teaches the control program generation method according to claim 3.
Hanssen further teaches the method further comprising: separating the action chart into a main chart including the first number of consecutive subperiods (Page 307, Section 12.1.1: “SFC can be used to partition (divide up) control-tasks in the same way as topdown design of programs”) and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion (Page 106, Section 4.5.3.1: “Every macro‐step, at any rate, can consist of several ordinary steps so that they constitute their own small sequences within the main sequence. Figure 4.12 shows a sketch of the principle of using macro‐steps”; Page 325, Section 12.6: “you will have an overall sequence with several subsequences, one for each macro-step… You need a parallel branch if there are two or more branches to be traversed simultaneously”).
Yogo and Hanssen do not explicitly teach “generating main intermediate data from the main chart and local intermediate data from the local chart; and converting the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program.”
Sadre further teaches generating main intermediate data from the main chart and local intermediate data from the local chart (Col. 16, Lines 43-48: “The SFC+ shown in FIG. 7 is described as being in a 'top-level' format. Step name boxes 103a, 103b, 103c refer to regular steps in a SFC+ diagram. Macro step name box 105 refers to a macro step in a SFC+ diagram. A macro step is represented by nested boxes in a top-level format SFC+”; Col. 16, Lines 57-59: “the entire graphical program representation is maintained in an internal format”); and
converting the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program (Col. 16-17, Lines 54-67 & 1-3: “While the Program Execution subsystem is executing the child SFC+, the Program Execution subsystem will also scan any actions in the parent SFC+ which are attached to the macro step name box 105 and the Program Execution subsystem will also continue executing any SFC+ steps in the parent SFC+ which are activated in parallel with the macro step. When the child SFC+ completes execution, the Program Execution subsystem destroys the instance of the SFC+ execution mechanism associated with Macro Step Box 105 and activates the next step in the parent SFC+ (step name box 103c)”).
The reasons to combine Sadre with Yogo in view of Hanssen are the same as articulated in the rejection of claim 8 above.
Regarding claim 10, Yogo in view of Hanssen teaches the non-transitory computer-readable storage medium according to claim 4.
Hanssen further teaches further comprising: separating the action chart into a main chart including the first number of consecutive subperiods (Page 307, Section 12.1.1: “SFC can be used to partition (divide up) control-tasks in the same way as topdown design of programs”) and a local chart including the second number of parallel subperiods extracted from the parallelized processing portion (Page 106, Section 4.5.3.1: “Every macro‐step, at any rate, can consist of several ordinary steps so that they constitute their own small sequences within the main sequence. Figure 4.12 shows a sketch of the principle of using macro‐steps”; Page 325, Section 12.6: “you will have an overall sequence with several subsequences, one for each macro-step… You need a parallel branch if there are two or more branches to be traversed simultaneously”).
Yogo and Hanssen do not explicitly teach “generating main intermediate data from the main chart and local intermediate data from the local chart; and converting the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program.”
Sadre further teaches generating main intermediate data from the main chart and local intermediate data from the local chart (Col. 16, Lines 43-48: “The SFC+ shown in FIG. 7 is described as being in a 'top-level' format. Step name boxes 103a, 103b, 103c refer to regular steps in a SFC+ diagram. Macro step name box 105 refers to a macro step in a SFC+ diagram. A macro step is represented by nested boxes in a top-level format SFC+”; Col. 16, Lines 57-59: “the entire graphical program representation is maintained in an internal format”); and
converting the main intermediate data and the local intermediate data into a main program and a local program, respectively, to generate the control program (Col. 16-17, Lines 54-67 & 1-3: “While the Program Execution subsystem is executing the child SFC+, the Program Execution subsystem will also scan any actions in the parent SFC+ which are attached to the macro step name box 105 and the Program Execution subsystem will also continue executing any SFC+ steps in the parent SFC+ which are activated in parallel with the macro step. When the child SFC+ completes execution, the Program Execution subsystem destroys the instance of the SFC+ execution mechanism associated with Macro Step Box 105 and activates the next step in the parent SFC+ (step name box 103c)”).
The reasons to combine Sadre with Yogo in view of Hanssen are the same as articulated in the rejection of claim 8 above.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Magdalena Kossek whose telephone number is (571)272-5603. The examiner can normally be reached Mon-Fri 8:00-5:00 EST.
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, Robert Fennema can be reached on (571)272-2748. 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.
/M.I.K./Examiner, Art Unit 2117
/ROBERT E FENNEMA/Supervisory Patent Examiner, Art Unit 2117