IP Library Granted Patent US 9,690,279
Granted Patent B2
US 9,690,279 · App. 15/184,299 · Granted Jun 27, 2017

Industrial controller automation interface

Inventors: Jeffrey A. McKelvey (Brookfield, WI); Mike D'Amico (East Troy, WI)
Assignee: ROCKWELL AUTOMATION, INC.
G05B19/054G05B15/02G05B19/05G05B19/056G05B19/4185G05B19/41835G05B2219/13121G05B2219/13128G05B2219/13144G05B2219/13172G05B2219/15027G05B2219/15038G05B2219/15052G05B2219/31112G05B2219/31229G05B2219/31422G05B2219/32126G05B2219/34038Y02P90/12Y02P90/18
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,690,279
App. No.
15/184,299
Granted
Jun 27, 2017
Kind
B2
Abstract

An automation interface is provided for interacting with industrial controllers. The automation interface provides for programming, editing, monitoring and maintenance of industrial controllers programmatically from a local or remote location. The automation interface component is adapted to communicate with industrial controllers by integrating a computer process interface library into the automation interface component. The computer process interface library exposes the automation interface component to client application processes, so that the client application processes can communicate with the at least one industrial controller programmatically. The automation interface is provided with functionality for downloading, uploading and programming of control programs to the processors of the industrial controllers.

Claims (66)

1. A non-transitory computer-readable medium having instructions stored thereon that, in response to execution, cause a computer communicatively coupled to an industrial controller through a first network to perform operations comprising:

establishing one or more classes of objects, including defining at least one attribute or method for each object;

assigning a project object to the industrial controller, the project object being associated with at least one program file object residing on the industrial controller and at least one data file object residing on the industrial controller;

executing an automation interface exposed to a client application located on a remote device communicatively coupled to the computer through a second network, wherein the automation interface is resident on the computer;

receiving, via the automation interface from the client application, a data request to upload control process data from a data file object of the at least one data file object residing on the industrial controller, the data request specifying the control process data as an attribute of the project object or an object associated with the project object;

based on the specified control process data attribute in the received data request, executing, via the automation interface, the data request with the industrial controller associated with the project object associated with the specified control process data attribute;

receiving, via the automation interface from the client application, an additional data request specifying an edited version of the control process data to download to the industrial controller associated with the data file object; and

based on the edited version of the control process data, executing, via the automation interface, the additional request with the associated industrial controller.

2. The non-transitory computer-readable medium of claim 1 , the operations further comprising:

receiving and processing, via the automation interface, a client request from the client application according to a first communication protocol; and

invoking, via the automation interface, one or more communications classes or functions of the one or more classes of objects to execute the client request with the industrial controller via a second communication protocol that is different from the first communication protocol.

3. The non-transitory computer-readable medium of claim 1 , wherein the first network is different from the second network.

4. The non-transitory computer-readable medium of claim 1 , the operations further comprising generating, based on the one or more classes of objects, the automation interface.

5. The non-transitory computer-readable medium of claim 1 , wherein the operations further comprising:

receiving, via the automation interface, another data request from the client application which specifies an attribute of an object associated with the project object;

identifying, via the automation interface, the project object based on the attribute and the industrial controller associated with the project object;

issuing, via the automation interface, a request to the industrial controller for data associated with the attribute of the object specified in the other data request;

receiving, via the automation interface, the requested data from the industrial controller; and

transmitting, via the automation interface, the requested data to the client application.

6. The non-transitory computer-readable medium of claim 5 , wherein the other data request is received according to a first communication protocol, the requested data is transmitting according to the first communication protocol, the request is issued according to a second communication protocol that is different from the first communication protocol, and the requested data is received according to the second communication protocol.

7. A non-transitory computer-readable medium having instructions stored thereon that, in response to execution, cause a computer communicatively coupled to an industrial controller through a first network to perform operations comprising:

establishing one or more classes of objects, including defining at least one attribute or method for each object;

assigning a project object to the industrial controller, the project object being associated with at least one program file object residing on the industrial controller and at least one data file object residing on the industrial controller;

executing an automation interface exposed to a client application located on a remote device communicatively coupled to the computer through a second network, wherein the automation interface is resident on the computer;

receiving, via the automation interface from the client application, a request specifying the project object to upload from the industrial controller associated with the project object;

based on the project object specified in the received request, executing, via the automation interface, the request with the industrial controller;

receiving, via the automation interface, another request from the client application specifying an edited version of the project object to download to the industrial controller associated with the project object; and

based on the edited version of the project object specified in the other request, executing, via the automation interface, the other request with the associated industrial controller.

8. The non-transitory computer-readable medium of claim 7 , the operations further comprising:

receiving and processing, via the automation interface, a client request from the client application according to a first communication protocol; and

invoking, via the automation interface, one or more communications classes or functions of the one or more classes of objects to execute the client request with the industrial controller via a second communication protocol that is different from the first communication protocol.

9. The non-transitory computer-readable medium of claim 7 , wherein the first network is different from the second network.

10. A computer, comprising:

a processor; and

a memory communicatively coupled to the processor, the memory having stored therein computer-executable instructions, comprising:

an automation interface exposed to a client application residing on a remote device that is connected to the computer through a first network, wherein the automation interface is in communication with an industrial controller through a second network and comprises one or more classes of objects, including at least one attribute or method defined for each object, wherein the automation interface is configured to:

assign a project object to the industrial controller, the project object being associated with at least one program file object residing on the industrial controller and at least one data file object residing on the industrial controller;

receive, from the client application, a data request to upload control process data from a data file object of the at least one data file object residing on the industrial controller, the data request specifying the control process data as an attribute of the project object or an object associated with the project object;

based on the specified control process data attribute in the received data request, execute the data request with the industrial controller associated with the project object associated with the specified control process data attribute;

receive, from the client application, an additional data request specifying an edited version of the control process data to download to the industrial controller associated with the data file object; and

based on the edited version of the control process data, execute the additional request with the associated industrial controller.

11. The computer of claim 10 , wherein the automation interface is further configured to:

receive and process a client request from the client application according to a first communication protocol; and

invoke one or more communications classes or functions of the one or more classes of objects to execute the client request with the industrial controller via a second communication protocol that is different from the first communication protocol.

12. The computer of claim 10 , wherein the first network is different from the second network.

13. The computer of claim 10 , further comprising a component configured to generate the automation interface based on the one or more classes of objects.

14. The computer of claim 10 , wherein the automation interface is further configured to:

receive another data request from the client application which specifies an attribute of an object associated with the project object;

identify the project object based on the attribute and the industrial controller associated with the project object;

issue a request to the industrial controller for data associated with the attribute of the object specified in the data request;

receive the requested data from the industrial controller; and

transmit the requested data to the client application.

15. The computer of claim 14 , wherein the other data request is received according to a first communication protocol, the requested data is transmitting according to the first communication protocol, the request is issued according to a second communication protocol that is different from the first communication protocol, and the requested data is received according to the second communication protocol.

16. A computer, comprising:

a processor; and

a memory communicatively coupled to the processor, the memory having stored therein computer-executable instructions, comprising:

an automation interface exposed to a client application residing on a remote device that is connected to the computer through a first network, wherein the automation interface is in communication with an industrial controller through a second network and comprises one or more classes of objects, including at least one attribute or method defined for each object, wherein the automation interface is configured to:

assign a project object to the industrial controller, the project object being associated with at least one program file object residing on the industrial controller and at least one data file object residing on the industrial controller;

receive, from the client application, a request specifying the project object to upload from the industrial controller associated with the project object;

based on the project object specified in the received request, execute the request with the industrial controller;

receive another request from the client application specifying an edited version of the project object to download to the industrial controller associated with the project object; and

based on the edited version of the project object specified in the other request, execute the other request with the associated industrial controller.

17. The computer of claim 16 , the operations further comprising:

receive and process a client request from the client application according to a first communication protocol; and

invoke one or more communications classes or functions of the one or more classes of objects to execute the client request with the industrial controller via a second communication protocol that is different from the first communication protocol.

18. The computer of claim 16 , wherein the first network is different from the second network.

Assignments (2)
MERGER Recorded Nov 2, 2016
From: ROCKWELL SOFTWARE INC.
To: ROCKWELL AUTOMATION, INC.
Reel/Frame 040543/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2016
From: MCKELVEY, JEFFREY A.; D'AMICO, MIKE
To: ROCKWELL SOFTWARE INC.
Reel/Frame 038932/0607 →
Continuity (7)
Continuation 14815045 · Jul 31, 2015
Continuation 13911866 · Jun 6, 2013
Continuation 12189517 · Aug 11, 2008
Continuation 11533991 · Sep 21, 2006
Continuation 10945189 · Sep 20, 2004
Continuation 09928623 · Aug 13, 2001
Related Publication 20160306335A1 · Oct 20, 2016