A Brief Tutorial On The IEEE 1451.1 Standard
A Brief Tutorial On The IEEE 1451.1 Standard
A Brief Tutorial On The IEEE 1451.1 Standard
actuators,
Sensor Input Processing Output signals,
control
A Brief Tutorial
on the IEEE 1451.1
Standard
Part 13 in a series of tutorials in instrumentation and measurement
T
he integration of microprocessors in the trans- together. This article focuses on the 1451.1 Standard
ducer body has afforded the opportunity for (Std.) [1], which defines a software interface suitable to
adding intelligence to the transducer and for represent any networked smart transducer.
making it “pluggable” to digital communication net-
works. From the manufacturer’s viewpoint, the work of IEEE 1451.1 Overview
13
adding intelligence to transducers is a good invest- The 1451.1 Std. addresses th e definition of a Network
ment because it adds value to the device Capable Application Processor (NCAP).
itself. On the other hand, interfacing The NCAP is a piece of hardware
transducers with the wide vari- and software that acts as a
ety of fieldbuses currently bridge between transducers
7
2 4
Thirteenth
available, each with its own and the communication
protocol specifications, network (Figure 1). On the
is a huge headache. For field side, an abstraction
this reason, manufactur- 1 layer provides high-level
in a 12
Series
ers tend to choose a par- functionality to commu-
ticular fieldbus and work
around it. Others decide 55 16
1 6
nicate with transducers.
On the network side, an
to create a new, customized
fieldbus for their products.
33 abstraction layer provides
high-level functionality to
This diversity of fieldbuses and handle network requests. In the
network protocols leads a manufac- middle, the control routine adds intel-
turer to closed, less-flexible, and generally ligence to the NCAP by running algorithms
more-expensive solutions. that process the data received by both sides (the field
The 1451 family of standards tries to solve this prob- and the network) and decide the next state of the
lem by proposing a set of standardized hardware and system. The software architecture of the 1451.1 Std. is
software interfaces that act as “plugs,” whereby the based on an information model, a data model, and two
heterogeneous components can be connected and work network communication models.
Data Model
Fig. 1. Network Capable Application Processor (NCAP).
The data model defines the data types used to
exchange information between Entities inside
Root [1] the NCAP process and across the network. The
Entity [1.1]
Block [1.1.1] data model supports the following primitive
NCAP Block [1.1.1.1] data types:
Function Block [1.1.1.2]
Base Transducer Block [1.1.1.3] w Boolean (true or false)
Transducer Block [1.1.1.3.1]
DotX Transducer Block [1.1.1.3.1.X] w Octet (eight-bit quantity not interpreted as a
Component [1.1.2] number)
Parameter [1.1.2.1]
Parameter With Update [1.1.2.1.1] w Integer (signed and unsigned number from
Physical Parameter [1.1.2.1.1.1]
Scalar Parameter [1.1.2.1.1.1.1] eight bits to 64 bits)
Scalar Series Parameter [1.1.2.1.1.1.1.1] w Float (single and double precision number ac-
Vector Parameter [1.1.2.1.1.1.2]
Vector Series Parameter [1.1.2.1.1.1.2.1] cording to the IEEE 754 Std. [2])
...
Service [1.1.3] w String (array of octets containing human read-
Base Port [1.1.3.1] able text)
Base Client Port [1.1.3.1.1]
Client Port [1.1.3.1.1.1] w Arrays of the previous data types
Asynchronous Client Port [1.1.3.1.1.2]
Base Publisher Port [1.1.3.1.2]
The data model also supports structures
Publisher Port [1.1.3.1.2.1] of primitive data types to represent complex
Self Identifying Publisher Port [1.1.3.1.2.2]
Event Generator Publisher Port [1.1.3.1.2.2.1] quantities such as time and measurements. A
Subscriber Port [1.1.3.2]
special data type, called Argument, is used as
a container to transport any of the data types,
...
especially in network communications. Similar
containers exist in current software technolo-
Fig. 2. Information model proposed by the 1451.1 Std.
o After the publication passes the filter, the Subscriber Port w They read data from sensors.
invokes the registered callback operation, passing it the w They write actuation values.
contents of the publication. w They read status registers.
w They read/write interrupt masks.
Blocks w They read/write transducer Transducer Electronic Data
Block classes include the NCAP Block, Transducer Blocks, and Sheet (TEDS) [6], a memory structure that describes trans-
Function Blocks. To help the internal organization of the NCAP ducer characteristics.
process in terms of initialization and configuration, the 1451.1 w They enable/disable the Correction Engine [6], a software
Std. defines owning relations between Blocks and the other component that converts raw data from the field into en-
Entities. These logical relations obey the following rules: gineering units, and vice versa.
w The owning relations do not cross process space boundar- As the name indicates, Function Blocks behave like soft-
ies. ware functions: they process input data using logical and
w Only Blocks may own objects. mathematical operations and return the results. Examples of
w The owning relations define a tree structure in which the typical Function Blocks include Proportional Integral Deriva-
NCAP Block is the root. The NCAP Block is the only object tive (PID) controllers, square root extractors, comparators, and
that owns itself. multiplexers. The 1451.1 Std. does not specify any Function
w Each non-Block object (Component, Service, or non- Block in concrete terms, only an abstract class that describes
1451.1 object) there is precisely one Block that owns it. the macroscopic behavior of third-party Function Blocks. The
Every NCAP process has a single top-level object, the idea is that component manufacturers shall develop and de-
NCAP Block, which is in charge for the management of all ploy prefabricated Function Blocks so that system developers
underlying Entities. The management process includes four can reuse them.
main tasks:
w System startup: The NCAP Block is responsible for creat- Components
ing the initial set of objects that guarantee minimum sys- Component classes include Parameters, Actions, and Files. Pa-
tem operability. The recommendations state that the start- rameters classes are data repositories used to store information
up information, which includes a list of object types and related with Blocks. The 1451.1 Std. distinguishes four types of
attribute values, should be kept in a nonvolatile storage Parameters, as follows:
device, such as the hard disk or an EEPROM memory. w Parameter: This Component represents a simple variable
w Generation of Object IDs: During the process of creating that can be read and written.
an Entity instance, the NCAP Block provides a function to w Parameter with Update: This Component adds additional
generate a unique Object ID for that instance. support for data synchronization between the Parameter
w Keep track of all network-visible Entities present in the and its owning Block. For example, the function Update-
system: To accomplish this task it is necessary that all AndRead instructs the owning Block to acquire fresh data
NCAP Blocks announce their presence across the net- (from a sensor, for example) and store it in the Parameter.
work and broadcast updated information about all net- w Physical Parameters: These Components provide ad-
work-visible Entities that they own. To do this, the 1451.1 ditional metadata structures used to describe measur-
Std. provides two publications: ing quantities. Typical metadata fields include units,
w PSK_NCAPBLOCK_ANNOUNCEMET: After com- maximum and minimum values, data type, uncertainty,
pleting the start-up process, the NCAP Block issues this sampling period, and other attributes. Whenever the
publication to notify its presence across the network. information held by the Physical Parameter changes, in
w PSK_NETWORK_VISIBLE_SERVER_OBJECT_PROP- terms of either value or metadata, it broadcasts the publi-
ERTIES: Whenever a network-visible Entity suffers a cation PSK_PHYSICAL_PARAMETRIC_DATA to inform
“profound change” (as happens when a Parameter gets the network of that occurrence.
its metadata changed or its Object Tag modified), the cor- w Time Parameter: This Component behaves as a timer by
responding NCAP Block communicates that occurrence providing time representations of some event. Whenever
to the entire network by issuing this publication. the timer ticks, it issues the publication PSK_TIMER_
At the same time, all NCAP Blocks listen to these publica- TICK to share its time stamp with all subscribers across
tions and use the attached information to construct and maintain the network.
a faithful image of the network in which they are integrated. The diversity of data types and metadata fields provided
Transducer Blocks are software drivers that support com- by Physical Parameters makes possible the representation of
munications with transducers. The 1451.1 information model (almost) every conceivable physical quantity. Table 2 gives an
is natively prepared to include Transducer Blocks from 1451.X idea about the extensibility of Physical Parameters.
standards, but additional Transducer Blocks can be included
to support other fieldbuses (e.g., Profibus or Foundation Field- Service
Bus). Generically speaking, Transducer Blocks provide the The Action Component handles complex inter-NCAP opera-
following functionalities: tions, called Transactions, which require significant time to ex-
Fig. 7. Mappings of NCAP functionality onto 1451.1 objects: (a) local NCAP; (b) remote NCAP.
References [8] K.B. Lee and E.Y. Song, “Object-oriented application framework
[1] IEEE Standard for a Smart Transducer Interface for Sensors and for IEEE 1451.1 Standard,” IEEE Trans. Instrum. Meas., vol. 54, (no.
Actuators—Network Capable Application Processor (NCAP) 4), pp. 1527–1533, Aug 2005.
Information Model, IEEE Std. 1451.1, 1999. [9] A. Stepanenko, K. Lee, R. Kochan, V. Kochan, A. Sachenko,
[2] Standard for Binary Floating-Point Arithmetic, IEEE Std. 754, 1985. “Development of a minimal IEEE 1451.1 model for microcontroller
[3] A. Birrel and B.J. Nelson, “Implementing remote procedure calls,” implementation,” IEEE Sensors Appl. Symp., Houston, Texas, USA,
ACM Trans. Comput. Syst., vol. 2, (no. 1), Feb 1984. Feb 2006.
[4] ISO/IEC Std. 11578-1996, “Remote Procedure Call (RPC) [10] K. Lee and E. Song, “A wireless environmental monitoring system
Specification”. based on the IEEE 1451.1 Standards,” Proc. IMTC 2006, Sorento,
[5] D.A. Chappell and R. Monson-Haefel, “Understanding the Italy, Apr 2006, pp. 1931–1936.
Messaging Paradigm”, Java Message Service, 1st Edition, [11] Web Services Activity Page from W3C (World Wide Web
Sebastopol, California, USA, O’Reilly & Associates, 2001, pp.1-16. Consortium) [Online] Available http://www.w3.org/2002/ws.
[6] IEEE Standard for a Smart Transducer Interface for Sensors and [12] V. Viegas, J.M. Dias Pereira, and P. Silva Girão, “Using a
Actuators—Transducer to Microprocessor Communication Protocols commercial framework to implement and enhance the IEEE
and Transducer Electronic Data Sheet (TEDS) Formats, IEEE Std. 1451.1 Standard,” Proc.IMTC 2005, Ottawa, Ontario, Canada,
1451.2, 1997. May 2005.
[7] ACE (ADAPTIVE Communication Environment) [Online] [13] WCF (Windows Communication Services) [Online] Available
Available http://www.cs.wustl.edu/~schmidt/ACE.html. http://wcf.netfx3.com.