Watt?? Another Energy Object??
Introduction to the Energy Management Object
Richard Blair
System Architect
Schneider ElectricRich Morgan
Product Application Engineer
Rockwell Automation
Presented at the ODVA2014 Industry Conference & 16th Annual Meeting
March 11-13, 2014
Phoenix, Arizona, USA

Abstract:
Industrial energy management has long been expensive, application-specific and difficult tocost justify. Believing that a standardized approach would render this technology more
readily accessible, the Energy Initiative Special Interest Group (SIG) is currently working on
completing the definition of a CIP Energy™ Management Object. This object defines
multiple Curtailment Levels that allow devices to reduce energy consumption, while
continuing operation at altered production rates. Each Curtailment Level comprises a set of
attributes describing the energy savings and instructions to the device on how to go to thatlevel.
This paper introduces the current vision of the definition of the CIP Energy Management
Object. After terms and definitions are introduced, the state model is presented. Each
attribute and object specific service are explored. Next, interactions between an Energy
Management Client and a device containing the Energy Management Object are identified.
Also included is a discussion exploring how the Energy Management Object complements
other, previously defined energy objects. Devices that lend themselves to implementing theEnergy Management Object are considered. The paper closes with a summary of the
anticipated benefits of the Energy Management Object to vendors, users and systemdesigners.

2014 ODVA Industry Conference

1©2014 ODVA, Inc.

Definition of Terms
Managed Entity – A device that supports the Energy Management object.
Energy Management Client (“Client”) – A managing application that controls Managed
Entities by interacting with instances of their energy management objects.
Managed Instance – An instance of an Energy Management object that may be owned by a
Client. A managed entity can have multiple Managed Instances.
Energy Management State (“State”) – A set of conditions that defines the behavior of aManaged Instance.
Curtailment Level (“Level”) – Collection of data representing a power level to which aManaged Instance can be commanded.
Pass Code – A client-created 32-bit unsigned integer that must be present in all Energy
Management Object specific service requests. The Pass Code is an integrity mechanism used
to establish an exclusive relationship between a server and an authorized client or set ofclients for energy management.
Data Object – Generic term used to describe an object capable of storing data (e.g. the File
Object).

Keywords
Energy Management, Curtailment level, Energy, PowerIntroduction
The need exists in industrial applications for a standardized method of communicating with
control devices to support the automated management of energy consumption and power
levels. The Energy Management Object specifies a standardized device-level interface,based upon CIP™ that is designed to meet this need.
In today’s industrial environment, an application may utilize a number of methods to control
the operation of devices, including direct analog and digital control, scheduled andunscheduled communications, etc. The Energy Management Object interface provides analternate, standardized method that supplements customary control methods, for the purposeof controlling the energy usage and power level of industrial devices and systems. Theinterface is comprised of a discrete collection of power curtailment levels that can beselected by an energy management application.
The Energy Management Object can act as a proxy to provide the Energy Management
Object interface for one or more simple devices that do not possess the capabilities toimplement power curtailment levels.
A device that supports the Energy Management Object may also support other energyrelated CIP objects.
An Energy Management Client can reduce power consumption by commanding one or moreinstances of the energy management object to a curtailment level. Several options areavailable for providing versatility, and for managing the content of an energy management
object instance’s curtailment levels.
A Managed Instance can transition between various States and Levels. The collection of
object-specific services is used to control:2014 ODVA Industry Conference2©2014 ODVA, Inc.

••

Entry into and exit from Energy Management States
Within the State, transition between Curtailment Levels

A Managed Instance may have multiple defined Levels. Every Managed Instance must
contain at least one Curtailment Level that represents full power operation. The Client can
respond to conditions, energy saving requests, etc., by selecting Levels that exist in eachmember of its collection of Managed Instances, and by commanding each Managed Instanceto transition to the selected Level.
A Client can be used to:••

Command a Managed Instance to transition to Energy Management States andCurtailment Levels
Select an appropriate energy management action for a given set of conditions•

Configure Curtailment Levels in a Managed Instance.

Within the Managed state, a Managed Instance’s operational capabilities and power levels
may remain in transition for a time until a commanded Curtailment Level is attained.

Energy Management States
A managed entity supporting the Energy Management Object can transition between various
States and energy-saving Curtailment Levels. The object specific Energy_Management
service is used to change at what Level a Managed Instance is operating.
There are three Energy Management States for Managed Instances:
1. Nonexistent – The device is powered down; or the Managed Instance has not yet beencreated.
2. Not Owned – The Managed Instance is operational but no Client has established anownership relationship.
3. Managed – The Managed Instance is operational and a Client has established anownership relationship.
The following state transition diagram offers an illustration of the energy management
behavior of a Managed Instance.
Figure 1 – Energy Management Object Instance State Diagram

2014 ODVA Industry Conference

3©2014 ODVA, Inc.

Energy-saving Curtailment Level Assignment
The Energy Management Object embodies the general approach that energy management isperformed by a Client. The Client selects pre-defined, discrete energy-saving Curtailment
Levels in a collection of Managed Instances in order to attain system-wide energy
management objectives. There are numerous options available to device vendors, machine
OEMs, and system designers to assign energy-saving Levels to suit a particular application.
Examples include:••••

Curtailment Levels and their IDs may be pre-assigned by device vendors and documented
in product literature
Curtailment Levels and their IDs may be assigned by a machine builder during control
system design
Curtailment Levels and their IDs may be set during system commissioning (by use ofEnergy Management object specific services)
Curtailment levels may be set dynamically by a Client that is attempting to optimize
energy usage during machine or process operating conditions

The list above is not exhaustive. There is no intent to limit how a particular Client performs
energy management utilizing the Energy Management Object, or how a Managed Entity
implements the Energy Management Object.

Ownership Relationship between Client and Managed Instance
On power up, a Managed Instance enters the Not Owned state. A Client desiring to establish
an ownership relationship with the Managed Instance can issue an object specificEstablish_Ownership service request. This will establish an owner relationship between the
Client and the Managed Instance, and the Managed Instance will transition to the Managed
state. With this relationship established, the Client can now perform energy management
activities with the Managed Instance. The Client may also share the Pass Code, allowing
other Clients to interact with the Managed Instance as an owner.
An ownership relationship between the Client and Managed Instance will exist until anauthorized Client releases ownership or power is cycled to the Managed Instance.

Energy Management Object Instance Attributes
Like all CIP objects, the Energy Management Object contains a set of instance attributes.
The following sections describe the 9 instance attributes that comprise the Energy
Management Object.

Curtailment Levels
Curtailment Levels are used by a Client to control the amount of power that a Managed
Instance consumes during operation. Because Curtailment Levels may be customized toreflect different production behaviors, it is possible that some Curtailment Levels contain thesame Percent Power data. Mechanisms are provided to allow filtering the availability ofCurtailment Levels based upon desired production behaviors.
The Curtailment Levels attribute contains an array of structures describing the set ofCurtailment Levels supported by the Managed Instance. The Curtailment Levels arrayconsists of one member corresponding to each supported Curtailment Level. A Managed
Instance contains at least one Level (with ID = 0) for uncurtailed operation.

2014 ODVA Industry Conference

4©2014 ODVA, Inc.

A Curtailment Level may be specified in the Energy_Management Service by reference toits ID or its Percent Power. In cases where the Power values are the same in multiple Levels,a Client would need to use the ID in order to select one of those Levels. The Curtailment
Levels attribute members may be read by the common Member services or object specificservices.
The Curtailment Levels of a device may be read for:•

Display or informational purposes.

•

Coordination of Curtailment Levels in multiple Managed Instances to control energy
consumption.

•

Backing up Levels to facilitate device replacement.

The Curtailment Level structure consists of seven members that are described in thefollowing paragraphs:
ID
The ID member of a Curtailment Level contains a value that is unique for each Curtailment
Level in the Curtailment Levels array of a Managed Instance. Because each ID is unique, aClient can use this to identify each Curtailment Level within a Managed Instance.
Data Object Path
To enable a Managed Instance to transition to a particular Curtailment Level, it needs a setof instructions, set-points, data values, etc. For static Curtailment Levels (i.e. those definedand configured from the factory within a Managed Instance) a device can implement vendor
specific (e.g. hard-coded) links between Curtailment Levels and these instructions. A
preferred approach is to store these instructions in a Data Object (e.g. the File Object)instance. The Data Object Path member is then used to point to a Data Object instancecontaining the instructions. The value of the member can be hidden using the Hide Data
Object Association field in the Capabilities member.
The Data Object Path member value is set using the Associate_File object specific service
request. The contents and format of a Data Object instance is vendor specific.
Data Object Validity Check
The Data Object Validity Check can be used by a Managed Instance to verify that a data
object was not modified outside of the Energy Management Object environment. The
content of this member is vendor specific.
Capabilities
The Capabilities member indicates permissions granted to a Client for actions on thisCurtailment Level. The default value of zero (0) gives a Client full editing access to theLevel. There are four capabilities defined:•

to prevent modification to the Level•to prevent deletion of the Level•to hide the identity of the associated data used by the Managed Instance to transition to
the Level•

To indicate if a Data Object is needed2014 ODVA Industry Conference

5©2014 ODVA, Inc.

StatusThe Status member provides a mechanism for the Managed Instance to inform a Client about
the status of this Curtailment Level. Two fields are available:•

The Level Unavailable field can be used by a device to indicate that the Level is notavailable at this time. One reason could be that the Level is currently being modified(due to an object specific service request) or that the current state of the device prohibitstransition to this Level.

•

The Data Status field describes the state of the associated Data Object.

Percent PowerThe Percent Power member value indicates the percentage of Uncurtailed Power that will be
consumed when operating at this Level. It has a permissible range of 1 to 10,000, reflecting
0.01 to 100.00 per cent of Uncurtailed Power.
Description
The Description member may be used to provide a descriptor for the Curtailment Level. The
data type is STRINGI, so multiple languages can be used to describe the Level.

Number of Curtailment Levels
This attribute contains the number of members in the Curtailment Levels array of a Managed
Instance. The Managed Instance is responsible for updating this attribute as Levels are added
and removed from the Curtailment Levels Array.

Instance Capabilities
The Instance Capabilities attribute provides a mechanism for the Managed Instance toinform an Energy Management Client about what capabilities it currently supports. At thistime, only one capability is provided, which can be used to protect the array of Curtailment
Levels from modification.

Instance Status
The Instance Status attribute provides a mechanism for the Managed Instance to inform a
Client about its current operating characteristics. There are seven fields in this attribute.
If the Managed Instance is currently in transition to a new Curtailment Level, the Matching
ID field identifies the ID of the target Level.
The Capture in Progress field identifies whether the Managed Instance is currently in theprocess of saving a Curtailment Level, due to either a Capture_Level or Modify_Level
object specific service request.
The Level Mismatch field indicates whether the current data set matches the present
Curtailment Level. In order to create new Levels using the Capture_Level object specificservice, a device must allow modification of the data set to reflect operation at the desired
Level. This would constitute a mismatch, and this field would indicate that situation. Afterthe new operating Level is captured, the mismatch is no longer present.
The Curtailment Levels Array Full field indicates to a Client if there is no more room in theManaged Instance to store additional Curtailment Levels. While the specification allows for
up to 10001 Levels, a device may implement a lower number due to memory constraints,
etc.
2014 ODVA Industry Conference

6©2014 ODVA, Inc.

The Management Unavailable field can be used by a Managed Instance to indicate to a
Client that it is currently not accepting Energy_Management service requests. This allows aManaged Instance to easily turn off energy management during critical operations, criticalproduction schedule periods, etc.
The In Transition field is used to indicate if the Managed Instance is currently transitioning
to a Curtailment Level but not yet complete.
The Present State field value indicates the current state of the Managed Instance.

Present Curtailment Level ID
The Present Curtailment Level ID attribute contains the ID of the Curtailment Level atwhich the Managed Instance is currently operating or, if in transition to a new Level, theCurtailment Level at which it was operating before beginning the transition.
When the value of this attribute is zero (0), the Managed Instance is operating without
curtailment (at full load).

Present Expected PowerThe Present Expected Power attribute contains a calculated value to indicate the Managed
Instance’s present expected power consumption in kW. It is the product of the current
Percent Power member and the Uncurtailed Power divided by 10000:(𝑃𝑒𝑟𝑐𝑒𝑛𝑡 𝑃𝑜𝑤𝑒𝑟)𝑥 (𝑈𝑛𝑐𝑢𝑟𝑡𝑎𝑖𝑙𝑒𝑑 𝑃𝑜𝑤𝑒𝑟)
10000
When operating with no curtailment, this attribute is equal to the Uncurtailed Powerattribute.

Owner PathThe Owner Path attribute contains the path to the current Energy Management Client thatowns the Managed Instance. The object specific services Establish_Ownership or
Change_Ownership set the value of this attribute when a Client establishes or modifies anownership relationship with a Managed Instance. The Owner Path may be used by other
Clients to identify the Client that established ownership of the Managed Instance. If no
Client currently owns the Managed Instance, the path is empty.

Uncurtailed PowerThe Uncurtailed Power attribute indicates the nominal, average real power consumed by orunder control of the Managed Instance (in kW) when it is running at full operation. The
Client can use this value to determine, in combination with Percent Power members,possible energy savings when considering energy actions.

Options
The Options attribute provides selection of operational behaviors of Managed Instances.
This attribute is optional. At this time, there is only one option available, the Power up
Curtailment Level selector.

2014 ODVA Industry Conference

7©2014 ODVA, Inc.

The Power up Curtailment Level field controls what a Managed Instance does upon power
on. If the Managed Instance was at a particular Level when power was removed, this fieldlets the user choose whether the Managed Instance should remain at that Level upon power
up or if it should return to the full power Curtailment Level.

Object Specific Services
This section describes the twelve object specific services associated with the Energy
Management Object. With the exception of the Establish_Ownership service, all other object
specific services are Pass Code protected. The Pass Code is a mechanism used to establish
an exclusive relationship between a Managed Instance and an authorized Client or set of
Clients for energy management. In order to use these services, the Client needs to provide
and maintain a Pass Code for each Managed Instance.

Establish_Ownership Service
The Establish_Ownership service sets a Pass Code and Owner Path to establish an
ownership relationship between a Client and an Energy Management Object instance. The
Client provides a Pass Code and an EPATH to itself in the request. Upon successful
completion of this service, the Energy Management Object instance enters the Managed
state. The Client needs to include this agreed upon Pass Code in all other object specificservice requests.
The Owner Path attribute can only be set during the Establish_Ownership or
Change_Ownership service requests. The Owner Path may be used to help diagnose
conflicts between energy management Clients. If more than one Client is required to haveaccess for energy management, it is up to the owning Client to share the Pass Code among
them. The Pass Code is not exposed in the class or instance attributes.

Release_Ownership Service
The Release_Ownership service terminates the Managed Instance’s ownership relationshipwith its Client. A Client can only execute this service if the Managed Instance is operating at
the uncurtailed power level. Upon successful completion of this service, the Energy
Management Object instance enters the Not Owned state and clears its Owner Path attributeand Pass Code.

Change_Ownership Service
The Change_Ownership service changes a Managed Instance’s Owner Path attribute andPass Code. As an example of the use of this service, consider an owner Client that has sharedan instance’s Pass Code with other Clients, but requires exclusive access for a time. The
Client can issue a Change_Ownership request with a different Pass Code to lock out other
Clients. When its need for exclusive access ends, it may change the Pass Code back,restoring access to the other Clients.

Energy_Management Service
The Energy_Management service can be used by a Client to command a Managed Instanceto a Curtailment Level. This service provides a mechanism to carry out energy management
activities through explicit request/response messages. The service request data is made up ofa Pass Code, a Command, and a Curtailment Level.

2014 ODVA Industry Conference

8©2014 ODVA, Inc.

Three commands are provided. The Client can command a Managed Instance to a
Curtailment Level by specifying the ID of the Level in the request. Alternatively, the Client
can command a Managed Instance to go to a Curtailment Level whose Percent Power
member is less than or equal to the Percent Power level specified in the request. As a final
alternative, the Client can command the Managed Instance to a Curtailment Level whose
Percent Power member is greater than or equal to the Percent Power value in the service
request. These three commands give a Client extreme flexibility when controlling Managed
Instances.

Energy_Management_Query Service
The Energy_Management_Query service can be used by a Client to preview a managed
instance’s response to an Energy_Management service request parameter set. The available
Energy_Management command parameters allow the Managed Instance to choose a
Curtailment Level above or below a requested Percent Power, so the Client may use theEnergy_Management_Query service to identify the resulting Level for a given set ofEnergy_Management command parameters. The Client can then use this information toestimate anticipated energy usage upon execution of an Energy_Management commandusing those parameters.
The Energy_Management_Query service request data is identical to the content of an
Energy_Management service request. The service response data contains a Status and atarget Curtailment Level ID. In addition, a field in the Command parameter can be set toallow a Client to simply verify ownership.
Unlike the Energy_Management service, the Energy_Management_Query service does not
return an exception response for an invalid energy management Command, but instead
returns detailed Status information.

Capture_Level Service
In all but extremely simple devices (where a vendor pre-programs Curtailment Levels) there
is a need to allow customers (e.g. end users, OEMs, etc.) to create Curtailment Levels. In
this scenario, the device would be configured, its operation verified and its power
consumption measured outside of the Energy Management Object instance. After intended
operation is validated, the Energy Management Client, using the Capture_Level service, cantake a snapshot of this operating mode so that the Managed Instance can return to thisconfiguration at a later time.
The Capture_Level service is used to add a new Curtailment Level to a Managed Instancebased on the current operating characteristics of a Managed Entity. The Client provides all
Curtailment Level attributes except the Curtailment Level Data, which is provided by the
managed entity in the form of a Data Object instance and the unique ID. Once a Level iscaptured, the device can be reconfigured to capture additional levels, if desired.

Remove_Level Service
The Remove_Level service is used to delete a Curtailment Level from the stored list ofCurtailment Levels Array in a Managed Instance. Curtailment Levels that are read-only
cannot be deleted.

2014 ODVA Industry Conference

9©2014 ODVA, Inc.

Revise_Level Service
The Revise_Level service allows a Client to revise the attributes associated with an existing
Curtailment Level. The service request data is similar to the Capture_Level service, allowing
modification of all Curtailment Level members except for ID and Capabilities. This service
does not allow a Client to provide data for the Curtailment Level Data Object attribute, but it
can request that this attribute is updated with the current operating state of the Managed
Instance (i.e. captured).

Read_Level Service
The Read_Level service is used to upload a single Curtailment Level structure from thestored list of Curtailment Levels to a Client. The Data Object associated with theCurtailment Level is not read using this service, but a path pointing to the instance is read(provided it is not marked as hidden). The path may then be used by the Client to read thedata object using Data Object services.

Write_Level Service
The Write_Level service allows a Client to download a single Curtailment Level to a
Managed Instance. This service does not transfer any necessary data object that should be
associated with the Curtailment Level. The Write_Level service cannot be used to overwritea Curtailment Level in a Managed Instance with the same ID. If the operation is successful,
the Curtailment Level is added to the array of Curtailment Levels and the Number ofCurtailment Levels is updated.

Associate_Level Service
The Associate_Level service is used to associate a Data Object instance with a Curtailment
Level.

Disassociate_Level Service
The Disassociate_Level service is used to remove a Data Object Instance association from a
Curtailment Level. Only the association is removed, the data object is not removed from the
managed entity.

Energy Management Messaging Sequences
The following sections illustrate several examples of how a Client may use common andobject specific services of the Energy Management Object to manage energy usage within adevice. The examples are based on some common use cases, and use messaging sequences
between a Client and a Managed Instance for demonstration purposes. These diagrams areillustrative and do not necessarily imply required Client behavior.

Establish Ownership
Figure 2 demonstrates successful ownership of a Managed Instance by a Client. An optional
step (Verify Ownership) demonstrates a method that can be used by a Client to verify that itis the current owner of that Managed Instance.

2014 ODVA Industry Conference

10©2014 ODVA, Inc.

Figure 2 – Client Establishes Ownership of a Managed InstanceClientManaged InstanceEstablish_Ownership(PassCode, Proposed Owner Path)
Change Stateto Managed
Success response

Verify Ownership: Get_Attribute_Single(Owner Path Attrib. #5)(optional, repeat periodically)
Compare response Owner Pathwith Proposed Owner Path inEstablish_Ownership service

Response(Owner Path)

Reestablish Ownership
Following a loss of power, a Managed Instance initializes into the Not Owned state. In thisstate, any object specific service request (other than Establish_Ownership) will fail.
Furthermore, if a Client shares a Pass Code and another Client uses this shared Pass Code toeither relinquish ownership or to change the Pass Code, any object specific service requests
by the first Client will also fail.
Figure 3 demonstrates how a Client can use the Energy_Management_Query service (withthe Check Ownership bit set in the Command parameter) to determine if it is still the ownerof the Managed Instance. Depending upon the response, the Client could use theEstablish_Ownership service to re-establish ownership.
Figure 3 – Example: Client Re-establishes Ownership After Power Loss
Managed InstanceClientEnergy_Management_Query( PassCode,
CMD:Check Ownership = 1, C.L.)
Response (Status, Target Level ID)...

PassCode has
been cleared:
e.g. power cycle

Energy_Management_Query( PassCode,
CMD:Check Ownership = 1, C.L.)
Error Response (Object State Conflict)

Resend Pass Codeand EPATH

Establish_Ownership(PassCode, EPATH)
Success response

2014 ODVA Industry Conference

11

Set Passcode and EPATH
Transition to Managed state©2014 ODVA, Inc.

Perform Energy Management Command Query
A Client can use the Energy_Management_Query service request to preview the response toan Energy_Management service request. The status returned may indicate the Curtailment
Level ID that corresponds to the requested Level, or a conflict or error that would not permit
the execution of an Energy_Management command. Figure 4 shows a Client executing an
Energy_Management_Query command and its associated response.
Figure 4 – Client Queries a Managed InstanceClientManaged Instance
Energy_Management_Query(PassCode, CMD, C.L.)

Interperet response todecide on next action

Assess validity of request;
determine response

Response (Status , Target Level ID)
C.L. = Curtailment Level

Command to Curtailment Level
After a Client decides it wants to command a Managed Instance to a new Curtailment Level,
it needs to send an Energy_Management service request with the appropriate parameters.
The previous example demonstrated a method for a Client to audit the contents of an
Energy_Management command parameter set. Upon receipt of a valid Energy_Management
command, a Managed Instance will begin the transition to the new Level and return a
successful response to the request. Typically, the transition will take some time to complete.
The Client can periodically poll the Managed Instance, using the Get_Attribute_Single
service request of the Instance Status attribute, to verify when the transition into thecommanded Level is complete. Figure 5 demonstrates this scenario.
Figure 5 – Client Commands a Managed Instance to a Curtailment Level
ClientManaged Instance
Energy_Management(PassCode, CMD,,C.L.)

Start transition to Curtailment
Level, set In Transition bit isInstance Status

Success Response
Check if transition torequested Level complete

Verify new Level: Get_Attribute_Single (Instance Status attr. #4)

Transition still not complete

Response (Old Level ID, Status:In Transition = 1)-

Check if transition torequested Level complete

Verify new Level: Get_Attribute_Single (Instance Status, #4)
Response (New Level ID, Status:In Transition = 0)

Obtain Exclusive Access to a Managed InstanceAn owner that has shared its Pass Code with other Clients may determine that modifying the
instance may require exclusive ownership of the instance for a time. The Change_Ownershipcommand provides this ability. After the maintenance of the Managed Instance is complete,
the owner may change the Pass Code and Owner Path back to their previous values andinform the other Clients.
2014 ODVA Industry Conference

12©2014 ODVA, Inc.

Figure 6 – Client Establishes Exclusive Access for a Period of Time
ClientExclusive ownership
required, issue Change
Ownership request

Managed Instance
Change_Ownership(OldPassCode, NewPassCode,
NewOwnerPath)
Success Response

Remain in Managed
state with new Pass
Code and Owner Path...
Perform tasks
requiringexclusive access

Service Requests
Success Responses...
Restore sharedownership, tellother owners

Change_Ownership(NewPassCode, OldPassCode,
OldOwnerPath)
Success response

Remain in Managed
state with former Pass
Code and Owner Path

Capture a New Curtailment Level
One method to create Curtailment Levels within a Managed Instance is to place a device inthe desired operating condition and then use the Capture_Level service to save this condition
into a Curtailment Level. Adjustment of the operating condition of a device containing aManaged Instance is done by other means than the Energy Management Object.
Figure 7 – Create New Curtailment Level in a Managed InstanceClientManaged Instance
Capture_Level (PassCode, Level details ...)
Success response (Curtailment Level ID)

Create new level
Data Object Path = 0
Create new Data Object instance

Verify new Level: Read_Level(PassCode, Leve.l ID)
Capture not done.
Data Object Path = 0

Save current device
context to Data
Object instance

Response (Level Data)
Update Data Object Path
Verify new Level: Read_Level(PassCode, Leve.l ID)

Capture done. Data
Object Path <> 02014 ODVA Industry Conference

Response (Level Data)

13©2014 ODVA, Inc.

Backup Curtailment Levels
Curtailment Levels not inherent to a Managed Instance will need to be restored in theunlikely event the device needs to be replaced. Figure 8 shows a method that can be used to
backup Curtailment Levels within a Managed Instance. A Client need not be the owner ofthe Managed Instance to perform this operation. Common services can be used to read thesize of the Curtailment Levels array and to get the contents of each member of the array. If
the Data Object Path size member of a Curtailment Level is non-zero, object, common orvendor specific services can be used to retrieve the associated Data Object contents. The
Client may also want to check the Status member to make sure that the Level being backed
up is complete and not in the process of being revised or missing its associated Data Object
instance (if required).
Figure 8 – Back Up Curtailment Levels from a Managed Instance2014 ODVA Industry Conference

14©2014 ODVA, Inc.

Restore Curtailment Levels
There may come a time when a Client will need to restore Curtailment Levels that were
present in a Managed Instance (e.g. device replacement). Figure 9 demonstrates one methodthat could be used to accomplish this task. Note that a Client must own the Managed
Instance to perform this activity. The Curtailment Level with ID = 0 cannot be restored using
the Write_Level service, because it is always present in a Managed Instance. Instead, theRevise_Level service should be used for this special Level.
Figure 9 – Restore Curtailment Levels in a Managed InstanceClientManaged InstanceEstablish_Ownership(PassCode, Owner Path)
Success response

Write first Curtailment
Level structure

Write first Level: Write_Level (PassCode, Level Data)
Success Response ()Write data to be assosciated, if
applicable

Write Data Object: Sequence of Data Object services ()Success Responses ()Associate Data Object, if one
was written

Associate_Level (PassCode, Level ID, DataObjectPath)

Change State to Managed

Success Response

Continue until all Levels
and files are written

Write Next Level: Write_Level (PassCode, Level Data)
Success Response
Write Data Object: Sequence of Data Object services ()Success Responses ()Associate_Level (PassCode, Level ID, DataObjectPath)
Success Response

Device Considerations
This section will describe potential device types that could be likely candidates for the
inclusion of an Energy Management Object.

Simple Device
A simple device (e.g. a fan controller with multiple speed settings) could have a predefined
instance of an Energy Management Object with fixed Curtailment Levels (one for each
speed setting). Configuration of the device would allow for setting the Percent Power
member for each Curtailment Level corresponding to the fan load being controlled, as wellas the uncurtailed power attribute.

Highly Configurable Device
A highly-configurable device (e.g. a Programmable Logic Controller) could containcapabilities to programmatically create instances of the Energy Management Object. The
various attributes and Curtailment Levels could be configured using CIP or the device
programming tools. The contents of the Energy Management Object’s attributes would becustomized to match the program(s) within the device.

2014 ODVA Industry Conference

15©2014 ODVA, Inc.

Energy Management Client
An energy management Client needs to be an integral part of the control system. It cannot
arbitrarily instruct a device to conserve energy without understanding its full effect on thewhole control operation. When an energy management Client is informed that energy needs
to be reduced (e.g. due to a demand request), it will need to decide which Managed Instances
under its control should be curtailed to not only reduce energy consumption, but to continue
to produce product (albeit at a altered production level).

Energy Management Object and Other Energy Objects
The Energy Management Object can coexist with the Energy Awareness Objects and / or thePower Management Object. These objects, although related, are independent. The
implementation of a Base Energy Object alongside the Energy Management Object provides
an effective way for a device to report the actual energy savings resulting from moving to a
Curtailment Level. If implemented in the same device, a Power Management Object instanceand an Energy Management Object instance may have the same or different clients. In either
case, it is important for the client or clients to maintain big-picture awareness of theoperating environment as it manages power and energy in its collection of devices.

Conclusions
The Energy Management Object completes the CIP Energy triangle. The Energy Awareness(Base, Electrical and Non-Electrical) objects provide a way for CIP devices to measureenergy generation and consumption. The Power Management Object adds the capability to
manage energy usage during idle periods. With the addition of the Energy Management
Object, devices can now be managed to conserve energy consumption during production.

**************************************************************************************The ideas, opinions, and recommendations expressed herein are intended to describe concepts of the author(s) for the possible use of CIP
Networks and do not reflect the ideas, opinions, and recommendation of ODVA per se. Because CIP Networks may be applied in many diverse
situations and in conjunction with products and systems from multiple vendors, the reader and those responsible for specifying CIP
Networks must determine for themselves the suitability and the suitability of ideas, opinions, and recommendations expressed herein for intended
use. Copyright ©2014 ODVA, Inc. All rights reserved. For permission to reproduce excerpts of this material, with appropriate attribution to theauthor(s), please contact ODVA on: TEL +1 734-975-8840 FAX +1 734-922-0027 EMAIL odva@odva.org WEB www.odva.org.
CIP, Common Industrial Protocol, CIP Energy, CIP Motion, CIP Safety, CIP Sync, CompoNet, ControlNet, DeviceNet, and EtherNet/IP aretrademarks of ODVA, Inc. All other trademarks are property of their respective owners.

2014 ODVA Industry Conference

16©2014 ODVA, Inc.