0% found this document useful (0 votes)
20 views11 pages

Developing A Common Language For IED Communications in The S

This document discusses the need for a common language to allow intelligent electronic devices (IEDs) in substations to communicate and interoperate with each other. It proposes using an object-oriented methodology to describe the information and functions of IEDs in a way that can be shared. This will help reduce costs, improve integration between devices, and provide benefits like increased reliability and faster fault detection. The document outlines some benefits of an object-oriented approach and suggests it could form the basis for a common application layer language to enable interoperability.

Uploaded by

copion82
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views11 pages

Developing A Common Language For IED Communications in The S

This document discusses the need for a common language to allow intelligent electronic devices (IEDs) in substations to communicate and interoperate with each other. It proposes using an object-oriented methodology to describe the information and functions of IEDs in a way that can be shared. This will help reduce costs, improve integration between devices, and provide benefits like increased reliability and faster fault detection. The document outlines some benefits of an object-oriented approach and suggests it could form the basis for a common application layer language to enable interoperability.

Uploaded by

copion82
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Developing a Common Language

for
Intelligent Electronic Device Communication
in the Substation
Dr. W. Premerlani, R. Mitchell, Dr. I. Ali, Dr. T. Saulnier
GE Corporate Research & Development
Schenectady, NY

M. Adamiak
GE Protection & Control
Malvern, PA

J. Melcher
EPRI
Palo Alto, CA

Introduction and functions. As an example, a protective relay may be


From the introduction of the Intelligent Electronic Device required to provide a “check synchronism” function which
(IED), we have had the ability to communicate with and requires the magnitude and phase angle comparison of two
extract information from these devices. The ability to voltages. The relay performing the function may have
intelligently communicate gives added value to the IED intrinsic access to only one voltage. The other voltage may
and as such, has hastened their implementation. As time be available from another device in the substation . An
has gone on, we have watched communities of these interoperable system could then negotiate for access to the
devices sprout up in the substation - typically with no other voltage and as such, avoid all the overhead involved
concerted attempt to inter-communicate much less in direct wiring.
interoperate. As a result, a veritable “Tower of Babble”
has arisen inside the substation. Attempts to date to Integration Benefits
achieve some semblance of common communication have As substation integration becomes a reality, there are
focused around “Rosetta Stone” solutions whereby a numerous benefits that can be realized. With data sharing,
translation module of software is located between the IED wiring between devices can now be minimized.
and host computer. Although this technique achieves Distributed data acquisition now becomes the foundation
today’s goals, translation hardware is usually required and of substation integration. Traditional hardware devices
creation of the translation module can be costly and time such as the Remote Terminal Unit and the Digital Fault
consuming. Another aspect is that revisions and Recorder now become primarily functional entities that
generations of new IED’s have become a frequent draw on other IED’s for their data. Interoperation permits
occurrence demanding constant “stone cutting” and distributed functionality, that is, the data and/or the
“chipping” of translation communication software. Newer decisions needed for a particular function may reside
IED designs implement faster communication rates, have among multiple IEDs.
more data to communicate, and are capable of performing
some programmable logic functions. Such changes in the substation design paradigm can be
measured both quantitatively as well as qualitatively.
In view of future capabilities and a continuing Quantitatively speaking, substation integration has the
proliferation of IED’s in the substation, a cry has come potential for the following savings [1]:
from the utility community to create a framework for not • Elimination of the station fault recorder & wiring
only common communication but an architecture that will • Elimination of the station Sequence of Events recorder
provide for interoperation. Interoperation implies the & wiring
ability to “plug and play” and also to be able to “share” data • Minimization of RTU wiring
• Minimization of Breaker Wiring
The requirements definition process mandated some
Qualitatively, the integrated system brings with it: technique whereby the various information items and
• Reduced O&M through “Real Time” condition functions of the IED’s could be described and where that
monitoring description could be shared by all. A software design
• 100% redundancy in fault recording technique known as Object Oriented Methodology (OOM)
has been adopted as the fundamental tool to be used in the
• Rapid fault location
overall design process. This paper presents a basic
• Integrated Protection & Control description of the concept of Object Modeling and details
aspect of existing protocols that make use of various
and many others. aspects ot this tool.
Requirements Document Creation
Through the funding of EPRI and in conjunction with II What is an Object-Oriented Methodology? (OOM)
numerous IEEE Working Groups and the MMS Forum,
work has begun on a top down design to define the An object-oriented methodology is a software system
requirements for an integrated Protection, Control, and development process that organizes software as a
Data Acquisition communication system. The collection of discrete objects that incorporate both data
requirements document (open to the public for review and structure and behavior. The term object-oriented is used to
comment) is intended to be the foundation of an open describe both the process and its output. A software system
protocol definition that will focus on peer to peer that combines data structure with behavior, that is what the
communication in the substation and is expected to have object does, is said to be object-oriented. Object-oriented
extensions to other areas of power system communication. methodologies improve the quality of software systems,
and have been used commercially to produce several types
The software architecture is based on the International of object-oriented products, including languages, libraries,
Standards Organization (ISO) seven layer Open System database management systems, graphical interfaces, and
Interconnect (OSI) model for communication protocols simulators, for example, as well as a large number of
[2]. This model breaks a protocol down into 7 independent applications in a wide range of problem domains. An
functional entities that can be linked together (depending object-oriented methodology is also well suited to
on the functional requirements) to create a protocol communications in general, and communications between
definition. Some of the layers of interest are as follows. intelligent electrical devices (IED's), in particular.
Experience has shown that there are several benefits to an
The bottom layer is know as the “Physical” layer and object-oriented methodology:
defines how one connects into the system. For example, do
I connect a fiber optic cable or a pair of copper wires. The
• Reduced life cycle cost. Clear documentation,
second layer is the Data Link Layer which defines how the
improved system design, and software reuse reduce
data is packaged. The third layer in known as the network
the overall system life cycle costs.
layer which defines, in a multi-path environment, how a
piece of data gets from device A to device Z.
• Traceability. Software development is a seamless
The top or seventh layer, and the focus of of this paper, is process. The models derived from analysis of
known as the Application layer. It is at this level at which customer requirements are carried forward and
the user or user’s program interfaces with the permeate subsequent development steps.
communication protocol and ultimately other IED’s. It is
also at this level where the greatest challenge lies as the • Better design. The system is clearly represented in
development of a common language is required here in terms of real-world entities and behavior. Application
order to interoperate among the various IED’s. The experts and system developers have a common basis
challenge here can be equated to communication through for discussion.
the spoken language. As a simple model, the basic
building blocks of most languages are nouns and verbs. • Better selection. Models are even useful for purchased
Combinations of these nouns and verbs express requests, software. Models can aid understanding of vendor
issue commands, and exchange information. The reason software and enrich the basis for selecting the best
we can communicate together is because we have all product.
learned the same nouns and verbs in the same language
and can turn to a dictionary to describe the words we do • Coherence. Careful modeling improves the quality of
not understand. the thought processes that are embodied in a design.
one of the most powerful features of object-
• Communication. Models promote communication orientedmethodologies. Through abstraction it is possible
between developers and customers. Models bring to focus on concepts rather than implementation. The trap
important names and application concepts to the fore that is easy to fall into is losing sight of the essentials by
so that they can be defined and understood by all confusing design with implementation. By rushing
parties. intoimplementation it is easy to become overwhelmed by
details before understanding essential concepts. The
• Extensibility. Software organized about an object- abstraction process in object-oriented methodologies
oriented theme parallels the real world and is flexible avoids this trap by focusing on concepts before
with respect to changes in requirements. This is in implementation via a concise, implementation independent
contrast with a procedural approach. representation of system structure and behavior.

• One uniform paradigm. The notion of an object Encapsulation, which is also called information hiding,
uniformly applies to programming code and database means that the internal details of an object are hidden from
code, analysis and design. the external interface to the object. Only those details that
are needed to interact with an object are published.
Operations on an object provide a clean separation between
• Improved quality of data. Rigorous modeling
internal and external views of the object. The external view
improves the quality of the data. Many constraints can
of an object is what services the operations perform. The
be woven into the fabric of a model.
internal view of an object is how the services are
implemented. The behavior of the "close" operation is
An object is a concept, abstraction, or thing with crisp
visible in the external view of a switch object. The details
boundaries and meanings for the problem at hand [1].
of how this is accomplished is hidden from the external
Important characteristics of objects include identity,
view.
classification, polymorphism, and inheritance. Identity
means that objects can be distinguished from one another.
Object-oriented software also combines data and behavior
Switches, relays, and transformers are examples of objects.
into a single hierarchy. In nonobject-oriented approaches
Two identical switches can be distinguished from each
there is a separate hierarchy of data structure and
other, for example, so that a request to open one of them is
procedures. By combining data with behavior, the
not intended to open the other one. Objects have attribute
responsibility for the details of an operation is shifted from
values and may be related to other objects. For example, a
the procedure to the object. For example, in an object-
switch could be in the open position and be controllable by
oriented application it is not necessary for a print
a certain relay. Objects also have behavior,
procedure to deal with the details of each object that can be
specified by the operations that may be applied to them.
printed. Instead, each object knows how to print itself. This
For example, the "close" operation may be applied to a
simplifies maintenance, because it is not necessary to
switch. By classification we mean that objects that have
update procedural code for printing when a new class is
common attributes and behavior are grouped together into
added. Instead, if the new class needs to support the print
a class. Thus all switches from the same manufacturer with
operation, then the print operation is implemented for it.
the same model number are in the same class.
Polymorphism is a term used in object-oriented
This leads to the concept of reuse through inheritance. It is
methodologies that means the same operation can be
often possible to define a new class as a specialization of
applied to different classes of objects with appropriate
an existing class, and share the implementation of common
results. For example, the "close" operation is polymorphic
operations. For example, if we find that there is a
on the classes switch, recloser, and breaker because each
taxonomy of switches, it may be possible to implement the
can respond to a request to "close" in a perfectly
"close" operation on the superclass.
appropriate way. Inheritance is the sharing of attributes and
behavior based on a hierarchy. A class can be broadly
The abstraction power of object-oriented models provides
defined and then refined into superclasses. Inheritance is
a neutral representation that could be implemented in a
used to describe a taxonomy of classes. For example, there
variety of ways, including programs, databases, grammars,
are many kinds of relays, and we could use inheritance
and communications protocols, for example. We have also
relationships to describe their taxonomy.
found it useful to construct object-oriented models of
concepts as an aid to understanding.
Other important object-oriented concepts include
abstraction, encapsulation, combining data and behavior,
The concepts used in constructing object oriented models
and reuse through inheritance. By abstraction we mean
have natural interpretations in a number of domains of
focusing on the essential aspects of objects. Abstraction is
discourse. Yet, a model itself is simpler and more
fundamental than its realization in a particular can be an instance of more than one class through an
implementation, because implementations often require inheritance relationship between classes. Thus, all
extra detail. There is usually more than one way to measurements are instances of the class, Measurement.
implement a particular concept. For example, the concept
of inheritance is implemented in different ways in object- Classes may have attributes and methods. An attribute is a
oriented programming languages, relational database named property of a class that describes a value held by
management systems, and communications. In object- each object of the class. For example, the class Tag could
oriented languages there is direct support for inheritance by have the attributes date, type, and description. A method is
declaring a class to be a subclass of another class. In a service provided by objects in a class. For example, trip is
relational database systems, there is no direct support for a service provided by the class CircuitBreaker.
inheritance, and there are several ways for mapping an
inheritance hierarchy onto database tables. An object model One notation [3] for representing classes in object models
can also be interpreted as representing a grammar. In that is shown in Figure 1. A class is drawn as a rectangle
case, inheritance can be interpreted as alternate production
rules. However, in most communications protocols, there
is no direct support for inheritance. In some protocols, Switch
such as MMS, there are constructs that can be used to normalState
implement inheritance. operationTime
pulseTime
In addition to an object model, some object-oriented operationCounter
methodologies also include a dynamic model and a lastCommandSent
functional model. The object model describes the static state
structure of the objects in a system. The dynamic model operateSwitch
specifies the control aspects of a system. Finally, the
functional model describes the structure of computations.
Of the three models, the object model is most relevant to
Figure 1 Example of a class
system communications, and has a natural interpretation in
that context. Important constructs in an object model
include objects, classes, attributes, methods, associations,
with three sections. The name of the class is placed in the
and generalizations. In this paper, we will use the OMT
top section, the attributes in the middle section, and the
notation, one of the more popular notations for object
methods in the lower section.
models [3]. Another notation that is also being used to
model IED's is Coad's notation [4].
Another object-oriented concept is that of a link, which is a
physical or conceptual connection between objects. In a
An object is a concept, abstraction, or thing with crisp
programming language, links are sometimes implemented
boundaries and meaning for applications. Each object
with pointers, but links should not be confused with
exists and can be distinguished from other objects. A
pointers. Links are a logical abstraction of pointers, and
particular circuit breaker is an example of an object.
may be implemented in a variety of ways, particularly when
Another example of an object is a particular real time data
you consider that they can be interpreted in the context of
point. Objects can be real objects or software objects. In
databases and communications as well as programming
some cases there is a correspondence between the two. For
language. A link between objects indicates that those
example, a circuit breaker is a real object controlled by
objects are related in a meaningful way.
an IED. Inside of an object-oriented IED there would
probably be a software object that implements the control
An association is an abstraction of a group of links with
logic for the circuit breaker and which communicates with
common semantics, just like a class is an abstraction of a
other IED's. Both kinds of objects are valid elements in an
group of objects. One representation of an association
object model, depending on the purpose of the object
between the classes Company and Person is shown in
model. Objects can also be classified as passive objects or
Figure 2.
active objects. An active object can perform a service. A
circuit breaker is an example of an active object. A passive
The association in Figure 2 shows several features of
object, such as a measurement, conveys information.
associations using the OMT notation, including
association names, role names, and an indication of
A class is an abstraction of a group of objects with similar
multiplicity. In the example, the association name,
properties, common behavior, similar relationships to
indicated by a name by the middle of the association, is
other objects, and common semantics. We say that an
"Works-for". This indicates that a link between a particular
object is an instance of a class. As we shall see, an object
company and person indicates that the person works for the association [1]. Thus, in Figure 3, a tap changer is an
company. A role name is a name on an end of an optional part of a transformer.
association, indicating the role that the class on that end
plays with respect to the association. A role is an end of an Generalization is a relationship between a class, called the
association. In the example, Company plays the role of superclass, and one or more variations of the class, called
employer, and Person plays the role of employee. the subclasses. The superclass holds common attributes,
Association names and/or role names are needed when the operations, and associations. Each subclass adds its own
semantics of an association is not absolutely clear from the unique attributes, operations, and associations. A subclass
associated classes. We show both an association name and inherits the attributes, operations, and associations of its
role names in the example for illustration. It is not superclass. An example is shown in Figure 4, using the
necessary to use both. OMT notation. Generalization is indicated with a triangle
with the peak pointing towards the superclass. A number
of phases are usually carried out in an iterative, seamless
Company fashion in applying an object-oriented methodology. The
name phases in OMT are conceptualization, analysis, design, and
implementation [1]. During conceptualization, models are
address
prepared of the problem domain. These models can be
shared among several applications. Analysis refines the
model to represent the application requirements. During
employer design, strategies are developed for mapping the models to
works-for an implementation.
employee III How is OOM Applied to Communicating IED's?

Person An object-oriented methodology can be applied to the


name entire software development process to foster
socialSecurityNumber interoperability. The result is not just a communications
address standard, but a system architecture as well. The first step
in the process is to simply apply an object-oriented
methodology to construct standard object models of IED's,
without focusing on the details of communications. These
models standardize the external interfaces and behavior of
Figure 2 Example of an association
IED's and will need to be validated by a standardization
process. Because of their abstract nature, these models are
easy to grasp at a glance, and provide a unified
In this example, the association is between two classes,
representation to serve both programming and
which we call a binary association, and which is commonly
communications. A portion of an object model at this level
found in practice. Associations between more than two
of abstraction is shown in Figure 5.
classes may also occur, but are less commonly found.
The next steps add layers of detail, with different kinds of
Also shown in Figure 2 is one representation for indicating
detail added for programs, databases, and communications.
multiplicity. By multiplicity, we mean the permissible
In the case of communications, we recommend an abstract
number of objects on one end of an association that can be
communications model for an intermediate level of
linked to a single instance of an object on the other end. In
abstraction that could still span a variety of
this example we are assuming that every person has exactly
communications protocols. The model should support
one employer and that a company can have any number of
object definitions, including attributes as well as methods.
employees. The straight line at the employer role of the
For example, an abstract syntax notation could be used to
association indicates exactly one. The solid ball at the
indicate communications design decisions. A mapping of
employee role of the association indicates any number of
the object model in Figure 5 to this intermediate level is
employees. Not shown in this example, a hollow ball
shown in Figure 6. Finally, at the lowest level of
Indicates an optional link.
representation, the abstract syntax notation is mapped to a
particular communications protocol, such as MMS, for
Aggregation is a special form of an association which
example.
indicates a assembly-part relationship in which an instance
of the assembly contains an instance or instances of the
An object-oriented methodology can be applied in an
part. We use a diamond on the assembly end of the
integrated software development process which
simultaneously addresses programming, databases, and • Given a controller object, find all associated virtual
communications. A single, high level representation helps devices.
the developer conquer complexity. Encapsulation reduces
complexity by hiding design and implementation details. • Given a virtual device, find its associated controller.
Layers of detail are added through a unified strategy for
mapping between models at different levels of abstraction. • Link a virtual device to a controller.
We will now look at the interpretation of the constructs of
an object model in the context of communications.
• Unlink a virtual device from a controller.
There are several interpretations for objects and classes.
We will say a few words about implementation of
The usual interpretation is that an object is a software
associations, because implementations are often confused
object inside an IED. An IED may contain many objects.
with associations. The problem is that there are many ways
Each object is an instance of a class in the object model for
to implement a given association, too many to explain
that type of IED. The attributes of the software object are
here. For example, in addition to the commonly used
the same as those of the class. Each software object
approach of mapping an association as an embedded
provides the services corresponding to the methods of its
pointer, embedded object, collection of pointers, or
class. A message with arguments may be sent to an object
collection of objects, in one or both ends of the
requesting a particular service. In addition, messages can
association, it is also possible to map an association to an
be used for direct access to an attribute, depending on
object itself, with appropriate services. Association
whether or not the attribute is private. A private attribute
implementation strategies should be selected in mapping
can be accessed only through its services.
from an object model to an intermediate level of
abstraction. Avoid placing implementation decisions in the
Another interpretation for some objects and classes is that
object model because it introduces unnecessary detail,
they are real. Both real and software classes can appear in
defeating the goal of abstraction.
a single object model. Real classes are often added to a
model to provide a context for understanding the model.
Aggregation is another construct in an object model that
For example, classes representing real objects such as
has meaning in the context of communications. In addition
physical transformers or circuit breakers may appear in an
to the properties an services of an association relationship,
object model, and may participate in associations to
aggregation indicates a part-assembly relationship. In the
software classes. In many cases there is both a real class
case of passive objects, aggregation is commonly
and a corresponding software class. Thus, there could be
implemented by including part objects in an assembly
both a class for a physical circuit breakers as well as for the
object whenever the assembly object is passes as an
software objects for controlling them.
argument or returned from a service. The difference
between associations and aggregations is that, properly
We also distinguish between passive and active classes. An
used, aggregations form a directed graph with no cycles,
active class is one with methods for providing services. A
while there are no restrictions on the use of associations.
passive class as attributes only. Passive objects may be
For communications, the multiplicity of aggregation is
required in some cases as the arguments passed with a
never many-to-many.
service request or may be returned by a service. In the
context of communications, polymorphism is interpreted
In addition to classes that are directly in the application
as an abstraction of services. Thus, although the details of
problem domain, two other types of classes may appear in
opening a disconnect switch are different from that of
an object model: generic classes and metaclasses. A generic
tripping a circuit breaker, at a high level of abstraction we
class is one that can contain more than one kind of data. A
can view the two services as being similar. Inheritance
metaclass is one that describes another class. For example,
relationships are interpreted as meaning each subclass
in Figure 8 the classes RealTimeDataPoint, Real, State,
inherits the attributes, methods, and associations of all of
and Discrete are generic classes. These classes could hold
its ancestors in the inheritance hierarchy.
just about any kind of data. Although generic classes are
quite useful, we should point out that, by themselves,
In the context of communications, an association between
generic classes do not specify a standard, and must be
two classes indicates that it is possible to create, delete,
accompanied by a companion standard to achieve
and traverse links between objects in the associated classes.
interoperability. For example, in order for an application to
For example, in Figure 7 the class Controller is associated
interact with RealTimeDataPoint in a meaningful way, it
with the class VirtualDevice in a one-to-many association.
must have access to an enumeration of the valid values for
This means it should be possible to provide the following
the attribute PointName, and must know what to do about
services:
each different value. Metaclasses, which are classes that
describe other classes, are useful in constructing systems representation of the information organized using object-
that are self descriptive. For example, instances of oriented methodology.
metaclasses could be used describe the object model of an
IED, and make it available in electronic form as an online 2. Device Modelling Approach
service. Object models containing metaclasses are called
metamodels. A portion of a metamodel for describing The approach taken by BACnet towards modelling devices
object models is shown in Figure 9. is to represent devices as a collection of objects. BACnet
uses an object oriented methodology for the application
So far, our discussion has been focused on new IED's. layer. BACnet provides specifications of classes and
Legacy systems and devices must also be considered, mechanisms for capturing the relationships (or
because it may be desired to install a new IED in a legacy associations) between these classes. The objects in a
system or legacy IED in a new system. It is not likely that device is an instance of a class. This enables one to model
legacy devices will comply with the new standards. Many the communication specific features of most physical
legacy devices treat all objects as passive and do not devices like fan, air-conditioners etc found in the building
provide object-oriented services. We expect that in either automation environment.
case a gateway will be needed for protocol translation. A
related problem is that of reusing existing IED designs. We We now consider the object-classes specified in BACnet
do not expect manufacturers to port all of their designs to a for the example presented in the previous section. For
new standard in an overnight process. Mapping existing greater clarity and ease of understanding, for the objects
designs to object models is a reverse engineering process. we have only included here the required attributes
We expect that it will be applied gradually over time to (properties) of the classes. Optional parameters have only
convert existing designs to work in an object-oriented been included when necessary. The reader should refer to
architecture. the protocol document to obtain the exhaustive list of
attributes of the class. In most cases the names of
“VERB” IMPLEMENTATIONS attributes provides a very good idea of its definition.

1. BACnet Application Layer BACnet provides 18 different object-types or object-


classes to represent the communication specific
The application layer specification for BACnet (Building information at devices. There is no organization of the
Automation and Control network) contains specifications classes specified in BACnet. Even though it is obvious that
for modelling the communication aspects of devices and there is inherent interconnection and a hierarchical
also application functions for transmitting and organization to the classes this has not been used, as the
manipulating this information over the communication class design methodology is not truly object-oriented.
channel. Though BACnet attempts to use an object- Some of these object-classes have a large number of
oriented methodology for specifying the application layer, properties common to them. For example, BACnet's
the specification for the attributed of the data elements BinaryInput, BinaryOutput and BinaryValue objects share
found in a device - device model- and the specification of a large number of common attributes and in fact should be
the methods - application services - which can be applied subclass of a super-class called Binary.
on these data elements are specified independently.
All objects in BACnet have a key attribute uniquely
BACnet has attempted to insulate the specification of the identifies the object Object_Identifier. The
device model and application service from its Object_Identifier is encoded by 3 bytes which carry
implementation in terms of the bits and byte information about the class and the instance number for the
representation on the network. It uses the ASN.1 abstract object. There are two other attributes which are common
syntax notation and BER for encoding messages. The to all the classes : Object_Name and Object_Type.
encoding scheme is not purely ASN.1. Explicit encoding
is described for encoding the header information for the In order to better explain the philosophy used by BACnet,
application layer. we have introduced new classes and a hierarchical
structure to organizing the classes. There are three levels
We will briefly describe the description for the Device at which the classes defined by BACnet can be organized.
Model and then of the application layer services in These levels also correspond to the level of detail or
BACnet. Even though BACnet specification is not object- information which one can obtain about the device.
oriented, we have used OMTool notation to organize the
BACnet application layer specification in an object- At the highest level, one obtains boiler-plate information
oriented manner. OMTool provides a good graphical about the device's communication organization. This is
shown in Figure ___ . At this level one can obtain
information about the vendor manufacturer, protocol 7. Proprietary : BACnet allows any vendor to define
information and names of the other objects contained in a proprietary object, as long as it satisfies some compliance
the device. The class which captures this information in conditions. This class is use to represent these objects.
BACnet is called the Device class.
At this second level of detail, the detailed internal
At the second level are defined classes to categorize all the structures of the major classes is not shown. Also not
data elements in the device, as shown in Figure __ . The captured are the associations between the different classes.
different classes are:
The detailed structure of the classes is captured in the third
1. Variable : All objects which are variables belong level of detail. The discussion of this level of detail is out
to this class. This class further has three subclasses called of scope for this paper.
analog, binary and multi-state based on
the type of variable. 3. Application Services

2. File Five areas of application services are defined in BACnet.

3. Program 1. Alarm and Event Services

4. Calendar 2. File Access Services

5. Management : This class represents objects which 3. Object Access Services


are used to manage other objects. These are the subclasses:
4. Remote Device Management Services
i. Command : Objects in this class are used to
change the value of a group of properties in a set of 5. Virtual Terminal Services
objects.
These services are shown in Figure ___. Here we will not
ii. EventEnrollment : The objects in this class go into the details of the services. An idea of what objects
contain information to manage events in BACnet system. It are expected to support which services is provided in the
provides a connection between the occurrence of an event OMT diagrams. There are two very interesting services,
and transmission of notification message to one or more which are defined in BACnet : Who-Is and I-Am. All
recipients. objects are expected to support these services. These
services are used to locate objects in the system. Since all
iii. Group : A group object represents a collection of objects support these services, one does not need to have a
other objects and one or more of their properties. A group localized object-directory to find objects in the system.
object enables one to specify a large number of other This substantially reduces the logic required to do object-
objects in a shorthand manner. directory management.

iv. Recipients : The recipient object contains


information required for the distribution of event Networked devices require a common language in
notifications. It is used to form a link between the order that they may interoperate with each other. This
different kinds of events and list of destination devices common language is often referred to as a common
which should receive the notification. The event application language (CAL) and relies on the definition of
notifications can be sent to different destinations based on an application layer protocol. There are three critical
the time-of-day or day-of-week. elements of acommon application language. First, the
communicating devices must share a common defintion of
v. Schedule : Schedule object is used to describe a the information elements that may be exchanged between
periodic schedule for writing specified values to specified them. Second, these devices must share a common syntax
attributes of objects. This schedule can also contain for describing the messages that are interchanged. Finally,
exceptions. The intent of this is not for real-time periodic these devices must share a common definition of the
transfer of messages as required during process control. services or behavior that can be requested across the
network.
6. Loop : A loop object represents the externally
visible characteristics of any form of feedback control In general, we see two approaches to developing
loop. these application layer definitions. A common approach is
to combine the definition of behavior and information into
the structure of application layer messages that are passed
between devices. Although this approach typically
improves system performance since there are fewer steps in OOM provides a tool whereby the “nouns” and “verbs”
interpretation of the messages exchanged, it sacrifices that describe an IED and its functions can be created or
extensibility in the sense that the semantics of a given “abstracted”. The “nouns” or the information contained
message are tied directly to its structure and that structure within the IED are known as the “attributes” of the object
has been fixed by the defintion. Another approach is to and the “verbs” or what the IED can do to the data are
provide an encoding step between the defintion of known as the “methods”. For example, a relay will make
semantics and the structure of the message. This is the measurements of voltage and current and compute watts
approach used by application layer standards such as MMS. and vars. The attributes for this one aspect of a relay
In fact, MMS is really only a framework within which an would be: Volts, Amps, Watts, and Vars. Subsequently,
application layer protocol definition may be developed. one of the methods would then be “Compute”.

The need to define consistent information and In establishing the groundwork for abstracting the
behavior at the application layer lends itself naturally to the numerous attributes and methods of the substation IED’s,
object-oriented paradigm found in some programming a model of the model or a “meta” model was created.
languages. Within this paradigm, objects define both data This “meta” model defines data that would be present in
and action. The MMS framework defined in ISO 9506-1 any type of IED. There is a standard diagram that is used
and ISO 9506-2 employs some aspects of the object- to construct the object model which is illustrated in
oriented paradigm. MMS defines abstract objects such as Figure 2 via the “meta” model for an IED. The top line is
variables, events, domains, and journals. For each abstract the name of the object being described which in this case
object type, attributes are defined that provide information is a Virtual Device object. The middle section is the
about the object. MMS also defines an abstract set of “attribute” list and the bottom section is the “methods”
operations called services that may be performed on list. Clearly, there are more attributes and methods
objects of a particular type. Unlike the object-oriented needed to describe, for example, a relay object. The
paradigm used in some programming languages, these beauty of the object modeling approach, however, is that
services are not strictly part of the objects themselves nor various attributes can be grouped in classes and then
is there an inheritence hierarchy as one would traditionally linked back to the base model. This technique allows the
find in C++ for example. addition of new attributes without having to re-do the
definitions and assignments of the previously defined
The definition of a common application language attributes.
using MMS requires that the abstract defintions found in
MMS must be mapped into the particular domain of Work is now in progress in the MMS Forum and the IEEE
interest. This mapping corresponds to the development of Power System Relay and Substation Committees to define
what is referred to as a companion standard. A companion standard or public object definitions. Common items
standard defines objects, attributes, and operations that are such as Voltage, Current, Watts, Vars, etc. can very
consistent with the MMS framework abstractions but readily be agreed upon as far as a standard definition goes.
which are relavent to a particular application domain. A It is inevitable, however, that each manufacturer’s IED
particular companion standard definition need not employ will have attributes that are new or unique to that IED.
all of the abstractions defined in the MMS standard but it These “vendor specific” attributes, being otherwise
must be consistent with the MMS framework. A modelling unknown to anything else in the system, need a mechanism
framework such as that provided by OMT (Object to define what they are.
Modelling Tool) may be employed in this process. A
companion standard must also define how the objects and As such, the concept of “self defining data” was included
operations that have been defined are mapped into in the requirements document. In response to the standard
messages communicated between devices. A number of query “who are you?”, an IED would be required to
encoding strategies have been proposed including BER download its object definition, complete with a data
(Basic Encoding Rules) and PER (Packed Encoding dictionary, to define any “vendor specific” attributes. In
Rules). In general, these rules define how information is this manner, an RTU function could automatically query
mapped into the bytes that actually form the messages all IED’s in the substation and compile a standard list of
communicated between devices. In choosing the encoding the information it is required to obtain.
rules for a particular application it is important to realize
that there is a trade-off that must be made betweenthe Implementation
power of the encoding scheme and the performance and The current institutional efforts to define structure for the
memory required in its implementation. new digital universe must be accompanied by the rapid
development of implementation vehicles if the industry is
to advantage, rather than succumb to the new technology. and so on. In the absence of at least an appropriate de facto
If the current standards work is to have more than standard embraced by all the often competing elements, the
historical value it must be accelerated to synchronize with solutions will continue to be somewhat cumbersome,
the pace of technological change, be viewed as a real time inflexible and costly.
consensus definition of best practice, and be connected to
an implementation path embraced by the utility industry. The two essential aspects of realizing the benefits of the
application of digital technology to substation and power
Utilities are driven by the need for increased productivity system automation are: First; a fast track commitment by
in the emerging competitive environment, while at the the utilities to sponsor and support the definition of open
same time are undergoing personnel reductions which standards for integration; and Second; the development and
weaken their ability to define and implement integrated utilization of Integrators who effectively implement these
automation systems to improve productivity. Functionally emerging standards.
fragmented institutional structures are evolving to support
these integrated system goals, but the trauma of such major One example of the possible ways in which this could be
changes further inhibits internal solutions. accomplished would be the utilization of existing utility
organizations such as EPRI to establish system integrators
Figure 3 illustrates the principal elements of substation which, because of their utility sponsorship, would
integration and automation systems. The integration implement the preferred standards, represent the utilities,
function has, in today's environment, typically moved and strongly influence the support of the related hardware
outside of the utility box. The Integrator's challenge is to and software suppliers. Various other proactive utility
define best fit / best value solutions tailored to the specific initiatives would appear to be worth considering. The
utility's goals. In this consulting role the Integrator is screens for such initiatives might include:
expected to develop specifications for open systems with
maximum flexibility for growth. His role can be expanded • support by a significant number of utilities
to identify the supplier of products and services, layout the • a possible equity position by the sponsoring utilities
program, manage the program, or take turnkey • a strong linkage with the continuing "standards"
responsibility, as well as providing ongoing support and activity
services.
• a strategy that allows customizing for individual
utilities
The IED suppliers provide protection or monitoring based
intelligent digital devices which are performance / cost • operational control at the Integrator with an advisory
optimized in a rapidly changing competitive market. The board representing the sponsoring utilities
IED's also provide the data acquisition and control • the assignment of key utility personnel to the
interface with the power system at the substation. Integrator during a project.

The Software suppliers provide custom software The alternative of waiting to see what becomes available
interfacing, drivers and control functions to integrate the does not look very attractive for the utility.
IED's and provide the required system functions. The
Integration Equipment includes the substation control and Conclusions
interfacing equipment such as Programmable Logic The search for a common communication platform in the
Controllers (PLC's) Personal Computers (PC's), Remote utility industry is becoming acute being driven by the
Terminal Units (RTU's), and associated communication proliferation of communicating Intelligent Electronic
equipment. Devices. A “top down” approach to solving the
communication problem has been sponsored by EPRI.
The value to the utility of being able to implement open This effort has resulted in the creation of a requirements
systems which meet current and future requirements with document that is open to the public for review. A
interoperable elements is obvious. The alternative of a summary of the basic requirements is presented. The heart
single supplier providing all elements integrated into a of the requirements document is the use of Object
closed system has generally not been acceptable to the Oriented Methodology as the tool to create a common
utility industry. Several other approaches are emerging IED communication language. This effort will only be
which include: effective if there is a concerted effort between the various
• Combinations of the Software supplier and the industry players to quickly bring this technology to
Integrator practice.
• The IED supplier with the Software supplier
• The integration Equipment supplier with the Integrator References
1. M. Adamiak, E. Weintraub, J. Schnegg, J. Burger, The
Integration of Protection, Control, and Monitoring is a
High Voltage Substation, Proceedings of the 46th
Annual Texas A&M Conference for Protective Relay
Engineers, April 12-14, 1993.

2. ISO 7498 - OSI Basic Reference Model

3. Rumbaugh et al, Object-Oriented Modeling and


Design, Prentice-Hall, 1991

4. Peter Coad and Ed Yourdon, Object-Oriented Analysis,


2nd edition, Prentice-Hall, 1991

You might also like