0% found this document useful (0 votes)
156 views44 pages

An Introduction To Control Network PDF

The ControlNet network is designed to provide reliable, high-speed transport of control and I/O data as well as non-time critical messaging data related to a controlled system. ControlNet uses object modeling to organize related data and procedures into objects that communicate via messages. It is designed as the central communication architecture to interconnect automation products from Allen-Bradley in a plant. ControlNet facilitates deterministic data transfer over the network and supports transparent media redundancy and configuration, maintenance, and troubleshooting of devices.

Uploaded by

sipteck
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)
156 views44 pages

An Introduction To Control Network PDF

The ControlNet network is designed to provide reliable, high-speed transport of control and I/O data as well as non-time critical messaging data related to a controlled system. ControlNet uses object modeling to organize related data and procedures into objects that communicate via messages. It is designed as the central communication architecture to interconnect automation products from Allen-Bradley in a plant. ControlNet facilitates deterministic data transfer over the network and supports transparent media redundancy and configuration, maintenance, and troubleshooting of devices.

Uploaded by

sipteck
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/ 44



 
   
   

This chapter introduces the ControlNet network. It contains these


sections:


  

 #"'%# ' '*#% &&#" 


 #"'%# ' '*#% &  %' # " ", % + %''(% 
' # " 
 #"'%# ' #!!("'#" # 
#"'%# ' %#(' )%)*
#"'%# ' " %&

#"'%# '  



 
 The ControlNet network’s mission is to provide reliable, high-speed
   transport of two basic types of application information:
• control and I/O data
#"'%# "  ' &
"#%!'#" %' '# ' • non-time critical messaging data related to the controlled system
#$%'#" #  $%#&&
Control and I/O data are given highest priority. Other information,
such as programming or parameter upload and download operations,
does not interfere with the transport of control and I/O data.

The ControlNet network:


• provides a high-speed control and I/O network
• facilitates deterministic data transfer over the network
• supports transparent media redundancy (optional)
• combines the functions of RIO and DH+ networks into a single
LAN
• supports easy configuration, maintenance, and troubleshooting
2 An Introduction to the ControlNet Network

The ControlNet Network as The ControlNet network is designed to be the central communication
a part of an AllenĆBradley architecture for interoperating automation products. Figure 1.1
Architecture represents the ControlNet network’s broad environment.

Figure 1.1
ControlNetĆbased Architecture


)'($"& $'(
$"%)(&

Ethernet
)"# )!( #$&
#(&' * '

Ethernet Ethernet

& '
(+-'

)"& ! & *' ! %&($& 


'
'' '

$#(&$!
$#(&$! #(&'

ControlNet ControlNet

(& 
'   #(!! #(
)($"( $# #'$&()($& !,
)%%! &'
&$)('
 
DeviceNet DeviceNet

#'$&()($&  #! $ #(  #'$&()($&  #! $ #( 


An Introduction to the ControlNet Network 3

Object Modeling The ControlNet network is designed through object modeling.


Object modeling organizes related data and procedures into one
entity: the object.

An object is a collection of related services and attributes. Services


! ! are procedures an object performs. Attributes are characteristics of

objects represented by values, which can vary. Typically, attributes
provide status information or govern the operation of an object.
Objects
Attributes often represent the state of an object. The value
associated with an attribute may or may not affect the behavior of an
object. An object’s behavior is an indication of how the object
responds to particular events.

   Classes categorize objects. A class defines a particular type of


! object and defines the characteristics shared by all the objects within
a class. For example, the human race could be represented by the
class “Human” with millions of objects within it.

Objects within a class are called object instances. An object instance


is the actual representation of a particular object within a class. Each
instance of a class has the same set of attributes, but has its own set
of attribute values, which makes each instance in the class unique.

Each person in the human race can be represented by an instance


within the class “Human.” All humans have the same set of
attributes: eyes, ears, age, gender, etc. Yet, because the values of
each attribute vary, each of us looks different and performs in
distinct ways.

Class Instances Attributes Attribute Values


%

 !&
 
"
% 

 

Application objects communicate with each other by sending


    
 ! !  messages. As shown in Figure 1.2, messages can be sent between
! ! " ! objects within a single node and across networks.
 #
Figure 1.2
Application Object Message Paths
   $    $ 
Ethernet





! ! ! ! !

ControlNet
4 An Introduction to the ControlNet Network

The ControlNet General relationships between the functions that comprise the
Communication Model ControlNet communication model are illustrated in Figure 1.3.
All of the figure’s blocks below the User’s Application Objects
reside within either a ControlNet ASIC or ControlNet class-specific
Example Code.

Figure 1.3
ControlNet Communication
Model

User's Application Objects

   
   Application Layer
   
   

    


  

  
  Transport Layer
    


Network Layer

Link Layer Driver


Link Layer

Media Access Services

Media Access

Physical Layer Interface


Media
and
Physical
Layer
An Introduction to the ControlNet Network 5

Communication Model Components

This section provides a bottom-up definition of each of the


ControlNet Communication Model’s components illustrated in
Figure 1.3, on page 4.

The Physical Layer Interface consists of the hardware components


Physical Layer Interface which are necessary to get on and off the network’s physical media.
It is responsible for:
• providing transceiver components for the redundant coax media
ports
• providing transceiver components for the Network Access Port
(NAP)
Media Access Service allows an application to transmit on the
Media Access Service network’s media. This service is contained within the ControlNet
ASICs. It is responsible for:
• providing transmit and receive data flow-control on and off the
media
• checking received data for errors
• adding the proper header and trailer information on transmit
frames
• deleting header and trailer information from received frames
• controlling the media redundancy switch-over algorithm
The Link Layer Driver assembles data into correctly-formatted
Link Layer Driver ControlNet frames and is responsible for:
• setting up the Media Access Service
• moving data to and from the Media Access Service
• controlling the Media Access Service’s transmit and receive data
flow
• holding received data in temporary storage until checked for
errors by the Media Access Service
The Unconnected Message Manager (UCMM) provides the ability
Unconnected
to send a message without an established connection. It is
Message responsible for:
Manager
(UCMM)
• receiving incoming UCMM messages
• sending and receiving unconnected messages to and from UCMM
objects on other nodes
• sending and receiving unconnected messages to and from its local
Message Router
6 An Introduction to the ControlNet Network

The Message Router (MR) allows an application to open


connections to objects within the same node and is responsible for:
Message Router
• interpreting the part of a message that indicates the local
destination object
• routing the message to the appropriate object for execution
The Connection Manager (CM) opens and closes connections as
well as maintains the network’s connection tables. It is responsible
Connection
for:
Manager • setting up a connection within its node
• processing all connection requests sent on the local service
• forwarding an open connection service via the UCMM to the next
node in a connection path
• establishing a connection to a target node
Connection Tables hold information about all connections in which
the node participates.
Connection
Tables

Transport Services define the type of data delivery an application


Transport object requires. They are responsible for:
Services
• notifying the transmitting application of the data’s arrival
• detecting duplicate data delivery
Important: Once a connection is established, objects such as the
MR, UCMM and CM are no longer required. Data can
go directly to the destination object.
The User’s Application Objects are the functions for which data is
User's Application Objects transmitted or received. They are responsible for:
• making a connection request to establish a path that allows the
exchange of information between application objects
• selecting the connection type that defines how many application
objects can use the data
• deciding the connection priority which defines the time-critical
nature of the data to be sent
• defining the trigger mode, which determines when new data
should be sent
• choosing the transport service which defines the quality of
delivery required
• generating the data that has been requested by other applications
An Introduction to the ControlNet Network 7

ControlNet Product A ControlNet product is made up of several components. In general,


Overview a product developer is responsible for supplying the host
micro-processor and application specific software that resides above
the ControlNet enabling hardware and software. The general
components required to implement ControlNet-based communication
within a product are illustrated below:

.
ControlNet Product

Application
Specific
Software


 

  

ControlNet
Example
Software











 



ControlNet ASIC
 
ASICs Firmware











ControlNet Media
Products
8 An Introduction to the ControlNet Network

ControlNet Product Components

ControlNet Enabling Software provides access to enabling


hardware as well as defines a product’s behavior.
Application Ć
specific • Application-specific Software, provided by the product
Software designer, resides above the ControlNet enabling components;
it provides the added value of the customer’s specific product or
application.
ClassĆspecific
Example Code • ControlNet Example Software is an example implementation
that demonstrates the required protocol for the network. It
ControlNet includes:
Example
Software • opening/closing connections
• maintaining connections
• directing data transmission and reception
• supporting specific, product-based requirements
• supporting interfaces to several product classes:
– Message Class (CNA20)
– Adapter Class (CNA30)
– Scanner Class (CNA40)
ControlNet Enabling Hardware implement lower levels of
ControlNet ControlNet’s protocol and provide physical connections to the
ASICs network. These components include: ASICs, transceivers,
transformers, crystals, and connectors.
• A ControlNet ASIC is an Application Specific Integrated
Coax
Circuits developed for the ControlNet network.
Interface • ControlNet Coax Interface Components allow a ControlNet
Components
ASIC to access the network’s physical signalling.
Network • Network Access Port (NAP) Interface Components include an
Access RJ45 connector and transceiver that provide a tapless, full-speed,
Port temporary network connection at every node.
Interface
Components • ASIC Firmware provides a product class-specific personality to
the ControlNet node. Much of the computationally intensive
ASIC parts of the ControlNet protocol are done here, offloading the
Firmware host CPU.
ControlNet Media Products are items that compose the network’s
physical environment such as the cable and taps. (See Chapter 6,
“ControlNet Physical Media.”).
An Introduction to the ControlNet Network 9

ControlNet Enablers ControlNet enablers are the software and hardware components
necessary for a product to function on the ControlNet network.
Figure 1.4 illustrates these components.

Important: All application-specific software resides in a


user-provided host micro-processor, not on ControlNet
ASICs.

Figure 1.4
Components that Enable Communication on the ControlNet
Network

ControlNet Product ControlNet Product Components

MicroĆprocessor
!$%
#!"#!$$!#

Application
Specific
Software USER

APPLICATION

ControlNet
Example
! %#!% Software EXAMPLE ASIC
  SOFTWARE FIRMWARE
!%'#

! %#!% ASICs
  
#'#   )

ControlNet ASIC !(


%'!# Transformers # $&#
$$ ASICs Firmware
!#% Hybrid
%#
!"!  %$  

  # $&#
!( %# Crystal or Oscillator
!"!  %$

Taps Repeaters Tools Cable



ControlNet Media  
Products
10 An Introduction to the ControlNet Network

ControlNet Media ControlNet media consists of the trunk-cable, connectors, taps, and
repeaters through which data travels. In contrast to the logical
components such as software or protocols, the media are the physical
components that make up a ControlNet network.

link #  $  # '$ %!% "###  $ "  * 


$# $ ) " $"#  %  
# $ )
"#  %  $'"

 # $  $# $ $ $"$


$"%* $ # "!%" "  
 " $ ##   " $"  $"# $$
$"%  #$# $ $
$ #

 Terminators " * "##$"#


%$   %#   $
#  #$# $ "&$
"$# " %"" $ $ #
 #
 segment #  $"%* #$ $ &
$ # '$ $"$"# $  
 #$ #
Redundant Segment $ % " $"#

Drop cable #   $$


$#   $ $ $"%
 $# #  $" "$
 $ $ #

  Node # $ "$   )# &


$ $ $ $'" ' "!%"# 
$'" "##  "" $ %$  $
$'"
  ) $  (% 
#
#$ 

Repeaters "# $ %"  $ # "$$


   " ($ $ $$ $   
" $" #  $'* "$ $& )#*)" &
$$ "#$"%$#  "$"#$#  $" $ "#
  #$ $ $" #$ " $"
  #$   $ 
#$ 

 
  

This chapter discusses how the ControlNet network is configured


and maintained. This chapter contains these sections:

   
   
 

      
  
 

   

  
  The ControlNet configuration method prevents any single node from
   
   disrupting the network’s normal operations. This method includes a
common set of operating rules for all nodes:
• all nodes on a link must agree on a common set of network
configuration parameters before transmitting scheduled or
unscheduled data
• each connection originator (CO) is required to have specific
scheduling information before requesting or transmitting
scheduled data
• each connection target (CT) can transmit unscheduled data
immediately after power–up and a request from a connected
originator
2 ControlNet Configuration

  
  The ControlNet Configuration Keeper node is responsible for
    maintaining and distributing the network and scheduling
information. The Keeper node must hold the network attributes and
scheduling information in non-volatile storage, allowing
          

         
re-distribution after a power-fail event. Every ControlNet link must

       have a Keeper-capable node to:
         
• support scheduled traffic
• save and distribute the network parameters and scheduling
information
 

 
     
    


   
   

 


A network may contain more than one Keeper.


    
    

This chapter provides a summary of ControlNet physical media.


Also, it provides related specifications and parameters on a general
level. This chapter contains these sections:



,(,!- &  /)!# ! 
*-&(" '!!*!&%) % ($*() 
' /')
 /)!# /( '*()
+%%* !

#*(%* *-&(" &%%*!&%

 
!  The primary physical media for the ControlNet network is coaxial
 cable. A ControlNet physical network is comprised of this cable and
a combination of connecting, transceiving, and terminating devices.
Secondary is a fiber optic repeater device and cabling which is
available to support long distances, such as building-to-building
installation, as well as intrinsically safe environments.
The following sections are a general description of the primary
physical system, its limitations, and components.

Figure 1.1 illustrates the basic components of ControlNet’s physical


media.

 
       !

 %&
% * !) .$'# *-& )$%*) ( #!%" / 
('*( *& &($  ),% %& #!%"  ('*(
  *'

)$%* )$%*

        
(&'#
$    &%%*&( *($!%*&(

      
2 ControlNet Physical Media

Network Specifications Figure 1.2 graphs the network’s physical parameters. It also
And Parameters illustrates the relationship between the length of a cable segment and
the number of taps allowable within that distance, indicating when
 /, +**" /.  repeaters are necessary.
*+!" /+ /%" *"/2+-'.
/-0*' (" Figure 1.2
ControlNet Cable System Requirements
segment length
 ."$)"*/ &. /-0*'5 (" m (ft)
." /&+*. +**" /"! 1& /,. 
 
2&/% /"-)&*/+-. / " %
"*!  ."$)"*/ !+". *+/ Repeater required
)3&)0) ((+2(" ."$)"*/ ("*$/% 
&* (0!" -","/"-.  
 )   ) 3  
  

+-
  
#/   #/ 3  
  

Repeater not required




Important: Networks that stay within the limits detailed in


Table 1.A may connect additional nodes at all available
NAPs. (See “Alternate Network Connection,” on
page 4.)

Table 1.A
ControlNet Network Parameters

Parameter Limit

3&)0) *0)"- +# *+!". ,"- (&*'  *+!".


3&)0) *0)"- +# -","/"-. &*  ."-&". (&*' !","*!. +* )+0*/ +# (" 0."!
/ -/"  &/"    ." 4/"
*!"/" /"! "--+- -/"  "--+- &*
 4"-.
ControlNet Physical Media 3


  The ControlNet network uses a passive tap with four different
configurations. The taps’ names are derived from the unique
combination of their connecting end configurations.
The following end configurations and their resulting combinations
are shown in Figure 1.3.

 

  

$%#%(%" $%#% (%"


  (   (

#%   (%" #%   (%"


  (   (

        Physical layer repeaters extend the length and/or node count of the
network when a system requires more than 48 taps per link or a
longer cable than specifications allow (reference Figure 1.2). Also,
repeaters do not occupy any of the 99 network addresses allowed per
link; they do not require an address. (See Figure 1.2, ControlNet
Cable System Limitations and Requirements.)

$ % 

#"%#
  $ % $ $$ % 
 $ % !& ! % &" %!
!$

 ! %! $ # !' !  
$ %     %" $ !# % #"%#

$ %
4 ControlNet Physical Media

  The ControlNet network provides the option of installing a second
cable between nodes. With redundant media, nodes send identical

!" & ' #"%' signals on two separate segments. The receiving node continuously
"  #,& )
"!!'! '" ' compares the signals’ quality and selects the better cable to receive
!'*"% * the next message. This also provides a backup cable in case one is
%$(%&  !'*"%
%&& ! "%% '"
improperly installed, not connected, or fails.
(!'"! "! '
!'*"%
 Redundant media is not “Hot-Backup.”


! &  "'"! Actual ControlNet products are labeled with these icons .
" !"& *' (!$(
%&&& -
 !'& "!!' Cables on a redundant cable link are defined by the segment number
, %#'%& 
(#  ! !& and the redundant cable letter.
"!!' ,
%&  (#   
!'*"%  




!" !" !"

  All ControlNet nodes, except repeaters, are equipped with a Network
 Access Port (NAP). This feature provides a tapless, full-speed,
temporary network connection at every node. Each connection uses
"!'%"'
a 10-foot modular cable with connectors to access the system’s
coaxial media. This cable can be extended to a length of 10m.
 
 &

 This cable is available as catalog number 1786-CP.
'*"%

&&
 "%'


"+

 "!!'"!&

"(  '



  
 

This chapter presents the fundamentals of ControlNet connections.


It contains these sections:

  


+*/-+("/ "/2+-'  '"/ +-)/ 
+**" /&+*.

%" -+!0 "-+*.0)"- +!"(

   " When a node sends data over the ControlNet network, it packages

 that data into a MAC frame. Each MAC frame can contain multiple
LPackets which are transmitted together. (See Figure 1.1.)
 
       Each node can send only one MAC frame of up to a
 -" /%" maximum of 510 bytes during each transmission
#+-) &* 2%& %  opportunity.
*+!" /-*.)&/. 
$-+0, +# !/
! 
%&. $-+0, +# !/ 
  
 
&. &* /%" #+-) +#
 '"/.  

.&*$("  #-)"  &/.  &/.  &/.  &/.  &/.
* +*/&* 1-&("
."1"-(  '"/.         4/". 3   

*/"-#-)",
    +- -")("
 &. !/ *! "(&)&/"-
/-/ "(&)&/"-
/%/ %. ""* 4 (& "!0*!* 4
, '$"! *! %" '
+0- " "/2+-'
("("! 4  *+!" !!-"..
&* ,-",-/&+* #+-
/-*.)&..&+*

, '"/   , '"/

1-&("
*+)&*( 4/".

&/. &/.
"*$/% +*/-+( +**" /&+* &*'/
2 ControlNet Communication


    

The following items are inserted into MAC frames before


transmission on the ControlNet network:
• preamble
• start delimiter
• source network address
• CRC
• end delimiter
The network address is written to a register in the ASIC. Once this
is done, the system needs to provide only the contents of the MAC
data. The MAC frame allows several pieces of information, called
Lpackets, to be sent in a single transmission. Each Lpacket within
the MAC data field could be destined for different consumers.
(See Figure 1.2.)

 

    
   
 &%  &%  &% 
+&% *  &%  &% ($

  
     

!&$$ #
$ 
!  &$
&$&  &$
+'!!+
"'$ &)"$

$%%

#&     #&


ControlNet Communication 3




As shown in Figure 1.2, the MAC data field can contain several
    
     Lpackets, which are the packets of interest to a user’s application.
!
   Each Lpacket contains a single piece of application information
  destined for one or more nodes on the network. Packets sent or
!
received on the physical wire contain data of interest to the
application layers as well as a connection ID (CID), control byte,
and length byte. (See Figure 1.3.) An application uses the CID to
determine whether or not a particular Lpacket contains the data it
needs.


 


#

 
  
 

The CID is an identifier or name automatically created by


ControlNet nodes. A CID is a shorthand method for referring to a
particular object message. In the figure above, the CID can be one
of two formats:
• fixed connection ID (2 bytes)
• general connection ID (3 bytes)
A Fixed Connection ID is two bytes long and contains a service
code and destination network address byte. (See Figure 1.4.)
The code byte is used to indicate the service required, while the
destination byte indicates to which network address it is to be
delivered.


 

 


   


 #
"

  
 ! 
4 ControlNet Communication

A General Connection ID is three bytes long and contains a number


used to identify a specific data packet. (See Figure 1.5.) A general
CID must be a unique value on any ControlNet network.

 

     

     


 
   

 

 In some ways, a ControlNet connection can be compared to a


telephone circuit. When you place a call, the telephone system
selects a path for your call and sets up each switching station in the
route to handle it. As long as the call continues, the resulting virtual
circuit remains open, carrying data or voice traffic. In the telephone
system, a single call can traverse multiple and different-type links.
Through all of this, the connection appears the same to both the
caller and the party called: sound in one end becomes sound in the
other.

A connection also provides a path between two end points. Once the
connection manager determines the virtual circuit, the route between
end points is fixed. (See “Connection Manager,” on page 7.)
The end points of connections are applications that need to share
data. Figure 1.6 illustrates a virtual circuit that traverses one or more
intermediate nodes between the source and destination.

  The terms source and destination imply that a


connection has been established and currently exists.

 
  

 

 
 
 
ControlNet Communication 5



   

Every node contains the following:


• Unconnected Message Manager (UCMM)
• Message Router (MR)
• Connection Manager (CM)
• ControlNet Object
• Identity Object (ID)
 
 
  

 
    
   

 
  
  
    



    
  

   

  
 
  

 

  


In addition, a connection originator node contains a Connection


Scheduler (CS) Object

The following sections about establishing a connection provide:


• a brief functional description on each connection object listed
above
• a graphic as well as written explanation of how these components
interact while a connection is initiated and established

Unconnected Message Manager (UCMM)


The UCMM facilitates the exchange of information used to establish,
open, or close a connection between applications. In addition, it is
used to convey non-repetitive, non-time critical data on a single link.
To establish a connection, the Connection Manager provides the
UCMM with the network address and path to the target node. Once
the connection is established, the address and path are no longer
required. Opening the connection establishes a CID, which will be
used to exchange application information.

As shown in Figure 1.7, each message the UCMM receives is


forwarded to the Message Router where it is analyzed and sent to its
specified function or object. The UCMM keeps a transaction record
of each message received so that a reply can be sent to the proper
location. Open and Close connection request messages are always
sent via the UCMM. In addition, the UCMM provides:
• duplicate detection
• automatic retries
• message time-out
6 ControlNet Communication

 
   

 

   
 

   





 UCMM messages are always sent in the unscheduled
portion of the network interval.

Message Router
The Message Router (MR) allows an application to open connections
to multiple objects within the same node. It acts much like an
internal switchboard for a node’s objects. Other nodes may establish
a connection with the MR through the UCMM and connection
manager. Figure 1.8 is an example of how the MR functions.

 
  

   



 


 




1. The MR determines which object is to perform the specified


service by interpreting the identifying portion of the message.
2. The message is forwarded to the destination object.
3. A response from the destination object for the requesting object is
received.
4. The MR forwards the response to the requesting object via an
established connection.

 Connections can be created without a MR connection; a
messaging connection to the MR is only mandatory
when the originating application requires access to
multiple internal objects through the same connection.
ControlNet Communication 7

Connection Manager
The Connection Manager (CM) allocates internal resources
necessary for each connection. Connection requests are originated
by:
• other nodes via the UCMM
• an application on a node
Figure 1.9 is an example of how the the CM of a target node
functions upon receiving a connection request by an originating
node.

 
       



 




  

 

  

  

   

1. The originator’s UCMM contacts the target’s UCMM with a


connection request.
2. The request is routed through the target’s MR to the CM.
3. The CM allocates the needed resources.
4. A connection is made to the originator node.


 The ControlNet network uses the Producer/Consumer model to
 exchange application information. This model is the basis for
understanding all ControlNet transactions. The following builds a
producer/consumer model by discussing its basic components:
• object messages
• connection ID (CID)
• producer/consumer connection types
• transport services
• transport connection types
8 ControlNet Communication


  

    In the ControlNet network’s Producer/Consumer model, object



  messages are used to exchange information. An object message is a

 

     piece of information that interests one or more nodes on the network.
     It carries a value or set of values with a description of the value’s
  meaning. The ControlNet network transfers object messages
between producers and consumers to convey information.

The network view of messages, shown below, is simplified to


facilitate minimal processing, high performance, and small
code-requirements. It contains only that part of an object’s value that
changes with time.

  
  

  
Nodes watch for certain CIDs transmitted by producer nodes.

   Once a node recognizes a CID, it consumes the message, therefore
becoming a consumer. The network assumes that each object
  

    message has exactly one meaning but may have one or more
consumers.

  

The concept of one producer and one consumer, illustrated in Figure


1.10, is known as a point-to-point connection.

 
   

  

  

The concept of more than one consumer per message, or multicast,


is shown in Figure 1.11. The dashed arrow represents an object
message. In Figure 1.11, Node 1 produces a message on the
network. Nodes 4, 7, and 8 consume the message. Nodes 2, 3, 5, and
6 see the message but are not interested in it and do not consume that
message.
ControlNet Communication 9


! 
!  ! !  

 !    !

  !   !

   Nodes can be producers, consumers, or both. For


example, in Figure 1.12, Node 4 may want to send an
object message to Node 3 based on the information it
just consumed from Node 1.


! 
       !  !

 !  !

ËËËË
ËËËË
  
  !   

ËËËË
!

 "

Table 1.A lists the two general-purpose transport classes that have
been defined for the ControlNet network. Each transport class
provides a different level of service. It is these services that allow
communication between applications. Transport classes with higher
numbers incorporate and build upon the functions of lower transport
classes. The originating application must determine which transport
class best suits its needs for a particular data transfer.

 
 
 !  

  
 

Transport Class 1 (T1)


Transport class 1 is illustrated in Figure 1.13. Class 1 provides the
minimum level of service only, duplicate data detection.
10 ControlNet Communication


 
    





  




     

   

       
        








   

       




 
     


  
  
    



          


  
 



Transport Class 3 (T3)


Figure 1.14 illustrates transport classes 3. Class 3 provides data
verification.


 
    





  
 

       
 




ËËËË  

ËËËË
ËËËË



ËËËË ËËË 
      

ËËË
       







 


ËËË
        


 
  



 

 


   
 
 

ËËË

 
  
    
  



 



  
 
 

   

The ControlNet network supports two types of connections:


• point-to-point connections use one producer and only one
consumer. No additional connections can be added.
• multicast connections allow one producer of data with more than
one consumer.
Both types of connections can be defined further by the application,
depending on the particular services that application requires.
ControlNet Communication 11

Point-to-Point Class 1
Figure 1.15 illustrates a point-to-point connection between
applications. In this example, data is simply sent from one
application to another. No services other than data delivery and
duplicate detection are provided by class 1. This type of connection
is commonly used for cyclic I/O data transfers (class 1).

 


       
    
 
 


        
 
    
   


      


 



   




    







 


  

 
 


  
12 ControlNet Communication

Point-to-Point Class 3
Figure 1.16 illustrates a point-to-point connection with delivery
   
  
verification. In this type of connection, the application can specify a


  class 3 transport. The delivery notification is used for message
 
 verification (class 3). A typical use for this type of connection is
 


client/server message traffic.



 
!!      
    
   
   



 
  
 





    
 
 

 


    
 
          
   
 
  





 




 

ËËËË
ËËËË


ËËËË
 



  

ËËËË
ËËËË   

ËËËË


 Delivery verification is not a point-to-point connection


requirement, only an available augmentation.
ControlNet Communication 13

Multicast Class 1
Figure 1.17 illustrates a multicast connection that can be defined
further as class 1 by the application. This example is similar to
Figure 1.15. The application may specifies that duplication detection
is required. A common use for this type of multicast connection
could be an adapter sending inputs to multiple scanners.

 

     
    
 
 
     

 
             
 
 
  
  
     
 

 

     

 

  


14 ControlNet Communication

Notes:


 
 




This chapter describes the method by which the ControlNet network:


• provides determinism for control and I/O data
• facilitates unscheduled messaging
• allocates resources
• allows access to the network’s media
This chapter contains these sections:

# 
  !! " 
#  $ 
!#  $ 
#  

  "" # Access to the network is determined by time. Each node may
transmit only during its assigned turn, which falls within a specified
$!!#   time frame. An algorithm called Concurrent Time Domain
$#  ""   Multiple Access (CTDMA) regulates the opportunity to transmit.
! "  " %" % This opportunity repeats itself at precise intervals. The Network
"
"  " "% 
" !"! " Update Time (NUT) is the fixed and known rate at which this
network update interval (NUI) is repeated. Figure 1.1 illustrates the
repeating NUI in which nodes can transmit their scheduled and
 #&!  #  unscheduled messages. As depicted below, the NUI is divided into
 ! " ""$ "
" $  % "  three sections:
 !"  "
"  " • Scheduled
"% 
• Unscheduled
• Guardband (network maintenance)

$! 
 #!# #&!"  "" #
! " ! ! $  ! "  "
#&!  # #!% "$ !! "  & $! ! ! $ 
! " ! ! $ 
#&! #
$"$ !! " 

ÇÇÇÇÇÇ
ÉÉÉÉÇÇÇÇÇ
É ÇÇÇÇÇÇÇÇ
ÉÉÉÉÉ ÉÉÉ
ÇÇÇÇÇÇ
ÉÉÉÉÇÇÇÇÇ
ÄÄ ÉÉÉÉÉÉ ÇÇÇÇÇÇÇÇ
Ä ÄÄ
ÉÉÉ
ÄÄ Ä ÄÄ 
2 ControlNet Network Protocol

   The first portion of the NUI is reserved for scheduled message
traffic. Message delivery in this portion of the NUI is deterministic
and repeatable. Every node with a network address falling between
  is timeĆcritical data that one and SMAX is guaranteed exactly one opportunity to transmit per
is sent at a fixed and repetitive rate. NUT.

Each node can transmit up to 510 bytes during its turn. The
bandwidth in this portion is reserved and configured in advance to
support real-time data transfers. Typical types of scheduled
messages include:

 is the highest network address that
can reserve bandwidth in the scheduled • digital data
portion of the NUI.
• analog data
• peer-to-peer inter-locking data
 The scheduled service is from 0 to SMAX. Nodes with
network addresses above SMAX will not send messages
during the scheduled portion of the interval.

 
  
   

 this boundary moves according to
how much bandwidth is used for
scheduled message traffic

ÇÇÇÇÇÇÇ
ÉÉÉÉÇÇÇÇÇÇÇ
É ÇÇÇÇÇÇÇÇ
ÉÉÉ ÉÉÉ
ÇÇÇÇÇÇÇ
1
ÉÉÉÉÇÇÇÇÇÇÇ
ÄÄ ÉÉÉÉÇÇÇÇÇÇÇÇ
Ä ÄÄ
ÉÉÉ 1 1

ÄÄ Ä ÄÄ
2 2
3 3 3
4 4 4
n n n

Time

  is the  an implied token  each node can  SMAX is the highest  nodes wait one   for example: node 3
duration a node will method regulates reserve the network address that  for each missing waits one slot time
wait for a missing network addresses bandwidth for its can reserve bandwidth node (network address) because node 2
network address during this portion of real time data in the scheduled from 0 to SMAX was turned off
before taking its the network interval transfer portion of the network
turn to transmit. interval
The actual time is
based on cable
length and the numĆ
ber of repeaters.  An implied token is the manner in which a network
address determines when to transmit in relation to the
  is the
duration a node will other nodes on the network. No actual token is passed;
wait for a missing the pass is implied because it is based on time. Each
network address network node either waits to hear the end of the
before taking its previous address’ transmission or a slot time for each
turn to transmit.
The actual time is missing node before sending its message. Each node
based on cable remains silent until its opportunity to transmit.
length and the numĆ
ber of repeaters.  Network address 0 is reserved for future use. A node
must not use address 0.
ControlNet Network Protocol 3

  ! The unscheduled portion of the NUI begins after all scheduled
nodes have had an opportunity to transmit. The time remaining
before the beginning of the guardband is available on a sequentially
  is the highest network address that can rotating basis to all nodes, with a network address between 0 and
communicate during the unscheduled portion UMAX. This rotation continues until the beginning of the
of the NUI. The default is SMAX + 8. guardband. The right to transmit first in the unscheduled portion
rotates one node per NUI.


 A node may have the opportunity to transmit many
times during the unscheduled portion of the NUI;
   is data which has no however, a node is not guaranteed an opportunity every
timeĆcritical constraints.
NUI.
In Figure 1.3, node 7 begins the unscheduled portion in the
example’s first NUI. Node 8 transmits first in the second NUI
regardless of who finished the last interval. Typical types of
unscheduled data include:
• connection establishment
• peer-to-peer messaging data
• programming data (uploads and downloads)


• the unscheduled service is from 0 to the value of UMAX. In
addition, UMAX is always greater than or equal to SMAX
• nodes with addresses greater than SMAX and less than or equal
to UMAX may only send unscheduled messages
• nodes with a network address less than or equal to SMAX may
send both scheduled and unscheduled messages
• nodes with network addresses above UMAX may not
communicate on the ControlNet network

  
      !
The opportunity to transmit first in the unscheduled

portion of the NUI passes on a rotating basis.

ÇÇÇÇÇÇÇ
ÉÉÉÉÇÇÇÇÇÇÇÇ
É ÇÇÇÇÇÇÇ
ÉÉÉ ÉÉÉÉÉ
ÇÇÇÇÇÇÇ
ÉÉÉÉÇÇÇÇÇÇÇÇ
ÄÄ ÉÉÉÉÇÇÇÇÇÇÇ
Ä Ä
ÉÉÉÉÉ
ÄÄ Ä 
Ä 8
9
8
9
10
9
10
11
1
2
3
11   12
Time

 An implied token method  unscheduled delivery is  nodes wait one slot  each node may
regulates network addresses not deterministic or time for each missing transmit many times
during this portion of the repeatable node (network address) or not at all
network interval from 0 to UMAX
4 ControlNet Network Protocol

 The Guardband is the final part of the NUI and is reserved for
network maintenance. During this time, the moderator transmits
information, called the moderator frame, which keeps all nodes
synchronized (Figure 1.4).

        
          As the application dictates, the user can perform a
      network change algorithm to edit configuration
information within a moderator frame. This change
may or may not force a change in the NUT.

 

    


ÇÇÇÇÇÇÇ
ÉÉÉÉÇÇÇÇÇÇÇ
É ÇÇÇÇÇÇÇÇ
ÉÉÉ ÉÉÉ
ÇÇÇÇÇÇÇ
ÉÉÉÉÇÇÇÇÇÇÇ
ÄÄ ÉÉÉÉÇÇÇÇÇÇÇÇ
Ä ÄÄ
ÉÉÉ
ÄÄ Ä

ÄÄ  





 
 

   

 
   
!    "
  

 Each node’s ASIC has the ability to act as a moderator.


If the current moderator node ceases to operate, the
node with the next higher address assumes the
moderator duties.


  

This chapter contains these sections:

 
   
!# $#" 
$# !""! 

$( !#  
 #&!  #" 
$# '   

   
 ControlNet media-access control-hardware (ASICs) are interface
chips that allow a product to access a ControlNet network.
The ControlNet ASIC is called CNA10. The CNA10, in conjunction
with class-specific Firmware, provides connection layer services,
as shown in Figure 1.1.

 
       "  

  

#!#  "


$#
#&!  

#!# "
"" #!
!&! !
"
#!#
!"%! "
"

The CNA10 ASIC is an interface chip for Intel and Motorola


host processors. It provides the following features:
• a 16-bit communication processor
• a 3K byte dual-port RAM interface
• hardware support for 31 connected channels
• a data quarantine service
• transport services
2 ControlNet Enablers

The protocol machine within the CNA10:


• contains media access controller
• receives data from the host processor and network
• transmits data via its modem and a transceiver onto the network
• filters data received from the network
• holds data to be transmitted or received in buffers within the
ASIC
• supports optional redundant media
• contains ControlNet Object Powerup and State Transition Logic.
The CNA10, Allen-Bradley’s ControlNet ASIC, supports all
required media access functions. In addition, through a dedicated
on-chip communication processor, the CNA10 ASIC supports much
of the required transport protocol, shown in Figure 1.2.
This facilitates a simple dual-port RAM interface to a user-supplied
host-processor, shown in Figure 1.3
ControlNet Enablers 3


'$ 
 "!&$"& " '!&"! " ! & 
$(%

%$% ##&"! &%

##&"! *$
! &$!   &
! & $#'%&    & &$$

ÇÇÇÇÇ ÇÇÇÇÇ ÇÇÇÇÇ


%% &

ÇÇÇÇÇ ÇÇÇÇÇ ÇÇÇÇÇ


ÇÇÇÇÇ ÇÇÇÇÇ
 ! &
ÇÇÇÇÇ %%

ÇÇÇÇÇÇÇÇÇÇÇ ËËËËËËËËËË
ÇÇÇÇÇ
$ %"!$&
%% !'&$ $(% $!%#"$& *$

ÇÇÇÇÇÇÇÇÇÇÇ ËËËËËËËËËË
ÇÇÇÇÇ
 $
 

ÇÇÇÇÇÇÇÇÇÇÇ ËËËËËËËËËË
ÇÇÇÇÇ
ËËËËË
ÇÇÇÇÇ ÇÇÇÇÇ
! &!  $ ! &!
%

ÇÇÇÇÇ &)"$ *$

ËËËËËËË
ËËËËËËË
%$ $!( ! *$
!&)$ ! *$ $($

ËË
ÇÇ
  
ËËËËËËË
ËË
ÇÇ

$)$

! &$!&
ËËËËËËË
ÇÇ
ÊÊ
!' &!
*" ! ËËËËËËË
 %% $(%
 %%

ÊÊ ! &$!&
$ %($
!"!  &%
ÊÊÊÊÊÊÊ
ÊÊÊÊÊÊÊ 

ÊÊÊÊÊÊÊ
! &$!&  *% *$ !&$
!"!  &%  
+%
+$

As shown in Figure 1.2, the communication example code runs in a


host-processor and is responsible for supporting all layers below it.
It is application-specific example code and is offered by
Allen-Bradley to assist designers in creating their own product
software. Because every product has slightly different application
requirements and may require a different host-processor, it is not
practical to supply a single software package to fit all needs.
Therefore, Allen-Bradley has developed several examples of how a
specific application could be applied using the CNA10. These
examples can be used as a foundation for a CNA10-based product.
4 ControlNet Enablers

%" 
 
" '  $ 
!& %!





$%!# $#
" $   ""%!
# $'# %$ #
!& %!
 !" ## " #!$$!#
 
"&$"#$ # &!#%
!$%
!$#""
! &#%! %$

%%&$ !& %#$



" $   %$ # The CNA10 ASIC protocol engine supports the following features:
• MAC processor
# $'# • modem services
 • transmit and receive FIFOs
%$ #
• Lpacket screeners

• cable redundancy
 • NAP
• signal integrity checking (CRC)
 $  #! (
!# ( The CNA10 modem sends and receives data in the form of MAC
&  (  frames. Its protocol controller constantly tracks which node is next
to transmit and manages the receive and transmit process. When a
packet is waiting to be sent, it is held in transmit FIFOs until its turn.
Before a received Lpacket can be processed, it is screened by the
Lpacket screener. The Lpacket’s CID is read and compared to an

$  #! ( internal, host-programmed list of CIDs. If a match is found, the
!# ! %!

 %# screener attaches an index value to the Lpacket and sends it to the
communication processor.
ControlNet Enablers 5

  The communication processor is a 16-bit micro-processor


responsible for the implementation of communication transport
functions. It quarantines packets from the receive FIFO until their
CRC can be verified. The communication processor also sends and
receives data from the dual-port RAM. To the host, the CNA10
simply appears to be RAM.
Communication
ROM

Communication
Processor

Dual Port RAM Host

The CNA10 provides one transmit and one receive ring buffer that
supports an Unconnected Message Manager (UCMM) transport as
well as 31 connected channels. In general, ring buffers are used for
unconnected messaging such as open/close requests and client/server
messaging, while the connected transport channels are used for
real-time I/O data transfers.

 For more information, refer to the pages listed in the table below.

   

MAC Frames and Lpackets ControlNet Communication, page 1


CTDMA and NUT ControlNet Network Protocol, page 1
Connection IDs ControlNet Communication, page 3

" 
The dual-port RAM is the point at which the host processor
physically and logically connects to the CNA10. It is 3K-bytes in
size and provides buffers for:
  

• configuration
• interrupt control

• communication services
 • one receive and one transmit ring buffers (UCMM and T3)
174 • each of the 31 connecting channels (two channels required for
bytes 
each T1 connection and one channel required for each T3
  connection with its data routed through the ring buffers)
Communication
 Processor

!  
2898 Dual Port RAM Host
bytes !  

 
6 ControlNet Enablers

! "$$ The sum of all areas must not exceed 3K-bytes.


In addition, the boundary between the ring buffer and
connection buffers is fixed at the time of configuration.
These features facilitate transport support inside the CNA10.

 

$   $ %" (#

%" % '% %$

 " !  % !     % ! " 

 & 
 % !  
 % !

 &  %    % !

  $&" CNA10 software components are located both in the ASIC firmware

! $# and in the host processor. These components operate together to


provide services to applications. The following description builds a
general profile of its capabilities by explaining each of its major
software components and processes.

 $ ## " 




Unconnected Message Manager delivers and buffers messages


between nodes that do not have an available and established
##  $
 #$ !" ## " connection between them. The messages may be a request to open a
connection or simply non-repetitive, non-time critical data. All
ControlNet nodes are required to have UCMM message transmit and
receive capability. For this purpose, the CNA10 provides transmit
 ! "  and receive services on an independent channel across a single link.
"$'  "" UCMM messages may be serviced anytime the ASIC is online.
 "
#" They do not require prior setup or negotiation by the client and
"%  server. The UCMM service is primarily used for:
• establishing real-time data transfers
• non-connection event information between nodes
Because it is not necessary to establish a connection for UCMM
messages, they may be sent at any time. If a response timeout
occurs, the application is responsible for any retries.

! "$$ These messages have no guarantee of delivery. Also, a


communication failure will result in a response timeout.
ControlNet Enablers 7

   

The Message Router routes all incoming messages to the appropriate


objects. Valid destinations are any internal object class as well as
  
  any application object-class that has been registered with the MR.
All received UCMM messages are forwarded to the MR for delivery
within the node.



All message transfers use a specific transport class. Unconnected


messages have one class called UCMM transport while the
connected messages have two, transport classes 1 and 3. The table
below indicates which transport classes are supported by the CNA10.
The bulleted items are CNA10 supported transport functions.
• allocation/de-allocation
• start/stop
• write
• trigger

 
 
  
  


  

 




   

The Connection Manager is responsible for establishing and


removing connections supported by the CNA10 ASIC. Also, as the
  
  CM determines the allocation of resources, it must determine if a
particular connection request can be honored by its node.
The availability of connection channels and bandwidth allocation
directly impacts the acceptance or rejection of a connection request.
8 ControlNet Enablers

Time Critical Bandwidth Allocation in the Connection Manager


Upon start up, part of the configuration data received specifies how
much time-critical bandwidth on the network has been allocated to
the node; it is allocated strictly on a first-come, first-serve basis.
Depending on the sophistication of the application, the CM can be
designed for one of three levels of connection request versus
bandwidth reviewing:
• low-end: Connections supported by the node are fixed. The CM
can only accept a request that exactly matches one of the
available connections.
• mid-range: The CM compares connection requests to a variable
length list of acceptable connections. The product application has
the option to modify the list when desired.
• high-end: The CM will attempt to optimize the allocation of
ControlNet bandwidth. It minimizes stale data by generating a
connected-data transmit-schedule with uniform loading over time
at the requested throughput.

 Connections can only be established to either the
product application objects or to the MR object.

  The communication example code, shown in Figure 1.2, supports a
 set of application objects and interfaces. This set of objects and
interfaces may differ, depending on the type of product being
developed. Communication software examples have been developed
with the appropriate objects and interfaces to support the real-time
I/O class and the non-time-critical messaging class. Examples of
how products would exchange data with the other classes is shown in
Figure 1.4

 
   
  











     


ControlNet Enablers 9

  


Messaging Class products support only unscheduled messages to all


product classes; all other product classes also support unscheduled
message traffic. A Messaging Class product is an initiator or
responder to connections (T3) and exchanges unconnected
client/server messages (UCMM). It is only used in non-time critical
applications because response time in the ControlNet unscheduled
service is not deterministic. Typical Messaging Class products
include:
   

  
  • monitoring devices
• software-based supervisory products
• operator interface devices
• programming tools
• PCMCIA interface cards
• other computer interface cards
• calibration tools

  


An Adapter Class product emulates functions provided by traditional


rack-adapter products. This type of node exchanges scheduled
real-time I/O data with a Scanner Class product (example, a PLC
scanner); it does not initiate connections on its own. However, it can
support unconnected messages as a server. This facilitates the
Adapter Class product’s ability to exchange real-time I/O data with a
PLC processor as well as unscheduled messages to exchange device
calibration, status, and configuration information with a Message
Class, Scanner Class, or other Adapter Class node. Typical Adapter
Class products may include:
• rack adapters
• drives
• weigh scale
• operator interface devices
• welders
• robots
10 ControlNet Enablers

 

A Scanner Class product exchanges scheduled real-time I/O data


with Adapter Class and Scanner Class products. This type of node
can respond to connection requests and can also initiate connections
on its own. In addition, the Scanner Class supports unconnected
messages as a client or server. This facilitates emulation of a PLC
processor in all respects. It can exchange data with other products in
its class as well as directly to racks of I/O cards. Typical Scanner
Class products may include:
• PLC processors
• I/O scanners
• drives
• motion controllers
• robots
• CNCs

You might also like