IP Library › Granted Patent US 9,134,720
Granted Patent B2
US 9,134,720 · App. 12/895,392 · Granted Sep 15, 2015

Macro function block for encapsulating device-level embedded logic

Inventors: Harsh Shah (Cleveland, OH); Gregory A. Majcher (Broadview Heights, OH); Jian Feng (Shanghai, CN); Qing Jia (Shanghai, CN); Tao Song (Shanghai, CN); Zhen Wei (Shanghai, CN); James Edward Joe (Waukesha, WI)
Assignee: ROCKWELL AUTOMATION TECHNOLOGIES, INC.
G05B19/045G05B19/0426G05B19/056G05B2219/23258G05B2219/23274G05B2219/25232
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,134,720
App. No.
12/895,392
Granted
Sep 15, 2015
Kind
B2
Abstract

The present invention provides techniques for encapsulating device-level embedded logic into user-defined instructions using configuration software. More specifically, the disclosed embodiments enable add-on instructions for device configuration embedded logic. Programming interfaces specific to an application or device may be combined into a single instruction as a reusable Macro component that may be reused in the same or different applications or devices.

Claims (34)

1. A method for distributed control of a process, comprising:

accessing a macro creation module in a design environment;

accessing a plurality of function blocks configured to execute desired arithmetic and/or logical operations based upon inputs to generate outputs, wherein the inputs and outputs comprise at least one Boolean input or output and at least one analog input or output;

creating a macro through manipulation of graphical representations of the function blocks displayed via the macro creation module in the design environment to encapsulate multiple function blocks of the plurality of function blocks into a single set of add-on instructions, wherein at least one of the inputs and at least one of the outputs of the multiple function blocks are mapped to inputs and outputs of the macro;

configuring the macro for a particular automation process;

downloading the macro into a low-level distributed automation device; and

storing the macro for subsequent use as the single set of add-on instructions in another design environment to configure another low-level distributed automation device.

2. The method of claim 1 , wherein the function blocks comprise non-transitory code configured in an object oriented programming language.

3. The method of claim 1 , wherein the low-level distributed automation device is an input/output terminal block.

4. The method of claim 1 , wherein the low-level distributed automation device is a push-button block.

5. The method of claim 1 , wherein the low-level distributed automation device is a relay.

6. The method of claim 1 , wherein the low-level distributed automation device is a motor drive or motor starter.

7. The method of claim 1 , wherein configuring the macro comprises configuring at least one memory register from which the function blocks read at least one input.

8. The method of claim 1 , wherein configuring the macro comprises configuring at least one memory register to which the function blocks write at least one output.

9. The method of claim 1 , wherein during operation, the low-level distributed automation device is coupled to an automation controller via a network, but receives at least one input and generates at least one output based upon the macro without command from the automation controller.

10. The method of claim 1 , wherein the macro is created on a configuration station in the design environment.

11. The method of claim 1 , comprising uploading the macro from the low-level distributed automation device to a configuration station.

12. A low-level distributed automation control device, comprising:

a memory circuit storing a macro comprising a plurality of function blocks configured to execute desired arithmetic and/or logical operations based upon inputs to generate outputs, the macro being configured for a particular automation process, wherein the inputs and outputs comprise at least one Boolean input or output and at least one analog input or output, and wherein the macro is configured by a macro creation module storing the macro for subsequent use as a single set of add-on instructions during subsequent configuration of other low-level distributed automation control devices;

a processor configured to execute the macro; and

an interface configured to output an output based upon the macro executed by the processor;

wherein the low-level distributed automation control device is an input/output terminal block, a push-button block, a relay, a motor drive, or a motor starter.

13. The device of claim 12 , wherein the low-level distributed automation control device is the input/output terminal block.

14. The device of claim 12 , wherein the low-level distributed automation control device is the push-button block.

15. The device of claim 12 , wherein the low-level distributed automation control device is the relay.

16. The device of claim 12 , wherein the low-level distributed automation control device is the motor drive or motor starter.

17. A distributed control system, comprising:

a low-level distributed automation control device comprising a memory circuit storing a macro comprising a plurality of function blocks configured to execute desired arithmetic and/or logical operations based upon inputs to generate outputs, the macro being configured for a particular automation process, a processor configured to execute the macro, and an interface configured to output an output based upon the macro executed by the processor, wherein the inputs and outputs comprise at least one Boolean input or output and at least one analog input or output, and wherein the macro is configured by a macro creation module storing the macro for subsequent use as a single set of add-on instructions during subsequent configuration of other low-level distributed automation control devices; and

an automation controller coupled to the low-level distributed automation control device via a network;

wherein the low-level distributed automation control device is configured to communicate with the automation controller via the network, but receives the inputs and outputs the generated outputs without command from the automation controller, and wherein the low-level distributed automation control device is an input/output terminal block, a push-button block, a relay, a motor drive, or a motor starter.

18. The system of claim 17 , wherein the low-level distributed automation control device is the input/output terminal block.

19. The system of claim 17 , wherein the low-level distributed automation control device is the push-button block.

20. The system of claim 17 , wherein the low-level distributed automation control device is the relay.

21. The system of claim 17 , wherein the low-level distributed automation control device is the motor drive or motor starter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2010
From: SHAH, HARSH; MAJCHER, GREGORY A.; FENG, JIAN; JIA, QING; SONG, TAO; WEI, ZHEN; JOE, JAMES EDWARD
To: ROCKWELL AUTOMATION TECHNOLOGIES, INC.
Reel/Frame 025074/0117 →
Continuity (4)
Provisional Application 61304227 · Feb 12, 2010
Provisional Application 61304261 · Feb 12, 2010
Provisional Application 61304275 · Feb 12, 2010
Related Publication 20110202688A1 · Aug 18, 2011