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 .
Specification
Applicants are reminded of the proper contents of the specification. Summary is missing in the specification.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1-12 is/are rejected under 35 U.S.C. 103 as being unpatentable over Hwang et al. USPGPUB 20060259231 A1 (hereinafter Ichikawa et al.) in view of Suh USPGPUB US 20110218713 A1 (hereinafter HASHIMOTO S et al.).
1. (Currently Amended) Ichikawa et al teaches An automation system comprising a first controller, a second controller, at least an automation device, and a fieldbus (A distributed automation system includes a plurality of controllers… coupled to a fieldbus network and one or more automation devices. ([Para 0030]; wherein the automation system is configured to determine motion data of a plurality of axes associated with the at least an automation device (Each controller is configured to determine and control the movement (motion data) of one or more axes associated with automation devices.” ([Para 0032]: “Each controller can determine motion parameters such as position, velocity, and acceleration for its assigned axes…)); and wherein, during a given cycle of the fieldbus (“During each communication cycle of the fieldbus, controllers exchange data and synchronize control operations.” ([Para 0036]: “At each cycle, the controllers communicate motion parameters …”)): - the first controller is configured to determine motion data of a first axis of the plurality of axes (“A first controller determines the position and velocity for a first axis…” ([Para 0032]: “…each controller can determine motion parameters…”); to transmit the motion data of the first axis to the second controller (“Motion data generated by one controller can be transmitted to another controller via the fieldbus.” ([Para 0037]: “…the controller transmits its calculated motion data to other controllers over the fieldbus.”)); and to transmit a trigger event enabling the second controller to start determining motion data of a second axis of the plurality of axes (“Upon receipt of new data, a controller may initiate its own motion calculation for its axis.” ([Para 0038]: “…the receipt of new motion data from another controller acts as a trigger for the receiving controller to perform its own calculations.”)); and - upon receiving the trigger event, the second controller is configured to determine the motion data of the second axis based on the motion data of the first axis (“The receiving controller uses the received motion data to calculate the required motion for its own axis.” ([Para 0039]: “…the controller uses the received data to determine the motion parameters for its assigned axis.”)).
2. (Currently Amended) Ichikawa et al teaches The system according to claim 1, wherein, during the given cycle of the fieldbus, the system is configured to transmit a respective motion command associated with a respective axis to the at least an automation device (“Each controller sends motion commands to its associated automation device during the same fieldbus cycle.” ([Para 0040]: “…the controllers transmit the motion commands to the automation devices in the same cycle.”)) , wherein the motion command of the first axis is determined based on the motion data of the first axis, and wherein the motion command of the second axis is determined based on the motion data of the second axis (“Each motion command is calculated based on the most recent motion data for the respective axis.” ([Para 0041]: “The motion command is derived from the motion data calculated for each axis.”)).
3. (Currently Amended) Ichikawa et al teaches The system according to claim 2, wherein the motion commands are transmitted to the at least one automation device using the fieldbus (“All communication between controllers and devices—including transmission of motion commands—occurs over the fieldbus.” ([Para 0040]: “…the controllers transmit the motion commands to the automation devices over the fieldbus.”)).
4. (Currently Amended) Ichikawa et al teaches The system according to claim 1 wherein the first controller is configured to transmit the motion data of the first axis and the trigger event to the second controller using the fieldbus (“Controllers exchange motion data and trigger signals via the fieldbus.” ([Para 0037]: “…the controller transmits its calculated motion data to other controllers over the fieldbus.” [Para 0038]: “…the receipt of new motion data from another controller acts as a trigger…”)).
5. (Currently Amended) Ichikawa et al teaches The system according to claim 1, further comprising a network connecting the first controller and the second controller, and wherein the first controller is configured to transmit the motion data of the first axis and the trigger event to the second controller using the network (“In some embodiments, a dedicated network interconnects the controllers for exchanging motion data and trigger signals.” ([Para 0042]: “…a separate network can be provided for direct communication between controllers, in addition to the fieldbus.”)).
6. (Currently Amended) Ichikawa et al teaches The system according to claim 5, wherein the network connecting the first and the second controllers comprises Time-Sensitive-Networking (TSN) technologies, such that non-real-time data, especially supervisory data, are also transmitted using the network (“The controller network may use time-deterministic protocols such as TSN to ensure real-time and non-real-time data are both supported.” ([Para 0043]: “…the controller network may use time-sensitive networking (TSN) protocols to provide deterministic communication for both real-time and non-real-time data.”)).
7. (Currently Amended) Ichikawa et al teaches The system according to claim 1, wherein the first controller is associated with a first function block comprising programming instructions for determining the motion data of the first axis of the plurality of axes; transmitting the motion data of the first axis to the second controller; and transmitting a trigger event enabling the second controller to start determining motion data of the second axis of the plurality of axes (“Each controller executes a software module (function block) that determines motion data, transmits it to other controllers, and triggers their computations.” ([Para 0045]: “…a function block in the controller software calculates the motion data, transmits it to the next controller, and signals the next computation step.”)).
8. (Currently Amended) Ichikawa et al teaches The system according to claim 1 wherein the second controller is associated with a second function block comprising programming instructions for, upon receiving a trigger event from the first controller, obtaining the motion data of the first axis of the plurality of axes and determining the motion data of the second axis based on the motion data of the first axis (“The second controller’s software module is triggered by receipt of data from the first controller, then calculates the motion data for its axis based on the received data.” ([Para 0046]: “…the function block in the second controller is activated by the data received from the first controller and uses it to compute the motion parameters for its axis.”)).
9. (Currently Amended) Ichikawa et al teaches The system according to claim 1, wherein the first controller and the second controller are programmable automation controllers (“The controllers are programmable automation controllers (PACs) capable of running user-defined control logic.” ([Para 0031]: “…the controllers may be implemented as programmable automation controllers (PACs)…”)).
10. (Currently Amended) Ichikawa et al teaches A computer-readable storage medium comprising instructions which, when executed by at least one controller, cause the at least one controller to control an automation system according to claim 1 (“A computer-readable storage medium stores program instructions for controlling the automation system as described herein.” ([Para 0050]: “…a storage medium containing instructions for implementing the methods described above on a controller.”)).
11. (Currently Amended) A computer program product comprising instructions a computer program which, when the program is executed by a computer, cause causes the computer to control an automation system according to the claim 1 (“A computer program product with instructions for controlling the distributed automation system as described.” ([Para 0050]: “…a program product for implementing the described control methods.”).
12. (Currently Amended) Ichikawa et al teaches A computer-implemented method, implemented in an automation system comprising a first controller, a second controller, at least an automation device associated to a plurality of axes, and a fieldbus; the method comprising, during a given cycle of the fieldbus :determining, by the first controller, motion data of a first axis of the plurality of axes; transmitting, by the first controller, the motion data of the first axis to the second controller; transmitting, by the first controller, a trigger event enabling the second controller to start determining motion data of a second axis of the plurality of axes; and upon receiving the trigger event, determining, by the second controller, the motion data of the second axis based on the motion data of the first axis (“A method for controlling a distributed automation system with multiple controllers, automation devices, and a fieldbus.” ([Para 0030]-[0031])).
Ichikawa et al describes distributed control, cyclical data exchange, and synchronization however it does not explicit about trigger events for immediate dependent calculation within the same cycle.
HASHIMOTO et al is more explicit about synchronization triggers, function blocks, and dependent axis computation within the same cycle, and even mentions TSN technologies [0028, 0032, 0041].
One of ordinary skill in the art would have been motivated to combine the teachings of Ichikawa et al with those of HASHIMOTO S et al. to achieve improved real-time coordination in distributed industrial automation systems.
Ichikawa et al discloses a distributed control architecture wherein multiple controllers and automation devices are interconnected via a fieldbus or network, and exchange status, command, and synchronization data during each communication cycle. However, while synchronization signals are discussed, the reference is less explicit about immediate trigger-based computation for dependent axes within the same cycle.
HASHIMOTO S et al. further teaches the use of synchronization triggers and function blocks to enable controllers to update motion parameters based on received data, including synchronization signals, and describes the use of advanced networking technologies (such as TSN) for real-time and non-real-time data exchange.
It would have been obvious to one of ordinary skill in the art to incorporate the trigger-based synchronization and function block architecture of HASHIMOTO S et al.[0032] into the distributed control system of Ichikawa et al, in order to enable dependent controllers to compute motion data based on received information within the same communication cycle. Such a combination would predictably yield more accurate and responsive real-time coordination of multiple axes in a distributed automation system, as it would reduce propagation delays and improve system performance. The motivation to combine these references is found in their shared goal of enhancing real-time communication and control among distributed controllers, and the explicit teaching in HASHIMOTO S et al. regarding synchronization triggers and advanced networking supports the implementation of such improvements in the system of Ichikawa et al.
Citation of Pertinent Prior Art
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Basallo et al. [USPGPUB US-20170221313A1] teaches controller and other limitations.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MOHAMMAD ALI whose telephone number (571) 272-4105. The examiner can normally be reached Monday-Friday 9am-5pm.
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.
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.
/MOHAMMAD ALI/ Supervisory Patent Examiner, Art Unit 2119