Method and Apparatus for Proxy Execution and Computation with an Industrial Controller
AssigneeRockwell Automation Technologies, Inc.
InventorsDavid A. Johnston, Michael J. Viste, Ryan L. Schnell
Life of this patent
Estimating the term…
Abstract
An industrial controller that integrates execution of a control program on the industrial controller with execution of additional functions on an external processing device is disclosed. Integrating the external processing device provides an improved system for third party development of control functions which may be unique to specific applications. The system manages communication between the industrial controller and the external processing device, manages access to data stored in the industrial controller, and makes the details of the integration transparent to the programmer.
Claims20
An industrial controller configured to coordinate execution of an external processing device with the industrial controller, the industrial controller comprising:
- a memory device operative to store a control program and at least one data structure;
- a processor operative to execute the control program, wherein the control program includes at least one proxy instruction to be executed on an external processing device;
- and
- an inter-processor interface operative to integrate execution of the at least one proxy instruction on the external processing device with execution of the control program on the processor, wherein:
- the at least one proxy instruction defines data from the at least one data structure required for execution of the corresponding proxy instruction,
- the inter-processor interface reads the data from the at least one data structure and transmits the data to the external processing device, and
- the inter-processor interface receives a response from the external processing device indicating a status of processing the at least one proxy instruction.
A method of coordinating execution of an external processing device with an industrial controller, the method comprising the steps of:
- executing a plurality of control instructions on a processor of an industrial controller, wherein the plurality of control instructions access data from at least one data structure stored in memory of the industrial controller;
- executing at least one proxy instruction on the processor of the industrial controller, wherein:
- the at least one proxy instruction defines at least one function to be executed on an external processing device,
- the at least one proxy instruction defines shared data from the at least one data structure, and
- the shared data is accessed by at least one of the plurality of control instructions and is required for execution of the at least one proxy instruction;
- reading the shared data with an inter-processor interface executing on the industrial controller;
- transmitting the shared data to the external processing device with the inter-processor interface;
- and
- receiving at the inter-processor interface a response from the external processing device indicating a status of executing the at least one function defined by the at least one proxy instruction.
A processor module for an industrial controller configured to coordinate execution of an external processing device with the industrial controller, the processor module comprising:
- a memory operative to store a control program and at least one data structure;
- and
- a processor operative to execute the control program, wherein:
- the control program includes a plurality of control instructions and at least one proxy instruction,
- the at least one proxy instruction defines data from the at least one data structure required for execution of the corresponding proxy instruction,
- the at least one proxy instruction defines at least one function to be executed on an external processing device, and
- the processor is further operative to:
- read the data from the at least one data structure,
- transmit the data to the external processing device, and
- receive a response from the external processing device indicating a status of processing the at least one proxy instruction.
Dependencies are inferred from the claim text.