Facility control service
AssigneeAmazon Technologies, Inc.
InventorAdolfo Bravo Ferreira
Life of this patent
Estimating the term…
Abstract
A facility control service and programmable logic controller (PLC) interfaces enable coordination and optimization of control of various PLCs that use various PLC specific protocols. The facility control service sends control commands formatted in accordance with a secure protocol and respective PLC interfaces convert the control commands into respective PLC specific protocols. In some embodiments, a facility control service employs machine learning techniques to optimize control of PLCs at a facility. Also, in some embodiments, a facility control service coordinates deployment of PLC software to various PLCs in one or more facilities that use various PLC specific protocols.
Claims20
A facility control service, comprising:
- one or more computers configured to:
- establish an encrypted connection with a programmable logic controller (PLC) interface via an intermediate network in accordance with a secure communication protocol,
- wherein the PLC interface is associated with a particular PLC at a facility, wherein the particular PLC controls a system of the facility;
- provide a certificate to the PLC interface for use in authenticating communications with other PLC interfaces at the facility and a local facility controller at the facility, wherein the PLC interface is configured to exchange data with a computing device implementing the local facility controller at the facility and the other PLC interfaces via a local network at the facility, and wherein the local facility controller is configured to provide uninterrupted control to the particular PLC associated with the PLC interface and other PLCs associated with the other PLC interfaces via the local network when a connection to the facility control service via the intermediate network is unavailable;
- provide another certificate to at least one of the other PLC interfaces at the facility that is associated with another PLC that controls another system of the facility, wherein the other certificate is for use in authenticating communications with the PLC interface and the local facility controller at the facility,
- wherein to exchange data with the a least one other PLC interface, the PLC interface is configured to provide the received certificate for authentication, and
- wherein to exchange data with the PLC interface, the at least one other PLC interface is configured to provide the received certificate for authentication;
- receive data indicating a condition at the facility;
- generate a control command based on the received data to adjust a control parameter of the PLC that controls the system at the facility;
- and
- cause the control command to be transmitted to the PLC interface in accordance with the secure communication protocol via the encrypted connection over the intermediate network,
- wherein the PLC interface receives the control command formatted in accordance with the secure protocol and converts the control command into a control command in accordance with a PLC protocol in use by the PLC, wherein the converted control command causes the PLC to change the control parameter of the PLC, and wherein to convert the control command, the PLC interface selects PLC conversion instructions for the PLC protocol in use by the PLC from a plurality of PLC conversion instructions for a plurality of PLC protocols;
- and
- wherein the PLC interface provides the control command to the local facility controller at the facility via the local network to cause the local facility controller to be updated based on the control command.
A method comprising:
- establishing a secure connection between a control service and a programmable logic controller (PLC) interface in accordance with a secure communication protocol,
- wherein the PLC interface is associated with a PLC at a facility, and providing a certificate to the PLC interface for use in authenticating communications with other PLC interfaces at the facility and a local facility controller at the facility, wherein the PLC interface is configured to exchange data with a computing device implementing the local facility controller at the facility and the other PLC interfaces via a local network at the facility, and wherein the local facility controller is configured to provide uninterrupted control to the PLC associated with the PLC interface and other PLCs associated with the other PLC interfaces via the local network when a connection to the control service via the intermediate network is unavailable;
- providing another certificate to at least one of the other PLC interfaces at the facility, wherein the other certificate is for use in authenticating communications with the PLC interface and the local facility controller at the facility,
- wherein to exchange data with the a least one other PLC interface, the PLC interface is configured to provide the received certificate for authentication;
- and
- wherein to exchange data with the PLC interface, the at least one other PLC interface is configured to provide the other certificate for authentication;
- generating a command to change a parameter of the PLC at the facility;
- transmitting the command from the control service to the PLC interface in accordance with the secure communication protocol via the encrypted connection over the intermediate network;
- converting, by the PLC interface, the command into a command in accordance with a PLC protocol in use by the PLC at the facility, wherein said converting comprises selecting PLC conversion instructions for the PLC protocol in use by the PLC at the facility from a plurality of PLC conversion instructions for a plurality of PLC protocols stored in a PLC protocol conversion instructions depository of the PLC interface or of the control service;
- and
- causing the control command to be provided to the local facility controller via the local network to cause the local facility controller to be updated based on the command from the control service.
A non-transitory computer readable storage medium storing program instructions, that when executed by a processor, cause the processor to:
- determine a programmable logic controller (PLC) protocol currently in use by a PLC at a facility;
- select, from a plurality of PLC protocol conversion instructions stored in a PLC protocol conversion instructions depository, PLC protocol conversion instructions for the PLC protocol in use by the PLC at the facility;
- receive, from a control service via an intermediate network, a command formatted in accordance with a secure protocol;
- receive, from the control service via the intermediate network, a certificate for use in authenticating communications, via a local network at the facility, with other PLC interfaces for other PLCs at the facility and a local facility controller at the facility;
- convert, using the selected PLC protocol conversion instructions, the command into a command in accordance with the PLC protocol in use by the PLC;
- cause the converted command to be transmitted to the PLC, wherein the converted command causes the PLC to change a parameter of the PLC;
- and
- cause the control command to be provided to the local controller via the local network to update the local controller, wherein the local controller is configured to provide uninterrupted control to the PLC and the other PLCs at the facility via the local network when a connection to the control service via the intermediate network is unavailable;
- exchange data indicating a condition at the facility or data indicating a control parameter of the PLC with the other PLCs at the facility via the local network, wherein each of the other PLCs has an associated PLC interface,
- wherein to exchange the data with the other PLCs at the facility via the local network the program instructions cause the data to be transmitted to a local facility control module of the local controller that performs:
- authentication of an identity of a PLC interface that is providing the data based on a first certificate provided by the control service to the PLC interface that is providing the data;
- and
- authentication of another PLC interface that is receiving the data based on another certificate provided by the control service to the PLC that is receiving the data.
Dependencies are inferred from the claim text.